video-dev / hls.js

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

Live streams stops playback without error on Set top box and goes to waiting state #4954

Open kiran-dcunha opened 1 year ago

kiran-dcunha commented 1 year ago

What version of Hls.js are you using?

1.2.4

What browser (including version) are you using?

Set Top Box ("Mozilla/5.0 (Astro;AS620SM;1.21) AppleWebKit/602.1.28+ (KHTML, like Gecko) Version/9.1 Safari/601.5.17")

What OS (including version) are you using?

Custom

Test stream

No response

Configuration

{
  debug: true,
}

Additional player setup steps

No response

Checklist

Steps to reproduce

  1. Start playback of hls live stream

Expected behaviour

Playback should happen seamlessly

What actually happened?

Playback stops after a while without error. m3u8 files keep downloading, but no ts file is downloaded.

NOTE: Playback works on other browsers and platforms without issue.

Console output

[log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 333 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334158,10334172], cc [64, 64] duration:30.004" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Updating Media Source duration to 30.004" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 666 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334158,10334172], cc [64, 64] duration:30.004" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 999 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334158,10334172], cc [64, 64] duration:30.004" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 REFRESHED 10334174--1" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 2000 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334160,10334174], cc [64, 64] duration:30.004000000000005" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loading fragment 10334173 cc: 64 of [10334160-10334174] level: 0, target: 30.004" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "IDLE->FRAG_LOADING" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Updating Media Source duration to 34.004" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loaded fragment 10334173 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "FRAG_LOADING->PARSING" (hls.min.js, line 1)
 [log] > – "[transmuxer.ts]: Flushed fragment 10334173 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSING->PARSED" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Buffered main sn: 10334173 of level 0 [24.009,31.880]" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSED->IDLE" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loading fragment 10334174 cc: 64 of [10334160-10334174] level: 0, target: 32" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "IDLE->FRAG_LOADING" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loaded fragment 10334174 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "FRAG_LOADING->PARSING" (hls.min.js, line 1)
 [log] > – "[transmuxer.ts]: Flushed fragment 10334174 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSING->PARSED" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Buffered main sn: 10334174 of level 0 [24.009,31.880][32.000,33.880]" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSED->IDLE" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,26] from the audio SourceBuffer" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,26] from the video SourceBuffer" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 666 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334160,10334174], cc [64, 64] duration:30.014666666666663" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Updating Media Source duration to 34.015" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 999 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334160,10334174], cc [64, 64] duration:30.014666666666663" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,28] from the audio SourceBuffer" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,28] from the video SourceBuffer" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 REFRESHED 10334176--1" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 2000 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334162,10334176], cc [64, 64] duration:30.014666666666663" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loading fragment 10334175 cc: 64 of [10334162-10334176] level: 0, target: 34.015" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "IDLE->FRAG_LOADING" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Updating Media Source duration to 38.015" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loaded fragment 10334175 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "FRAG_LOADING->PARSING" (hls.min.js, line 1)
 [log] > – "[transmuxer.ts]: Flushed fragment 10334175 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSING->PARSED" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Buffered main sn: 10334175 of level 0 [28.000,31.880][32.000,33.880][34.000,35.880]" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSED->IDLE" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loading fragment 10334176 cc: 64 of [10334162-10334176] level: 0, target: 36" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "IDLE->FRAG_LOADING" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loaded fragment 10334176 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "FRAG_LOADING->PARSING" (hls.min.js, line 1)
 [log] > – "[transmuxer.ts]: Flushed fragment 10334176 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSING->PARSED" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Buffered main sn: 10334176 of level 0 [28.000,31.880][32.000,33.880][34.000,35.880][36.000,37.920]" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSED->IDLE" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,30] from the audio SourceBuffer" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,30] from the video SourceBuffer" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 666 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334162,10334176], cc [64, 64] duration:30.003999999999998" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 999 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334162,10334176], cc [64, 64] duration:30.003999999999998" (hls.min.js, line 1)
