Skip to content

Sometimes player loads too many chunks when seeking (with progressive = true) #7327

Closed
@AlexanderSlesarenko

Description

@AlexanderSlesarenko

What version of Hls.js are you using?

1.6.5

What browser (including version) are you using?

Chrome 137.0.7151.69 (Official Build) (arm64)

What OS (including version) are you using?

macos 15.2

Test stream

https://hlsjs-dev.video-dev.org/demo/?src=https%3A%2F%2Ftest-streams.mux.dev%2Fx36xhzz%2Furl_2%2F193039199_mp4_h264_aac_ld_7.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ==

Configuration

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

Additional player setup steps

No response

Checklist

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

Steps to reproduce

Set "progressive": true.

Press 'play'.

First i seeked to 169, then quickly - to 471. And after that chunks irrelevant to 471 time began loading 16, 17 ... and many more. They are far from 471 time.

Expected behaviour

When seeked player should load relevant chunk near to seeked time.

What actually happened?

Player loads irrelevant chunks when seeked.

Console output

timeline-chart.ts:98 [Violation] Added non-passive event listener to a scroll-blocking 'wheel' event. Consider marking event handler as 'passive' to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952
TimelineChart @ timeline-chart.ts:98
setupTimelineChart @ main.js:1586
(anonymous) @ main.js:97
j @ jquery.min.js:2
fireWith @ jquery.min.js:2
ready @ jquery.min.js:2
I @ jquery.min.js:2
main.js:350 Using Hls.js config: {debug: true, enableWorker: true, lowLatencyMode: true, backBufferLength: 90, progressive: true}
logger.ts:102 [log] > Debug logs enabled for "Hls instance" in hls.js version 1.6.6-0.canary.11302
config.ts:745 [log] > [config]: Progressive streaming enabled, using FetchLoader
hls.ts:579 [log] > stopLoad
hls.ts:513 [log] > loadSource:https://test-streams.mux.dev/x36xhzz/url_2/193039199_mp4_h264_aac_ld_7.m3u8
stream-controller.ts:611 [log] > [stream-controller]: Trigger BUFFER_RESET
hls.ts:466 [log] > attachMedia
buffer-controller.ts:320 [log] > [buffer-controller]: created media source: MediaSource
buffer-controller.ts:1513 [log] > [buffer-controller]: Media source opened
buffer-controller.ts:1342 [log] > [buffer-controller]: checkPendingTracks (pending: 0 codec events expected: 0) {}
level-controller.ts:370 [log] > [level-controller]: manifest loaded, 1 level(s) found, first bitrate: 0
buffer-controller.ts:266 [log] > [buffer-controller]: 1 bufferCodec event(s) expected.
playlist-loader.ts:405 [log] > auto startLoad with configured startPosition -1
hls.ts:556 [log] > startLoad(-1)
level-controller.ts:468 [log] > [level-controller]: Switching to level 0 (SDR @0) from level -1
base-stream-controller.ts:2116 [log] > [stream-controller]: STOPPED->IDLE
base-stream-controller.ts:2116 [log] > [subtitle-stream-controller]: STOPPED->IDLE
stream-controller.ts:671 [log] > [stream-controller]: Level 0 loaded [0,63][part-63--1], cc [0, 0] duration:634.634
base-stream-controller.ts:1748 [log] > [stream-controller]: setting startPosition to 0 by default
interstitials-controller.ts:1056 [log] > [interstitials]: setSchedulePosition 0, undefined
interstitials-controller.ts:1889 [log] > [interstitials]: INTERSTITIALS_BUFFERED_TO_BOUNDARY [primary: 0.00-634.63]
interstitials-controller.ts:1303 [log] > [interstitials]: resuming [primary: 0.00-634.63]
buffer-controller.ts:1319 [log] > [buffer-controller]: Updating MediaSource duration to 634.634
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 0 of level 0 (frag:[0.000-10.000]) cc: 0 [0-63], target: 0
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:88 [log] > injecting Web Worker for "main"
transmuxer-interface.ts:238 [log] > [transmuxer-interface]: Starting new transmux session for main sn: 0 level: 0 id: 1
        discontinuity: true
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: true
        timeOffset: 0
        initSegmentChange: true
