video-dev / hls.js

HLS.js is a JavaScript library that plays HLS in browsers with support for MSE.
https://hlsjs.video-dev.org/demo
Other
14.92k stars 2.58k forks source link

`bufferStalledError` and infinite buffering when using Keyframe Aligned segment. #4213

Closed lpommers closed 3 years ago

lpommers commented 3 years ago

What version of Hls.js are you using?

1.0.7

What browser (including version) are you using?

Version 92.0.4515.131 (Official Build) (arm64), FireFox 90.0.2 (64-bit), Safari Version 14.1.2 (16611.3.10.1.3)

What OS (including version) are you using?

Mac OSX 11.5.1 (20G80)

Test stream

https://hls-js.netlify.app/demo/?src=https%3A%2F%2Fwistia-temp.s3.amazonaws.com%2Fluke-hls-test%2Fv2.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ==

Configuration

{
  "debug": true,
  "enableWorker": true,
  "lowLatencyMode": true,
  "backBufferLength": 90
}

Additional player setup steps

I'm currently on the M1 arm Mac, but this issue has been tested and is reproducible on Intel Macs as well.

This manifest has keyframe aligned segments and that seems to be related to the issue. When using an encoding that does not align segments to keyframes, we are not seeing the issue.

A demo of the same video, just not using keyframe aligned segs is here: https://hls-js.netlify.app/demo/?src=https%3A%2F%2Fembed-fastly.wistia.com%2Fdeliveries%2Fc2fc22d24f95a3d38cb7b3e64d5738c1b006e9bb.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ==

Checklist

Steps to reproduce

  1. Load up the video
  2. Seek until near the end (~5s until the end or so)
  3. Watch until the end
  4. Notice the bufferStalledError mediaError and buffering on the player

Expected behaviour

The video finishes playing and the ended event fires.

What actually happened?

Chrome and Firefox

A bufferStalledErorr is thrown from HLS.js and the buffer spinner becomes visible. HLS.js does not recover and we remain in this state.

Safari

A bufferStalledError is thrown from HLS.js, but the video does not buffer and HLS.js recovers.

Console output