[Warning] [warn] > – "skipping hole, adjusting currentTime from 33.716021888 to 34.05" (hls.min.js, line 1)
 onHlsErrorEvent – "hlsError" – {type: "mediaError", details: "bufferSeekOverHole", fatal: false, …} (hls-index.js, line 339)
{type: "mediaError", details: "bufferSeekOverHole", fatal: false, reason: "fragment loaded with buffer holes, seeking from 33.716021888 to 34.05", frag: e}Object
 onHlsErrorEvent: mediaError,bufferSeekOverHole,false (index.js, line 465)
 seeking (index.js, line 465)
 [log] > – "[stream-controller]:" – "media seeking to 34.050, state: IDLE" (hls.min.js, line 1)
 [log] > – "[audio-stream-controller]:" – "media seeking to 34.050, state: STOPPED" (hls.min.js, line 1)
 [log] > – "[subtitle-stream-controller]:" – "media seeking to 34.050, state: IDLE" (hls.min.js, line 1)
 waiting (index.js, line 465)
 hlswaiting (index.js, line 465)
 seeked (index.js, line 465)
 [log] > – "[stream-controller]:" – "Media seeked to 34.050" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,32] from the audio SourceBuffer" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,32] from the video SourceBuffer" (hls.min.js, line 1)
 playing:11347 (index.js, line 465)
 hlsplaying (index.js, line 465)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 1332 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334162,10334176], cc [64, 64] duration:30.003999999999998" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 REFRESHED 10334178--1" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 2000 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334164,10334178], cc [64, 64] duration:30.003999999999998" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loading fragment 10334177 cc: 64 of [10334164-10334178] level: 0, target: 38.004" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "IDLE->FRAG_LOADING" (hls.min.js, line 1)
