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

Hls.js going after old ts segments after Stop/Resume. #6854

Closed
5 tasks done
LalitAgrawala004 opened this issue Nov 18, 2024 · 11 comments · Fixed by #6855
Closed
5 tasks done

Hls.js going after old ts segments after Stop/Resume. #6854

LalitAgrawala004 opened this issue Nov 18, 2024 · 11 comments · Fixed by #6855
Labels
Confirmed Enhancement Stream Issue Suggested-Workaround Verify Fixed An unreleased bug fix has been merged and should be verified before closing.
Milestone

Comments

@LalitAgrawala004
Copy link

What version of Hls.js are you using?

1.5.7

What browser (including version) are you using?

Chrome Version 131.0.6778.70

What OS (including version) are you using?

Windows 11

Test stream

No response

Configuration

{
   autoStartLoad: false,
   enableLazyURLResolve: true,
   fragLoadPolicy: {
  	default: {
  		maxTimeToFirstByteMs: 10000,
  		maxLoadTimeMs: 10000,
  		timeoutRetry: {
  			maxNumRetry: 4,
  			retryDelayMs: 250,
  			maxRetryDelayMs: 0
  		},
  		errorRetry: {
  			maxNumRetry: 11,
  			retryDelayMs: 250,
  			maxRetryDelayMs: 8000
  		}
  	}
  },
    playlistLoadPolicy: {
  	default: {
  		maxTimeToFirstByteMs: 10000,
  		maxLoadTimeMs: 20000,
  		timeoutRetry: {
  			maxNumRetry: 3,
  			retryDelayMs: 0,
  			maxRetryDelayMs: 0
  		},
  		errorRetry: {
  			maxNumRetry: 3,
  			retryDelayMs: 1500,
  			maxRetryDelayMs: 8000
  		}
  	}
  },
  liveMaxLatencyDurationCount: 6,
  liveSyncDurationCount: 4,
  maxFragLookUpTolerance: 0.5,
  maxMaxBufferLength: 60,
  seekHoleNudgeDuration: 0.5,
  startFragPrefech: false,
  stretchShortVideoTrack: true
}

Additional player setup steps

No response

Checklist

Steps to reproduce

  1. we have stop/resume feature in our hls.js player for Live Playback.

  2. When the user stops the playback, we call stopLoad() and detachMedia(). On resume, we call startLoad() followed by attachMedia().

  3. The issue I’m encountering is that after resuming, hls.js sends a level playlist request, but it gets canceled, and the player starts requesting old .ts segments instead.

  4. I've attached a screenshot with color-coded blocks:

    • Green block: Requests made before stopping playback. The last segment fetched was 3.ts.
    • Dark red block: Playlist request sent after resuming, which gets canceled.
    • Blue block: Requests for old .ts segments following the canceled playlist request.

multicast-hls-call

  1. we have clean up process in our multicast playback which removes old ts segments. That's why you will see 404s for the old after user resumes the playback.

  2. we do have higher frag retry count and once retry exhausts, we try to recover one more time by calling stopLoad and startLoad. At this time, Hls.js gets the refreshed playlist and start fetching new segments but It never plays the Video.

  3. In our other playback modality like Play from a cache serve, we don't cleanup old ts segments that often. So, Hls.js requests one or two old ts segments and it gets 200 response but by that time it gets a refreshed Level playlist and all plays fine.

Expected behaviour

If TS segments have already been loaded and the stopLoad() method is called, then upon calling startLoad() again, hls.js should not request the previously fetched TS segments, as they were already successfully retrieved.

What actually happened?

After calling stopLoad() followed by startLoad(), Hls.js requests old TS segments. When these requests result in 404 errors, it cancels the level playlist call. Once the TS segment retries are exhausted, we attempt to recover playback by calling stopLoad() and startLoad() again. While the player receives the refreshed playlist and begins fetching new segments, it gets stuck and fails to play the stream.

Console output