f6c1051f-9255-473f-a1f0-676db32763a0:1168 [log] > Debug logs enabled for "main" in hls.js version 1.6.6-0.canary.11302
transmuxer-interface.ts:396 [log] > [mp4-remuxer]: ISGenerated flag reset
transmuxer-interface.ts:396 [log] > [mp4-remuxer]: initPTS & initDTS reset
transmuxer-interface.ts:396 [log] > [mp4-remuxer]: reset next timestamp
f6c1051f-9255-473f-a1f0-676db32763a0:10829 [log] > manifest codec:undefined, parsed codec:mp4a.40.2, channels:2, rate:22050 (ADTS object type:2 sampling index:7)
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1466 [log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[mp4a.40.2//mp4a.40.2]
stream-controller.ts:1495 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[/avc1.42c00d]
buffer-controller.ts:590 [log] > [buffer-controller]: BUFFER_CODECS: "audio,video" (current SB count 0)
buffer-controller.ts:1342 [log] > [buffer-controller]: checkPendingTracks (pending: 2 codec events expected: 1) {"audio":{"listeners":[],"codec":"mp4a.40.2","container":"audio/mp4","levelCodec":"mp4a.40.2","metadata":{"channelCount":2},"id":"main"},"video":{"listeners":[],"codec":"avc1.42c00d","container":"video/mp4","metadata":{"width":320,"height":184},"id":"main"}}
buffer-controller.ts:1411 [log] > [buffer-controller]: creating sourceBuffer(audio/mp4;codecs=mp4a.40.2) {"listeners":[],"codec":"mp4a.40.2","container":"audio/mp4","levelCodec":"mp4a.40.2","metadata":{"channelCount":2},"id":"main"}
buffer-controller.ts:1411 [log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.42c00d) {"listeners":[],"codec":"avc1.42c00d","container":"video/mp4","metadata":{"width":320,"height":184},"id":"main"}
buffer-controller.ts:1380 [log] > [buffer-controller]: SourceBuffers created. Running queue: 
video: (SourceBuffer) 
audio: (SourceBuffer) 
audiovideo: (none) }
timeline-chart.ts:754 Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true. See: https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently
drawLineX @ timeline-chart.ts:754
drawCurrentTime @ timeline-chart.ts:728
afterRender @ timeline-chart.ts:73
notify @ Chart.js:8032
onComplete @ Chart.js:9785
render @ Chart.js:9811
update @ Chart.js:9681
update @ timeline-chart.ts:252
updateChart @ main.js:1623
emit @ index.js:203
emit @ hls.ts:386
trigger @ hls.ts:394
(anonymous) @ stream-controller.ts:1523
_bufferInitSegment @ stream-controller.ts:1519
_handleTransmuxComplete @ stream-controller.ts:1236
handleTransmuxComplete @ transmuxer-interface.ts:447
TransmuxerInterface.onWorkerMessage @ transmuxer-interface.ts:384
audio-stream-controller.ts:153 [log] > [audio-stream-controller]: InitPTS for cc: 0 found from main: 900000/90000
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 0 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 0 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 0 of level 0 (frag:[0.000-10.031])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 0 of level 0 (frag:[0.000-10.031] > buffer:[0.000-10.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 1 of level 0 (frag:[10.000-20.000]) cc: 0 [0-63], target: 10
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 1 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 1 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 1 of level 0 (frag:[10.000-20.016])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 1 of level 0 (frag:[10.000-20.016] > buffer:[0.000-20.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 2 of level 0 (frag:[20.000-30.000]) cc: 0 [0-63], target: 20
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
favicon.ico:1 
            
            
           GET https://hlsjs-dev.video-dev.org/favicon.ico 404 (Not Found)
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 2 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 2 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 2 of level 0 (frag:[20.000-30.000])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 2 of level 0 (frag:[20.000-30.000] > buffer:[0.000-30.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 3 of level 0 (frag:[30.000-40.000]) cc: 0 [0-63], target: 30
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:348 [log] > [stream-controller]: media seeking to 169.734, state: PARSING
base-stream-controller.ts:372 [log] > [stream-controller]: seeking outside of buffer while fragment load in progress, cancel fragment load
base-stream-controller.ts:1942 [log] > [stream-controller]: Reset loading state
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->IDLE
base-stream-controller.ts:1776 [warn] > [stream-controller]: Fragment 3 of level 0 was aborted
handleFragLoadAborted @ base-stream-controller.ts:1776
handleFragLoadError @ base-stream-controller.ts:1009
(anonymous) @ base-stream-controller.ts:957
Promise.catch
_doFragLoad @ base-stream-controller.ts:957
_loadFragForPlayback @ base-stream-controller.ts:505
loadFragment @ base-stream-controller.ts:480
loadFragment @ stream-controller.ts:409
doTickIdle @ stream-controller.ts:387
doTick @ stream-controller.ts:234
tick @ task-loop.ts:109
onFragBuffered @ stream-controller.ts:1016
emit @ index.js:203
emit @ hls.ts:386
trigger @ hls.ts:394
onUnblocked @ buffer-controller.ts:1003
(anonymous) @ buffer-controller.ts:1703
Promise.then
blockBuffers @ buffer-controller.ts:1698
onFragParsed @ buffer-controller.ts:1017
emit @ index.js:203
emit @ hls.ts:386
trigger @ hls.ts:394
updateLevelTiming @ base-stream-controller.ts:2068
_handleTransmuxerFlush @ base-stream-controller.ts:1056
TransmuxerInterface.onWorkerMessage @ transmuxer-interface.ts:389
base-stream-controller.ts:348 [log] > [audio-stream-controller]: media seeking to 169.734, state: STOPPED
base-stream-controller.ts:348 [log] > [subtitle-stream-controller]: media seeking to 169.734, state: IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 16 of level 0 (frag:[160.000-170.000]) cc: 0 [0-63], target: 169.734
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:348 [log] > [stream-controller]: media seeking to 169.957, state: FRAG_LOADING
base-stream-controller.ts:348 [log] > [audio-stream-controller]: media seeking to 169.957, state: STOPPED
base-stream-controller.ts:348 [log] > [subtitle-stream-controller]: media seeking to 169.957, state: IDLE
base-stream-controller.ts:348 [log] > [stream-controller]: media seeking to 170.404, state: FRAG_LOADING
base-stream-controller.ts:372 [log] > [stream-controller]: seeking outside of buffer while fragment load in progress, cancel fragment load
base-stream-controller.ts:1942 [log] > [stream-controller]: Reset loading state
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:1776 [warn] > [stream-controller]: Fragment 16 of level 0 was aborted
handleFragLoadAborted @ base-stream-controller.ts:1776
handleFragLoadError @ base-stream-controller.ts:1009
(anonymous) @ base-stream-controller.ts:957
Promise.catch
_doFragLoad @ base-stream-controller.ts:957
_loadFragForPlayback @ base-stream-controller.ts:505
loadFragment @ base-stream-controller.ts:480
loadFragment @ stream-controller.ts:409
doTickIdle @ stream-controller.ts:387
doTick @ stream-controller.ts:234
tick @ task-loop.ts:109
setInterval
setInterval @ task-loop.ts:71
startLoad @ stream-controller.ts:145
startLoad @ hls.ts:565
checkAutostartLoad @ playlist-loader.ts:408
emit @ index.js:203
emit @ hls.ts:386
trigger @ hls.ts:394
handleTrackOrLevelPlaylist @ playlist-loader.ts:543
onSuccess @ playlist-loader.ts:360
(anonymous) @ fetch-loader.ts:195
Promise.then
load @ fetch-loader.ts:169
load @ playlist-loader.ts:393
onManifestLoading @ playlist-loader.ts:158
emit @ index.js:203
emit @ hls.ts:386
trigger @ hls.ts:394
loadSource @ hls.ts:524
loadSelectedStream @ main.js:383
(anonymous) @ main.js:225
j @ jquery.min.js:2
fireWith @ jquery.min.js:2
ready @ jquery.min.js:2
I @ jquery.min.js:2
base-stream-controller.ts:348 [log] > [audio-stream-controller]: media seeking to 170.404, state: STOPPED
base-stream-controller.ts:348 [log] > [subtitle-stream-controller]: media seeking to 170.404, state: IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 17 of level 0 (frag:[170.000-180.000]) cc: 0 [0-63], target: 170.404
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:238 [log] > [transmuxer-interface]: Starting new transmux session for main sn: 17 level: 0 id: 1
        discontinuity: false
        trackSwitch: false
        contiguous: false
        accurateTimeOffset: true
        timeOffset: 170.00001111111112
        initSegmentChange: false
transmuxer-interface.ts:396 [log] > [mp4-remuxer]: reset next timestamp
transmuxer-interface.ts:396 [warn] > [mp4-remuxer]: Dropped 1 out of 119 video samples due to a missing keyframe
TransmuxerInterface.onWorkerMessage @ transmuxer-interface.ts:396
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
f6c1051f-9255-473f-a1f0-676db32763a0:1168 [log] > Debug logs enabled for "main" in hls.js version 1.6.6-0.canary.11302
buffer-controller.ts:941 [log] > [buffer-controller]: queuing "video" remove 0-170.00001111111112
buffer-controller.ts:1622 [log] > [buffer-controller]: Removing [0,170.00001111111112] from the video SourceBuffer
buffer-controller.ts:941 [log] > [buffer-controller]: queuing "audio" remove 0-170.00001111111112
buffer-controller.ts:1622 [log] > [buffer-controller]: Removing [0,170.00001111111112] from the audio SourceBuffer
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 16 of level 0 (frag:[160.000-170.000]) cc: 0 [0-63], target: 170
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:1776 [warn] > [stream-controller]: Fragment 17 of level 0 was aborted
handleFragLoadAborted @ base-stream-controller.ts:1776
handleFragLoadError @ base-stream-controller.ts:1009
(anonymous) @ base-stream-controller.ts:957
Promise.catch
_doFragLoad @ base-stream-controller.ts:957
_loadFragForPlayback @ base-stream-controller.ts:505
loadFragment @ base-stream-controller.ts:480
loadFragment @ stream-controller.ts:409
doTickIdle @ stream-controller.ts:387
doTick @ stream-controller.ts:234
tick @ task-loop.ts:109
setTimeout
tickImmediate @ task-loop.ts:122
BaseStreamController._this.onMediaSeeking @ base-stream-controller.ts:424
base-stream-controller.ts:348 [log] > [stream-controller]: media seeking to 471.946, state: FRAG_LOADING
base-stream-controller.ts:372 [log] > [stream-controller]: seeking outside of buffer while fragment load in progress, cancel fragment load
base-stream-controller.ts:1942 [log] > [stream-controller]: Reset loading state
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:1776 [warn] > [stream-controller]: Fragment 16 of level 0 was aborted
handleFragLoadAborted @ base-stream-controller.ts:1776
handleFragLoadError @ base-stream-controller.ts:1009
(anonymous) @ base-stream-controller.ts:957
Promise.catch
_doFragLoad @ base-stream-controller.ts:957
_loadFragForPlayback @ base-stream-controller.ts:505
loadFragment @ base-stream-controller.ts:480
loadFragment @ stream-controller.ts:409
doTickIdle @ stream-controller.ts:387
doTick @ stream-controller.ts:234
tick @ task-loop.ts:109
onBufferFlushed @ stream-controller.ts:1096
emit @ index.js:203
emit @ hls.ts:386
trigger @ hls.ts:394
onComplete @ buffer-controller.ts:952
onSBUpdateEnd @ buffer-controller.ts:1571
base-stream-controller.ts:348 [log] > [audio-stream-controller]: media seeking to 471.946, state: STOPPED
base-stream-controller.ts:348 [log] > [subtitle-stream-controller]: media seeking to 471.946, state: IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 16 of level 0 (frag:[160.000-170.000]) cc: 0 [0-63], target: 170
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:348 [log] > [stream-controller]: media seeking to 472.169, state: FRAG_LOADING
base-stream-controller.ts:372 [log] > [stream-controller]: seeking outside of buffer while fragment load in progress, cancel fragment load
base-stream-controller.ts:1942 [log] > [stream-controller]: Reset loading state
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:1776 [warn] > [stream-controller]: Fragment 16 of level 0 was aborted
handleFragLoadAborted @ base-stream-controller.ts:1776
handleFragLoadError @ base-stream-controller.ts:1009
(anonymous) @ base-stream-controller.ts:957
Promise.catch
_doFragLoad @ base-stream-controller.ts:957
_loadFragForPlayback @ base-stream-controller.ts:505
loadFragment @ base-stream-controller.ts:480
loadFragment @ stream-controller.ts:409
doTickIdle @ stream-controller.ts:387
doTick @ stream-controller.ts:234
tick @ task-loop.ts:109
setInterval
setInterval @ task-loop.ts:71
startLoad @ stream-controller.ts:145
startLoad @ hls.ts:565
checkAutostartLoad @ playlist-loader.ts:408
emit @ index.js:203
emit @ hls.ts:386
trigger @ hls.ts:394
handleTrackOrLevelPlaylist @ playlist-loader.ts:543
onSuccess @ playlist-loader.ts:360
(anonymous) @ fetch-loader.ts:195
Promise.then
load @ fetch-loader.ts:169
load @ playlist-loader.ts:393
onManifestLoading @ playlist-loader.ts:158
emit @ index.js:203
emit @ hls.ts:386
trigger @ hls.ts:394
loadSource @ hls.ts:524
loadSelectedStream @ main.js:383
(anonymous) @ main.js:225
j @ jquery.min.js:2
fireWith @ jquery.min.js:2
ready @ jquery.min.js:2
I @ jquery.min.js:2
base-stream-controller.ts:348 [log] > [audio-stream-controller]: media seeking to 472.169, state: STOPPED
base-stream-controller.ts:348 [log] > [subtitle-stream-controller]: media seeking to 472.169, state: IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 16 of level 0 (frag:[160.000-170.000]) cc: 0 [0-63], target: 170
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:238 [log] > [transmuxer-interface]: Starting new transmux session for main sn: 16 level: 0 id: 1
        discontinuity: true
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: true
        timeOffset: 160.00001111111112
        initSegmentChange: true
transmuxer-interface.ts:396 [log] > [mp4-remuxer]: ISGenerated flag reset
transmuxer-interface.ts:396 [log] > [mp4-remuxer]: initPTS & initDTS reset
transmuxer-interface.ts:396 [log] > [mp4-remuxer]: reset next timestamp
f6c1051f-9255-473f-a1f0-676db32763a0:10829 [log] > manifest codec:undefined, parsed codec:mp4a.40.2, channels:2, rate:22050 (ADTS object type:2 sampling index:7)
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1466 [log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[mp4a.40.2//mp4a.40.2]
stream-controller.ts:1495 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[/avc1.42c00d]
buffer-controller.ts:590 [log] > [buffer-controller]: BUFFER_CODECS: "audio,video" (current SB count 2)
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 16 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 16 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 16 of level 0 (frag:[160.000-170.017])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 16 of level 0 (frag:[160.000-170.017] > buffer:[160.032-170.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 17 of level 0 (frag:[170.000-180.000]) cc: 0 [0-63], target: 170
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 17 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 17 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 17 of level 0 (frag:[170.000-180.001])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 17 of level 0 (frag:[170.000-180.001] > buffer:[160.032-180.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 18 of level 0 (frag:[180.000-190.000]) cc: 0 [0-63], target: 180
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 18 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 18 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 18 of level 0 (frag:[180.000-190.032])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 18 of level 0 (frag:[180.000-190.032] > buffer:[160.032-190.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 19 of level 0 (frag:[190.000-200.000]) cc: 0 [0-63], target: 190
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 19 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 19 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 19 of level 0 (frag:[190.000-200.017])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 19 of level 0 (frag:[190.000-200.017] > buffer:[160.032-200.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 20 of level 0 (frag:[200.000-210.000]) cc: 0 [0-63], target: 200
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 20 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 20 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 20 of level 0 (frag:[200.000-210.001])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 20 of level 0 (frag:[200.000-210.001] > buffer:[160.032-210.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 21 of level 0 (frag:[210.000-220.000]) cc: 0 [0-63], target: 210
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 21 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 21 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 21 of level 0 (frag:[210.000-220.032])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 21 of level 0 (frag:[210.000-220.032] > buffer:[160.032-220.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 22 of level 0 (frag:[220.000-230.000]) cc: 0 [0-63], target: 220
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 22 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 22 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 22 of level 0 (frag:[220.000-230.017])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 22 of level 0 (frag:[220.000-230.017] > buffer:[160.032-230.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 23 of level 0 (frag:[230.000-240.000]) cc: 0 [0-63], target: 230
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 23 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 23 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 23 of level 0 (frag:[230.000-240.001])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 23 of level 0 (frag:[230.000-240.001] > buffer:[160.032-240.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 24 of level 0 (frag:[240.000-250.000]) cc: 0 [0-63], target: 240
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 24 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 24 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 24 of level 0 (frag:[240.000-250.032])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 24 of level 0 (frag:[240.000-250.032] > buffer:[160.032-250.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 25 of level 0 (frag:[250.000-260.000]) cc: 0 [0-63], target: 250
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 25 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 25 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 25 of level 0 (frag:[250.000-260.017])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 25 of level 0 (frag:[250.000-260.017] > buffer:[160.032-260.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 26 of level 0 (frag:[260.000-270.000]) cc: 0 [0-63], target: 260
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 26 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 26 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 26 of level 0 (frag:[260.000-270.002])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 26 of level 0 (frag:[260.000-270.002] > buffer:[160.032-270.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 27 of level 0 (frag:[270.000-280.000]) cc: 0 [0-63], target: 270
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 27 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 27 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 27 of level 0 (frag:[270.000-280.033])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 27 of level 0 (frag:[270.000-280.033] > buffer:[160.032-280.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 28 of level 0 (frag:[280.000-290.000]) cc: 0 [0-63], target: 280
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 28 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 28 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 28 of level 0 (frag:[280.000-290.017])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 28 of level 0 (frag:[280.000-290.017] > buffer:[160.032-290.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 29 of level 0 (frag:[290.000-300.000]) cc: 0 [0-63], target: 290
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 29 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 29 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 29 of level 0 (frag:[290.000-300.002])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 29 of level 0 (frag:[290.000-300.002] > buffer:[160.032-300.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 30 of level 0 (frag:[300.000-310.000]) cc: 0 [0-63], target: 300
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 30 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 30 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 30 of level 0 (frag:[300.000-310.033])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 30 of level 0 (frag:[300.000-310.033] > buffer:[160.032-310.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 31 of level 0 (frag:[310.000-320.000]) cc: 0 [0-63], target: 310
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 31 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 31 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 31 of level 0 (frag:[310.000-320.017])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 31 of level 0 (frag:[310.000-320.017] > buffer:[160.032-320.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 32 of level 0 (frag:[320.000-330.000]) cc: 0 [0-63], target: 320
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 32 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 32 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 32 of level 0 (frag:[320.000-330.002])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 32 of level 0 (frag:[320.000-330.002] > buffer:[160.032-330.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 33 of level 0 (frag:[330.000-340.000]) cc: 0 [0-63], target: 330
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 33 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 33 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 33 of level 0 (frag:[330.000-340.033])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 33 of level 0 (frag:[330.000-340.033] > buffer:[160.032-340.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 34 of level 0 (frag:[340.000-350.000]) cc: 0 [0-63], target: 340
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 34 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 34 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 34 of level 0 (frag:[340.000-350.018])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 34 of level 0 (frag:[340.000-350.018] > buffer:[160.032-350.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 35 of level 0 (frag:[350.000-360.000]) cc: 0 [0-63], target: 350
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 35 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 35 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 35 of level 0 (frag:[350.000-360.002])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 35 of level 0 (frag:[350.000-360.002] > buffer:[160.032-360.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 36 of level 0 (frag:[360.000-370.000]) cc: 0 [0-63], target: 360
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 36 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 36 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 36 of level 0 (frag:[360.000-370.033])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 36 of level 0 (frag:[360.000-370.033] > buffer:[160.032-370.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 37 of level 0 (frag:[370.000-380.000]) cc: 0 [0-63], target: 370
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 37 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 37 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 37 of level 0 (frag:[370.000-380.018])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 37 of level 0 (frag:[370.000-380.018] > buffer:[160.032-380.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 38 of level 0 (frag:[380.000-390.000]) cc: 0 [0-63], target: 380
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 38 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 38 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 38 of level 0 (frag:[380.000-390.002])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 38 of level 0 (frag:[380.000-390.002] > buffer:[160.032-390.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 39 of level 0 (frag:[390.000-400.000]) cc: 0 [0-63], target: 390
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 39 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 39 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 39 of level 0 (frag:[390.000-400.033])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 39 of level 0 (frag:[390.000-400.033] > buffer:[160.032-400.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 40 of level 0 (frag:[400.000-410.000]) cc: 0 [0-63], target: 400
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 40 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 40 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 40 of level 0 (frag:[400.000-410.018])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 40 of level 0 (frag:[400.000-410.018] > buffer:[160.032-410.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 41 of level 0 (frag:[410.000-420.000]) cc: 0 [0-63], target: 410
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 41 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 41 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 41 of level 0 (frag:[410.000-420.003])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 41 of level 0 (frag:[410.000-420.003] > buffer:[160.032-420.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 42 of level 0 (frag:[420.000-430.000]) cc: 0 [0-63], target: 420
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 42 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 42 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 42 of level 0 (frag:[420.000-430.034])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 42 of level 0 (frag:[420.000-430.034] > buffer:[160.032-430.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 43 of level 0 (frag:[430.000-440.000]) cc: 0 [0-63], target: 430
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 43 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 43 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 43 of level 0 (frag:[430.000-440.018])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 43 of level 0 (frag:[430.000-440.018] > buffer:[160.032-440.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 44 of level 0 (frag:[440.000-450.000]) cc: 0 [0-63], target: 440
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 44 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 44 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 44 of level 0 (frag:[440.000-450.003])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 44 of level 0 (frag:[440.000-450.003] > buffer:[160.032-450.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 45 of level 0 (frag:[450.000-460.000]) cc: 0 [0-63], target: 450
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 45 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 45 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 45 of level 0 (frag:[450.000-460.034])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 45 of level 0 (frag:[450.000-460.034] > buffer:[160.032-460.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 46 of level 0 (frag:[460.000-470.000]) cc: 0 [0-63], target: 460
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 46 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 46 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 46 of level 0 (frag:[460.000-470.018])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 46 of level 0 (frag:[460.000-470.018] > buffer:[160.032-470.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 47 of level 0 (frag:[470.000-480.000]) cc: 0 [0-63], target: 470
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:583 [log] > [stream-controller]: Media seeked to 472.176
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 47 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 47 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 47 of level 0 (frag:[470.000-480.003])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 47 of level 0 (frag:[470.000-480.003] > buffer:[160.032-480.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 48 of level 0 (frag:[480.000-490.000]) cc: 0 [0-63], target: 480
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
buffer-controller.ts:941 [log] > [buffer-controller]: queuing "video" remove 0-376.05934375000004
buffer-controller.ts:941 [log] > [buffer-controller]: queuing "audio" remove 0-376.05934375000004
buffer-controller.ts:1622 [log] > [buffer-controller]: Removing [0,376.05934375000004] from the video SourceBuffer
buffer-controller.ts:1622 [log] > [buffer-controller]: Removing [0,376.05934375000004] from the audio SourceBuffer
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 48 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 48 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 48 of level 0 (frag:[480.000-490.034])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 48 of level 0 (frag:[480.000-490.034] > buffer:[377.167-490.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 49 of level 0 (frag:[490.000-500.000]) cc: 0 [0-63], target: 490
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 49 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 49 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 49 of level 0 (frag:[490.000-500.018])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 49 of level 0 (frag:[490.000-500.018] > buffer:[377.167-500.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:918 [log] > [stream-controller]: Loading main sn: 50 of level 0 (frag:[500.000-510.000]) cc: 0 [0-63], target: 500
base-stream-controller.ts:2116 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2116 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:525 [log] > [stream-controller]: Loaded main sn: 50 of level 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 50 of level 0
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2063 [log] > [stream-controller]: Parsed main sn: 50 of level 0 (frag:[500.000-510.003])
base-stream-controller.ts:721 [log] > [stream-controller]: Buffered main sn: 50 of level 0 (frag:[500.000-510.003] > buffer:[377.167-510.000])
base-stream-controller.ts:2116 [log] > [stream-controller]: PARSED->IDLE

Chrome media internals output

Activity

added
Needs TriageIf there is a suspected stream issue, apply this label to triage if it is something we should fix.
on Jun 17, 2025
added and removed
Needs TriageIf there is a suspected stream issue, apply this label to triage if it is something we should fix.
on Jun 17, 2025
robwalch

robwalch commented on Jun 17, 2025

@robwalch
Collaborator

I can't reproduce the issue. Please provide a minimal reproduction page with the setup and seek commands that reproduce the issue.

You might also want to verify that your media element's currentTime is advancing when seeking as is expected. It is unclear why the target load position remains at 170 after seeking. That is not happening on my end.

AlexanderSlesarenko

AlexanderSlesarenko commented on Jun 18, 2025

@AlexanderSlesarenko
Author

Please provide a minimal reproduction page with the setup and seek commands that reproduce the issue.

link under 'Test stream' title above. Set "progressive": true. Play video. Then seek to one place and quickly - to another.
You can see from my logs that after last seek player is loading irrelevant chunks.
This does not happen every time.
Try several times.
Maybe set some network throttling (my network is not very good).
I definitely can reproduce it on you demo page. So it is reproducable.

added
missing-keyframeStream has non-independent segments (no key-frames) or missing key-frame at start
on Jun 18, 2025
robwalch

robwalch commented on Jun 19, 2025

@robwalch
Collaborator

I cannot reproduce the issue with the given steps even when throttling the network. I suggest disabling "progressive" mode. It has always been labeled "experimental" in the docs.

This issue could only occur when media.currentTime is not used to determine what to load following a seek:

protected getLoadPosition(): number {
const { media } = this;
// if we have not yet loaded any fragment, start loading from start position
let pos = 0;
if (this.hls?.hasEnoughToStart && media) {
pos = media.currentTime;
} else if (this.nextLoadPosition >= 0) {
pos = this.nextLoadPosition;
}
return pos;

It is unclear how this could happen. Once media is appended hls.hasEnoughToStart should be true. This is the only explanation for why "target" is 170 then 180 and so on:

[stream-controller]: Loading main sn: 17 of level 0 (frag:[170.000-180.000]) cc: 0 [0-63], target: 170

The next steps would be to either:

  1. Figure out how it was reset (this depends on your debugging the issue because I cannot repro it)
  2. Or, see if setting nextLoadPosition in onMediaSeeking would resolve the issue

For number 2, that would just require a change here:

// in case seeking occurs although no media buffered, adjust startPosition and nextLoadPosition to seek target
if (!this.hls.hasEnoughToStart && !bufferInfo.len) {
this.log(
`setting startPosition to ${currentTime} because of seek before start`,
);
this.nextLoadPosition = this.startPosition = currentTime;
}

to something like:

    if (!this.hls.hasEnoughToStart) {
      this.nextLoadPosition = currentTime;
      if (!bufferInfo.len) {
        this.log(
          `setting startPosition to ${currentTime} because of seek before start`,
        );
        this.startPosition = currentTime;
      }
    }
removed
missing-keyframeStream has non-independent segments (no key-frames) or missing key-frame at start
on Jun 19, 2025
added a commit that references this issue on Jun 23, 2025
cd65ce3
added this to the 1.6.6 milestone on Jun 28, 2025
added a commit that references this issue on Jun 28, 2025
4e4b590
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

      Participants

      @robwalch@AlexanderSlesarenko

      Issue actions

        Sometimes player loads too many chunks when seeking (with progressive = true) · Issue #7327 · video-dev/hls.js