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.77k stars 2.57k forks source link

Video freezing when switching quality #5653

Open Sasha9393 opened 1 year ago

Sasha9393 commented 1 year ago

What version of Hls.js are you using?

v1.4.7

What browser (including version) are you using?

Chrome 114 (114.0.5735.130/.131)

What OS (including version) are you using?

Samsung S23 Ultra or Samsung S22 Ultra

Test stream

https://nvms14.cdn.privatehost.com/hls/contents/videos/75000/75624/75624,.mp4,_360p.mp4,_720p.mp4,?&lra=5000k&c=9&exp_time=1689248297&sign=33930a4fce1ac6060e4930ba28671884

Configuration

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

Additional player setup steps

No response

Checklist

Steps to reproduce

  1. on the demo https://hlsjs.video-dev.org/demo/
  2. start the video
  3. switch to 360p quality

Expected behaviour

toggle quality and the video plays on

What actually happened?

the video stops. The player shows that it is trying to play the video but cannot

Console output

31.165 | Media element detached
31.173 | Loading https://nvms14.cdn.privatehost.com/hls/contents/videos/75000/75624/75624,.mp4,_360p.mp4,_720p.mp4,?&lra=5000k&c=9&exp_time=1689248297&sign=33930a4fce1ac6060e4930ba28671884
31.198 | Loading manifest and attaching video element...
31.269 | Media element attached
31.418 | 3 quality levels found
31.419 | Manifest successfully loaded, trying to recover media error.
37.436 | Media element detached
37.444 | The video playback was aborted due to a corruption problem or because the video used features your browser did not support - PIPELINE_ERROR_DECODE: video decoder reinitialization failed
37.535 | Media element attached, trying to recover media error.
49.727 | Media element detached
49.738 | The video playback was aborted due to a corruption problem or because the video used features your browser did not support - PIPELINE_ERROR_DECODE: video decode error!
49.84 | Media element attached, trying to recover media error.
57.242 | Media element detached
57.248 | The video playback was aborted due to a corruption problem or because the video used features your browser did not support - PIPELINE_ERROR_DECODE: video decoder reinitialization failed
57.338 | Media element attached

Chrome media internals output

No response

robwalch commented 1 year ago

https://nvms14.cdn.privatehost.com/hls/contents/videos/75000/75624/75624,.mp4,_360p.mp4,_720p.mp4,?&lra=5000k&c=9&exp_time=1689248297&sign=33930a4fce1ac6060e4930ba28671884

Provided test has expired / 403s.

Sasha9393 commented 1 year ago

https://nvms14.cdn.privatehost.com/hls/contents/videos/75000/75624/75624,.mp4,_360p.mp4,_720p.mp4,?&lra=5000k&c=9&exp_time=1689248297&sign=33930a4fce1ac6060e4930ba28671884

Provided test has expired / 403s.

Sorry, I didn't realize that! Here's the correct link. https://nvms14.cdn.privatehost.com/hls/contents/videos/75000/75624/75624,_720p.mp4,.mp4,_360p.mp4,?&lra=5000k&c=9&sign=3466ed2b873e7f431ad38d486c72dd99

Sasha9393 commented 1 year ago

https://nvms14.cdn.privatehost.com/hls/contents/videos/75000/75624/75624,.mp4,_360p.mp4,_720p.mp4,?&lra=5000k&c=9&exp_time=1689248297&sign=33930a4fce1ac6060e4930ba28671884

Provided test has expired / 403s.

Excuse me, have you seen my new link?

robwalch commented 1 year ago

Hi @Sasha9393,

Thanks for the updated example. Have tried playing it using the latest version v1.4.9?

5632 is a good example of a media decode error that was isolated to a particular segment, and the remuxed output. For this it sounds specific to Samsung mobile devices. Isolating the issue to a specific variant and segment or set of these would be very helpful. If it only happens when level switching then perhaps it could also be reproduced with a discontinuity from one resolution to another in a single playlist. As I am not able to reproduce it on a desktop device, I recommend reporting the issue to Samsung.

Sasha9393 commented 1 year ago

