hls.js icon indicating copy to clipboard operation
hls.js copied to clipboard

HLS.js play failed with the AAC audio stream for v1.2

Open yajin2021 opened this issue 3 years ago • 0 comments

What version of Hls.js are you using?

v1.2

What browser (including version) are you using?

Google Chrome Version 104.0.5112.81 (Official Build) (64-bit)

What OS (including version) are you using?

Windows 10

Test stream

https://sample-videos-zyrkp2nj.s3-eu-west-1.amazonaws.com/audio-desync/hls/master.m3u8

Configuration

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

Additional player setup steps

No response

Checklist

  • [X] The issue observed is not already reported by searching on Github under https://github.com/video-dev/hls.js/issues
  • [X] The issue occurs in the stable client (latest release) on https://hls-js.netlify.com/demo and not just on my page
  • [X] The issue occurs in the latest client (main branch) on https://hls-js-dev.netlify.com/demo and not just on my page
  • [X] The stream has correct Access-Control-Allow-Origin headers (CORS)
  • [X] There are no network errors such as 404s in the browser console when trying to play the stream

Steps to reproduce

  1. Open affected stream at https://hls-js.netlify.app/demo/.
  2. HLS.js gets stuck and not download AAC segments again.

Expected behaviour

I expect HLS.js to not get stuck and play the streaming as v0.14.17

What actually happened?

HLS.js gets stuck and not download AAC segments again.

Console output

main.js:341 Using Hls.js config: {debug: true, enableWorker: true, lowLatencyMode: true, backBufferLength: 90}
logger.ts:74 [log] >
hls.ts:371 [log] > stopLoad
hls.ts:339 [log] > loadSource:https://sample-videos-zyrkp2nj.s3-eu-west-1.amazonaws.com/audio-desync/hls/master.m3u8
stream-controller.ts:546 [log] > [stream-controller]: Trigger BUFFER_RESET
hls.ts:310 [log] > attachMedia
level-controller.ts:172 [log] > [level-controller]: manifest loaded, 1 level(s) found, first bitrate: 1143378
buffer-controller.ts:136 [log] > 2 bufferCodec event(s) expected
hls.ts:361 [log] > startLoad(-1)
level-controller.ts:251 [log] > [level-controller]: switching to level 0 from -1
audio-track-controller.ts:134 [log] > [audio-track-controller]: Updating audio tracks, 1 track(s) found in "audio-128000" group-id
audio-track-controller.ts:185 [log] > [audio-track-controller]: Now switching to audio-track index 0
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: STOPPED->IDLE
level-controller.ts:524 [log] > [level-controller]: Attempt loading level index 0 with URL-id 0 https://sample-videos-zyrkp2nj.s3-eu-west-1.amazonaws.com/audio-desync/hls/video/972000/index.m3u8
base-stream-controller.ts:1356 [log] > [stream-controller]: STOPPED->IDLE
audio-track-controller.ts:258 [log] > [audio-track-controller]: loading audio-track playlist for id: 0
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: IDLE->STOPPED
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: STOPPED->WAITING_TRACK
base-stream-controller.ts:1356 [log] > [subtitle-stream-controller]: STOPPED->IDLE
buffer-controller.ts:755 [log] > [buffer-controller]: Media source opened
stream-controller.ts:611 [log] > [stream-controller]: Level 0 loaded [0,19], cc [0, 9] duration:84.39999999999998
buffer-controller.ts:647 [log] > [buffer-controller]: Updating Media Source duration to 84.400
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 0 cc: 0 of [0-19] level: 0, target: 0
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
audio-track-controller.ts:87 [log] > [audio-track-controller]: audioTrack 0 loaded [0-19]
audio-stream-controller.ts:446 [log] > [audio-stream-controller]: Track 0 loaded [0,19],duration:79.91
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: WAITING_TRACK->IDLE
base-stream-controller.ts:581 [log] > [audio-stream-controller]: Loading fragment 0 cc: 0 of [0-19] track: 0, target: 0
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:67 [log] > demuxing in webworker
transmuxer-interface.ts:191 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 0 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: true
        timeOffset: 0
        initSegmentChange: true
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 0 of level 0
transmuxer-interface.ts:67 [log] > demuxing in webworker
audio-stream-controller.ts:553 [log] > Unknown video PTS for cc 0, waiting for video PTS before demuxing audio frag 0 of [0 ,19],track 0
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: FRAG_LOADING->WAITING_INIT_PTS
base-stream-controller.ts:362 [log] > [audio-stream-controller]: Loaded fragment 0 of level 0
​ [log] >
​ [log] > [mp4-remuxer]: ISGenerated flag reset
​ [log] > [mp4-remuxer]: initPTS & initDTS reset
blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:613 [log] >
​ [log] > [transmuxer.ts]: Flushed fragment 0 of level 0
​ [log] > [stream-controller]: FRAG_LOADING->PARSING
​ [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.4d4028/avc1.4d4028]
​ [log] > [audio-stream-controller]: InitPTS for cc: 0 found from main: 52929000
​ [log] > [audio-stream-controller]: WAITING_INIT_PTS->FRAG_LOADING
​ [log] > [transmuxer-interface, audio]: Starting new transmux session for sn: 0 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: false
        timeOffset: 0
        initSegmentChange: true
blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:8353 [log] > ADTS sync word found !
blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
​ [log] > [stream-controller]: PARSING->PARSED
blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:7884 [log] > manifest codec:mp4a.40.2, ADTS type:2, samplingIndex:4
blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:8046 [log] > parsed codec:mp4a.40.5, rate:44100, channels:2
blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:4115 [warn] > [mp4-remuxer]: Injecting 1 audio frame @ 0.001s due to 24 ms gap.
remuxAudio @ blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:4115
remux @ blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:3631
transmuxUnencrypted @ blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:1024
transmux @ blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:1011
push @ blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:862
(anonymous) @ blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:122
​ [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:948 [log] > [transmuxer.ts]: Flushed fragment 0 of level 0
​ [log] > [audio-stream-controller]: Switching audio track : flushing all audio
audio-stream-controller.ts:787 [log] > [audio-stream-controller]: Init audio buffer, container:audio/mp4, codecs[parsed]=[mp4a.40.5]
buffer-controller.ts:716 [log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.4d4028)
buffer-controller.ts:716 [log] > [buffer-controller]: creating sourceBuffer(audio/mp4;codecs=mp4a.40.5)
stream-controller.ts:818 [log] > [stream-controller]: Alternate track found, use video.buffered to schedule main fragment loading
buffer-controller.ts:829 [log] > [buffer-controller]: Removing [0,84.39999999999998] from the audio SourceBuffer
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:492 [log] > [audio-stream-controller]: Buffered audio sn: 0 of track 0 [0.001,6.015]
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 0 of level 0 [0.000,6.000]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 1 cc: 0 of [0-19] level: 0, target: 6
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:581 [log] > [audio-stream-controller]: Loading fragment 1 cc: 0 of [0-19] track: 0, target: 6.015
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:362 [log] > [audio-stream-controller]: Loaded fragment 1 of level 0
blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:4091 [warn] > Audio frame @ -582.085s overlaps nextAudioPts by -588100 ms.
remuxAudio @ blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:4091
remux @ blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:3631
transmuxUnencrypted @ blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:1024
transmux @ blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:1011
push @ blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:862
(anonymous) @ blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:122
blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:948 [log] > [transmuxer.ts]: Flushed fragment 1 of level 0
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 1 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 1 of level 0
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:492 [log] > [audio-stream-controller]: Buffered audio sn: 1 of track 0 [0.001,6.015]
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [audio-stream-controller]: Loading fragment 19 cc: 9 of [0-19] track: 0, target: 6.015
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
audio-stream-controller.ts:553 [log] > Unknown video PTS for cc 9, waiting for video PTS before demuxing audio frag 19 of [0 ,19],track 0
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: FRAG_LOADING->WAITING_INIT_PTS
base-stream-controller.ts:362 [log] > [audio-stream-controller]: Loaded fragment 19 of level 0
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 1 of level 0 [0.000,8.440]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 2 cc: 1 of [0-19] level: 0, target: 8.44
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
gap-controller.ts:257 [warn] > skipping hole, adjusting currentTime from 0 to 0.1
_trySkipBufferHole @ gap-controller.ts:257
poll @ gap-controller.ts:135
checkBuffer @ stream-controller.ts:929
onTickEnd @ stream-controller.ts:202
doTick @ stream-controller.ts:197
tick @ task-loop.ts:110
fragBufferedComplete @ base-stream-controller.ts:500
onFragBuffered @ stream-controller.ts:852
emit @ index.js:203
emit @ hls.ts:250
trigger @ hls.ts:258
onUnblocked @ buffer-controller.ts:491
(anonymous) @ buffer-controller.ts:879
Promise.then (async)
blockBuffers @ buffer-controller.ts:877
onFragParsed @ buffer-controller.ts:505
emit @ index.js:203
emit @ hls.ts:250
trigger @ hls.ts:258
updateLevelTiming @ base-stream-controller.ts:1342
_handleTransmuxerFlush @ base-stream-controller.ts:658
onWorkerMessage @ transmuxer-interface.ts:290
base-stream-controller.ts:217 [log] > [stream-controller]: media seeking to 0.100, state: FRAG_LOADING
base-stream-controller.ts:217 [log] > [audio-stream-controller]: media seeking to 0.100, state: WAITING_INIT_PTS
base-stream-controller.ts:217 [log] > [subtitle-stream-controller]: media seeking to 0.100, state: IDLE
transmuxer-interface.ts:191 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 2 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: false
        contiguous: true
        accurateTimeOffset: true
        timeOffset: 8.44
        initSegmentChange: false
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 2 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
stream-controller.ts:537 [log] > [stream-controller]: Media seeked to 0.100
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 2 of level 0
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1249 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.4d4028/avc1.4d4028]
audio-stream-controller.ts:114 [log] > [audio-stream-controller]: InitPTS for cc: 1 found from main: 52169400
audio-stream-controller.ts:200 [log] > Waiting fragment cc (9) cancelled because video is at cc 1
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: WAITING_INIT_PTS->IDLE
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 2 of level 0 [0.000,14.440]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 3 cc: 1 of [0-19] level: 0, target: 14.44
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
favicon.ico:1          GET https://hls-js.netlify.app/favicon.ico 404
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 3 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 3 of level 0
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 3 of level 0 [0.000,16.880]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 4 cc: 2 of [0-19] level: 0, target: 16.88
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:191 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 4 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: false
        contiguous: true
        accurateTimeOffset: true
        timeOffset: 16.88
        initSegmentChange: false
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 4 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 4 of level 0
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1249 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.4d4028/avc1.4d4028]
audio-stream-controller.ts:114 [log] > [audio-stream-controller]: InitPTS for cc: 2 found from main: 51409800
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 4 of level 0 [0.000,22.880]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 5 cc: 2 of [0-19] level: 0, target: 22.88
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 5 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 5 of level 0
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 5 of level 0 [0.000,25.320]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 6 cc: 3 of [0-19] level: 0, target: 25.32
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:191 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 6 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: false
        contiguous: true
        accurateTimeOffset: true
        timeOffset: 25.32
        initSegmentChange: false
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 6 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
base-stream-controller.ts:581 [log] > [audio-stream-controller]: Loading fragment 19 cc: 9 of [0-19] track: 0, target: 6.015
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 6 of level 0
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1249 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.4d4028/avc1.4d4028]
audio-stream-controller.ts:114 [log] > [audio-stream-controller]: InitPTS for cc: 3 found from main: 50650200
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
audio-stream-controller.ts:553 [log] > Unknown video PTS for cc 9, waiting for video PTS before demuxing audio frag 19 of [0 ,19],track 0
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: FRAG_LOADING->WAITING_INIT_PTS
base-stream-controller.ts:362 [log] > [audio-stream-controller]: Loaded fragment 19 of level 0
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 6 of level 0 [0.000,31.320]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 7 cc: 3 of [0-19] level: 0, target: 31.32
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 7 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 7 of level 0
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 7 of level 0 [0.000,33.760]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 8 cc: 4 of [0-19] level: 0, target: 33.76
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:191 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 8 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: false
        contiguous: true
        accurateTimeOffset: true
        timeOffset: 33.76
        initSegmentChange: false
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 8 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 8 of level 0
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1249 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.4d4028/avc1.4d4028]
audio-stream-controller.ts:114 [log] > [audio-stream-controller]: InitPTS for cc: 4 found from main: 49890600
audio-stream-controller.ts:200 [log] > Waiting fragment cc (9) cancelled because video is at cc 4
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: WAITING_INIT_PTS->IDLE
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 8 of level 0 [0.000,39.760]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 9 cc: 4 of [0-19] level: 0, target: 39.76
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 9 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 9 of level 0
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 9 of level 0 [0.000,42.200]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 10 cc: 5 of [0-19] level: 0, target: 42.2
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:191 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 10 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: false
        contiguous: true
        accurateTimeOffset: true
        timeOffset: 42.2
        initSegmentChange: false
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 10 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 10 of level 0
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1249 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.4d4028/avc1.4d4028]
audio-stream-controller.ts:114 [log] > [audio-stream-controller]: InitPTS for cc: 5 found from main: 49131000
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 10 of level 0 [0.000,48.200]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 11 cc: 5 of [0-19] level: 0, target: 48.2
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 11 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 11 of level 0
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 11 of level 0 [0.000,50.640]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 12 cc: 6 of [0-19] level: 0, target: 50.64
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:581 [log] > [audio-stream-controller]: Loading fragment 19 cc: 9 of [0-19] track: 0, target: 6.015
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
audio-stream-controller.ts:553 [log] > Unknown video PTS for cc 9, waiting for video PTS before demuxing audio frag 19 of [0 ,19],track 0
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: FRAG_LOADING->WAITING_INIT_PTS
base-stream-controller.ts:362 [log] > [audio-stream-controller]: Loaded fragment 19 of level 0
transmuxer-interface.ts:191 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 12 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: false
        contiguous: true
        accurateTimeOffset: true
        timeOffset: 50.64
        initSegmentChange: false
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 12 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 12 of level 0
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1249 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.4d4028/avc1.4d4028]
audio-stream-controller.ts:114 [log] > [audio-stream-controller]: InitPTS for cc: 6 found from main: 48371400
audio-stream-controller.ts:200 [log] > Waiting fragment cc (9) cancelled because video is at cc 6
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: WAITING_INIT_PTS->IDLE
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 12 of level 0 [0.000,56.640]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 13 cc: 6 of [0-19] level: 0, target: 56.64
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 13 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 13 of level 0
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 13 of level 0 [0.000,59.080]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 14 cc: 7 of [0-19] level: 0, target: 59.08
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:191 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 14 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: false
        contiguous: true
        accurateTimeOffset: true
        timeOffset: 59.08
        initSegmentChange: false
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 14 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 14 of level 0
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1249 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.4d4028/avc1.4d4028]
audio-stream-controller.ts:114 [log] > [audio-stream-controller]: InitPTS for cc: 7 found from main: 47611800
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 14 of level 0 [0.000,65.080]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 15 cc: 7 of [0-19] level: 0, target: 65.08
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 15 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 15 of level 0
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 15 of level 0 [0.000,67.520]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 16 cc: 8 of [0-19] level: 0, target: 67.52
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:191 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 16 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: false
        contiguous: true
        accurateTimeOffset: true
        timeOffset: 67.52
        initSegmentChange: false
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 16 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 16 of level 0
base-stream-controller.ts:581 [log] > [audio-stream-controller]: Loading fragment 19 cc: 9 of [0-19] track: 0, target: 6.015
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1249 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.4d4028/avc1.4d4028]
audio-stream-controller.ts:114 [log] > [audio-stream-controller]: InitPTS for cc: 8 found from main: 46852200
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
audio-stream-controller.ts:553 [log] > Unknown video PTS for cc 9, waiting for video PTS before demuxing audio frag 19 of [0 ,19],track 0
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: FRAG_LOADING->WAITING_INIT_PTS
base-stream-controller.ts:362 [log] > [audio-stream-controller]: Loaded fragment 19 of level 0
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 16 of level 0 [0.000,73.520]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 17 cc: 8 of [0-19] level: 0, target: 73.52
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 17 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 17 of level 0
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 17 of level 0 [0.000,75.960]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 18 cc: 9 of [0-19] level: 0, target: 75.96
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:191 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 18 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: false
        contiguous: true
        accurateTimeOffset: true
        timeOffset: 75.96
        initSegmentChange: false
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 18 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 18 of level 0
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1249 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.4d4028/avc1.4d4028]
audio-stream-controller.ts:114 [log] > [audio-stream-controller]: InitPTS for cc: 9 found from main: 46092600
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: WAITING_INIT_PTS->FRAG_LOADING
transmuxer-interface.ts:191 [log] > [transmuxer-interface, audio]: Starting new transmux session for sn: 19 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: false
        contiguous: false
        accurateTimeOffset: false
        timeOffset: -510.12289569160964
        initSegmentChange: false
blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:3525 [log] > [mp4-remuxer]: reset next timestamp
blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:8353 [log] > ADTS sync word found !
blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:3531 [log] > [mp4-remuxer]: ISGenerated flag reset
blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:3520 [log] > [mp4-remuxer]: initPTS & initDTS reset
blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:7884 [log] > manifest codec:mp4a.40.2, ADTS type:2, samplingIndex:4
blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:8046 [log] > parsed codec:mp4a.40.5, rate:44100, channels:2
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
blob:https://hls-js.netlify.app/d306cda1-3fe7-4205-b48d-c4cf0c63d1e3:948 [log] > [transmuxer.ts]: Flushed fragment 19 of level 0
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
audio-stream-controller.ts:787 [log] > [audio-stream-controller]: Init audio buffer, container:audio/mp4, codecs[parsed]=[mp4a.40.5]
base-stream-controller.ts:1336 [warn] > [audio-stream-controller]: Found no media in fragment 19 of level 0 resetting transmuxer to fallback to playlist timing
updateLevelTiming @ base-stream-controller.ts:1336
_handleTransmuxerFlush @ base-stream-controller.ts:658
onWorkerMessage @ transmuxer-interface.ts:290
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: PARSING->PARSED
buffer-controller.ts:500 [warn] > Fragments must have at least one ElementaryStreamType set. type: audio level: 0 sn: 19
onFragParsed @ buffer-controller.ts:500
emit @ index.js:203
emit @ hls.ts:250
trigger @ hls.ts:258
updateLevelTiming @ base-stream-controller.ts:1342
_handleTransmuxerFlush @ base-stream-controller.ts:658
onWorkerMessage @ transmuxer-interface.ts:290
buffer-controller.ts:865 [log] > [buffer-controller]: Blocking operation requested, but no SourceBuffers exist
base-stream-controller.ts:492 [log] > [audio-stream-controller]: Buffered audio sn: 19 of track 0 [0.001,6.015]
base-stream-controller.ts:1356 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 18 of level 0 [0.000,81.960]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:581 [log] > [stream-controller]: Loading fragment 19 cc: 9 of [0-19] level: 0, target: 81.96
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 19 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 19 of level 0
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 19 of level 0 [0.000,84.400]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
buffer-controller.ts:520 [log] > [buffer-controller]: video sourceBuffer now EOS
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->ENDED
gap-controller.ts:219 [warn] > Playback stalling at @5.949698 due to low buffer ({"len":0.06504000000000065,"start":0.00077,"end":6.014738})
_reportStall @ gap-controller.ts:219
poll @ gap-controller.ts:150
checkBuffer @ stream-controller.ts:929
onTickEnd @ stream-controller.ts:202
doTick @ stream-controller.ts:197
tick @ task-loop.ts:110
setInterval (async)
setInterval @ task-loop.ts:72
startLoad @ stream-controller.ts:118
(anonymous) @ hls.ts:363
startLoad @ hls.ts:362
onManifestLoaded @ level-controller.ts:196
emit @ index.js:203
emit @ hls.ts:250
trigger @ hls.ts:258
handleMasterPlaylist @ playlist-loader.ts:444
loadsuccess @ playlist-loader.ts:341
readystatechange @ xhr-loader.ts:197
XMLHttpRequest.send (async)
loadInternal @ xhr-loader.ts:134
load @ xhr-loader.ts:72
load @ playlist-loader.ts:303
onManifestLoading @ playlist-loader.ts:148
emit @ index.js:203
emit @ hls.ts:250
trigger @ hls.ts:258
loadSource @ hls.ts:350
loadSelectedStream @ main.js:374
(anonymous) @ main.js:142
dispatch @ jquery.min.js:3
r.handle @ jquery.min.js:3
latency-controller.ts:187 [warn] > [playback-rate-controller]: Stall detected, adjusting target latency
onError @ latency-controller.ts:187
emit @ index.js:203
emit @ hls.ts:250
trigger @ hls.ts:258
_reportStall @ gap-controller.ts:224
poll @ gap-controller.ts:150
checkBuffer @ stream-controller.ts:929
onTickEnd @ stream-controller.ts:202
doTick @ stream-controller.ts:197
tick @ task-loop.ts:110
setInterval (async)
setInterval @ task-loop.ts:72
startLoad @ stream-controller.ts:118
(anonymous) @ hls.ts:363
startLoad @ hls.ts:362
onManifestLoaded @ level-controller.ts:196
emit @ index.js:203
emit @ hls.ts:250
trigger @ hls.ts:258
handleMasterPlaylist @ playlist-loader.ts:444
loadsuccess @ playlist-loader.ts:341
readystatechange @ xhr-loader.ts:197
XMLHttpRequest.send (async)
loadInternal @ xhr-loader.ts:134
load @ xhr-loader.ts:72
load @ playlist-loader.ts:303
onManifestLoading @ playlist-loader.ts:148
emit @ index.js:203
emit @ hls.ts:250
trigger @ hls.ts:258
loadSource @ hls.ts:350
loadSelectedStream @ main.js:374
(anonymous) @ main.js:142
dispatch @ jquery.min.js:3
r.handle @ jquery.min.js:3
main.js:725 Error event: {type: 'mediaError', details: 'bufferStalledError', fatal: false, buffer: 0.06504000000000065}
(anonymous) @ main.js:725
emit @ index.js:203
emit @ hls.ts:250
trigger @ hls.ts:258
_reportStall @ gap-controller.ts:224
poll @ gap-controller.ts:150
checkBuffer @ stream-controller.ts:929
onTickEnd @ stream-controller.ts:202
doTick @ stream-controller.ts:197
tick @ task-loop.ts:110
setInterval (async)
setInterval @ task-loop.ts:72
startLoad @ stream-controller.ts:118
(anonymous) @ hls.ts:363
startLoad @ hls.ts:362
onManifestLoaded @ level-controller.ts:196
emit @ index.js:203
emit @ hls.ts:250
trigger @ hls.ts:258
handleMasterPlaylist @ playlist-loader.ts:444
loadsuccess @ playlist-loader.ts:341
readystatechange @ xhr-loader.ts:197
XMLHttpRequest.send (async)
loadInternal @ xhr-loader.ts:134
load @ xhr-loader.ts:72
load @ playlist-loader.ts:303
onManifestLoading @ playlist-loader.ts:148
emit @ index.js:203
emit @ hls.ts:250
trigger @ hls.ts:258
loadSource @ hls.ts:350
loadSelectedStream @ main.js:374
(anonymous) @ main.js:142
dispatch @ jquery.min.js:3
r.handle @ jquery.min.js:3
hls-demo.js:2505 [Violation] 'setInterval' handler took 78ms