main.js:338 Using Hls.js config: {debug: true, enableWorker: true, lowLatencyMode: true, backBufferLength: 90}
logger.ts:74 [log] >
hls.ts:363 [log] > stopLoad
hls.ts:331 [log] > loadSource:https://embed-fastly.wistia.com/deliveries/c2fc22d24f95a3d38cb7b3e64d5738c1b006e9bb.m3u8/v2
stream-controller.ts:539 [log] > [stream-controller]: Trigger BUFFER_RESET
hls.ts:302 [log] > attachMedia
buffer-controller.ts:742 [log] > [buffer-controller]: Media source opened
base-stream-controller.ts:1362 [log] > [subtitle-stream-controller]: STOPPED->IDLE
level-controller.ts:172 [log] > [level-controller]: manifest loaded, 1 level(s) found, first bitrate: 0
buffer-controller.ts:136 [log] > 1 bufferCodec event(s) expected
hls.ts:353 [log] > startLoad(-1)
level-controller.ts:251 [log] > [level-controller]: switching to level 0 from -1
base-stream-controller.ts:1362 [log] > [stream-controller]: STOPPED->IDLE
base-stream-controller.ts:1362 [log] > [subtitle-stream-controller]: IDLE->STOPPED
base-stream-controller.ts:1362 [log] > [subtitle-stream-controller]: STOPPED->IDLE
stream-controller.ts:603 [log] > [stream-controller]: Level 0 loaded [1,26], cc [0, 0] duration:76.932
buffer-controller.ts:635 [log] > [buffer-controller]: Updating Media Source duration to 76.932
base-stream-controller.ts:569 [log] > [stream-controller]: Loading fragment 1 cc: 0 of [1-26] level: 0, target: 0
base-stream-controller.ts:1362 [log] > [stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:67 [log] > demuxing in webworker
transmuxer-interface.ts:183 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 1 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: true
        timeOffset: 0
base-stream-controller.ts:345 [log] > [stream-controller]: Loaded fragment 1 of level 0
58595d07-ad27-467c-8aba-7a970bb0a582:603 [log] >
58595d07-ad27-467c-8aba-7a970bb0a582:2698 [log] > [mp4-remuxer]: ISGenerated flag reset
58595d07-ad27-467c-8aba-7a970bb0a582:2687 [log] > [mp4-remuxer]: initPTS & initDTS reset
58595d07-ad27-467c-8aba-7a970bb0a582:7539 [log] > manifest codec:undefined, ADTS type:2, samplingIndex:4
58595d07-ad27-467c-8aba-7a970bb0a582:7701 [log] > parsed codec:mp4a.40.5, rate:44100, channels:2
58595d07-ad27-467c-8aba-7a970bb0a582:937 [log] > [transmuxer.ts]: Flushed fragment 1 of level 0
base-stream-controller.ts:1362 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1211 [log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[//mp4a.40.5]
stream-controller.ts:1222 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[/avc1.640028]
buffer-controller.ts:704 [log] > [buffer-controller]: creating sourceBuffer(audio/mp4;codecs=mp4a.40.5)
buffer-controller.ts:704 [log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.640028)
audio-stream-controller.ts:113 [log] > [audio-stream-controller]: InitPTS for cc: 0 found from main: 9090
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:480 [log] > [stream-controller]: Buffered main sn: 1 of level 0 [0.083,5.944]
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:569 [log] > [stream-controller]: Loading fragment 2 cc: 0 of [1-26] level: 0, target: 5.944
base-stream-controller.ts:1362 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:345 [log] > [stream-controller]: Loaded fragment 2 of level 0
58595d07-ad27-467c-8aba-7a970bb0a582:937 [log] > [transmuxer.ts]: Flushed fragment 2 of level 0
base-stream-controller.ts:1362 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:480 [log] > [stream-controller]: Buffered main sn: 2 of level 0 [0.083,8.893]
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:569 [log] > [stream-controller]: Loading fragment 3 cc: 0 of [1-26] level: 0, target: 8.893
base-stream-controller.ts:1362 [log] > [stream-controller]: IDLE->FRAG_LOADING
favicon.ico:1 GET https://hls-js.netlify.app/favicon.ico 404
base-stream-controller.ts:345 [log] > [stream-controller]: Loaded fragment 3 of level 0
58595d07-ad27-467c-8aba-7a970bb0a582:937 [log] > [transmuxer.ts]: Flushed fragment 3 of level 0
base-stream-controller.ts:1362 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:480 [log] > [stream-controller]: Buffered main sn: 3 of level 0 [0.083,11.865]
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:569 [log] > [stream-controller]: Loading fragment 4 cc: 0 of [1-26] level: 0, target: 11.865
base-stream-controller.ts:1362 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:345 [log] > [stream-controller]: Loaded fragment 4 of level 0
58595d07-ad27-467c-8aba-7a970bb0a582:937 [log] > [transmuxer.ts]: Flushed fragment 4 of level 0
base-stream-controller.ts:1362 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:480 [log] > [stream-controller]: Buffered main sn: 4 of level 0 [0.083,14.814]
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:569 [log] > [stream-controller]: Loading fragment 5 cc: 0 of [1-26] level: 0, target: 14.814
base-stream-controller.ts:1362 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:345 [log] > [stream-controller]: Loaded fragment 5 of level 0
58595d07-ad27-467c-8aba-7a970bb0a582:937 [log] > [transmuxer.ts]: Flushed fragment 5 of level 0
base-stream-controller.ts:1362 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:480 [log] > [stream-controller]: Buffered main sn: 5 of level 0 [0.083,17.786]
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:569 [log] > [stream-controller]: Loading fragment 6 cc: 0 of [1-26] level: 0, target: 17.786
base-stream-controller.ts:1362 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:345 [log] > [stream-controller]: Loaded fragment 6 of level 0
58595d07-ad27-467c-8aba-7a970bb0a582:937 [log] > [transmuxer.ts]: Flushed fragment 6 of level 0
base-stream-controller.ts:1362 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:480 [log] > [stream-controller]: Buffered main sn: 6 of level 0 [0.083,20.735]
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:569 [log] > [stream-controller]: Loading fragment 7 cc: 0 of [1-26] level: 0, target: 20.735
base-stream-controller.ts:1362 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:345 [log] > [stream-controller]: Loaded fragment 7 of level 0
58595d07-ad27-467c-8aba-7a970bb0a582:937 [log] > [transmuxer.ts]: Flushed fragment 7 of level 0
base-stream-controller.ts:1362 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:480 [log] > [stream-controller]: Buffered main sn: 7 of level 0 [0.083,23.708]
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:569 [log] > [stream-controller]: Loading fragment 8 cc: 0 of [1-26] level: 0, target: 23.708
base-stream-controller.ts:1362 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:345 [log] > [stream-controller]: Loaded fragment 8 of level 0
58595d07-ad27-467c-8aba-7a970bb0a582:937 [log] > [transmuxer.ts]: Flushed fragment 8 of level 0
base-stream-controller.ts:1362 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:480 [log] > [stream-controller]: Buffered main sn: 8 of level 0 [0.083,26.656]
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:569 [log] > [stream-controller]: Loading fragment 9 cc: 0 of [1-26] level: 0, target: 26.657
base-stream-controller.ts:1362 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:345 [log] > [stream-controller]: Loaded fragment 9 of level 0
base-stream-controller.ts:1362 [log] > [stream-controller]: FRAG_LOADING->PARSING
58595d07-ad27-467c-8aba-7a970bb0a582:937 [log] > [transmuxer.ts]: Flushed fragment 9 of level 0
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:480 [log] > [stream-controller]: Buffered main sn: 9 of level 0 [0.083,29.629]
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:569 [log] > [stream-controller]: Loading fragment 10 cc: 0 of [1-26] level: 0, target: 29.629
base-stream-controller.ts:1362 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:345 [log] > [stream-controller]: Loaded fragment 10 of level 0
58595d07-ad27-467c-8aba-7a970bb0a582:937 [log] > [transmuxer.ts]: Flushed fragment 10 of level 0
base-stream-controller.ts:1362 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:480 [log] > [stream-controller]: Buffered main sn: 10 of level 0 [0.083,32.578]
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:569 [log] > [stream-controller]: Loading fragment 11 cc: 0 of [1-26] level: 0, target: 32.578
base-stream-controller.ts:1362 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:345 [log] > [stream-controller]: Loaded fragment 11 of level 0
58595d07-ad27-467c-8aba-7a970bb0a582:937 [log] > [transmuxer.ts]: Flushed fragment 11 of level 0
base-stream-controller.ts:1362 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:480 [log] > [stream-controller]: Buffered main sn: 11 of level 0 [0.083,35.550]
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:199 [log] > [stream-controller]: media seeking to 73.451, state: IDLE
base-stream-controller.ts:199 [log] > [audio-stream-controller]: media seeking to 73.451, state: STOPPED
base-stream-controller.ts:199 [log] > [subtitle-stream-controller]: media seeking to 73.451, state: IDLE
base-stream-controller.ts:569 [log] > [stream-controller]: Loading fragment 24 cc: 0 of [1-26] level: 0, target: 73.451
base-stream-controller.ts:1362 [log] > [stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:183 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 24 p: -1 level: 0 id: 1
        discontinuity: false
        trackSwitch: false
        contiguous: false
        accurateTimeOffset: true
        timeOffset: 71.54975056689327
base-stream-controller.ts:345 [log] > [stream-controller]: Loaded fragment 24 of level 0
58595d07-ad27-467c-8aba-7a970bb0a582:2692 [log] > [mp4-remuxer]: reset next timestamp
58595d07-ad27-467c-8aba-7a970bb0a582:3246 [warn] > Audio frame @ 71.076s overlaps nextAudioPts by -473 ms.
remuxAudio @ 58595d07-ad27-467c-8aba-7a970bb0a582:3246
remux @ 58595d07-ad27-467c-8aba-7a970bb0a582:2796
transmuxUnencrypted @ 58595d07-ad27-467c-8aba-7a970bb0a582:1013
transmux @ 58595d07-ad27-467c-8aba-7a970bb0a582:1000
push @ 58595d07-ad27-467c-8aba-7a970bb0a582:851
(anonymous) @ 58595d07-ad27-467c-8aba-7a970bb0a582:122
58595d07-ad27-467c-8aba-7a970bb0a582:937 [log] > [transmuxer.ts]: Flushed fragment 24 of level 0
base-stream-controller.ts:1362 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:480 [log] > [stream-controller]: Buffered main sn: 24 of level 0 [0.083,35.550][71.154,74.048]
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:569 [log] > [stream-controller]: Loading fragment 25 cc: 0 of [1-26] level: 0, target: 74.048
base-stream-controller.ts:1362 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:345 [log] > [stream-controller]: Loaded fragment 25 of level 0
58595d07-ad27-467c-8aba-7a970bb0a582:937 [log] > [transmuxer.ts]: Flushed fragment 25 of level 0
base-stream-controller.ts:1362 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:480 [log] > [stream-controller]: Buffered main sn: 25 of level 0 [0.083,35.550][71.154,76.951]
base-stream-controller.ts:1362 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:569 [log] > [stream-controller]: Loading fragment 26 cc: 0 of [1-26] level: 0, target: 76.951
base-stream-controller.ts:1362 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:345 [log] > [stream-controller]: Loaded fragment 26 of level 0
58595d07-ad27-467c-8aba-7a970bb0a582:937 [log] > [transmuxer.ts]: Flushed fragment 26 of level 0
stream-controller.ts:530 [log] > [stream-controller]: Media seeked to 73.451
gap-controller.ts:208 [warn] > Playback stalling at @76.878112 due to low buffer (buffer=0.0727940000000018)
_reportStall @ gap-controller.ts:208
poll @ gap-controller.ts:145
checkBuffer @ stream-controller.ts:919
onTickEnd @ stream-controller.ts:201
doTick @ stream-controller.ts:196
tick @ task-loop.ts:110
setInterval (async)
setInterval @ task-loop.ts:72
startLoad @ stream-controller.ts:117
(anonymous) @ hls.ts:355
startLoad @ hls.ts:354
onManifestLoaded @ level-controller.ts:196
emit @ index.js:203
emit @ hls.ts:242
trigger @ hls.ts:250
handleTrackOrLevelPlaylist @ playlist-loader.ts:502
loadsuccess @ playlist-loader.ts:339
readystatechange @ xhr-loader.ts:190
XMLHttpRequest.send (async)
loadInternal @ xhr-loader.ts:127
load @ xhr-loader.ts:72
load @ playlist-loader.ts:303
onManifestLoading @ playlist-loader.ts:148
emit @ index.js:203
emit @ hls.ts:242
trigger @ hls.ts:250
loadSource @ hls.ts:342
loadSelectedStream @ main.js:371
(anonymous) @ main.js:227
j @ jquery.min.js:2
fireWith @ jquery.min.js:2
ready @ jquery.min.js:2
I @ jquery.min.js:2
latency-controller.ts:185 [warn] > [playback-rate-controller]: Stall detected, adjusting target latency
onError @ latency-controller.ts:185
emit @ index.js:203
emit @ hls.ts:242
trigger @ hls.ts:250
_reportStall @ gap-controller.ts:211
poll @ gap-controller.ts:145
checkBuffer @ stream-controller.ts:919
onTickEnd @ stream-controller.ts:201
doTick @ stream-controller.ts:196
tick @ task-loop.ts:110
setInterval (async)
setInterval @ task-loop.ts:72
startLoad @ stream-controller.ts:117
(anonymous) @ hls.ts:355
startLoad @ hls.ts:354
onManifestLoaded @ level-controller.ts:196
emit @ index.js:203
emit @ hls.ts:242
trigger @ hls.ts:250
handleTrackOrLevelPlaylist @ playlist-loader.ts:502
loadsuccess @ playlist-loader.ts:339
readystatechange @ xhr-loader.ts:190
XMLHttpRequest.send (async)
loadInternal @ xhr-loader.ts:127
load @ xhr-loader.ts:72
load @ playlist-loader.ts:303
onManifestLoading @ playlist-loader.ts:148
emit @ index.js:203
emit @ hls.ts:242
trigger @ hls.ts:250
loadSource @ hls.ts:342
loadSelectedStream @ main.js:371
(anonymous) @ main.js:227
j @ jquery.min.js:2
fireWith @ jquery.min.js:2
ready @ jquery.min.js:2
I @ jquery.min.js:2
main.js:722 Error event: {type: "mediaError", details: "bufferStalledError", fatal: false, buffer: 0.0727940000000018}
(anonymous) @ main.js:722
emit @ index.js:203
emit @ hls.ts:242
trigger @ hls.ts:250
_reportStall @ gap-controller.ts:211
poll @ gap-controller.ts:145
checkBuffer @ stream-controller.ts:919
onTickEnd @ stream-controller.ts:201
doTick @ stream-controller.ts:196
tick @ task-loop.ts:110
setInterval (async)
setInterval @ task-loop.ts:72
startLoad @ stream-controller.ts:117
(anonymous) @ hls.ts:355
startLoad @ hls.ts:354
onManifestLoaded @ level-controller.ts:196
emit @ index.js:203
emit @ hls.ts:242
trigger @ hls.ts:250
handleTrackOrLevelPlaylist @ playlist-loader.ts:502
loadsuccess @ playlist-loader.ts:339
readystatechange @ xhr-loader.ts:190
XMLHttpRequest.send (async)
loadInternal @ xhr-loader.ts:127
load @ xhr-loader.ts:72
load @ playlist-loader.ts:303
onManifestLoading @ playlist-loader.ts:148
emit @ index.js:203
emit @ hls.ts:242
trigger @ hls.ts:250
loadSource @ hls.ts:342
loadSelectedStream @ main.js:371
(anonymous) @ main.js:227
j @ jquery.min.js:2
fireWith @ jquery.min.js:2
ready @ jquery.min.js:2
I @ jquery.min.js:2

Chrome media internals output

render_id: 72
player_id: 24
origin_url: https://hls-js.netlify.app/
kFrameUrl: https://hls-js.netlify.app/demo/?src=https%3A%2F%2Fembed-fastly.wistia.com%2Fdeliveries%2Fc2fc22d24f95a3d38cb7b3e64d5738c1b006e9bb.m3u8%2Fv2&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ==
kFrameTitle: hls.js demo
url: blob:https://hls-js.netlify.app/9acdd476-918c-4624-95ef-af314f9ef2ae
kTextTracks: 
info: Selected video track: []
pipeline_state: kPlaying
kAudioTracks: [object Object]
kVideoTracks: [object Object]
kIsAudioDecryptingDemuxerStream: false
kAudioDecoderName: FFmpegAudioDecoder
kIsPlatformAudioDecoder: false
kIsVideoDecryptingDemuxerStream: false
kVideoDecoderName: VDAVideoDecoder
kIsPlatformVideoDecoder: true
dimensions: 1920x1080
kResolution: 1920x1080
event: kPlay
debug: Skipping audio splice trimming at PTS=5944285us. Found only 22us of overlap, need at least 1000us. Multiple occurrences may result in loss of A/V sync.
duration: 76.951955
pipeline_buffering_state: [object Object]
seek_target: 73.450695
video_buffering_state: [object Object]
lpommers commented 3 years ago

I'm going to close this out for now as the actual ts segments in the manifest have changed since the playlist was generated.