Yes I tried v1.4.9. The error remains. Here is my log

[log] > destroy
[log] > detachMedia
[log] > [buffer-controller]: media source detaching
[log] > [stream-controller]: IDLE->STOPPED
[log] > [subtitle-stream-controller]: IDLE->STOPPED
hls-demo.js:24434 Using Hls.js config: {debug: true, enableWorker: true, lowLatencyMode: true, backBufferLength: 90}
[log] > Debug logs enabled for "Hls instance" in hls.js version 1.4.9
[log] > stopLoad
[log] > loadSource:https://nvms14.cdn.privatehost.com/hls/contents/videos/75000/75624/75624,_720p.mp4,.mp4,_360p.mp4,?&lra=5000k&c=9&sign=3466ed2b873e7f431ad38d486c72dd99
[log] > [stream-controller]: Trigger BUFFER_RESET
[log] > attachMedia
[log] > [buffer-controller]: Media source opened
[log] > [subtitle-stream-controller]: STOPPED->IDLE
[log] > [level-controller]: manifest loaded, 3 level(s) found, first bitrate: 2562826
[log] > 1 bufferCodec event(s) expected
[log] > startLoad(-1)
[log] > [level-controller]: Switching to level 2 from level -1
[log] > [level-controller]: Loading level index 2 with URI 1/1 https://nvms14.cdn.privatehost.com/media/nvme2/e28f20ce-41a5-5b31-a748-37281229e846/75624_720p.mp4/index-v1-a1.m3u8?&c=9&lra=5000k&sign=4146025e49139fd0dc9a9b4f72099be7
[log] > [stream-controller]: STOPPED->IDLE
[log] > [subtitle-stream-controller]: IDLE->STOPPED
[log] > [subtitle-stream-controller]: STOPPED->IDLE
[log] > [stream-controller]: Level 2 loaded [1,64][part-64--1], cc [0, 0] duration:315.36
[log] > [buffer-controller]: Updating Media Source duration to 315.360
[log] > [stream-controller]: Loading fragment 1 cc: 0 of [1-64] level: 2, target: 0
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > injecting Web Worker for "main"
[log] > [transmuxer-interface, main]: Starting new transmux session for sn: 1 p: -1 level: 2 id: 1
        discontinuity: true
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: true
        timeOffset: 0
        initSegmentChange: true