async-stack-tagging.ts:55 [log] > loadSource:https://localstreaming.vbrick.com:3443/580ce68f-55f3-4d51-aced-a9b761961612.m3u8?reorderpackets=true
16:50:49.276 async-stack-tagging.ts:55 [log] > [stream-controller]: Trigger BUFFER_RESET
16:50:53.963 async-stack-tagging.ts:55 [log] > [level-controller]: manifest loaded, 1 level(s) found, first bitrate: 835584
16:50:53.963 async-stack-tagging.ts:55 [log] > setting initial bwe to 835584
16:50:53.963 async-stack-tagging.ts:55 [log] > [buffer-controller] 1 bufferCodec event(s) expected
16:50:53.964 async-stack-tagging.ts:55 [log] > startLoad(-1)
async-stack-tagging.ts:55 [log] > [level-controller]: Switching to level 0 (SDR @835584) from level -1
16:50:53.965 async-stack-tagging.ts:55 [log] > [level-controller]: Loading level index 0 with https://localstreaming.vbrick.com:3443/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps.m3u8
16:50:53.966 async-stack-tagging.ts:55 [log] > [stream-controller]: STOPPED->IDLE
16:50:53.966 async-stack-tagging.ts:55 [log] > [subtitle-stream-controller]: STOPPED->IDLE
16:50:54.006 async-stack-tagging.ts:55 [log] > [level-controller]: reload live playlist 0 in 9958 ms
16:50:54.007 async-stack-tagging.ts:55 [log] > [stream-controller]: Level 0 loaded [0,0], cc [0, 0] duration:10
16:50:54.007 async-stack-tagging.ts:55 [log] > [stream-controller]: Live playlist sliding: 0.00 start-sn: na->0 prev-sn: na fragments: 1
16:50:54.008 async-stack-tagging.ts:55 [log] > [buffer-controller] Updating Media Source duration to 10.000
16:50:54.009 async-stack-tagging.ts:55 [log] > [stream-controller]: Loading fragment 0 cc: 0 of [0-0] level: 0, target: 0
16:50:54.009 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->FRAG_LOADING
ng_zone.ts:470 [log] > [transmuxer-interface, main]: 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
16:50:54.079 ng_zone.ts:470 [log] > [mp4-remuxer]: ISGenerated flag reset
16:50:54.079 ng_zone.ts:470 [log] > [mp4-remuxer]: initPTS & initDTS reset
16:50:54.080 ng_zone.ts:470 [log] > [mp4-remuxer]: reset next timestamp
16:50:54.083 ng_zone.ts:470 [log] > manifest codec:undefined, ADTS type:2, samplingIndex:3
16:50:54.083 ng_zone.ts:470 [log] > parsed codec:mp4a.40.5, rate:48000, channels:2
16:50:54.099 ng_zone.ts:470 [log] > [stream-controller]: FRAG_LOADING->PARSING
16:50:54.100 ng_zone.ts:470 [log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[//mp4a.40.5]
16:50:54.100 ng_zone.ts:470 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[/avc1.42c01e]
16:50:54.101 ng_zone.ts:470 [log] > [buffer-controller] 0 bufferCodec event(s) expected audio,video
ng_zone.ts:470 [log] > [buffer-controller] creating sourceBuffer(audio/mp4;codecs=mp4a.40.5)
16:50:54.102 ng_zone.ts:470 [log] > [buffer-controller] creating sourceBuffer(video/mp4;codecs=avc1.42c01e)
16:50:54.104 ng_zone.ts:470 [log] > [audio-stream-controller]: InitPTS for cc: 0 found from main: 126000
16:50:54.107 ng_zone.ts:470 [log] > [stream-controller]: Loaded fragment 0 of level 0
16:50:54.107 ng_zone.ts:470 [log] > [transmuxer.ts]: Flushed fragment 0 of level 0
16:50:54.107 ng_zone.ts:470 [log] > [stream-controller]: PARSING->PARSED
16:50:54.198 async-stack-tagging.ts:55 [log] > [stream-controller]: media seeking to 0.027, state: PARSED
16:50:54.201 async-stack-tagging.ts:55 [log] > [audio-stream-controller]: media seeking to 0.027, state: STOPPED
16:50:54.206 async-stack-tagging.ts:55 [log] > [subtitle-stream-controller]: media seeking to 0.027, state: IDLE
async-stack-tagging.ts:55 [log] > [stream-controller]: Media seeked to 0.027
16:50:54.269 async-stack-tagging.ts:55 [warn] > [stream-controller]: Main forward buffer length on "seeked" event 0)
onMediaSeeked @ hls.mjs:26978

16:50:54.327 ng_zone.ts:470 [log] > [stream-controller]: Buffered main sn: 0 of level 0 (frag:[0.000-10.027] > buffer:[0.021-10.021])
16:50:54.327 ng_zone.ts:470 [log] > [stream-controller]: PARSED->IDLE
16:51:03.975 async-stack-tagging.ts:55 [log] > [level-controller]: Loading level index 0 with https://localstreaming.vbrick.com:3443/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps.m3u8
16:51:04.036 async-stack-tagging.ts:55 [log] > [level-controller]: live playlist 0 REFRESHED 1--1
16:51:04.037 async-stack-tagging.ts:55 [log] > [level-controller]: reload live playlist 0 in 9928 ms
16:51:04.037 async-stack-tagging.ts:55 [log] > [stream-controller]: Level 0 loaded [0,1][part-1--1], cc [0, 0] duration:20.026666666666667
16:51:04.039 async-stack-tagging.ts:55 [log] > [stream-controller]: Loading fragment 1 cc: 0 of [0-1] level: 0, target: 10.027
16:51:04.039 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:51:04.041 ng_zone.ts:470 [log] > [buffer-controller] Updating Media Source duration to 20.027
16:51:04.124 ng_zone.ts:470 [log] > [stream-controller]: FRAG_LOADING->PARSING
16:51:04.126 ng_zone.ts:470 [log] > [stream-controller]: Loaded fragment 1 of level 0
16:51:04.127 ng_zone.ts:470 [log] > [transmuxer.ts]: Flushed fragment 1 of level 0
16:51:04.127 ng_zone.ts:470 [log] > [stream-controller]: PARSING->PARSED
16:51:04.192 ng_zone.ts:470 [log] > [stream-controller]: Buffered main sn: 1 of level 0 (frag:[10.021-20.032] > buffer:[0.021-20.021])
16:51:04.192 ng_zone.ts:470 [log] > [stream-controller]: PARSED->IDLE
16:51:13.985 async-stack-tagging.ts:55 [log] > [level-controller]: Loading level index 0 with https://localstreaming.vbrick.com:3443/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps.m3u8
16:51:14.055 async-stack-tagging.ts:55 [log] > [level-controller]: live playlist 0 REFRESHED 2--1
async-stack-tagging.ts:55 [log] > [level-controller]: reload live playlist 0 in 9910 ms
16:51:14.056 async-stack-tagging.ts:55 [log] > [stream-controller]: Level 0 loaded [0,2][part-2--1], cc [0, 0] duration:30.032
16:51:14.057 async-stack-tagging.ts:55 [log] > [stream-controller]: Loading fragment 2 cc: 0 of [0-2] level: 0, target: 20.032
16:51:14.057 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:51:14.059 ng_zone.ts:470 [log] > [buffer-controller] Updating Media Source duration to 30.032
16:51:14.123 ng_zone.ts:470 [log] > [stream-controller]: FRAG_LOADING->PARSING
16:51:14.125 ng_zone.ts:470 [log] > [stream-controller]: Loaded fragment 2 of level 0
16:51:14.125 ng_zone.ts:470 [log] > [transmuxer.ts]: Flushed fragment 2 of level 0
16:51:14.126 ng_zone.ts:470 [log] > [stream-controller]: PARSING->PARSED
16:51:14.161 ng_zone.ts:470 [log] > [stream-controller]: Buffered main sn: 2 of level 0 (frag:[20.021-30.037] > buffer:[0.021-30.021])
16:51:14.161 ng_zone.ts:470 [log] > [stream-controller]: PARSED->IDLE
16:51:23.990 async-stack-tagging.ts:55 [log] > [level-controller]: Loading level index 0 with https://localstreaming.vbrick.com:3443/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps.m3u8
16:51:24.044 async-stack-tagging.ts:55 [log] > [level-controller]: live playlist 0 MISSED
16:51:24.044 async-stack-tagging.ts:55 [log] > [level-controller]: reload live playlist 0 in 4922 ms
16:51:24.045 async-stack-tagging.ts:55 [log] > [stream-controller]: Level 0 loaded [0,2][part-2--1], cc [0, 0] duration:30.037333333333333
16:51:24.046 ng_zone.ts:470 [log] > [buffer-controller] Updating Media Source duration to 30.037
async-stack-tagging.ts:55 [warn] > Playback stalling at @29.952986 due to low buffer ({"len":0.06834699999999927,"start":0.021333,"end":30.021333})

16:51:24.970 async-stack-tagging.ts:55 [warn] > [playback-rate-controller]: Stall detected, adjusting target latency
onError @ hls.mjs:4850

16:51:28.982 async-stack-tagging.ts:55 [log] > [level-controller]: Loading level index 0 with https://localstreaming.vbrick.com:3443/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps.m3u8
16:51:29.017 async-stack-tagging.ts:55 [log] > [level-controller]: live playlist 0 REFRESHED 3--1
16:51:29.018 async-stack-tagging.ts:55 [log] > [level-controller]: reload live playlist 0 in 9948 ms
16:51:29.018 async-stack-tagging.ts:55 [log] > [stream-controller]: Level 0 loaded [0,3][part-3--1], cc [0, 0] duration:40.037333333333336
16:51:29.019 async-stack-tagging.ts:55 [log] > [stream-controller]: Loading fragment 3 cc: 0 of [0-3] level: 0, target: 30.037
16:51:29.019 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:51:29.021 ng_zone.ts:470 [log] > [buffer-controller] Updating Media Source duration to 40.037
ng_zone.ts:470 [log] > [stream-controller]: FRAG_LOADING->PARSING
16:51:29.091 ng_zone.ts:470 [log] > [stream-controller]: Loaded fragment 3 of level 0
16:51:29.091 ng_zone.ts:470 [log] > [transmuxer.ts]: Flushed fragment 3 of level 0
16:51:29.092 ng_zone.ts:470 [log] > [stream-controller]: PARSING->PARSED
16:51:29.154 async-stack-tagging.ts:55 [warn] > playback not stuck anymore @30.042544, after 4483ms

16:51:29.182 ng_zone.ts:470 [log] > [stream-controller]: Buffered main sn: 3 of level 0 (frag:[30.021-40.021] > buffer:[0.021-40.021])
16:51:29.182 ng_zone.ts:470 [log] > [stream-controller]: PARSED->IDLE
16:51:36.753 async-stack-tagging.ts:55 [log] > stopLoad
16:51:36.754 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->STOPPED
16:51:36.754 async-stack-tagging.ts:55 [log] > [subtitle-stream-controller]: IDLE->STOPPED
16:51:36.754 async-stack-tagging.ts:55 [log] > detachMedia

async-stack-tagging.ts:55 [log] > [buffer-controller] media source detaching
16:55:35.257 async-stack-tagging.ts:55 [log] > startLoad(-1)
16:55:35.258 async-stack-tagging.ts:55 [log] > [level-controller]: Loading level index 0 with https://localstreaming.vbrick.com:3443/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps.m3u8
16:55:35.259 async-stack-tagging.ts:55 [log] > [stream-controller]: STOPPED->IDLE
16:55:35.260 async-stack-tagging.ts:55 [log] > [subtitle-stream-controller]: STOPPED->IDLE
16:55:35.261 async-stack-tagging.ts:55 [log] > attachMedia
16:55:35.262 async-stack-tagging.ts:55 [log] > [buffer-controller] created media source: MediaSource
16:55:35.309 async-stack-tagging.ts:55 [log] > [buffer-controller] Media source opened
16:55:35.309 async-stack-tagging.ts:55 [log] > [buffer-controller] Updating Media Source duration to 40.037
16:55:35.362 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:35.362 async-stack-tagging.ts:55 [log] > [stream-controller]: Loading fragment 0 cc: 0 of [0-3] level: 0, target: 0
16:55:35.362 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:55:35.406 async-stack-tagging.ts:42 
        
        
       GET https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-0.ts 404 (Not Found)

16:55:35.424 async-stack-tagging.ts:55 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-0.ts

16:55:35.426 ng_zone.ts:470 [warn] > Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":1433220.5}
onError @ hls.mjs:24196

16:55:35.427 ng_zone.ts:470 [log] > [stream-controller]: FRAG_LOADING->IDLE
16:55:35.438 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:35.439 async-stack-tagging.ts:55 [log] > [stream-controller]: Loading fragment 1 cc: 0 of [0-3] level: 0, target: 10.021
16:55:35.439 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->FRAG_LOADING
async-stack-tagging.ts:55 [log] > [buffer-controller] media source detaching
16:55:35.257 async-stack-tagging.ts:55 [log] > startLoad(-1)
16:55:35.258 async-stack-tagging.ts:55 [log] > [level-controller]: Loading level index 0 with https://localstreaming.vbrick.com:3443/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps.m3u8
16:55:35.259 async-stack-tagging.ts:55 [log] > [stream-controller]: STOPPED->IDLE
16:55:35.260 async-stack-tagging.ts:55 [log] > [subtitle-stream-controller]: STOPPED->IDLE
16:55:35.261 async-stack-tagging.ts:55 [log] > attachMedia
16:55:35.262 async-stack-tagging.ts:55 [log] > [buffer-controller] created media source: MediaSource
16:55:35.309 async-stack-tagging.ts:55 [log] > [buffer-controller] Media source opened
16:55:35.309 async-stack-tagging.ts:55 [log] > [buffer-controller] Updating Media Source duration to 40.037
16:55:35.362 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:35.362 async-stack-tagging.ts:55 [log] > [stream-controller]: Loading fragment 0 cc: 0 of [0-3] level: 0, target: 0
16:55:35.362 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:55:35.406 async-stack-tagging.ts:42 
        
        
       GET https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-0.ts 404 (Not Found)

16:55:35.424 async-stack-tagging.ts:55 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-0.ts
readystatechange @ hls.mjs:24674

16:55:35.426 ng_zone.ts:470 [warn] > Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":1433220.5}
onError @ hls.mjs:24196

16:55:35.427 ng_zone.ts:470 [log] > [stream-controller]: FRAG_LOADING->IDLE
16:55:35.438 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:35.439 async-stack-tagging.ts:55 [log] > [stream-controller]: Loading fragment 1 cc: 0 of [0-3] level: 0, target: 10.021
16:55:35.439 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:55:35.458 async-stack-tagging.ts:42 
        
        
       GET https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-1.ts 404 (Not Found)

16:55:35.469 async-stack-tagging.ts:55 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-1.ts
readystatechange @ hls.mjs:24674

16:55:35.471 ng_zone.ts:470 [warn] > Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":1433220.5}
onError @ hls.mjs:24196

16:55:35.473 ng_zone.ts:470 [log] > [stream-controller]: FRAG_LOADING->IDLE
16:55:35.482 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:35.483 async-stack-tagging.ts:55 [log] > [stream-controller]: Loading fragment 2 cc: 0 of [0-3] level: 0, target: 20.021
16:55:35.483 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:55:35.526 async-stack-tagging.ts:42 
        
        
       GET https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-2.ts 404 (Not Found)

16:55:35.538 async-stack-tagging.ts:55 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-2.ts
readystatechange @ hls.mjs:24674

16:55:35.540 ng_zone.ts:470 [warn] > Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":1433220.5}
onError @ hls.mjs:24196

16:55:35.543 ng_zone.ts:470 [log] > [stream-controller]: FRAG_LOADING->IDLE
16:55:35.558 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:35.558 async-stack-tagging.ts:55 [log] > [stream-controller]: Loading fragment 3 cc: 0 of [0-3] level: 0, target: 30.021
16:55:35.558 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:55:35.602 async-stack-tagging.ts:42 
        
        
       GET https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-3.ts 404 (Not Found)

16:55:35.613 async-stack-tagging.ts:55 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-3.ts

16:55:35.617 ng_zone.ts:470 [warn] > Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":1433220.5}

16:55:35.620 ng_zone.ts:470 [log] > [stream-controller]: FRAG_LOADING->IDLE
16:55:35.633 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:35.633 async-stack-tagging.ts:55 [log] > [stream-controller]: Loading fragment 3 cc: 0 of [0-3] level: 0, target: 40.021
16:55:35.633 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:55:35.673 async-stack-tagging.ts:42 
        
        
       GET https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-3.ts 404 (Not Found)

16:55:35.686 async-stack-tagging.ts:55 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-3.ts

16:55:35.690 ng_zone.ts:470 [warn] > Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":1433220.5}
onError @ hls.mjs:24196

16:55:35.693 ng_zone.ts:470 [log] > [stream-controller]: FRAG_LOADING->IDLE
16:55:35.703 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:35.703 async-stack-tagging.ts:55 [log] > [stream-controller]: Loading fragment 3 cc: 0 of [0-3] level: 0, target: 40.021
16:55:35.704 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:55:35.717 async-stack-tagging.ts:42 
        
        
       GET https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-3.ts 404 (Not Found)

16:55:35.729 async-stack-tagging.ts:55 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-3.ts

16:55:35.733 ng_zone.ts:470 [warn] > Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":1433220.5}
onError @ hls.mjs:24196

16:55:35.736 ng_zone.ts:470 [log] > [stream-controller]: FRAG_LOADING->IDLE
16:55:35.749 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:35.750 async-stack-tagging.ts:55 [log] > [stream-controller]: Loading fragment 3 cc: 0 of [0-3] level: 0, target: 40.021
16:55:35.750 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:55:35.766 async-stack-tagging.ts:42 
        
        
       GET https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-3.ts 404 (Not Found)

16:55:35.777 async-stack-tagging.ts:55 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-3.ts
readystatechange @ hls.mjs:24674

16:55:35.781 ng_zone.ts:470 [warn] > Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":1433220.5}
onError @ hls.mjs:24196

16:55:35.783 ng_zone.ts:470 [log] > [stream-controller]: FRAG_LOADING->IDLE
16:55:35.795 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:35.795 async-stack-tagging.ts:55 [log] > [stream-controller]: Loading fragment 3 cc: 0 of [0-3] level: 0, target: 40.021
16:55:35.795 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:55:35.810 async-stack-tagging.ts:42 
        
        
       GET https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-3.ts 404 (Not Found)

16:55:35.820 async-stack-tagging.ts:55 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-3.ts

16:55:35.822 ng_zone.ts:470 [warn] > Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":1433220.5}

16:55:35.822 ng_zone.ts:470 [log] > [stream-controller]: FRAG_LOADING->IDLE
16:55:35.830 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:35.831 async-stack-tagging.ts:55 [log] > [stream-controller]: Loading fragment 3 cc: 0 of [0-3] level: 0, target: 40.021
16:55:35.831 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:55:35.846 async-stack-tagging.ts:42 
        
        
       GET https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-3.ts 404 (Not Found)

16:55:35.857 async-stack-tagging.ts:55 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-3.ts

16:55:35.859 ng_zone.ts:470 [warn] > Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: 
16:55:35.860 ng_zone.ts:470 [log] > [stream-controller]: FRAG_LOADING->IDLE
16:55:35.872 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:35.873 async-stack-tagging.ts:55 [log] > [stream-controller]: Loading fragment 3 cc: 0 of [0-3] level: 0, target: 40.021
16:55:35.873 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:55:35.885 async-stack-tagging.ts:42 
        
        
       GET https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-3.ts 404 (Not Found)

16:55:35.895 async-stack-tagging.ts:55 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-3.ts
readystatechange @ hls.mjs:24674
16:55:35.898 ng_zone.ts:470 [warn] > Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":1433220.5}
onError @ hls.mjs:24196
16:55:35.900 ng_zone.ts:470 [log] > [stream-controller]: FRAG_LOADING->IDLE
16:55:35.911 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:35.911 async-stack-tagging.ts:55 [log] > [stream-controller]: Loading fragment 3 cc: 0 of [0-3] level: 0, target: 40.021
16:55:35.911 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:55:35.923 async-stack-tagging.ts:42 
        
        
       GET https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-3.ts 404 (Not Found)
16:55:35.934 async-stack-tagging.ts:55 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-3.ts
readystatechange @ hls.mjs:24674

16:55:35.938 ng_zone.ts:470 [warn] > Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":1433220.5}
16:55:35.940 ng_zone.ts:470 [log] > [stream-controller]: FRAG_LOADING->IDLE
16:55:35.950 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:35.951 async-stack-tagging.ts:55 [log] > [stream-controller]: Loading fragment 3 cc: 0 of [0-3] level: 0, target: 40.021
16:55:35.951 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:55:35.970 async-stack-tagging.ts:42 
        
        
       GET https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-3.ts 404 (Not Found)

16:55:35.980 async-stack-tagging.ts:55 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/bd41f0f3-bfd3-4f54-b64b-42ccea8e03ed/580ce68f-55f3-4d51-aced-a9b761961612/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps-3.ts
readystatechange @ hls.mjs:24674
wrapFn @ zone.js:778
16:55:35.983 ng_zone.ts:470 [warn] > Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":1433220.5}
onError @ hls.mjs:24196
emit @ hls.mjs:15180
emit @ hls.mjs:27891
trigger @ hls.mjs:27895
handleFragLoadError @ hls.mjs:9639
(anonymous) @ hls.mjs:9597
invoke @ zone.js:369
onInvoke @ ng_zone.ts:470
invoke @ zone.js:368
run @ zone.js:111
(anonymous) @ zone.js:2538
16:55:35.988 ng_zone.ts:470 [log] > stopLoad
16:55:35.989 ng_zone.ts:470 [log] > [stream-controller]: IDLE->STOPPED
16:55:35.989 ng_zone.ts:470 [log] > [subtitle-stream-controller]: IDLE->STOPPED
16:55:56.002 async-stack-tagging.ts:55 [log] > swapAudioCodec
16:55:56.003 async-stack-tagging.ts:55 [log] > recoverMediaError
16:55:56.003 async-stack-tagging.ts:55 [log] > detachMedia
16:55:56.004 async-stack-tagging.ts:55 [log] > [buffer-controller] media source detaching
16:55:56.008 async-stack-tagging.ts:55 [log] > attachMedia
16:55:56.008 async-stack-tagging.ts:55 [log] > [buffer-controller] created media source: MediaSource
16:55:56.010 async-stack-tagging.ts:55 [log] > stopLoad
16:55:56.011 async-stack-tagging.ts:55 [log] > startLoad(-1)
16:55:56.011 async-stack-tagging.ts:55 [log] > [level-controller]: Loading level index 0 with https://localstreaming.vbrick.com:3443/580ce68f-55f3-4d51-aced-a9b761961612-362p-688kbps.m3u8
16:55:56.013 async-stack-tagging.ts:55 [log] > [stream-controller]: STOPPED->IDLE
16:55:56.013 async-stack-tagging.ts:55 [log] > [subtitle-stream-controller]: STOPPED->IDLE
16:55:56.049 async-stack-tagging.ts:55 [log] > [buffer-controller] Media source opened
16:55:56.050 async-stack-tagging.ts:55 [log] > [buffer-controller] Updating Media Source duration to 40.037
16:55:56.081 async-stack-tagging.ts:55 [log] > [level-controller]: live playlist 0 REFRESHED 30--1
16:55:56.082 async-stack-tagging.ts:55 [log] > [level-controller]: reload live playlist 0 in 9930 ms
16:55:56.083 async-stack-tagging.ts:55 [log] > [stream-controller]: Level 0 loaded [30,30][part-30--1], cc [0, 0] duration:10
16:55:56.083 async-stack-tagging.ts:55 [log] > [stream-controller]: Live playlist sliding: 0.00 start-sn: 0->30 prev-sn: na fragments: 1
16:55:56.084 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:56.084 async-stack-tagging.ts:55 [log] > [stream-controller]: Loading fragment 30 cc: 0 of [30-30] level: 0, target: 0
16:55:56.084 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:55:56.151 ng_zone.ts:470 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 30 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: false
        timeOffset: 0
        initSegmentChange: true
16:55:56.152 ng_zone.ts:470 [log] > [mp4-remuxer]: ISGenerated flag reset
16:55:56.152 ng_zone.ts:470 [log] > [mp4-remuxer]: initPTS & initDTS reset
16:55:56.153 ng_zone.ts:470 [log] > [mp4-remuxer]: reset next timestamp
16:55:56.157 ng_zone.ts:470 [log] > manifest codec:undefined, ADTS type:2, samplingIndex:3
16:55:56.157 ng_zone.ts:470 [log] > parsed codec:mp4a.40.5, rate:48000, channels:2
16:55:56.176 ng_zone.ts:470 [log] > [stream-controller]: FRAG_LOADING->PARSING
16:55:56.177 ng_zone.ts:470 [log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[//mp4a.40.5]
16:55:56.177 ng_zone.ts:470 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[/avc1.42c01e]
16:55:56.178 ng_zone.ts:470 [log] > [buffer-controller] 0 bufferCodec event(s) expected audio,video
16:55:56.178 ng_zone.ts:470 [log] > [buffer-controller] creating sourceBuffer(audio/mp4;codecs=mp4a.40.5)
16:55:56.180 ng_zone.ts:470 [log] > [buffer-controller] creating sourceBuffer(video/mp4;codecs=avc1.42c01e)
16:55:56.184 ng_zone.ts:470 [log] > [stream-controller]: Loaded fragment 30 of level 0
16:55:56.185 ng_zone.ts:470 [log] > [transmuxer.ts]: Flushed fragment 30 of level 0
16:55:56.185 ng_zone.ts:470 [log] > [stream-controller]: PARSING->PARSED
16:55:56.265 ng_zone.ts:470 [log] > [stream-controller]: Buffered main sn: 30 of level 0 (frag:[0.000-310.021] > buffer:)
16:55:56.266 ng_zone.ts:470 [log] > [stream-controller]: PARSED->IDLE
16:55:56.266 ng_zone.ts:470 [info] > [abr] buffer is empty, optimal quality level 0
16:55:56.316 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:56.430 async-stack-tagging.ts:55 [log] > [stream-controller]: media seeking to 300.021, state: IDLE
16:55:56.434 async-stack-tagging.ts:55 [log] > [audio-stream-controller]: media seeking to 300.021, state: STOPPED
16:55:56.438 async-stack-tagging.ts:55 [log] > [subtitle-stream-controller]: media seeking to 300.021, state: IDLE
16:55:56.442 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:56.448 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:56.512 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:56.627 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:56.722 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:56.814 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:56.923 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:57.017 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:57.127 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:57.221 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:57.314 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:57.424 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:57.517 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:57.627 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:57.720 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:57.829 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:57.921 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:58.014 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:58.123 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:58.215 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:58.324 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:58.416 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:58.518 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:58.620 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:58.727 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:58.820 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:58.913 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:59.020 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:59.114 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:59.223 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:59.316 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:59.426 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:59.517 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:59.616 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:59.724 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:59.818 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:55:59.923 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:00.017 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:00.113 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:00.225 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:00.319 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:00.414 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:00.519 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:00.613 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:00.725 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:00.820 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:00.913 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:01.017 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:01.113 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:01.225 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:01.319 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:01.423 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:01.514 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:01.613 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:01.725 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:01.817 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:01.924 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:02.017 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:02.113 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:02.222 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:02.315 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:02.423 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:02.513 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:02.613 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:02.723 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:02.815 async-stack-tagging.ts:55 [info] > [abr] buffer is empty, optimal quality level 0
16:56:02.979 async-stack-tagging.ts:55 [log] > stopLoad
16:56:02.980 async-stack-tagging.ts:55 [log] > [stream-controller]: IDLE->STOPPED
16:56:02.980 async-stack-tagging.ts:55 [log] > [subtitle-stream-controller]: IDLE->STOPPED
16:56:02.980 async-stack-tagging.ts:55 [log] > detachMedia
16:56:02.981 async-stack-tagging.ts:55 [log] > [buffer-controller] media source detaching
17:09:59.523 node_manipulation.ts:585 [log] > destroy
17:09:59.525 node_manipulation.ts:585 [log] > detachMedia

Chrome media internals output

No response

@LalitAgrawala004 LalitAgrawala004 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 18, 2024
@robwalch
Copy link
Collaborator

enableLazyURLResolve is not a known config option.

What's the behavior like with changes in #6853? Branch build: https://bugfix-frag-retry-no-alterna.hls-js-4zn.pages.dev/demo/

@robwalch robwalch added Confirmed 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 19, 2024
@robwalch robwalch added this to the 1.6.0 milestone Nov 20, 2024
@robwalch
Copy link
Collaborator

With #6855 hls.js will wait for expired playlists to be refreshed before requesting segments. This should resolve the issue. Please let me know how it works for you: https://bugfix-live-resume-wait-for.hls-js-4zn.pages.dev/demo/

@robwalch robwalch added the Verify Fixed An unreleased bug fix has been merged and should be verified before closing. label Nov 20, 2024
@LalitAgrawala004
Copy link
Author

Sure @robwalch .. I did verify #6853 once this evening.. it was definitely much better and was able to play the video but it did request old ts segments. I wanted to do more testing tomorrow but I will test the new build and let you know.

@LalitAgrawala004
Copy link
Author

@robwalch I tried #6855 and I am seeing the same behavior as #6853 .. it is still going after old ts segments afrer resume.

image

LOGS

[log] > loadSource:https://localstreaming.vbrick.com:3443/5b444d9f-dd24-4bc0-977a-faee1983d68e.m3u8?reorderpackets=true
hls.mjs:31489 [log] > [stream-controller]: Trigger BUFFER_RESET
hls.mjs:30331 [log] > [level-controller]: manifest loaded, 1 level(s) found, first bitrate: 835584
hls.mjs:1475 [log] > [abr]: setting initial bwe to 835584
hls.mjs:17793 [log] > [buffer-controller]: 1 bufferCodec event(s) expected.
hls.mjs:30369 [log] > [level-controller]: force startLoad with configured startPosition -1
hls.mjs:33467 [log] > startLoad(-1)
hls.mjs:30417 [log] > [level-controller]: Switching to level 0 (SDR @835584) from level -1
hls.mjs:30579 [log] > [level-controller]: Loading level index 0 with https://localstreaming.vbrick.com:3443/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps.m3u8
hls.mjs:9414 [log] > [stream-controller]: STOPPED->IDLE
hls.mjs:9414 [log] > [subtitle-stream-controller]: STOPPED->IDLE
hls.mjs:17037 [log] > [level-controller]: reload live playlist 0 in 9979 ms
hls.mjs:31540 [log] > [stream-controller]: Level 0 loaded [0,0], cc [0, 0] duration:10
hls.mjs:9104 [log] > [stream-controller]: Live playlist sliding: 0.00 start-sn: na->0 prev-sn: na fragments: 1
hls.mjs:18663 [log] > [buffer-controller]: Updating MediaSource duration to 10.000
hls.mjs:8908 [log] > [stream-controller]: Setting startPosition to 0 to match initial live edge. mainStart: -1 liveSyncPosition: 0 frag.start: 0
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 0 of level 0 (frag:[0.000-10.000]) cc: 0 [0-0], target: 0
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.mjs:15930 [log] > [transmuxer-interface]: Starting new transmux session for main sn: 0 level: 0 id: 1
discontinuity: true
trackSwitch: true
contiguous: false
accurateTimeOffset: false
timeOffset: 0
initSegmentChange: true
[log] > [mp4-remuxer]: ISGenerated flag reset
hls.mjs:14303 [log] > [mp4-remuxer]: initPTS & initDTS reset
hls.mjs:14307 [log] > [mp4-remuxer]: reset next timestamp
hls.mjs:10056 [log] > manifest codec:undefined, parsed codec:mp4a.40.2, channels:2, rate:48000 (ADTS object type:2 sampling index:3)
hls.mjs:9414 [log] > [stream-controller]: FRAG_LOADING->PARSING
hls.mjs:32151 [log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[mp4a.40.2//mp4a.40.2]
hls.mjs:32174 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[/avc1.42c01e}]
hls.mjs:18044 [log] > [buffer-controller]: BUFFER_CODECS: "audio,video" (current SB count 0)
hls.mjs:18090 [log] > [buffer-controller]: switching codec undefined to mp4a.40.2
hls.mjs:18090 [log] > [buffer-controller]: switching codec undefined to avc1.42c01e
hls.mjs:18682 [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.42c01e","container":"video/mp4","metadata":{"width":640,"height":362},"id":"main"}}
hls.mjs:18749 [log] > [buffer-controller]: creating sourceBuffer(audio/mp4;codecs=mp4a.40.2) Queued {"listeners":[],"codec":"mp4a.40.2","container":"audio/mp4","levelCodec":"mp4a.40.2","metadata":{"channelCount":2},"id":"main"}
hls.mjs:18749 [log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.42c01e) Queued {"listeners":[],"codec":"avc1.42c01e","container":"video/mp4","metadata":{"width":640,"height":362},"id":"main"}
hls.mjs:18718 [log] > [buffer-controller]: SourceBuffers created. Running queue:
video: (SourceBuffer) change-type=video/mp4;codecs=avc1.42c01e
audio: (SourceBuffer) change-type=audio/mp4;codecs=mp4a.40.2
audiovideo: (none) }
hls.mjs:18131 [log] > [buffer-controller]: changing video sourceBuffer type to video/mp4;codecs=avc1.42c01e
hls.mjs:18131 [log] > [buffer-controller]: changing audio sourceBuffer type to audio/mp4;codecs=mp4a.40.2
hls.mjs:16138 [log] > [audio-stream-controller]: InitPTS for cc: 0 found from main: 126000/90000
hls.mjs:8326 [log] > [stream-controller]: Loaded main sn: 0 of level 0
hls.mjs:15545 [log] > [transmuxer.ts]: Flushed main sn: 0 of level 0
hls.mjs:9414 [log] > [stream-controller]: PARSING->PARSED
hls.mjs:9374 [log] > [stream-controller]: Parsed main sn: 0 of level 0 (frag:[0.000-10.027])
hls.mjs:24688 [log] > [interstitials]: buffered to boundary [primary: 0.00-Infinity]
hls.mjs:8036 [log] > [stream-controller]: media seeking to 0.027, state: PARSED
hls.mjs:8036 [log] > [audio-stream-controller]: media seeking to 0.027, state: STOPPED
hls.mjs:8036 [log] > [subtitle-stream-controller]: media seeking to 0.027, state: IDLE
hls.mjs:31069 [log] > [stream-controller]: Media seeked to 0.037
hls.mjs:31075 [warn] > [stream-controller]: Main forward buffer length on "seeked" event 0)
[log] > [stream-controller]: Buffered main sn: 0 of level 0 (frag:[0.000-10.027] > buffer:[0.021-10.021])
hls.mjs:9414 [log] > [stream-controller]: PARSED->IDLE
hls.mjs:31896 [log] > [stream-controller]: adjusting start position by 0.021333 to match buffer start
hls.mjs:30579 [log] > [level-controller]: Loading level index 0 with https://localstreaming.vbrick.com:3443/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps.m3u8
hls.mjs:16958 [log] > [level-controller]: live playlist 0 MISSED
hls.mjs:17037 [log] > [level-controller]: reload live playlist 0 in 4974 ms
hls.mjs:31540 [log] > [stream-controller]: Level 0 loaded [0,0], cc [0, 0] duration:10.026666666666667
hls.mjs:18663 [log] > [buffer-controller]: Updating MediaSource duration to 10.027
hls.mjs:30882 [warn] > [gap-controller]: Playback stalling at @9.955255 due to low buffer ({"len":0.06607800000000097,"start":0.021333,"end":10.021333})

hls.mjs:30060 [warn] > [latency-controller]: Stall detected, adjusting target latency

[log] > [level-controller]: Loading level index 0 with https://localstreaming.vbrick.com:3443/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps.m3u8
hls.mjs:16958 [log] > [level-controller]: live playlist 0 REFRESHED 1--1
hls.mjs:17037 [log] > [level-controller]: reload live playlist 0 in 9975 ms
hls.mjs:31540 [log] > [stream-controller]: Level 0 loaded [0,1][part-1--1], cc [0, 0] duration:20.026666666666667
hls.mjs:18663 [log] > [buffer-controller]: Updating MediaSource duration to 20.027
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 1 of level 0 (frag:[10.027-20.027]) cc: 0 [0-1], target: 10.027
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.mjs:9414 [log] > [stream-controller]: FRAG_LOADING->PARSING
hls.mjs:8326 [log] > [stream-controller]: Loaded main sn: 1 of level 0
hls.mjs:15545 [log] > [transmuxer.ts]: Flushed main sn: 1 of level 0
hls.mjs:9414 [log] > [stream-controller]: PARSING->PARSED
hls.mjs:9374 [log] > [stream-controller]: Parsed main sn: 1 of level 0 (frag:[10.021-20.032])
[warn] > [gap-controller]: playback not stuck anymore @10.028208, after 4778ms
[log] > [stream-controller]: Buffered main sn: 1 of level 0 (frag:[10.021-20.032] > buffer:[0.021-20.021])
hls.mjs:9414 [log] > [stream-controller]: PARSED->IDLE
hls.mjs:30579 [log] > [level-controller]: Loading level index 0 with https://localstreaming.vbrick.com:3443/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps.m3u8
hls.mjs:16958 [log] > [level-controller]: live playlist 0 REFRESHED 2--1
hls.mjs:17037 [log] > [level-controller]: reload live playlist 0 in 9969 ms
hls.mjs:31540 [log] > [stream-controller]: Level 0 loaded [0,2][part-2--1], cc [0, 0] duration:30.032
hls.mjs:18663 [log] > [buffer-controller]: Updating MediaSource duration to 30.032
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 2 of level 0 (frag:[20.032-30.032]) cc: 0 [0-2], target: 20.032
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.mjs:9414 [log] > [stream-controller]: FRAG_LOADING->PARSING
hls.mjs:8326 [log] > [stream-controller]: Loaded main sn: 2 of level 0
hls.mjs:15545 [log] > [transmuxer.ts]: Flushed main sn: 2 of level 0
hls.mjs:9414 [log] > [stream-controller]: PARSING->PARSED
hls.mjs:9374 [log] > [stream-controller]: Parsed main sn: 2 of level 0 (frag:[20.021-30.037])
hls.mjs:8483 [log] > [stream-controller]: Buffered main sn: 2 of level 0 (frag:[20.021-30.037] > buffer:[0.021-30.021])
hls.mjs:9414 [log] > [stream-controller]: PARSED->IDLE
hls.mjs:30579 [log] > [level-controller]: Loading level index 0 with https://localstreaming.vbrick.com:3443/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps.m3u8
hls.mjs:16958 [log] > [level-controller]: live playlist 0 REFRESHED 3--1
hls.mjs:17037 [log] > [level-controller]: reload live playlist 0 in 9966 ms
hls.mjs:31540 [log] > [stream-controller]: Level 0 loaded [0,3][part-3--1], cc [0, 0] duration:40.037333333333336
hls.mjs:18663 [log] > [buffer-controller]: Updating MediaSource duration to 40.037
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 3 of level 0 (frag:[30.037-40.037]) cc: 0 [0-3], target: 30.037
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.mjs:9414 [log] > [stream-controller]: FRAG_LOADING->PARSING
hls.mjs:8326 [log] > [stream-controller]: Loaded main sn: 3 of level 0
hls.mjs:15545 [log] > [transmuxer.ts]: Flushed main sn: 3 of level 0
hls.mjs:9414 [log] > [stream-controller]: PARSING->PARSED
hls.mjs:9374 [log] > [stream-controller]: Parsed main sn: 3 of level 0 (frag:[30.021-40.021])
hls.mjs:8483 [log] > [stream-controller]: Buffered main sn: 3 of level 0 (frag:[30.021-40.021] > buffer:[0.021-40.021])
hls.mjs:9414 [log] > [stream-controller]: PARSED->IDLE
[log] > [level-controller]: Loading level index 0 with https://localstreaming.vbrick.com:3443/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps.m3u8
hls.mjs:16958 [log] > [level-controller]: live playlist 0 REFRESHED 4--1
hls.mjs:17037 [log] > [level-controller]: reload live playlist 0 in 9979 ms
hls.mjs:31540 [log] > [stream-controller]: Level 0 loaded [0,4][part-4--1], cc [0, 0] duration:50.02133333333333
hls.mjs:18663 [log] > [buffer-controller]: Updating MediaSource duration to 50.021
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 4 of level 0 (frag:[40.021-50.021]) cc: 0 [0-4], target: 40.021
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.mjs:9414 [log] > [stream-controller]: FRAG_LOADING->PARSING
hls.mjs:8326 [log] > [stream-controller]: Loaded main sn: 4 of level 0
hls.mjs:15545 [log] > [transmuxer.ts]: Flushed main sn: 4 of level 0
hls.mjs:9414 [log] > [stream-controller]: PARSING->PARSED
hls.mjs:9374 [log] > [stream-controller]: Parsed main sn: 4 of level 0 (frag:[40.021-50.027])
hls.mjs:8483 [log] > [stream-controller]: Buffered main sn: 4 of level 0 (frag:[40.021-50.027] > buffer:[0.021-50.021])
hls.mjs:9414 [log] > [stream-controller]: PARSED->IDLE
hls.mjs:30579 [log] > [level-controller]: Loading level index 0 with https://localstreaming.vbrick.com:3443/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps.m3u8
hls.mjs:16958 [log] > [level-controller]: live playlist 0 REFRESHED 5--1
hls.mjs:17037 [log] > [level-controller]: reload live playlist 0 in 9984 ms
hls.mjs:31540 [log] > [stream-controller]: Level 0 loaded [0,5][part-5--1], cc [0, 0] duration:60.026666666666664
hls.mjs:18663 [log] > [buffer-controller]: Updating MediaSource duration to 60.027
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 5 of level 0 (frag:[50.027-60.027]) cc: 0 [0-5], target: 50.027
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.mjs:9414 [log] > [stream-controller]: FRAG_LOADING->PARSING
hls.mjs:8326 [log] > [stream-controller]: Loaded main sn: 5 of level 0
hls.mjs:15545 [log] > [transmuxer.ts]: Flushed main sn: 5 of level 0
hls.mjs:9414 [log] > [stream-controller]: PARSING->PARSED
hls.mjs:9374 [log] > [stream-controller]: Parsed main sn: 5 of level 0 (frag:[50.021-60.032])
hls.mjs:8483 [log] > [stream-controller]: Buffered main sn: 5 of level 0 (frag:[50.021-60.032] > buffer:[0.021-60.021])
hls.mjs:9414 [log] > [stream-controller]: PARSED->IDLE
hls.mjs:33478 [log] > stopLoad
hls.mjs:9414 [log] > [stream-controller]: IDLE->STOPPED
hls.mjs:9414 [log] > [subtitle-stream-controller]: IDLE->STOPPED
hls.mjs:33397 [log] > detachMedia
hls.mjs:17935 [log] > [buffer-controller]: media source detaching

[log] > startLoad(-1)
hls.mjs:30579 [log] > [level-controller]: Loading level index 0 with https://localstreaming.vbrick.com:3443/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps.m3u8
hls.mjs:9414 [log] > [stream-controller]: STOPPED->IDLE
hls.mjs:9414 [log] > [subtitle-stream-controller]: STOPPED->IDLE
hls.mjs:33379 [log] > attachMedia
hls.mjs:17838 [log] > [buffer-controller]: created media source: MediaSource
hls.mjs:17634 [log] > [buffer-controller]: Media source opened
hls.mjs:18663 [log] > [buffer-controller]: Updating MediaSource duration to 60.032
hls.mjs:18682 [log] > [buffer-controller]: checkPendingTracks (pending: 0 codec events expected: 1) {}
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 0 of level 0 (frag:[0.000-10.021]) cc: 0 [0-5], target: 0
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING

[error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/3062706b-ad1d-40d3-aaa8-d44db99418d7/5b444d9f-dd24-4bc0-977a-faee1983d68e/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps-0.ts
[content-steering]: Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":165028.70000004768}

[log] > [stream-controller]: FRAG_LOADING->IDLE
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 1 of level 0 (frag:[10.021-20.021]) cc: 0 [0-5], target: 10.021
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.mjs:29048 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/3062706b-ad1d-40d3-aaa8-d44db99418d7/5b444d9f-dd24-4bc0-977a-faee1983d68e/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps-1.ts
hls.mjs:20671 [warn] > [content-steering]: Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":165028.70000004768}
[log] > [stream-controller]: FRAG_LOADING->IDLE
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 2 of level 0 (frag:[20.021-30.021]) cc: 0 [0-5], target: 20.021
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING
[error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/3062706b-ad1d-40d3-aaa8-d44db99418d7/5b444d9f-dd24-4bc0-977a-faee1983d68e/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps-2.ts

[content-steering]: Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":165028.70000004768}

[log] > [stream-controller]: FRAG_LOADING->IDLE
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 3 of level 0 (frag:[30.021-40.021]) cc: 0 [0-5], target: 30.021
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING

hls.mjs:29048 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/3062706b-ad1d-40d3-aa…0-977a-faee1983d68e/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps-3.ts
[warn] > [content-steering]: Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":165028.70000004768}
[log] > [stream-controller]: FRAG_LOADING->IDLE
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 4 of level 0 (frag:[40.021-50.021]) cc: 0 [0-5], target: 40.021
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.mjs:29048 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/3062706b-ad1d-40d3-aa…0-977a-faee1983d68e/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps-4.ts
[warn] > [content-steering]: Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":165028.70000004768}
[log] > [stream-controller]: FRAG_LOADING->IDLE
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 5 of level 0 (frag:[50.021-60.032]) cc: 0 [0-5], target: 50.021
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING

hls.mjs:29048 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/3062706b-ad1d-40d3-aa…0-977a-faee1983d68e/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps-5.ts
hls.mjs:20671 [warn] > [content-steering]: Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":165028.70000004768}
[log] > [stream-controller]: FRAG_LOADING->IDLE

hls.mjs:29048 [error] > 404 while loading https://localstreaming.vbrick.com:3443/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps.m3u8
hls.mjs:32972 [warn] > [playlist-loader]: A network error (status 404) occurred while loading level: 0 id: 0
hls.mjs:20671 [warn] > [content-steering]: Could not resolve levelLoadError ("A network error (status 404) occurred while loading level: 0 id: 0") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":165028.70000004768}
[warn] > [level-controller]: Retrying playlist loading 1/3 after "levelLoadError" in 1500ms

[log] > [level-controller]: Loading level index 0 with https://localstreaming.vbrick.com:3443/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps.m3u8
hls.mjs:29048 [error] > 404 while loading https://localstreaming.vbrick.com:3443/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps.m3u8
hls.mjs:32972 [warn] > [playlist-loader]: A network error (status 404) occurred while loading level: 0 id: 0
hls.mjs:20671 [warn] > [content-steering]: Could not resolve levelLoadError ("A network error (status 404) occurred while loading level: 0 id: 0") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":165028.70000004768}
hls.mjs:17092 [warn] > [level-controller]: Retrying playlist loading 2/3 after "levelLoadError" in 3000ms

[log] > [level-controller]: Loading level index 0 with https://localstreaming.vbrick.com:3443/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps.m3u8
hls.mjs:16958 [log] > [level-controller]: live playlist 0 REFRESHED 12--1
hls.mjs:17037 [log] > [level-controller]: reload live playlist 0 in 9985 ms
hls.mjs:31540 [log] > [stream-controller]: Level 0 loaded [12,12][part-12--1], cc [0, 0] duration:10
hls.mjs:18663 [log] > [buffer-controller]: Updating MediaSource duration to 70.032
hls.mjs:8908 [log] > [stream-controller]: Setting startPosition to 60.032 to match initial live edge. mainStart: 60.032 liveSyncPosition: 60.032 frag.start: 60.032
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 12 of level 0 (frag:[60.032-70.032]) cc: 0 [12-12], target: 60.032
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.mjs:15930 [log] > [transmuxer-interface]: Starting new transmux session for main sn: 12 level: 0 id: 1
discontinuity: true
trackSwitch: true
contiguous: false
accurateTimeOffset: false
timeOffset: 60.032
initSegmentChange: true
hls.mjs:14312 [log] > [mp4-remuxer]: ISGenerated flag reset
hls.mjs:14303 [log] > [mp4-remuxer]: initPTS & initDTS reset
hls.mjs:14307 [log] > [mp4-remuxer]: reset next timestamp
hls.mjs:10056 [log] > manifest codec:undefined, parsed codec:mp4a.40.2, channels:2, rate:48000 (ADTS object type:2 sampling index:3)
hls.mjs:14618 [warn] > AVC: 60000 ms (5400000dts) hole between fragments detected at 60.032
[log] > Video: Initial PTS/DTS adjusted: 60021/60021, delta: 60000 ms
hls.mjs:9414 [log] > [stream-controller]: FRAG_LOADING->PARSING
hls.mjs:32151 [log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[mp4a.40.2//mp4a.40.2]
hls.mjs:32174 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[/avc1.42c01e}]
hls.mjs:18044 [log] > [buffer-controller]: BUFFER_CODECS: "audio,video" (current SB count 0)
hls.mjs:18090 [log] > [buffer-controller]: switching codec undefined to mp4a.40.2
hls.mjs:18090 [log] > [buffer-controller]: switching codec undefined to avc1.42c01e
hls.mjs:18682 [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.42c01e","container":"video/mp4","metadata":{"width":640,"height":362},"id":"main"}}
hls.mjs:18749 [log] > [buffer-controller]: creating sourceBuffer(audio/mp4;codecs=mp4a.40.2) Queued {"listeners":[],"codec":"mp4a.40.2","container":"audio/mp4","levelCodec":"mp4a.40.2","metadata":{"channelCount":2},"id":"main"}
hls.mjs:18749 [log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.42c01e) Queued {"listeners":[],"codec":"avc1.42c01e","container":"video/mp4","metadata":{"width":640,"height":362},"id":"main"}
hls.mjs:18718 [log] > [buffer-controller]: SourceBuffers created. Running queue:
video: (SourceBuffer) change-type=video/mp4;codecs=avc1.42c01e
audio: (SourceBuffer) change-type=audio/mp4;codecs=mp4a.40.2
audiovideo: (none) }
hls.mjs:18131 [log] > [buffer-controller]: changing video sourceBuffer type to video/mp4;codecs=avc1.42c01e
hls.mjs:18131 [log] > [buffer-controller]: changing audio sourceBuffer type to audio/mp4;codecs=mp4a.40.2
hls.mjs:8326 [log] > [stream-controller]: Loaded main sn: 12 of level 0
hls.mjs:15545 [log] > [transmuxer.ts]: Flushed main sn: 12 of level 0
hls.mjs:9414 [log] > [stream-controller]: PARSING->PARSED
hls.mjs:9374 [log] > [stream-controller]: Parsed main sn: 12 of level 0 (frag:[60.021-130.026])
hls.mjs:30527 [log] > [level-controller]: Resetting level error count of 8 on frag buffered
hls.mjs:8483 [log] > [stream-controller]: Buffered main sn: 12 of level 0 (frag:[60.021-130.026] > buffer:[120.042-130.021])
hls.mjs:8496 [log] > [stream-controller]: Resetting level fragment error count of 6 on frag buffered
hls.mjs:9414 [log] > [stream-controller]: PARSED->IDLE
hls.mjs:31901 [log] > [stream-controller]: seek to target start position 60.032 from current time 0 buffer start 120.042333
hls.mjs:8036 [log] > [stream-controller]: media seeking to 120.063, state: IDLE
hls.mjs:8036 [log] > [audio-stream-controller]: media seeking to 120.063, state: STOPPED
hls.mjs:8036 [log] > [subtitle-stream-controller]: media seeking to 120.063, state: IDLE
hls.mjs:8036 [log] > [stream-controller]: media seeking to 120.063, state: IDLE
hls.mjs:8036 [log] > [audio-stream-controller]: media seeking to 120.063, state: STOPPED
hls.mjs:8036 [log] > [subtitle-stream-controller]: media seeking to 120.063, state: IDLE
hls.mjs:31069 [log] > [stream-controller]: Media seeked to 120.063
hls.mjs:30579 [log] > [level-controller]: Loading level index 0 with https://localstreaming.vbrick.com:3443/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps.m3u8
hls.mjs:16958 [log] > [level-controller]: live playlist 0 REFRESHED 13--1
hls.mjs:17037 [log] > [level-controller]: reload live playlist 0 in 9977 ms
hls.mjs:31540 [log] > [stream-controller]: Level 0 loaded [12,13][part-13--1], cc [0, 0] duration:80.005
hls.mjs:18663 [log] > [buffer-controller]: Updating MediaSource duration to 140.026
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 13 of level 0 (frag:[130.026-140.026]) cc: 0 [12-13], target: 130.026
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.mjs:9414 [log] > [stream-controller]: FRAG_LOADING->PARSING
hls.mjs:8326 [log] > [stream-controller]: Loaded main sn: 13 of level 0
hls.mjs:15545 [log] > [transmuxer.ts]: Flushed main sn: 13 of level 0
hls.mjs:9414 [log] > [stream-controller]: PARSING->PARSED
hls.mjs:9374 [log] > [stream-controller]: Parsed main sn: 13 of level 0 (frag:[130.021-140.032])
hls.mjs:8483 [log] > [stream-controller]: Buffered main sn: 13 of level 0 (frag:[130.021-140.032] > buffer:[120.042-140.021])
hls.mjs:9414 [log] > [stream-controller]: PARSED->IDLE
hls.mjs:33478 [log] > stopLoad
hls.mjs:9414 [log] > [stream-controller]: IDLE->STOPPED
hls.mjs:9414 [log] > [subtitle-stream-controller]: IDLE->STOPPED
hls.mjs:33397 [log] > detachMedia
hls.mjs:17935 [log] > [buffer-controller]: media source detaching
hls.mjs:33348 [log] > destroy
hls.mjs:33397 [log] > detachMedia

@robwalch
Copy link
Collaborator

The playlist updates in your logs look rather abnormal after restarting the the stream.

At the start the playlist grows to 60 seconds in length (so far so good).

hls.mjs:31540 [log] > [stream-controller]: Level 0 loaded [0,0], cc [0, 0] duration:10
hls.mjs:16958 [log] > [level-controller]: live playlist 0 MISSED
hls.mjs:31540 [log] > [stream-controller]: Level 0 loaded [0,0], cc [0, 0] duration:10.026666666666667
hls.mjs:16958 [log] > [level-controller]: live playlist 0 REFRESHED 1--1
hls.mjs:31540 [log] > [stream-controller]: Level 0 loaded [0,1][part-1--1], cc [0, 0] duration:20.026666666666667
hls.mjs:16958 [log] > [level-controller]: live playlist 0 REFRESHED 2--1
hls.mjs:31540 [log] > [stream-controller]: Level 0 loaded [0,2][part-2--1], cc [0, 0] duration:30.032
hls.mjs:16958 [log] > [level-controller]: live playlist 0 REFRESHED 3--1
hls.mjs:31540 [log] > [stream-controller]: Level 0 loaded [0,3][part-3--1], cc [0, 0] duration:40.037333333333336
hls.mjs:16958 [log] > [level-controller]: live playlist 0 REFRESHED 4--1
hls.mjs:31540 [log] > [stream-controller]: Level 0 loaded [0,4][part-4--1], cc [0, 0] duration:50.02133333333333
hls.mjs:16958 [log] > [level-controller]: live playlist 0 REFRESHED 5--1
hls.mjs:31540 [log] > [stream-controller]: Level 0 loaded [0,5][part-5--1], cc [0, 0] duration:60.026666666666664
hls.mjs:33478 [log] > stopLoad

But once you restart, besides the fragment 404s (which should be available for for 90 seconds (its length is 60 plus 3x target duration) from the last time is was retrieved, the playlist itself 404s and then when it does update, it contains only one segment, then two with a combined duration of 80 seconds (instead of the expected ~20):

[log] > startLoad(-1)

// fragments 404 - has it been more than 90 seconds?

hls.mjs:29048 [error] > 404 while loading https://localstreaming.vbrick.com:3443/5b444d9f-dd24-4bc0-977a-faee1983d68e-362p-688kbps.m3u8
hls.mjs:32972 [warn] > [playlist-loader]: A network error (status 404) occurred while loading level: 0 id: 0


hls.mjs:16958 [log] > [level-controller]: live playlist 0 REFRESHED 12--1
hls.mjs:31540 [log] > [stream-controller]: Level 0 loaded [12,12][part-12--1], cc [0, 0] duration:10
hls.mjs:16958 [log] > [level-controller]: live playlist 0 REFRESHED 13--1
hls.mjs:31540 [log] > [stream-controller]: Level 0 loaded [12,13][part-13--1], cc [0, 0] duration:80.005

I just pushed some additional changes that will enhance the logs that will help tell why your segments may not be considered stale after these changes: 30c05b3. If you could, please give it another run and share your logs again. Thank you.

@LalitAgrawala004
Copy link
Author

Here is the logs from latest commit. I have also attached HAR file from the network tab.

lalit.zip

Logs
[log] > loadSource:https://localstreaming.vbrick.com:3443/3203fab8-c858-4c69-b625-94ff791a7197.m3u8?reorderpackets=true
hls.mjs:31495 [log] > [stream-controller]: Trigger BUFFER_RESET
hls.mjs:30335 [log] > [level-controller]: manifest loaded, 1 level(s) found, first bitrate: 835584
hls.mjs:1475 [log] > [abr]: setting initial bwe to 835584
hls.mjs:17795 [log] > [buffer-controller]: 1 bufferCodec event(s) expected.
hls.mjs:30373 [log] > [level-controller]: force startLoad with configured startPosition -1
hls.mjs:33478 [log] > startLoad(-1)
hls.mjs:30421 [log] > [level-controller]: Switching to level 0 (SDR @835584) from level -1
hls.mjs:30585 [log] > [level-controller]: Loading level index 0 https://localstreaming.vbrick.com:3443/3203fab8-c858-4c69-b625-94ff791a7197-362p-688kbps.m3u8
hls.mjs:9414 [log] > [stream-controller]: STOPPED->IDLE
hls.mjs:9414 [log] > [subtitle-stream-controller]: STOPPED->IDLE
hls.mjs:17037 [log] > [level-controller]: reload live playlist 0 in 9984 ms
hls.mjs:31546 [log] > [stream-controller]: Level 0 loaded [1,1][part-1--1], cc [0, 0] duration:10
hls.mjs:9104 [log] > [stream-controller]: Live playlist sliding: 0.00 start-sn: na->1 prev-sn: na fragments: 1
hls.mjs:18665 [log] > [buffer-controller]: Updating MediaSource duration to 10.000
hls.mjs:8908 [log] > [stream-controller]: Setting startPosition to 0 to match initial live edge. mainStart: -1 liveSyncPosition: 0 frag.start: 0
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 1 of level 0 (frag:[0.000-10.000]) cc: 0 [1-1], target: 0
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.mjs:15930 [log] > [transmuxer-interface]: Starting new transmux session for main sn: 1 level: 0 id: 1
discontinuity: true
trackSwitch: true
contiguous: false
accurateTimeOffset: false
timeOffset: 0
initSegmentChange: true
hls.mjs:14312 [log] > [mp4-remuxer]: ISGenerated flag reset
hls.mjs:14303 [log] > [mp4-remuxer]: initPTS & initDTS reset
hls.mjs:14307 [log] > [mp4-remuxer]: reset next timestamp
hls.mjs:10056 [log] > manifest codec:undefined, parsed codec:mp4a.40.2, channels:2, rate:48000 (ADTS object type:2 sampling index:3)
hls.mjs:9414 [log] > [stream-controller]: FRAG_LOADING->PARSING
hls.mjs:32157 [log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[mp4a.40.2//mp4a.40.2]
hls.mjs:32180 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[/avc1.42c01e}]
hls.mjs:18046 [log] > [buffer-controller]: BUFFER_CODECS: "audio,video" (current SB count 0)
hls.mjs:18092 [log] > [buffer-controller]: switching codec undefined to mp4a.40.2
hls.mjs:18092 [log] > [buffer-controller]: switching codec undefined to avc1.42c01e
hls.mjs:18684 [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.42c01e","container":"video/mp4","metadata":{"width":640,"height":362},"id":"main"}}
hls.mjs:18751 [log] > [buffer-controller]: creating sourceBuffer(audio/mp4;codecs=mp4a.40.2) Queued {"listeners":[],"codec":"mp4a.40.2","container":"audio/mp4","levelCodec":"mp4a.40.2","metadata":{"channelCount":2},"id":"main"}
hls.mjs:18751 [log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.42c01e) Queued {"listeners":[],"codec":"avc1.42c01e","container":"video/mp4","metadata":{"width":640,"height":362},"id":"main"}
hls.mjs:18720 [log] > [buffer-controller]: SourceBuffers created. Running queue:
video: (SourceBuffer) change-type=video/mp4;codecs=avc1.42c01e
audio: (SourceBuffer) change-type=audio/mp4;codecs=mp4a.40.2
audiovideo: (none) }
hls.mjs:18133 [log] > [buffer-controller]: changing video sourceBuffer type to video/mp4;codecs=avc1.42c01e
hls.mjs:18133 [log] > [buffer-controller]: changing audio sourceBuffer type to audio/mp4;codecs=mp4a.40.2
hls.mjs:16138 [log] > [audio-stream-controller]: InitPTS for cc: 0 found from main: 1027920/90000
hls.mjs:8326 [log] > [stream-controller]: Loaded main sn: 1 of level 0
hls.mjs:15545 [log] > [transmuxer.ts]: Flushed main sn: 1 of level 0
hls.mjs:9414 [log] > [stream-controller]: PARSING->PARSED
hls.mjs:9374 [log] > [stream-controller]: Parsed main sn: 1 of level 0 (frag:[0.000-10.005])
hls.mjs:24692 [log] > [interstitials]: buffered to boundary [primary: 0.00-Infinity]
hls.mjs:8483 [log] > [stream-controller]: Buffered main sn: 1 of level 0 (frag:[0.000-10.005] > buffer:[0.000-10.000])
hls.mjs:9414 [log] > [stream-controller]: PARSED->IDLE
hls.mjs:30585 [log] > [level-controller]: Loading level index 0 age 10.0 https://localstreaming.vbrick.com:3443/3203fab8-c858-4c69-b625-94ff791a7197-362p-688kbps.m3u8
hls.mjs:16958 [log] > [level-controller]: live playlist 0 MISSED
hls.mjs:17037 [log] > [level-controller]: reload live playlist 0 in 4970 ms
hls.mjs:31546 [log] > [stream-controller]: Level 0 loaded [1,1][part-1--1], cc [0, 0] duration:10.005333333333333
hls.mjs:18665 [log] > [buffer-controller]: Updating MediaSource duration to 10.005
hls.mjs:30888 [warn] > [gap-controller]: Playback stalling at @9.94818 due to low buffer ({"len":0.05181900000000006,"start":0,"end":9.999999})

hls.mjs:30064 [warn] > [latency-controller]: Stall detected, adjusting target latency
[log] > [level-controller]: Loading level index 0 age 15.0 https://localstreaming.vbrick.com:3443/3203fab8-c858-4c69-b625-94ff791a7197-362p-688kbps.m3u8
hls.mjs:16958 [log] > [level-controller]: live playlist 0 REFRESHED 2--1
hls.mjs:17037 [log] > [level-controller]: reload live playlist 0 in 9979 ms
hls.mjs:31546 [log] > [stream-controller]: Level 0 loaded [1,2][part-2--1], cc [0, 0] duration:20.005333333333333
hls.mjs:18665 [log] > [buffer-controller]: Updating MediaSource duration to 20.005
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 2 of level 0 (frag:[10.005-20.005]) cc: 0 [1-2], target: 10.005
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.mjs:9414 [log] > [stream-controller]: FRAG_LOADING->PARSING
hls.mjs:8326 [log] > [stream-controller]: Loaded main sn: 2 of level 0
hls.mjs:15545 [log] > [transmuxer.ts]: Flushed main sn: 2 of level 0
hls.mjs:9414 [log] > [stream-controller]: PARSING->PARSED
hls.mjs:9374 [log] > [stream-controller]: Parsed main sn: 2 of level 0 (frag:[10.000-20.011])
hls.mjs:30737 [warn] > [gap-controller]: playback not stuck anymore @10.016411, after 4775ms

[log] > [stream-controller]: Buffered main sn: 2 of level 0 (frag:[10.000-20.011] > buffer:[0.000-20.000])
hls.mjs:9414 [log] > [stream-controller]: PARSED->IDLE
hls.mjs:30585 [log] > [level-controller]: Loading level index 0 age 10.0 https://localstreaming.vbrick.com:3443/3203fab8-c858-4c69-b625-94ff791a7197-362p-688kbps.m3u8
hls.mjs:16958 [log] > [level-controller]: live playlist 0 REFRESHED 3--1
hls.mjs:17037 [log] > [level-controller]: reload live playlist 0 in 9973 ms
hls.mjs:31546 [log] > [stream-controller]: Level 0 loaded [1,3][part-3--1], cc [0, 0] duration:30.010666666666665
hls.mjs:18665 [log] > [buffer-controller]: Updating MediaSource duration to 30.011
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 3 of level 0 (frag:[20.011-30.011]) cc: 0 [1-3], target: 20.011
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.mjs:9414 [log] > [stream-controller]: FRAG_LOADING->PARSING
hls.mjs:8326 [log] > [stream-controller]: Loaded main sn: 3 of level 0
hls.mjs:15545 [log] > [transmuxer.ts]: Flushed main sn: 3 of level 0
hls.mjs:9414 [log] > [stream-controller]: PARSING->PARSED
hls.mjs:9374 [log] > [stream-controller]: Parsed main sn: 3 of level 0 (frag:[20.000-30.000])
hls.mjs:8483 [log] > [stream-controller]: Buffered main sn: 3 of level 0 (frag:[20.000-30.000] > buffer:[0.000-29.995])
hls.mjs:9414 [log] > [stream-controller]: PARSED->IDLE
hls.mjs:33489 [log] > stopLoad
hls.mjs:9414 [log] > [stream-controller]: IDLE->STOPPED
hls.mjs:9414 [log] > [subtitle-stream-controller]: IDLE->STOPPED
hls.mjs:33408 [log] > detachMedia
hls.mjs:17937 [log] > [buffer-controller]: media source detaching

[log] > startLoad(-1)
hls.mjs:30585 [log] > [level-controller]: Loading level index 0 age 34.7 https://localstreaming.vbrick.com:3443/3203fab8-c858-4c69-b625-94ff791a7197-362p-688kbps.m3u8
hls.mjs:9414 [log] > [stream-controller]: STOPPED->IDLE
hls.mjs:9414 [log] > [subtitle-stream-controller]: STOPPED->IDLE
hls.mjs:33390 [log] > attachMedia
hls.mjs:17840 [log] > [buffer-controller]: created media source: MediaSource
hls.mjs:17636 [log] > [buffer-controller]: Media source opened
hls.mjs:18665 [log] > [buffer-controller]: Updating MediaSource duration to 30.000
hls.mjs:18684 [log] > [buffer-controller]: checkPendingTracks (pending: 0 codec events expected: 1) {}
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 1 of level 0 (frag:[0.000-10.000]) cc: 0 [1-3], target: 0
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING

hls.mjs:29052 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/9e3a83dc-732a-4f70-9f…9-b625-94ff791a7197/3203fab8-c858-4c69-b625-94ff791a7197-362p-688kbps-1.ts

hls.mjs:20673 [warn] > [content-steering]: Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":131434.30000007153}

[log] > [stream-controller]: FRAG_LOADING->IDLE
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 2 of level 0 (frag:[10.000-20.000]) cc: 0 [1-3], target: 10
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.mjs:29052 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/9e3a83dc-732a-4f70-9f…9-b625-94ff791a7197/3203fab8-c858-4c69-b625-94ff791a7197-362p-688kbps-2.ts
hls.mjs:20673 [warn] > [content-steering]: Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":131434.30000007153}

[log] > [stream-controller]: FRAG_LOADING->IDLE
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 3 of level 0 (frag:[20.000-30.000]) cc: 0 [1-3], target: 20
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING

hls.mjs:29052 [error] > 404 while loading https://localstreaming.vbrick.com:3443/live-streaming/9e3a83dc-732a-4f70-9f…9-b625-94ff791a7197/3203fab8-c858-4c69-b625-94ff791a7197-362p-688kbps-3.ts

hls.mjs:20673 [warn] > [content-steering]: Could not resolve fragLoadError ("HTTP Error 404 Not Found") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":131434.30000007153}
hls.mjs:9414 [log] > [stream-controller]: FRAG_LOADING->IDLE

hls.mjs:29052 [error] > 404 while loading https://localstreaming.vbrick.com:3443/3203fab8-c858-4c69-b625-94ff791a7197-362p-688kbps.m3u8

hls.mjs:32983 [warn] > [playlist-loader]: A network error (status 404) occurred while loading level: 0 id: 0
hls.mjs:20673 [warn] > [content-steering]: Could not resolve levelLoadError ("A network error (status 404) occurred while loading level: 0 id: 0") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":131434.30000007153}
hls.mjs:17092 [warn] > [level-controller]: Retrying playlist loading 1/3 after "levelLoadError" in 1500ms
[log] > [level-controller]: Loading level index 0 age 42.6 https://localstreaming.vbrick.com:3443/3203fab8-c858-4c69-b625-94ff791a7197-362p-688kbps.m3u8
hls.mjs:29052 [error] > 404 while loading https://localstreaming.vbrick.com:3443/3203fab8-c858-4c69-b625-94ff791a7197-362p-688kbps.m3u8

hls.mjs:32983 [warn] > [playlist-loader]: A network error (status 404) occurred while loading level: 0 id: 0
hls.mjs:20673 [warn] > [content-steering]: Could not resolve levelLoadError ("A network error (status 404) occurred while loading level: 0 id: 0") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":131434.30000007153}
hls.mjs:17092 [warn] > [level-controller]: Retrying playlist loading 2/3 after "levelLoadError" in 3000ms
[log] > [level-controller]: Loading level index 0 age 51.9 https://localstreaming.vbrick.com:3443/3203fab8-c858-4c69-b625-94ff791a7197-362p-688kbps.m3u8
hls.mjs:16958 [log] > [level-controller]: live playlist 0 REFRESHED 9--1
hls.mjs:17037 [log] > [level-controller]: reload live playlist 0 in 5803 ms
hls.mjs:31546 [log] > [stream-controller]: Level 0 loaded [9,9][part-9--1], cc [0, 0] duration:10
[log] > [buffer-controller]: Updating MediaSource duration to 40.000
hls.mjs:8908 [log] > [stream-controller]: Setting startPosition to 30 to match initial live edge. mainStart: 30 liveSyncPosition: 30 frag.start: 30
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 9 of level 0 (frag:[30.000-40.000]) cc: 0 [9-9], target: 30
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.mjs:15930 [log] > [transmuxer-interface]: Starting new transmux session for main sn: 9 level: 0 id: 1
discontinuity: true
trackSwitch: true
contiguous: false
accurateTimeOffset: false
timeOffset: 30
initSegmentChange: true
hls.mjs:14312 [log] > [mp4-remuxer]: ISGenerated flag reset
hls.mjs:14303 [log] > [mp4-remuxer]: initPTS & initDTS reset
hls.mjs:14307 [log] > [mp4-remuxer]: reset next timestamp
hls.mjs:10056 [log] > manifest codec:undefined, parsed codec:mp4a.40.2, channels:2, rate:48000 (ADTS object type:2 sampling index:3)
hls.mjs:14618 [warn] > AVC: 50000 ms (4500000dts) hole between fragments detected at 30.000

[log] > Video: Initial PTS/DTS adjusted: 30000/30000, delta: 50000 ms
hls.mjs:9414 [log] > [stream-controller]: FRAG_LOADING->PARSING
hls.mjs:32157 [log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[mp4a.40.2//mp4a.40.2]
hls.mjs:32180 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[/avc1.42c01e}]
hls.mjs:18046 [log] > [buffer-controller]: BUFFER_CODECS: "audio,video" (current SB count 0)
hls.mjs:18092 [log] > [buffer-controller]: switching codec undefined to mp4a.40.2
hls.mjs:18092 [log] > [buffer-controller]: switching codec undefined to avc1.42c01e
hls.mjs:18684 [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.42c01e","container":"video/mp4","metadata":{"width":640,"height":362},"id":"main"}}
hls.mjs:18751 [log] > [buffer-controller]: creating sourceBuffer(audio/mp4;codecs=mp4a.40.2) Queued {"listeners":[],"codec":"mp4a.40.2","container":"audio/mp4","levelCodec":"mp4a.40.2","metadata":{"channelCount":2},"id":"main"}
hls.mjs:18751 [log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.42c01e) Queued {"listeners":[],"codec":"avc1.42c01e","container":"video/mp4","metadata":{"width":640,"height":362},"id":"main"}
hls.mjs:18720 [log] > [buffer-controller]: SourceBuffers created. Running queue:
video: (SourceBuffer) change-type=video/mp4;codecs=avc1.42c01e
audio: (SourceBuffer) change-type=audio/mp4;codecs=mp4a.40.2
audiovideo: (none) }

[log] > [buffer-controller]: changing video sourceBuffer type to video/mp4;codecs=avc1.42c01e
hls.mjs:18133 [log] > [buffer-controller]: changing audio sourceBuffer type to audio/mp4;codecs=mp4a.40.2
hls.mjs:8326 [log] > [stream-controller]: Loaded main sn: 9 of level 0
hls.mjs:15545 [log] > [transmuxer.ts]: Flushed main sn: 9 of level 0
hls.mjs:9414 [log] > [stream-controller]: PARSING->PARSED
hls.mjs:9374 [log] > [stream-controller]: Parsed main sn: 9 of level 0 (frag:[30.000-90.010])
hls.mjs:30531 [log] > [level-controller]: Resetting level error count of 5 on frag buffered
hls.mjs:8483 [log] > [stream-controller]: Buffered main sn: 9 of level 0 (frag:[30.000-90.010] > buffer:[80.005-90.000])
hls.mjs:8496 [log] > [stream-controller]: Resetting level fragment error count of 3 on frag buffered
hls.mjs:9414 [log] > [stream-controller]: PARSED->IDLE
hls.mjs:31907 [log] > [stream-controller]: seek to target start position 30 from current time 0 buffer start 80.005
hls.mjs:8036 [log] > [stream-controller]: media seeking to 80.015, state: IDLE
hls.mjs:8036 [log] > [audio-stream-controller]: media seeking to 80.015, state: STOPPED
hls.mjs:8036 [log] > [subtitle-stream-controller]: media seeking to 80.015, state: IDLE
hls.mjs:8036 [log] > [stream-controller]: media seeking to 80.015, state: IDLE
hls.mjs:8036 [log] > [audio-stream-controller]: media seeking to 80.015, state: STOPPED
hls.mjs:8036 [log] > [subtitle-stream-controller]: media seeking to 80.015, state: IDLE
hls.mjs:31075 [log] > [stream-controller]: Media seeked to 80.015
hls.mjs:30585 [log] > [level-controller]: Loading level index 0 age 5.8 https://localstreaming.vbrick.com:3443/3203fab8-c858-4c69-b625-94ff791a7197-362p-688kbps.m3u8
hls.mjs:16958 [log] > [level-controller]: live playlist 0 MISSED
hls.mjs:17037 [log] > [level-controller]: reload live playlist 0 in 4973 ms
hls.mjs:31546 [log] > [stream-controller]: Level 0 loaded [9,9][part-9--1], cc [0, 0] duration:60.010333333333335
hls.mjs:18665 [log] > [buffer-controller]: Updating MediaSource duration to 90.010

hls.mjs:30888 [warn] > [gap-controller]: Playback stalling at @89.943189 due to low buffer ({"len":0.056809999999998695,"start":80.005,"end":89.999999})
hls.mjs:30064 [warn] > [latency-controller]: Stall detected, adjusting target latency
[log] > [level-controller]: Loading level index 0 age 10.8 https://localstreaming.vbrick.com:3443/3203fab8-c858-4c69-b625-94ff791a7197-362p-688kbps.m3u8
hls.mjs:16958 [log] > [level-controller]: live playlist 0 REFRESHED 10--1
hls.mjs:17037 [log] > [level-controller]: reload live playlist 0 in 9973 ms
hls.mjs:31546 [log] > [stream-controller]: Level 0 loaded [9,10][part-10--1], cc [0, 0] duration:70.01033333333334
hls.mjs:18665 [log] > [buffer-controller]: Updating MediaSource duration to 100.010
hls.mjs:8607 [log] > [stream-controller]: Loading main sn: 10 of level 0 (frag:[90.010-100.010]) cc: 0 [9-10], target: 90.01
hls.mjs:9414 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.mjs:9414 [log] > [stream-controller]: FRAG_LOADING->PARSING
hls.mjs:8326 [log] > [stream-controller]: Loaded main sn: 10 of level 0
hls.mjs:15545 [log] > [transmuxer.ts]: Flushed main sn: 10 of level 0
hls.mjs:9414 [log] > [stream-controller]: PARSING->PARSED
hls.mjs:9374 [log] > [stream-controller]: Parsed main sn: 10 of level 0 (frag:[90.000-100.016])
hls.mjs:30737 [warn] > [gap-controller]: playback not stuck anymore @90.014778, after 430ms
[log] > [stream-controller]: Buffered main sn: 10 of level 0 (frag:[90.000-100.016] > buffer:[80.005-100.000])
hls.mjs:9414 [log] > [stream-controller]: PARSED->IDLE
hls.mjs:33489 [log] > stopLoad
hls.mjs:9414 [log] > [stream-controller]: IDLE->STOPPED
hls.mjs:9414 [log] > [subtitle-stream-controller]: IDLE->STOPPED
hls.mjs:33408 [log] > detachMedia
hls.mjs:17937 [log] > [buffer-controller]: media source detaching

@robwalch
Copy link
Collaborator

robwalch commented Nov 20, 2024

The segments are 404ing too early. Segments removed from a live HLS playlist should remain available for the duration of the playlist plus the duration of the segment. With #6855 HLS.js will only ignore segments in the playlist if it was loaded more than the total duration plus three target durations (so ~60 seconds in this case). The last response was only 34.7 seconds ago ("age") so the segments should still be available:

hls.mjs:30585 [log] > [level-controller]: Loading level index 0 age 10.0 ...m3u8
hls.mjs:16958 [log] > [level-controller]: live playlist 0 REFRESHED 3--1
hls.mjs:17037 [log] > [level-controller]: reload live playlist 0 in 9973 ms
hls.mjs:31546 [log] > [stream-controller]: Level 0 loaded [1,3][part-3--1], cc [0, 0] duration:30.010666666666665
hls.mjs:33489 [log] > stopLoad
...
[log] > startLoad(-1)
hls.mjs:30585 [log] > [level-controller]: Loading level index 0 age 34.7 ...m3u8

@robwalch
Copy link
Collaborator

Made one more update to reduce the expected availability to playlist duration + target duration (from duration + 3 target durations): e9fd578

@LalitAgrawala004
Copy link
Author

@robwalch understood .. I took the latest build this morning and tested it .. it is working the way you mentioned. I need to talk to my backend team to fix the clean up of playlist. Thanks for looking into it. May I know when the fix will be available?

image

@robwalch
Copy link
Collaborator

The fix will be available in pre-release with v1.6.0-beta.2 coming within the next week. v1.6.0 will be in beta until the start of 2025.

@robwalch
Copy link
Collaborator

You can workaround this issue in v1.5 by removing Level.details on stopLoad or detach, and/or by calling hls.pauseBuffering() before startLoad() followed by hls.resumeBuffering() following LEVEL_UPDATED.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Confirmed Enhancement Stream Issue Suggested-Workaround Verify Fixed An unreleased bug fix has been merged and should be verified before closing.
Projects
None yet
2 participants