[Warning] [warn] > – "skipping hole, adjusting currentTime from 35.806644444 to 36.05" (hls.min.js, line 1)
 onHlsErrorEvent – "hlsError" – {type: "mediaError", details: "bufferSeekOverHole", fatal: false, …} (hls-index.js, line 339)
{type: "mediaError", details: "bufferSeekOverHole", fatal: false, reason: "fragment loaded with buffer holes, seeking from 35.806644444 to 36.05", frag: e}Object
 onHlsErrorEvent: mediaError,bufferSeekOverHole,false (index.js, line 465)
 [log] > – "[buffer-controller]: Updating Media Source duration to 42.004" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loaded fragment 10334177 of level 0" (hls.min.js, line 1)
 seeking (index.js, line 465)
 [log] > – "[stream-controller]:" – "media seeking to 36.050, state: FRAG_LOADING" (hls.min.js, line 1)
 [log] > – "[audio-stream-controller]:" – "media seeking to 36.050, state: STOPPED" (hls.min.js, line 1)
 [log] > – "[subtitle-stream-controller]:" – "media seeking to 36.050, state: IDLE" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "FRAG_LOADING->PARSING" (hls.min.js, line 1)
 [log] > – "[transmuxer.ts]: Flushed fragment 10334177 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSING->PARSED" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Buffered main sn: 10334177 of level 0 [32.000,33.880][34.000,35.880][36.000,39.920]" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSED->IDLE" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loading fragment 10334178 cc: 64 of [10334164-10334178] level: 0, target: 40" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "IDLE->FRAG_LOADING" (hls.min.js, line 1)
 waiting (index.js, line 465)
 hlswaiting (index.js, line 465)
 seeked (index.js, line 465)
 [log] > – "[stream-controller]:" – "Media seeked to 36.050" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,34] from the audio SourceBuffer" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,34] from the video SourceBuffer" (hls.min.js, line 1)
 playing:13646 (index.js, line 465)
 hlsplaying (index.js, line 465)
 [log] > – "[stream-controller]:" – "Loaded fragment 10334178 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "FRAG_LOADING->PARSING" (hls.min.js, line 1)
 [log] > – "[transmuxer.ts]: Flushed fragment 10334178 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSING->PARSED" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Buffered main sn: 10334178 of level 0 [34.000,35.880][36.000,41.880]" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSED->IDLE" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 999 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334164,10334178], cc [64, 64] duration:30.014666666666663" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Updating Media Source duration to 42.015" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,36] from the audio SourceBuffer" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,36] from the video SourceBuffer" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 REFRESHED 10334180--1" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 2000 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334166,10334180], cc [64, 64] duration:30.014666666666663" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loading fragment 10334179 cc: 64 of [10334166-10334180] level: 0, target: 42.015" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "IDLE->FRAG_LOADING" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Updating Media Source duration to 46.015" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loaded fragment 10334179 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "FRAG_LOADING->PARSING" (hls.min.js, line 1)
 [log] > – "[transmuxer.ts]: Flushed fragment 10334179 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSING->PARSED" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Buffered main sn: 10334179 of level 0 [36.000,41.880][42.000,43.880]" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSED->IDLE" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loading fragment 10334180 cc: 64 of [10334166-10334180] level: 0, target: 44" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "IDLE->FRAG_LOADING" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loaded fragment 10334180 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "FRAG_LOADING->PARSING" (hls.min.js, line 1)
 [log] > – "[transmuxer.ts]: Flushed fragment 10334180 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSING->PARSED" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Buffered main sn: 10334180 of level 0 [36.000,41.880][42.000,43.880][44.000,45.880]" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSED->IDLE" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,38] from the audio SourceBuffer" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,38] from the video SourceBuffer" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 666 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334166,10334180], cc [64, 64] duration:30.003999999999998" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 999 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334166,10334180], cc [64, 64] duration:30.003999999999998" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 REFRESHED 10334182--1" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 2000 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334168,10334182], cc [64, 64] duration:30.003999999999998" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loading fragment 10334181 cc: 64 of [10334168-10334182] level: 0, target: 46.004" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "IDLE->FRAG_LOADING" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Updating Media Source duration to 50.004" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loaded fragment 10334181 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "FRAG_LOADING->PARSING" (hls.min.js, line 1)
 [log] > – "[transmuxer.ts]: Flushed fragment 10334181 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSING->PARSED" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Buffered main sn: 10334181 of level 0 [38.000,41.880][42.000,43.880][44.000,45.880][46.000,47.920]" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSED->IDLE" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loading fragment 10334182 cc: 64 of [10334168-10334182] level: 0, target: 48" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "IDLE->FRAG_LOADING" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loaded fragment 10334182 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "FRAG_LOADING->PARSING" (hls.min.js, line 1)
 [log] > – "[transmuxer.ts]: Flushed fragment 10334182 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSING->PARSED" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Buffered main sn: 10334182 of level 0 [38.000,41.880][42.000,43.880][44.000,45.880][46.000,49.880]" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSED->IDLE" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,40] from the audio SourceBuffer" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,40] from the video SourceBuffer" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 666 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334168,10334182], cc [64, 64] duration:30.014666666666663" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Updating Media Source duration to 50.015" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 999 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334168,10334182], cc [64, 64] duration:30.014666666666663" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,42] from the audio SourceBuffer" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,42] from the video SourceBuffer" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 1332 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334168,10334182], cc [64, 64] duration:30.014666666666663" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 REFRESHED 10334184--1" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 2000 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334170,10334184], cc [64, 64] duration:30.014666666666663" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loading fragment 10334183 cc: 64 of [10334170-10334184] level: 0, target: 50.015" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "IDLE->FRAG_LOADING" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Updating Media Source duration to 54.015" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loaded fragment 10334183 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "FRAG_LOADING->PARSING" (hls.min.js, line 1)
 [log] > – "[transmuxer.ts]: Flushed fragment 10334183 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSING->PARSED" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Buffered main sn: 10334183 of level 0 [42.000,43.880][44.000,45.880][46.000,49.880][50.000,51.880]" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSED->IDLE" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loading fragment 10334184 cc: 64 of [10334170-10334184] level: 0, target: 52" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "IDLE->FRAG_LOADING" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loaded fragment 10334184 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "FRAG_LOADING->PARSING" (hls.min.js, line 1)
 [log] > – "[transmuxer.ts]: Flushed fragment 10334184 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSING->PARSED" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Buffered main sn: 10334184 of level 0 [42.000,43.880][44.000,45.880][46.000,49.880][50.000,51.880][52.000,53.840]" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSED->IDLE" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,46] from the audio SourceBuffer" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Removing [0,46] from the video SourceBuffer" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 999 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334170,10334184], cc [64, 64] duration:30.003999999999998" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 REFRESHED 10334186--1" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 2000 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334172,10334186], cc [64, 64] duration:30.003999999999998" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loading fragment 10334185 cc: 64 of [10334172-10334186] level: 0, target: 54.004" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "IDLE->FRAG_LOADING" (hls.min.js, line 1)
 [log] > – "[buffer-controller]: Updating Media Source duration to 58.004" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Loaded fragment 10334185 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "FRAG_LOADING->PARSING" (hls.min.js, line 1)
 [log] > – "[transmuxer.ts]: Flushed fragment 10334185 of level 0" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "PARSING->PARSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 666 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334172,10334186], cc [64, 64] duration:30.00933333333333" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 999 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334172,10334186], cc [64, 64] duration:30.00933333333333" (hls.min.js, line 1)
 waiting (index.js, line 465)
 hlswaiting (index.js, line 465)
 waiting (index.js, line 465)
 hlswaiting (index.js, line 465)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 1332 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334172,10334186], cc [64, 64] duration:30.00933333333333" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 REFRESHED 10334188--1" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 2000 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334174,10334188], cc [64, 64] duration:30.00933333333333" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 999 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334174,10334188], cc [64, 64] duration:30.00933333333333" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 REFRESHED 10334190--1" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 2000 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334176,10334190], cc [64, 64] duration:30.00933333333333" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 666 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334176,10334190], cc [64, 64] duration:30.00933333333333" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 999 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334176,10334190], cc [64, 64] duration:30.00933333333333" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 REFRESHED 10334192--1" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 2000 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334178,10334192], cc [64, 64] duration:30.00933333333333" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 666 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334178,10334192], cc [64, 64] duration:30.00933333333333" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 999 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334178,10334192], cc [64, 64] duration:30.00933333333333" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 1332 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334178,10334192], cc [64, 64] duration:30.00933333333333" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 REFRESHED 10334194--1" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 2000 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334180,10334194], cc [64, 64] duration:30.00933333333333" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "Attempt loading level index 0 at sn undefined part undefined with URL-id …" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "live playlist 0 MISSED" (hls.min.js, line 1)
 [log] > – "[level-controller]:" – "reload live playlist 0 in 999 ms" (hls.min.js, line 1)
 [log] > – "[stream-controller]:" – "Level 0 loaded [10334180,10334194], cc [64, 64] duration:30.00933333333333" (hls.min.js, line 1)

Chrome media internals output

No response

robwalch commented 1 year ago

Looks like stream-controller went into a PARSED state and never left that state:

[log] > – "[stream-controller]:" – "PARSING->PARSED" (hls.min.js, line 1)

It is expected that parsed media will be appended (calling fragBufferedComplete) and that that will return the stream-controller to the PARSED->IDLE state to load the next segment.

If this happens on other devices and browsers check your stream's validity, and share a sample that can be used to repro the issue.

If the issue is specific to the device you are testing on you'll need to add some logs or do some debugging in buffer-controller starting with onFragParsed and following through blockBuffers for append and the operation queue. These lines in particular can be uncommented to follow whether MSE appends behave as expected: https://github.com/video-dev/hls.js/blob/master/src/controller/buffer-controller.ts#L365-L369

kiran-dcunha commented 1 year ago

image I can see that just before the playback stops, video buffers updatestart event is not followed by updateend.