[log] > [stream-controller]: Loaded fragment 1 of level 2
[log] > Debug logs enabled for "main" in hls.js version 1.4.9
[log] > [mp4-remuxer]: ISGenerated flag reset
[log] > [mp4-remuxer]: initPTS & initDTS reset
[log] > [mp4-remuxer]: reset next timestamp
[log] > manifest codec:mp4a.40.2, ADTS type:2, samplingIndex:4
[log] > parsed codec:mp4a.40.2, rate:44100, channels:2
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [stream-controller]: Android: force audio codec to mp4a.40.2
[log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[mp4a.40.2/mp4a.40.2/mp4a.40.2]
[log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.640029/avc1.640029]
[log] > [buffer-controller]: creating sourceBuffer(audio/mp4;codecs=mp4a.40.2)
[log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.640029)
[log] > [audio-stream-controller]: InitPTS for cc: 0 found from main: 9090
[log] > [transmuxer.ts]: Flushed fragment 1 of level 2
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 1 of level 2 (frag:[0.000-5.016] > buffer:[0.000-5.000])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 2 cc: 0 of [1-64] level: 2, target: 5
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 2 of level 2
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 2 of level 2
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 2 of level 2 (frag:[5.000-10.008] > buffer:[0.000-10.000])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 3 cc: 0 of [1-64] level: 2, target: 10
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 3 of level 2
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 3 of level 2
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 3 of level 2 (frag:[10.000-15.000] > buffer:[0.000-15.000])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 4 cc: 0 of [1-64] level: 2, target: 15
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 4 of level 2
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 4 of level 2
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 4 of level 2 (frag:[15.000-20.016] > buffer:[0.000-20.000])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 5 cc: 0 of [1-64] level: 2, target: 20
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 5 of level 2
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 5 of level 2
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 5 of level 2 (frag:[20.000-25.008] > buffer:[0.000-25.000])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 6 cc: 0 of [1-64] level: 2, target: 25
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 6 of level 2
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 6 of level 2
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 6 of level 2 (frag:[25.000-30.000] > buffer:[0.000-30.000])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 7 cc: 0 of [1-64] level: 2, target: 30
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 7 of level 2
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 7 of level 2
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 7 of level 2 (frag:[30.000-35.016] > buffer:[0.000-35.000])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 8 cc: 0 of [1-64] level: 2, target: 35
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 8 of level 2
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 8 of level 2
[log] > [stream-controller]: PARSING->PARSED
[log] > set currentLevel:0
[log] > set loadLevel:0
[log] > [level-controller]: Switching to level 0 from level 2
[log] > [level-controller]: Loading level index 0 with URI 1/1 https://nvms14.cdn.privatehost.com/media/nvme2/e28f20ce-41a5-5b31-a748-37281229e846/75624_360p.mp4/index-v1-a1.m3u8?&c=9&lra=5000k&sign=7f4a980ed8c382d9ac88d3a190a58d64
[log] > [stream-controller]: PARSED->IDLE
[log] > [level-controller]: Switching to level 0 from level 0
[log] > [level-controller]: Loading level index 0 with URI 1/1 https://nvms14.cdn.privatehost.com/media/nvme2/e28f20ce-41a5-5b31-a748-37281229e846/75624_360p.mp4/index-v1-a1.m3u8?&c=9&lra=5000k&sign=7f4a980ed8c382d9ac88d3a190a58d64
[log] > [stream-controller]: IDLE->WAITING_LEVEL
[log] > [stream-controller]: Level 0 loaded [1,64][part-64--1], cc [0, 0] duration:315.36
[log] > [stream-controller]: WAITING_LEVEL->IDLE
[log] > [stream-controller]: Loading fragment 8 cc: 0 of [1-64] level: 0, target: 36.88
[log] > [stream-controller]: IDLE->FRAG_LOADING
[warn] > [stream-controller]: Fragment 8 of level 2 finished buffering, but was aborted. state: FRAG_LOADING
onFragBuffered @ hls.js:15981
emit @ hls.js:14429
emit @ hls.js:25675
trigger @ hls.js:25679
onUnblocked @ hls.js:19234
(anonymous) @ hls.js:19562
Promise.then (async)
blockBuffers @ hls.js:19560
onFragParsed @ hls.js:19244
emit @ hls.js:14429
emit @ hls.js:25675
trigger @ hls.js:25679
updateLevelTiming @ hls.js:9822
_handleTransmuxerFlush @ hls.js:9206
onWorkerMessage @ hls.js:15004
TransmuxerInterface.onwmsg @ hls.js:14806
[log] > [buffer-controller]: Removing [0,315.36] from the audio SourceBuffer
[log] > [buffer-controller]: Removing [0,315.36] from the video SourceBuffer
[log] > [transmuxer-interface, main]: Starting new transmux session for sn: 8 p: -1 level: 0 id: 1
        discontinuity: false
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: true
        timeOffset: 35
        initSegmentChange: false
[log] > [stream-controller]: Loaded fragment 8 of level 0
[log] > [mp4-remuxer]: ISGenerated flag reset
[log] > [mp4-remuxer]: initPTS & initDTS reset
[log] > [mp4-remuxer]: reset next timestamp
[log] > manifest codec:mp4a.40.2, ADTS type:2, samplingIndex:4
[log] > parsed codec:mp4a.40.2, rate:44100, channels:2
[warn] > [mp4-remuxer]: Dropped 25 out of 125 video samples due to a missing keyframe
onWorkerMessage @ hls.js:15011
TransmuxerInterface.onwmsg @ hls.js:14806
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [stream-controller]: Android: force audio codec to mp4a.40.2
[log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[mp4a.40.2/mp4a.40.2/mp4a.40.2]
[log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.640029/avc1.640029]
[log] > [stream-controller]: PARSING->IDLE
[log] > [stream-controller]: Loading fragment 1 cc: 0 of [1-64] level: 0, target: 4.102
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [buffer-controller]: Removing [0,35] from the audio SourceBuffer
[log] > [buffer-controller]: Removing [0,35] from the video SourceBuffer
[log] > injecting Web Worker for "main"
[log] > [transmuxer-interface, main]: Starting new transmux session for sn: 1 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: true
        timeOffset: 0
        initSegmentChange: true
[log] > [stream-controller]: Loaded fragment 1 of level 0
[log] > Debug logs enabled for "main" in hls.js version 1.4.9
[log] > [mp4-remuxer]: ISGenerated flag reset
[log] > [mp4-remuxer]: initPTS & initDTS reset
[log] > [mp4-remuxer]: reset next timestamp
[log] > manifest codec:mp4a.40.2, ADTS type:2, samplingIndex:4
[log] > parsed codec:mp4a.40.2, rate:44100, channels:2
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [stream-controller]: Android: force audio codec to mp4a.40.2
[log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[mp4a.40.2/mp4a.40.2/mp4a.40.2]
[log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.640029/avc1.640029]
[log] > [transmuxer.ts]: Flushed fragment 1 of level 0
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 1 of level 0 (frag:[0.000-5.120] > buffer:[0.120-5.016])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 2 cc: 0 of [1-64] level: 0, target: 5.016
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 2 of level 0
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 2 of level 0
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 2 of level 0 (frag:[5.016-10.120] > buffer:[0.120-10.008])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 3 cc: 0 of [1-64] level: 0, target: 10.008
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 3 of level 0
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 3 of level 0
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 3 of level 0 (frag:[10.008-15.120] > buffer:[0.120-15.000])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 4 cc: 0 of [1-64] level: 0, target: 15
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 4 of level 0
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 4 of level 0
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 4 of level 0 (frag:[15.000-20.120] > buffer:[0.120-20.016])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 5 cc: 0 of [1-64] level: 0, target: 20.016
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 5 of level 0
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 5 of level 0
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 5 of level 0 (frag:[20.016-25.120] > buffer:[0.120-25.008])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 6 cc: 0 of [1-64] level: 0, target: 25.008
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 6 of level 0
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 6 of level 0
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 6 of level 0 (frag:[25.008-30.120] > buffer:[0.120-30.000])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 7 cc: 0 of [1-64] level: 0, target: 30
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 7 of level 0
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 7 of level 0
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 7 of level 0 (frag:[30.000-35.120] > buffer:[0.120-35.016])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 8 cc: 0 of [1-64] level: 0, target: 35.016
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 8 of level 0
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 8 of level 0
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 8 of level 0 (frag:[35.016-40.120] > buffer:[0.120-40.008])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 9 cc: 0 of [1-64] level: 0, target: 40.008
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 9 of level 0
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 9 of level 0
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 9 of level 0 (frag:[40.008-45.120] > buffer:[0.120-45.000])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 10 cc: 0 of [1-64] level: 0, target: 45
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 10 of level 0
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 10 of level 0
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 10 of level 0 (frag:[45.000-50.120] > buffer:[0.120-50.016])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 11 cc: 0 of [1-64] level: 0, target: 50.016
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 11 of level 0
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 11 of level 0
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 11 of level 0 (frag:[50.016-55.120] > buffer:[0.120-55.008])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 12 cc: 0 of [1-64] level: 0, target: 55.008
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 12 of level 0
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 12 of level 0
[log] > [stream-controller]: PARSING->PARSED
hls.js:15225 [warn] > Playback stalling at @7.219814 due to low buffer ({"len":47.788257,"start":0.12,"end":55.008071})
_reportStall @ hls.js:15225
poll @ hls.js:15163
checkBuffer @ hls.js:16044
onTickEnd @ hls.js:15492
doTick @ hls.js:15488
tick @ hls.js:7787
setInterval (async)
setInterval @ hls.js:7749
startLoad @ hls.js:15416
(anonymous) @ hls.js:25779
startLoad @ hls.js:25778
filterAndSortMediaOptions @ hls.js:6424
onManifestLoaded @ hls.js:6299
emit @ hls.js:14429
emit @ hls.js:25675
trigger @ hls.js:25679
handleMasterPlaylist @ hls.js:3992
onSuccess @ hls.js:3930
readystatechange @ hls.js:24772
XMLHttpRequest.send (async)
openAndSendXhr @ hls.js:24716
loadInternal @ hls.js:24690
load @ hls.js:24656
load @ hls.js:3943
onManifestLoading @ hls.js:3798
emit @ hls.js:14429
emit @ hls.js:25675
trigger @ hls.js:25679
loadSource @ hls.js:25761
loadSelectedStream @ hls-demo.js:24457
(anonymous) @ hls-demo.js:24274
dispatch @ jquery.min.js:3
r.handle @ jquery.min.js:3
hls-demo.js:24772 Error event: {type: "mediaError", details: "bufferStalledError", fatal: false, error: Error: Playback stalling at @7.219814 due to low buffer ({"len":47.788257,"start":0.12,"end":55.008…, buffer: 47.788257, …}
(anonymous) @ hls-demo.js:24772
emit @ hls.js:14429
emit @ hls.js:25675
trigger @ hls.js:25679
_reportStall @ hls.js:15226
poll @ hls.js:15163
checkBuffer @ hls.js:16044
onTickEnd @ hls.js:15492
doTick @ hls.js:15488
tick @ hls.js:7787
setInterval (async)
setInterval @ hls.js:7749
startLoad @ hls.js:15416
(anonymous) @ hls.js:25779
startLoad @ hls.js:25778
filterAndSortMediaOptions @ hls.js:6424
onManifestLoaded @ hls.js:6299
emit @ hls.js:14429
emit @ hls.js:25675
trigger @ hls.js:25679
handleMasterPlaylist @ hls.js:3992
onSuccess @ hls.js:3930
readystatechange @ hls.js:24772
XMLHttpRequest.send (async)
openAndSendXhr @ hls.js:24716
loadInternal @ hls.js:24690
load @ hls.js:24656
load @ hls.js:3943
onManifestLoading @ hls.js:3798
emit @ hls.js:14429
emit @ hls.js:25675
trigger @ hls.js:25679
loadSource @ hls.js:25761
loadSelectedStream @ hls-demo.js:24457
(anonymous) @ hls-demo.js:24274
dispatch @ jquery.min.js:3
r.handle @ jquery.min.js:3
[log] > [stream-controller]: Buffered main sn: 12 of level 0 (frag:[55.008-60.120] > buffer:[0.120-60.000])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 13 cc: 0 of [1-64] level: 0, target: 60
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 13 of level 0
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 13 of level 0
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 13 of level 0 (frag:[60.000-65.120] > buffer:[0.120-65.016])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 14 cc: 0 of [1-64] level: 0, target: 65.016
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 14 of level 0
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 14 of level 0
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 14 of level 0 (frag:[65.016-70.120] > buffer:[0.120-70.008])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 15 cc: 0 of [1-64] level: 0, target: 70.008
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 15 of level 0
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 15 of level 0
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 15 of level 0 (frag:[70.008-75.120] > buffer:[0.120-75.000])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 16 cc: 0 of [1-64] level: 0, target: 75
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 16 of level 0
[log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 16 of level 0
[log] > [stream-controller]: PARSING->PARSED
[log] > [stream-controller]: Buffered main sn: 16 of level 0 (frag:[75.000-80.120] > buffer:[0.120-80.016])
[log] > [stream-controller]: PARSED->IDLE
[log] > [stream-controller]: Loading fragment 17 cc: 0 of [1-64] level: 0, target: 80.016
[log] > [stream-controller]: IDLE->FRAG_LOADING
[log] > [stream-controller]: Loaded fragment 17 of level 0
[log] > [stream-controller]: FRAG_LOADING->PARSING
Sbn44 commented 1 year ago

Hi @Sasha9393 I have experienced issues on android in the past with other brands.

Do you get frame freeze and an endless spinner or does it blank out ?