Chrome media internals output

No response

yajin2021 avatar Aug 10 '22 03:08 yajin2021

I am not able to reproduce the issue. The stream buffers and plays to the end for me.

Your logs show the stream buffering to the end despite empty audio segments. After buffering the entire stream and making the end:

base-stream-controller.ts:362 [log] > [stream-controller]: Loaded fragment 19 of level 0
bce2e1ca-b561-483f-a343-1fb4b0a90892:948 [log] > [transmuxer.ts]: Flushed fragment 19 of level 0
base-stream-controller.ts:1356 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:492 [log] > [stream-controller]: Buffered main sn: 19 of level 0 [0.000,84.400]
base-stream-controller.ts:1356 [log] > [stream-controller]: PARSED->IDLE
buffer-controller.ts:520 [log] > [buffer-controller]: video sourceBuffer now EOS
base-stream-controller.ts:1356 [log] > [stream-controller]: IDLE->ENDED

We then see a stall with a buffer for only 6 seconds.

gap-controller.ts:219 [warn] > Playback stalling at @5.949698 due to low buffer ({"len":0.06504000000000065,"start":0.00077,"end":6.014738})

The steps provided do not produce this behavior.

robwalch avatar Aug 10 '22 15:08 robwalch

There is " DISCONTINUITY " tag in a/v playlist and the duration of stream is 84 seconds . I test it with native safari and hls.js v0.14.17 , and they can play to the end . With v1.2 , only play 6 seconds and freeze . I think it may be related to the logic of the silent frame compensation.

#EXTINF:5.991, 99.aac #EXTINF:2.000, 100.aac

#EXT-X-DISCONTINUITY #EXTINF:5.991, 99.aac #EXTINF:2.000, 100.aac ..... #EXT-X-ENDLIST

Files are the screen recording of v1.2 and v0.14.7

https://user-images.githubusercontent.com/83813017/184055263-ee48c5ac-6640-46b7-958e-1be54c4a15a9.mov

https://user-images.githubusercontent.com/83813017/184055283-ce3c7f07-f0b1-41a6-941d-9c7bdca0e658.mov

yajin2021 avatar Aug 11 '22 02:08 yajin2021

The second audio segment in each discontinuity does not have an ID3 timestamp. These segments samples should be appended right after the the previous segments and we do in older versions. However, if you seek into these segments we have trouble calculating start PTS (this is an issue in 0.14 as well). While testing this I also discovered an issue with how audio stream controller waits for init PTS from video. It does not reset waiting data on seek. #4847 fixes these issues.

robwalch avatar Aug 14 '22 20:08 robwalch