Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Duration change on level switch #6844

Open
5 tasks done
kwalasik07 opened this issue Nov 14, 2024 · 1 comment
Open
5 tasks done

Duration change on level switch #6844

kwalasik07 opened this issue Nov 14, 2024 · 1 comment
Labels
Bug Confirmed Verify Fixed An unreleased bug fix has been merged and should be verified before closing.
Milestone

Comments

@kwalasik07
Copy link

kwalasik07 commented Nov 14, 2024

What version of Hls.js are you using?

1.5.12

What browser (including version) are you using?

Chrome version 130.0.6723.117

What OS (including version) are you using?

MacOS 14.5

Test stream

No response

Configuration

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

Additional player setup steps

No response

Checklist

Steps to reproduce

Try on short video or close to end so that end of stream is being fired

  1. pause the video
  2. click next level loaded with different quality
  3. play video
  4. repeat steps 1-3 until u see duration value blink and durationchange event being fired few times firstly with current time value

Expected behaviour

Duration does not change after switching nextLevel on paused video.

What actually happened?

In my implementation I switch quality on paused video cause settings board overlaps video element. When i switch quality few times in a row there is an issue that duration of the video changes to current time and updates with buffer appends.

Console output

temp1
<video id=​"video" controls autoplay playsinline class=​"videoCentered" style=​"width:​ 80%" src=​"blob:​https:​/​/​hlsjs.video-dev.org/​fc64402c-b96e-4caf-9b5f-7b991fe0ca40"></video>​media
temp1.addEventListener('durationchange',()=>console.log("D C",temp1.duration))
undefined
hls.ts:539 [log] > set nextLevel:1
level-controller.ts:432 [log] > [level-controller]: Switching to level 1 (360p SDR avc1,mp4a @1168000) from level 0
buffer-controller.ts:1096 [log] > [buffer-controller] Removing [0,26.046444444444443] from the audio SourceBuffer
buffer-controller.ts:1096 [log] > [buffer-controller] Removing [0,26.046444444444443] from the video SourceBuffer
buffer-controller.ts:1096 [log] > [buffer-controller] Removing [30.796444444444443,59.141223] from the audio SourceBuffer
base-stream-controller.ts:1659 [log] > [stream-controller]: Reset loading state
base-stream-controller.ts:1801 [log] > [stream-controller]: ENDED->IDLE
base-stream-controller.ts:758 [log] > [stream-controller]: Loading fragment 19 cc: 0 of [0-19] level: 1, target: 59.126
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->FRAG_LOADING
buffer-controller.ts:1096 [log] > [buffer-controller] Removing [30.796444444444443,59.141223] from the video SourceBuffer
transmuxer-interface.ts:230 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 19 p: -1 level: 1 id: 1
        discontinuity: false
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: true
        timeOffset: 57.04644444444445
        initSegmentChange: false
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 19 of level 1
transmuxer-interface.ts:394 [log] > [mp4-remuxer]: ISGenerated flag reset
transmuxer-interface.ts:394 [log] > [mp4-remuxer]: initPTS & initDTS reset
transmuxer-interface.ts:394 [log] > [mp4-remuxer]: reset next timestamp
transmuxer-interface.ts:394 [log] > manifest codec:mp4a.40.2, ADTS type:2, samplingIndex:4
transmuxer-interface.ts:394 [log] > parsed codec:mp4a.40.5, rate:44100, channels:2
base-stream-controller.ts:1801 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1303 [log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[mp4a.40.2/mp4a.40.2/mp4a.40.5]
stream-controller.ts:1314 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.42001e/avc1.42c01e]
transmuxer-interface.ts:394 [log] > [transmuxer.ts]: Flushed fragment 19 of level 1
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:570 [log] > [stream-controller]: Buffered main sn: 19 of level 1 (frag:[57.046-59.141] > buffer:[27.046-30.806][57.051-59.126])
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:758 [log] > [stream-controller]: Loading fragment 10 cc: 0 of [0-19] level: 1, target: 30.806
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:230 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 10 p: -1 level: 1 id: 1
        discontinuity: false
        trackSwitch: false
        contiguous: false
        accurateTimeOffset: true
        timeOffset: 30.046444444444443
        initSegmentChange: false
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 10 of level 1
transmuxer-interface.ts:394 [log] > [mp4-remuxer]: reset next timestamp
base-stream-controller.ts:1801 [log] > [stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:394 [log] > [transmuxer.ts]: Flushed fragment 10 of level 1
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:570 [log] > [stream-controller]: Buffered main sn: 10 of level 1 (frag:[30.046-33.065] > buffer:[27.046-33.046][57.051-59.126])
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:758 [log] > [stream-controller]: Loading fragment 11 cc: 0 of [0-19] level: 1, target: 33.046
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 11 of level 1
base-stream-controller.ts:1801 [log] > [stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:394 [log] > [transmuxer.ts]: Flushed fragment 11 of level 1
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:570 [log] > [stream-controller]: Buffered main sn: 11 of level 1 (frag:[33.046-36.061] > buffer:[27.046-36.046][57.051-59.126])
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:758 [log] > [stream-controller]: Loading fragment 12 cc: 0 of [0-19] level: 1, target: 36.046
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 12 of level 1
base-stream-controller.ts:1801 [log] > [stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:394 [log] > [transmuxer.ts]: Flushed fragment 12 of level 1
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:570 [log] > [stream-controller]: Buffered main sn: 12 of level 1 (frag:[36.046-39.056] > buffer:[27.046-39.046][57.051-59.126])
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:758 [log] > [stream-controller]: Loading fragment 13 cc: 0 of [0-19] level: 1, target: 39.046
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 13 of level 1
base-stream-controller.ts:1801 [log] > [stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:394 [log] > [transmuxer.ts]: Flushed fragment 13 of level 1
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:570 [log] > [stream-controller]: Buffered main sn: 13 of level 1 (frag:[39.046-42.051] > buffer:[27.046-42.046][57.051-59.126])
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:758 [log] > [stream-controller]: Loading fragment 14 cc: 0 of [0-19] level: 1, target: 42.046
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 14 of level 1
base-stream-controller.ts:1801 [log] > [stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:394 [log] > [transmuxer.ts]: Flushed fragment 14 of level 1
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:570 [log] > [stream-controller]: Buffered main sn: 14 of level 1 (frag:[42.046-45.047] > buffer:[27.046-45.046][57.051-59.126])
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:758 [log] > [stream-controller]: Loading fragment 15 cc: 0 of [0-19] level: 1, target: 45.046
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 15 of level 1
base-stream-controller.ts:1801 [log] > [stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:394 [log] > [transmuxer.ts]: Flushed fragment 15 of level 1
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:570 [log] > [stream-controller]: Buffered main sn: 15 of level 1 (frag:[45.046-48.065] > buffer:[27.046-48.046][57.051-59.126])
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:758 [log] > [stream-controller]: Loading fragment 16 cc: 0 of [0-19] level: 1, target: 48.046
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 16 of level 1
base-stream-controller.ts:1801 [log] > [stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:394 [log] > [transmuxer.ts]: Flushed fragment 16 of level 1
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:570 [log] > [stream-controller]: Buffered main sn: 16 of level 1 (frag:[48.046-51.061] > buffer:[27.046-51.046][57.051-59.126])
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:758 [log] > [stream-controller]: Loading fragment 17 cc: 0 of [0-19] level: 1, target: 51.046
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 17 of level 1
base-stream-controller.ts:1801 [log] > [stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:394 [log] > [transmuxer.ts]: Flushed fragment 17 of level 1
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:570 [log] > [stream-controller]: Buffered main sn: 17 of level 1 (frag:[51.046-54.056] > buffer:[27.046-54.046][57.051-59.126])
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:758 [log] > [stream-controller]: Loading fragment 18 cc: 0 of [0-19] level: 1, target: 54.046
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 18 of level 1
base-stream-controller.ts:1801 [log] > [stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:394 [log] > [transmuxer.ts]: Flushed fragment 18 of level 1
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:570 [log] > [stream-controller]: Buffered main sn: 18 of level 1 (frag:[54.046-57.051] > buffer:[27.046-59.126])
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSED->IDLE
buffer-controller.ts:638 [log] > [buffer-controller] audio sourceBuffer now EOS
buffer-controller.ts:638 [log] > [buffer-controller] video sourceBuffer now EOS
buffer-controller.ts:645 [log] > [buffer-controller] Queueing mediaSource.endOfStream()
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->ENDED
buffer-controller.ts:662 [log] > [buffer-controller] Calling mediaSource.endOfStream()
buffer-controller.ts:1016 [log] > [buffer-controller] Media source ended
abr-controller.ts:855 [info] > [abr] switch candidate:1->3 adjustedbw(61963074)-bitrate=58267074 ttfb:0.0 avgDuration:3.0 maxFetchDuration:29.1 fetchDuration:0.2 firstSelection:false codecSet:avc1,mp4a videoRange:SDR hls.loadLevel:1
hls.ts:539 [log] > set nextLevel:2
level-controller.ts:432 [log] > [level-controller]: Switching to level 2 (480p SDR avc1,mp4a @1971000) from level 1
buffer-controller.ts:1096 [log] > [buffer-controller] Removing [0,29.046444444444443] from the audio SourceBuffer
buffer-controller.ts:1096 [log] > [buffer-controller] Removing [0,29.046444444444443] from the video SourceBuffer
buffer-controller.ts:1096 [log] > [buffer-controller] Removing [33.79644444444445,59.141223] from the audio SourceBuffer
base-stream-controller.ts:1659 [log] > [stream-controller]: Reset loading state
base-stream-controller.ts:1801 [log] > [stream-controller]: ENDED->IDLE
buffer-controller.ts:638 [log] > [buffer-controller] audio sourceBuffer now EOS
buffer-controller.ts:638 [log] > [buffer-controller] video sourceBuffer now EOS
buffer-controller.ts:645 [log] > [buffer-controller] Queueing mediaSource.endOfStream()
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->ENDED
buffer-controller.ts:1096 [log] > [buffer-controller] Removing [33.79644444444445,59.141223] from the video SourceBuffer
base-stream-controller.ts:1659 [log] > [stream-controller]: Reset loading state
base-stream-controller.ts:1801 [log] > [stream-controller]: ENDED->IDLE
base-stream-controller.ts:758 [log] > [stream-controller]: Loading fragment 11 cc: 0 of [0-19] level: 2, target: 33.806
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->FRAG_LOADING
buffer-controller.ts:662 [log] > [buffer-controller] Calling mediaSource.endOfStream()
buffer-controller.ts:1016 [log] > [buffer-controller] Media source ended
VM712:1 D C 33.808253
transmuxer-interface.ts:230 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 11 p: -1 level: 2 id: 1
        discontinuity: false
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: true
        timeOffset: 33.04644444444445
        initSegmentChange: false
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 11 of level 2
transmuxer-interface.ts:394 [log] > [mp4-remuxer]: ISGenerated flag reset
transmuxer-interface.ts:394 [log] > [mp4-remuxer]: initPTS & initDTS reset
transmuxer-interface.ts:394 [log] > [mp4-remuxer]: reset next timestamp
transmuxer-interface.ts:394 [log] > manifest codec:mp4a.40.2, ADTS type:2, samplingIndex:4
transmuxer-interface.ts:394 [log] > parsed codec:mp4a.40.5, rate:44100, channels:2
base-stream-controller.ts:1801 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1303 [log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[mp4a.40.2/mp4a.40.2/mp4a.40.5]
stream-controller.ts:1314 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.42001f/avc1.42c01f]
transmuxer-interface.ts:394 [log] > [transmuxer.ts]: Flushed fragment 11 of level 2
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSING->PARSED
VM712:1 D C 36.060588
base-stream-controller.ts:570 [log] > [stream-controller]: Buffered main sn: 11 of level 2 (frag:[33.046-36.061] > buffer:[30.046-36.046])
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:758 [log] > [stream-controller]: Loading fragment 12 cc: 0 of [0-19] level: 2, target: 36.046
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 12 of level 2
base-stream-controller.ts:1801 [log] > [stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:394 [log] > [transmuxer.ts]: Flushed fragment 12 of level 2
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSING->PARSED
VM712:1 D C 39.055962
base-stream-controller.ts:570 [log] > [stream-controller]: Buffered main sn: 12 of level 2 (frag:[36.046-39.056] > buffer:[30.046-39.046])
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:758 [log] > [stream-controller]: Loading fragment 13 cc: 0 of [0-19] level: 2, target: 39.046
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 13 of level 2
base-stream-controller.ts:1801 [log] > [stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:394 [log] > [transmuxer.ts]: Flushed fragment 13 of level 2
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSING->PARSED
VM712:1 D C 42.051336
base-stream-controller.ts:570 [log] > [stream-controller]: Buffered main sn: 13 of level 2 (frag:[39.046-42.051] > buffer:[30.046-42.046])
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:758 [log] > [stream-controller]: Loading fragment 14 cc: 0 of [0-19] level: 2, target: 42.046
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 14 of level 2
base-stream-controller.ts:1801 [log] > [stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:394 [log] > [transmuxer.ts]: Flushed fragment 14 of level 2
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSING->PARSED
VM712:1 D C 45.046711
base-stream-controller.ts:570 [log] > [stream-controller]: Buffered main sn: 14 of level 2 (frag:[42.046-45.047] > buffer:[30.046-45.046])
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:758 [log] > [stream-controller]: Loading fragment 15 cc: 0 of [0-19] level: 2, target: 45.046
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 15 of level 2
base-stream-controller.ts:1801 [log] > [stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:394 [log] > [transmuxer.ts]: Flushed fragment 15 of level 2
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSING->PARSED
VM712:1 D C 48.065305
base-stream-controller.ts:570 [log] > [stream-controller]: Buffered main sn: 15 of level 2 (frag:[45.046-48.065] > buffer:[30.046-48.046])
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:758 [log] > [stream-controller]: Loading fragment 16 cc: 0 of [0-19] level: 2, target: 48.046
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 16 of level 2
base-stream-controller.ts:1801 [log] > [stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:394 [log] > [transmuxer.ts]: Flushed fragment 16 of level 2
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSING->PARSED
VM712:1 D C 51.060679
base-stream-controller.ts:570 [log] > [stream-controller]: Buffered main sn: 16 of level 2 (frag:[48.046-51.061] > buffer:[30.046-51.046])
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:758 [log] > [stream-controller]: Loading fragment 17 cc: 0 of [0-19] level: 2, target: 51.046
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 17 of level 2
base-stream-controller.ts:1801 [log] > [stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:394 [log] > [transmuxer.ts]: Flushed fragment 17 of level 2
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSING->PARSED
VM712:1 D C 54.056053
base-stream-controller.ts:570 [log] > [stream-controller]: Buffered main sn: 17 of level 2 (frag:[51.046-54.056] > buffer:[30.046-54.046])
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:758 [log] > [stream-controller]: Loading fragment 18 cc: 0 of [0-19] level: 2, target: 54.046
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 18 of level 2
base-stream-controller.ts:1801 [log] > [stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:394 [log] > [transmuxer.ts]: Flushed fragment 18 of level 2
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSING->PARSED
VM712:1 D C 57.051427
base-stream-controller.ts:570 [log] > [stream-controller]: Buffered main sn: 18 of level 2 (frag:[54.046-57.051] > buffer:[30.046-57.046])
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:758 [log] > [stream-controller]: Loading fragment 19 cc: 0 of [0-19] level: 2, target: 57.046
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 19 of level 2
base-stream-controller.ts:1801 [log] > [stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:394 [log] > [transmuxer.ts]: Flushed fragment 19 of level 2
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSING->PARSED
VM712:1 D C 59.141223
base-stream-controller.ts:570 [log] > [stream-controller]: Buffered main sn: 19 of level 2 (frag:[57.046-59.141] > buffer:[30.046-59.126])
base-stream-controller.ts:1801 [log] > [stream-controller]: PARSED->IDLE
buffer-controller.ts:638 [log] > [buffer-controller] audio sourceBuffer now EOS
buffer-controller.ts:638 [log] > [buffer-controller] video sourceBuffer now EOS
buffer-controller.ts:645 [log] > [buffer-controller] Queueing mediaSource.endOfStream()
base-stream-controller.ts:1801 [log] > [stream-controller]: IDLE->ENDED
buffer-controller.ts:662 [log] > [buffer-controller] Calling mediaSource.endOfStream()
buffer-controller.ts:1016 [log] > [buffer-controller] Media source ended

Chrome media internals output

No response

@kwalasik07 kwalasik07 added Bug Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. labels Nov 14, 2024
@robwalch robwalch added Confirmed Verify Fixed An unreleased bug fix has been merged and should be verified before closing. and removed Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. labels Nov 29, 2024
@robwalch
Copy link
Collaborator

Hi @kwalasik07,

Are you able to reproduce this in v1.6.0-beta.1 (or dev https://hlsjs-dev.video-dev.org/demo/)?

I reproduced it in v1.5.x. It happens when mediaSource.endOfStream() is called out of sequence, when setting nextLevel while buffered to the end.

this.log(`Calling mediaSource.endOfStream()`);
// Allow this to throw and be caught by the enqueueing function
mediaSource.endOfStream();

It appears to be fixed in dev.

@robwalch robwalch added this to the 1.6.0 milestone Nov 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Confirmed Verify Fixed An unreleased bug fix has been merged and should be verified before closing.
Projects
None yet
Development

No branches or pull requests

2 participants