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

Certain legacy streams that played in 0.14.17 do not play in 1.1.5 #4799

Closed
5 tasks done
littlespex opened this issue Jul 19, 2022 · 1 comment · Fixed by #4800
Closed
5 tasks done

Certain legacy streams that played in 0.14.17 do not play in 1.1.5 #4799

littlespex opened this issue Jul 19, 2022 · 1 comment · Fixed by #4800
Labels
Milestone

Comments

@littlespex
Copy link
Collaborator

littlespex commented Jul 19, 2022

What version of Hls.js are you using?

1.1.5

What browser (including version) are you using?

Chrome 103.0.5060.114, Safari 15.5

What OS (including version) are you using?

macOS 12.4

Test stream

Available upon request

Configuration

{}

Additional player setup steps

We have an older encoded stream that only fails in the 1.x code line but plays in all other HLS players including hls.js 0.14.7, bitmovin, and native Safari. We found that something changed, possibly around AES decryption, in 1.x when compared to 0.14.7 code line.

Checklist

Steps to reproduce

  1. Create a player and load the legacy stream

Expected behaviour

Stream is playable to the end

What actually happened?

Playback stops around 12 seconds (2 segments in).

Console output

log.js:24 [HMR] Waiting for update signal from WDS...
log.js:24 [HMR] Waiting for update signal from WDS...
timeline-chart.ts:98 [Violation] Added non-passive event listener to a scroll-blocking 'wheel' event. Consider marking event handler as 'passive' to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952
TimelineChart @ timeline-chart.ts:98
setupTimelineChart @ main.js:1565
(anonymous) @ main.js:97
j @ jquery.min.js:2
fireWith @ jquery.min.js:2
ready @ jquery.min.js:2
I @ jquery.min.js:2
main.js:341 Using Hls.js config: {debug: true, enableWorker: true, lowLatencyMode: true, backBufferLength: 90}
logger.ts:74 [log] >
hls.ts:371 [log] > stopLoad
hls.ts:339 [log] > loadSource: ...
stream-controller.ts:546 [log] > [stream-controller]: Trigger BUFFER_RESET
hls.ts:310 [log] > attachMedia
index.js:551 [webpack-dev-server] Hot Module Replacement enabled.
index.js:551 [webpack-dev-server] Hot Module Replacement enabled.
index.js:551 [webpack-dev-server] Live Reloading enabled.
buffer-controller.ts:755 [log] > [buffer-controller]: Media source opened
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: STOPPED->IDLE
index.js:551 [webpack-dev-server] Live Reloading enabled.
level-controller.ts:172 [log] > [level-controller]: manifest loaded, 6 level(s) found, first bitrate: 936441
buffer-controller.ts:136 [log] > 2 bufferCodec event(s) expected
hls.ts:361 [log] > startLoad(-1)
level-controller.ts:251 [log] > [level-controller]: switching to level 4 from -1
audio-track-controller.ts:134 [log] > [audio-track-controller]: Updating audio tracks, 1 track(s) found in "audio0" group-id
audio-track-controller.ts:185 [log] > [audio-track-controller]: Now switching to audio-track index 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: STOPPED->IDLE
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: IDLE->WAITING_TRACK
subtitle-track-controller.ts:220 [log] > [subtitle-track-controller]: Updating subtitle tracks, 1 track(s) found in "subs0" group-id
subtitle-track-controller.ts:370 [log] > [subtitle-track-controller]: Switching to subtitle track 0
level-controller.ts:524 [log] > [level-controller]: Attempt loading level index 4 with URL-id 0 
base-stream-controller.ts:1384 [log] > [stream-controller]: STOPPED->IDLE
audio-track-controller.ts:258 [log] > [audio-track-controller]: loading audio-track playlist for id: 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: WAITING_TRACK->STOPPED
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: STOPPED->WAITING_TRACK
subtitle-track-controller.ts:292 [log] > [subtitle-track-controller]: Loading subtitle playlist for id 0
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: IDLE->STOPPED
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: STOPPED->IDLE
stream-controller.ts:610 [log] > [stream-controller]: Level 4 loaded [1,23], cc [0, 0] duration:93.635
buffer-controller.ts:647 [log] > [buffer-controller]: Updating Media Source duration to 93.635
base-stream-controller.ts:304 [log] > [stream-controller]: Loading key for 1 of [1-23], level 4
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->KEY_LOADING
subtitle-track-controller.ts:173 [log] > [subtitle-track-controller]: subtitle track 0 loaded [1-23]
base-stream-controller.ts:591 [log] > [subtitle-stream-controller]: Loading fragment 1 cc: 0 of [1-23] track: 0, target: 0
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
audio-track-controller.ts:87 [log] > [audio-track-controller]: audioTrack 0 loaded [1-23]
audio-stream-controller.ts:434 [log] > [audio-stream-controller]: Track 0 loaded [1,23],duration:93.635
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: WAITING_TRACK->IDLE
base-stream-controller.ts:304 [log] > [audio-stream-controller]: Loading key for 1 of [1-23], track 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: IDLE->KEY_LOADING
base-stream-controller.ts:1384 [log] > [stream-controller]: KEY_LOADING->IDLE
base-stream-controller.ts:591 [log] > [stream-controller]: Loading fragment 1 cc: 0 of [1-23] level: 4, target: 0
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: KEY_LOADING->IDLE
base-stream-controller.ts:591 [log] > [audio-stream-controller]: Loading fragment 1 cc: 0 of [1-23] track: 0, target: 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [subtitle-stream-controller]: Loaded fragment 1 of level 0
transmuxer-interface.ts:67 [log] > demuxing in webworker
audio-stream-controller.ts:541 [log] > Unknown video PTS for cc 0, waiting for video PTS before demuxing audio frag 1 of [1 ,23],track 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: FRAG_LOADING->WAITING_INIT_PTS
base-stream-controller.ts:364 [log] > [audio-stream-controller]: Loaded fragment 1 of level 0
transmuxer-interface.ts:67 [log] > demuxing in webworker
transmuxer-interface.ts:191 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 1 p: -1 level: 4 id: 1
        discontinuity: true
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: true
        timeOffset: 0
        initSegmentChange: true
base-stream-controller.ts:364 [log] > [stream-controller]: Loaded fragment 1 of level 4
1b8481e1-11f7-486a-b89f-11fd714a22e0:603 [log] >
c6e7e93a-e8cc-4735-a00c-fcba8fbf9b50:603 [log] >
c6e7e93a-e8cc-4735-a00c-fcba8fbf9b50:7090 [log] > [decrypter.ts]: JS AES decrypt
c6e7e93a-e8cc-4735-a00c-fcba8fbf9b50:3520 [log] > [mp4-remuxer]: ISGenerated flag reset
c6e7e93a-e8cc-4735-a00c-fcba8fbf9b50:3509 [log] > [mp4-remuxer]: initPTS & initDTS reset
c6e7e93a-e8cc-4735-a00c-fcba8fbf9b50:938 [log] > [transmuxer.ts]: Flushed fragment 1 of level 4
base-stream-controller.ts:1384 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1236 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.42c01f/avc1.42c01f]
audio-stream-controller.ts:114 [log] > [audio-stream-controller]: InitPTS for cc: 0 found from main: 9090
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: WAITING_INIT_PTS->FRAG_LOADING
transmuxer-interface.ts:191 [log] > [transmuxer-interface, audio]: Starting new transmux session for sn: 1 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: false
        timeOffset: 0
        initSegmentChange: true
1b8481e1-11f7-486a-b89f-11fd714a22e0:7090 [log] > [decrypter.ts]: JS AES decrypt
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSING->PARSED
1b8481e1-11f7-486a-b89f-11fd714a22e0:8333 [log] > ADTS sync word found !
1b8481e1-11f7-486a-b89f-11fd714a22e0:3520 [log] > [mp4-remuxer]: ISGenerated flag reset
1b8481e1-11f7-486a-b89f-11fd714a22e0:3509 [log] > [mp4-remuxer]: initPTS & initDTS reset
1b8481e1-11f7-486a-b89f-11fd714a22e0:7864 [log] > manifest codec:mp4a.40.2, ADTS type:2, samplingIndex:7
1b8481e1-11f7-486a-b89f-11fd714a22e0:8026 [log] > parsed codec:mp4a.40.2, rate:22050, channels:1
1b8481e1-11f7-486a-b89f-11fd714a22e0:938 [log] > [transmuxer.ts]: Flushed fragment 1 of level 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
audio-stream-controller.ts:827 [log] > [audio-stream-controller]: Switching audio track : flushing all audio
audio-stream-controller.ts:775 [log] > [audio-stream-controller]: Init audio buffer, container:audio/mp4, codecs[parsed]=[mp4a.40.2]
buffer-controller.ts:716 [log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.42c01f)
buffer-controller.ts:716 [log] > [buffer-controller]: creating sourceBuffer(audio/mp4;codecs=mp4a.40.2)
stream-controller.ts:816 [log] > [stream-controller]: Alternate track found, use video.buffered to schedule main fragment loading
buffer-controller.ts:829 [log] > [buffer-controller]: Removing [0,93.635] from the audio SourceBuffer
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:502 [log] > [audio-stream-controller]: Buffered audio sn: 1 of track 0 [0.000,4.040]
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:304 [log] > [audio-stream-controller]: Loading key for 2 of [1-23], track 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: IDLE->KEY_LOADING
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: KEY_LOADING->IDLE
base-stream-controller.ts:591 [log] > [audio-stream-controller]: Loading fragment 2 cc: 0 of [1-23] track: 0, target: 4.04
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:502 [log] > [stream-controller]: Buffered main sn: 1 of level 4 [0.000,6.006]
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSED->IDLE
level-controller.ts:251 [log] > [level-controller]: switching to level 5 from 4
level-controller.ts:524 [log] > [level-controller]: Attempt loading level index 5 with URL-id 0 
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->WAITING_LEVEL
base-stream-controller.ts:364 [log] > [audio-stream-controller]: Loaded fragment 2 of level 0
stream-controller.ts:610 [log] > [stream-controller]: Level 5 loaded [1,23], cc [0, 0] duration:93.635
base-stream-controller.ts:1384 [log] > [stream-controller]: WAITING_LEVEL->IDLE
base-stream-controller.ts:304 [log] > [stream-controller]: Loading key for 2 of [1-23], level 5
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->KEY_LOADING
1b8481e1-11f7-486a-b89f-11fd714a22e0:938 [log] > [transmuxer.ts]: Flushed fragment 2 of level 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:1384 [log] > [stream-controller]: KEY_LOADING->IDLE
base-stream-controller.ts:591 [log] > [stream-controller]: Loading fragment 2 cc: 0 of [1-23] level: 5, target: 4
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:502 [log] > [audio-stream-controller]: Buffered audio sn: 2 of track 0 [0.000,8.034]
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:304 [log] > [audio-stream-controller]: Loading key for 3 of [1-23], track 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: IDLE->KEY_LOADING
transmuxer-interface.ts:191 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 2 p: -1 level: 5 id: 1
        discontinuity: false
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: true
        timeOffset: 4
        initSegmentChange: false
base-stream-controller.ts:364 [log] > [stream-controller]: Loaded fragment 2 of level 5
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: KEY_LOADING->IDLE
base-stream-controller.ts:591 [log] > [audio-stream-controller]: Loading fragment 3 cc: 0 of [1-23] track: 0, target: 8.034
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
c6e7e93a-e8cc-4735-a00c-fcba8fbf9b50:3520 [log] > [mp4-remuxer]: ISGenerated flag reset
c6e7e93a-e8cc-4735-a00c-fcba8fbf9b50:3514 [log] > [mp4-remuxer]: reset next timestamp
c6e7e93a-e8cc-4735-a00c-fcba8fbf9b50:3520 [log] > [mp4-remuxer]: ISGenerated flag reset
c6e7e93a-e8cc-4735-a00c-fcba8fbf9b50:3509 [log] > [mp4-remuxer]: initPTS & initDTS reset
base-stream-controller.ts:364 [log] > [audio-stream-controller]: Loaded fragment 3 of level 0
1b8481e1-11f7-486a-b89f-11fd714a22e0:938 [log] > [transmuxer.ts]: Flushed fragment 3 of level 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
c6e7e93a-e8cc-4735-a00c-fcba8fbf9b50:938 [log] > [transmuxer.ts]: Flushed fragment 2 of level 5
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:1384 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1236 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.42c01f/avc1.42c01f]
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:502 [log] > [audio-stream-controller]: Buffered audio sn: 3 of track 0 [0.000,12.028]
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:304 [log] > [audio-stream-controller]: Loading key for 4 of [1-23], track 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: IDLE->KEY_LOADING
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: KEY_LOADING->IDLE
base-stream-controller.ts:591 [log] > [audio-stream-controller]: Loading fragment 4 cc: 0 of [1-23] track: 0, target: 12.028
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:591 [log] > [subtitle-stream-controller]: Loading fragment 2 cc: 0 of [1-23] track: 0, target: 4
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:502 [log] > [stream-controller]: Buffered main sn: 2 of level 5 [0.000,12.012]
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:304 [log] > [stream-controller]: Loading key for 3 of [1-23], level 5
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->KEY_LOADING
base-stream-controller.ts:364 [log] > [audio-stream-controller]: Loaded fragment 4 of level 0
base-stream-controller.ts:364 [log] > [subtitle-stream-controller]: Loaded fragment 2 of level 0
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
1b8481e1-11f7-486a-b89f-11fd714a22e0:938 [log] > [transmuxer.ts]: Flushed fragment 4 of level 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:502 [log] > [audio-stream-controller]: Buffered audio sn: 4 of track 0 [0.000,16.022]
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:304 [log] > [audio-stream-controller]: Loading key for 5 of [1-23], track 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: IDLE->KEY_LOADING
base-stream-controller.ts:1384 [log] > [stream-controller]: KEY_LOADING->IDLE
base-stream-controller.ts:591 [log] > [stream-controller]: Loading fragment 3 cc: 0 of [1-23] level: 5, target: 12.012
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: KEY_LOADING->IDLE
base-stream-controller.ts:591 [log] > [audio-stream-controller]: Loading fragment 5 cc: 0 of [1-23] track: 0, target: 16.022
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [stream-controller]: Loaded fragment 3 of level 5
c6e7e93a-e8cc-4735-a00c-fcba8fbf9b50:938 [log] > [transmuxer.ts]: Flushed fragment 3 of level 5
base-stream-controller.ts:364 [log] > [audio-stream-controller]: Loaded fragment 5 of level 0
1b8481e1-11f7-486a-b89f-11fd714a22e0:938 [log] > [transmuxer.ts]: Flushed fragment 5 of level 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:502 [log] > [audio-stream-controller]: Buffered audio sn: 5 of track 0 [0.000,20.016]
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:304 [log] > [audio-stream-controller]: Loading key for 6 of [1-23], track 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: IDLE->KEY_LOADING
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: KEY_LOADING->IDLE
base-stream-controller.ts:591 [log] > [audio-stream-controller]: Loading fragment 6 cc: 0 of [1-23] track: 0, target: 20.016
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [audio-stream-controller]: Loaded fragment 6 of level 0
1b8481e1-11f7-486a-b89f-11fd714a22e0:938 [log] > [transmuxer.ts]: Flushed fragment 6 of level 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:502 [log] > [audio-stream-controller]: Buffered audio sn: 6 of track 0 [0.000,24.009]
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:304 [log] > [audio-stream-controller]: Loading key for 7 of [1-23], track 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: IDLE->KEY_LOADING
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: KEY_LOADING->IDLE
base-stream-controller.ts:591 [log] > [audio-stream-controller]: Loading fragment 7 cc: 0 of [1-23] track: 0, target: 24.009
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [audio-stream-controller]: Loaded fragment 7 of level 0
1b8481e1-11f7-486a-b89f-11fd714a22e0:938 [log] > [transmuxer.ts]: Flushed fragment 7 of level 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:502 [log] > [audio-stream-controller]: Buffered audio sn: 7 of track 0 [0.000,28.003]
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:304 [log] > [audio-stream-controller]: Loading key for 8 of [1-23], track 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: IDLE->KEY_LOADING
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: KEY_LOADING->IDLE
base-stream-controller.ts:591 [log] > [audio-stream-controller]: Loading fragment 8 cc: 0 of [1-23] track: 0, target: 28.003
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [audio-stream-controller]: Loaded fragment 8 of level 0
1b8481e1-11f7-486a-b89f-11fd714a22e0:938 [log] > [transmuxer.ts]: Flushed fragment 8 of level 0
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:502 [log] > [audio-stream-controller]: Buffered audio sn: 8 of track 0 [0.000,32.043]
base-stream-controller.ts:1384 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:591 [log] > [subtitle-stream-controller]: Loading fragment 3 cc: 0 of [1-23] track: 0, target: 8
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [subtitle-stream-controller]: Loaded fragment 3 of level 0
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:591 [log] > [subtitle-stream-controller]: Loading fragment 4 cc: 0 of [1-23] track: 0, target: 12
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [subtitle-stream-controller]: Loaded fragment 4 of level 0
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:591 [log] > [subtitle-stream-controller]: Loading fragment 5 cc: 0 of [1-23] track: 0, target: 16
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [subtitle-stream-controller]: Loaded fragment 5 of level 0
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:591 [log] > [subtitle-stream-controller]: Loading fragment 6 cc: 0 of [1-23] track: 0, target: 20
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [subtitle-stream-controller]: Loaded fragment 6 of level 0
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:591 [log] > [subtitle-stream-controller]: Loading fragment 7 cc: 0 of [1-23] track: 0, target: 24
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [subtitle-stream-controller]: Loaded fragment 7 of level 0
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:591 [log] > [subtitle-stream-controller]: Loading fragment 8 cc: 0 of [1-23] track: 0, target: 28
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [subtitle-stream-controller]: Loaded fragment 8 of level 0
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:591 [log] > [subtitle-stream-controller]: Loading fragment 9 cc: 0 of [1-23] track: 0, target: 32
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [subtitle-stream-controller]: Loaded fragment 9 of level 0
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:591 [log] > [subtitle-stream-controller]: Loading fragment 10 cc: 0 of [1-23] track: 0, target: 36
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [subtitle-stream-controller]: Loaded fragment 10 of level 0
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE

Chrome media internals output

[
  {
    "properties": {
      "render_id": 21,
      "player_id": 93,
      "event": "kWebMediaPlayerDestroyed"
    },
    "events": [
      {
        "time": 0,
        "key": "event",
        "value": "kWebMediaPlayerDestroyed"
      }
    ]
  },
  {
    "properties": {
      "render_id": 56,
      "player_id": 1,
      "created": "2022-07-19 16:35:15.534 UTC",
      "origin_url": "http://localhost:8000/",
      "kFrameUrl": "http://localhost:8000/demo/?src=PRIVATE",
      "kFrameTitle": "hls.js demo",
      "url": "blob:http://localhost:8000/55ab7795-1598-4a2b-be31-0f2fa3b140a7",
      "kTextTracks": [],
      "info": "Selected VDAVideoDecoder for video decoding, config: codec: h264, profile: h264 baseline, level: not available, alpha_mode: is_opaque, coded size: [1280,720], visible rect: [0,0,1280,720], natural size: [1280,720], has extra data: false, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}",
      "kRendererName": "RendererImpl",
      "pipeline_state": "kPlaying",
      "kVideoTracks": [
        {
          "alpha mode": "is_opaque",
          "codec": "h264",
          "coded size": "960x540",
          "color space": "{primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}",
          "encryption scheme": "Unencrypted",
          "has extra data": false,
          "hdr metadata": "unset",
          "natural size": "960x540",
          "orientation": "",
          "profile": "h264 baseline",
          "visible rect": "0,0 960x540"
        }
      ],
      "kAudioTracks": [
        {
          "bytes per channel": 2,
          "bytes per frame": 2,
          "channel layout": "MONO",
          "channels": 1,
          "codec": "aac",
          "codec delay": 0,
          "discard decoder delay": false,
          "encryption scheme": "Unencrypted",
          "has extra data": false,
          "profile": "unknown",
          "sample format": "Signed 16-bit",
          "samples per second": 22050,
          "seek preroll": "0us"
        }
      ],
      "kIsAudioDecryptingDemuxerStream": false,
      "kAudioDecoderName": "FFmpegAudioDecoder",
      "kIsPlatformAudioDecoder": false,
      "kIsVideoDecryptingDemuxerStream": false,
      "kVideoDecoderName": "VDAVideoDecoder",
      "kIsPlatformVideoDecoder": true,
      "debug": "Skipping audio splice trimming at PTS=4040226us. Found only 45us of overlap, need at least 1000us. Multiple occurrences may result in loss of A/V sync.",
      "dimensions": "1280x720",
      "kResolution": "1280x720",
      "duration": 93.635,
      "pipeline_buffering_state": {
        "for_suspended_start": false,
        "reason": "DEMUXER_UNDERFLOW",
        "state": "BUFFERING_HAVE_NOTHING"
      },
      "event": "kPlay",
      "video_buffering_state": {
        "reason": "DEMUXER_UNDERFLOW",
        "state": "BUFFERING_HAVE_NOTHING"
      }
    },
    "events": [
      {
        "time": 0,
        "key": "created",
        "value": "2022-07-19 16:35:15.534 UTC"
      },
      {
        "time": 0.45400000363588333,
        "key": "origin_url",
        "value": "http://localhost:8000/"
      },
      {
        "time": 0.46800000220537186,
        "key": "kFrameUrl",
        "value": "http://localhost:8000/demo/?src=PRIVATE"
      },
      {
        "time": 0.4750000014901161,
        "key": "kFrameTitle",
        "value": "hls.js demo"
      },
      {
        "time": 0.6180000007152557,
        "key": "url",
        "value": "blob:http://localhost:8000/55ab7795-1598-4a2b-be31-0f2fa3b140a7"
      },
      {
        "time": 0.6239999979734421,
        "key": "kTextTracks",
        "value": []
      },
      {
        "time": 0.6400000005960464,
        "key": "info",
        "value": "ChunkDemuxer"
      },
      {
        "time": 0.653999999165535,
        "key": "kRendererName",
        "value": "RendererImpl"
      },
      {
        "time": 4.728000000119209,
        "key": "pipeline_state",
        "value": "kStarting"
      },
      {
        "time": 233.66399999707937,
        "key": "kVideoTracks",
        "value": [
          {
            "alpha mode": "is_opaque",
            "codec": "h264",
            "coded size": "960x540",
            "color space": "{primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}",
            "encryption scheme": "Unencrypted",
            "has extra data": false,
            "hdr metadata": "unset",
            "natural size": "960x540",
            "orientation": "",
            "profile": "h264 baseline",
            "visible rect": "0,0 960x540"
          }
        ]
      },
      {
        "time": 264.1960000023246,
        "key": "kAudioTracks",
        "value": [
          {
            "bytes per channel": 2,
            "bytes per frame": 2,
            "channel layout": "MONO",
            "channels": 1,
            "codec": "aac",
            "codec delay": 0,
            "discard decoder delay": false,
            "encryption scheme": "Unencrypted",
            "has extra data": false,
            "profile": "unknown",
            "sample format": "Signed 16-bit",
            "samples per second": 22050,
            "seek preroll": "0us"
          }
        ]
      },
      {
        "time": 268.7330000028014,
        "key": "kIsAudioDecryptingDemuxerStream",
        "value": false
      },
      {
        "time": 268.73499999940395,
        "key": "kAudioDecoderName",
        "value": "FFmpegAudioDecoder"
      },
      {
        "time": 268.7360000014305,
        "key": "kIsPlatformAudioDecoder",
        "value": false
      },
      {
        "time": 268.7449999973178,
        "key": "info",
        "value": "Selected FFmpegAudioDecoder for audio decoding, config: codec: aac, profile: unknown, bytes_per_channel: 2, channel_layout: MONO, channels: 1, samples_per_second: 22050, sample_format: Signed 16-bit, bytes_per_frame: 2, seek_preroll: 0us, codec_delay: 0, has extra data: false, encryption scheme: Unencrypted, discard decoder delay: false, target_output_channel_layout: STEREO, target_output_sample_format: Unknown sample format, has aac extra data: true"
      },
      {
        "time": 268.8229999989271,
        "key": "info",
        "value": "Failed to initialize DecryptingVideoDecoder"
      },
      {
        "time": 276.8159999996424,
        "key": "kIsVideoDecryptingDemuxerStream",
        "value": false
      },
      {
        "time": 276.82999999821186,
        "key": "kVideoDecoderName",
        "value": "VDAVideoDecoder"
      },
      {
        "time": 276.82999999821186,
        "key": "kIsPlatformVideoDecoder",
        "value": true
      },
      {
        "time": 276.84399999678135,
        "key": "info",
        "value": "Selected VDAVideoDecoder for video decoding, config: codec: h264, profile: h264 baseline, level: not available, alpha_mode: is_opaque, coded size: [960,540], visible rect: [0,0,960,540], natural size: [960,540], has extra data: false, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}"
      },
      {
        "time": 276.8699999973178,
        "key": "pipeline_state",
        "value": "kPlaying"
      },
      {
        "time": 276.99300000071526,
        "key": "debug",
        "value": " Detected midstream configuration change PTS:0 Sample Rate: 44100 vs 22050, ChannelLayout: 3 vs 2, Channels: 2 vs 1"
      },
      {
        "time": 300.2170000001788,
        "key": "dimensions",
        "value": "960x540"
      },
      {
        "time": 300.22100000083447,
        "key": "kResolution",
        "value": "960x540"
      },
      {
        "time": 365.1569999977946,
        "key": "debug",
        "value": "Skipping audio splice trimming at PTS=4040226us. Found only 45us of overlap, need at least 1000us. Multiple occurrences may result in loss of A/V sync."
      },
      {
        "time": 93.60999999940395,
        "key": "duration",
        "value": 93.635
      },
      {
        "time": 300.28100000321865,
        "key": "pipeline_buffering_state",
        "value": {
          "for_suspended_start": false,
          "state": "BUFFERING_HAVE_ENOUGH"
        }
      },
      {
        "time": 4550.646999999881,
        "key": "info",
        "value": "Effective playback rate changed from 0 to 1"
      },
      {
        "time": 4550.71400000155,
        "key": "event",
        "value": "kPlay"
      },
      {
        "time": 10450.152000002563,
        "key": "info",
        "value": "video decoder config changed midstream, new config: codec: h264, profile: h264 baseline, level: not available, alpha_mode: is_opaque, coded size: [1280,720], visible rect: [0,0,1280,720], natural size: [1280,720], has extra data: false, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}"
      },
      {
        "time": 10453.170999996364,
        "key": "kIsVideoDecryptingDemuxerStream",
        "value": false
      },
      {
        "time": 10453.181000001729,
        "key": "kVideoDecoderName",
        "value": "VDAVideoDecoder"
      },
      {
        "time": 10453.181999996305,
        "key": "kIsPlatformVideoDecoder",
        "value": true
      },
      {
        "time": 10453.197999998927,
        "key": "info",
        "value": "Selected VDAVideoDecoder for video decoding, config: codec: h264, profile: h264 baseline, level: not available, alpha_mode: is_opaque, coded size: [1280,720], visible rect: [0,0,1280,720], natural size: [1280,720], has extra data: false, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}"
      },
      {
        "time": 10950.810000002384,
        "key": "dimensions",
        "value": "1280x720"
      },
      {
        "time": 10950.815999999642,
        "key": "kResolution",
        "value": "1280x720"
      },
      {
        "time": 18417.7330000028,
        "key": "video_buffering_state",
        "value": {
          "reason": "DEMUXER_UNDERFLOW",
          "state": "BUFFERING_HAVE_NOTHING"
        }
      },
      {
        "time": 21418.625,
        "key": "pipeline_buffering_state",
        "value": {
          "for_suspended_start": false,
          "reason": "DEMUXER_UNDERFLOW",
          "state": "BUFFERING_HAVE_NOTHING"
        }
      }
    ]
  }
]
@littlespex littlespex added Bug Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. labels Jul 19, 2022
@dsparacio
Copy link
Collaborator

dsparacio commented Jul 19, 2022

Hey @robwalch We are stuck a bit and wondering if you have any thoughts on this one? We can provide you with streams in a private DM as we have done before. We are still working on this internally, just looking for some guidance when and if you have some time in the near future. Thank you in advance! Hope all is well!

@robwalch robwalch added Need sample stream and removed Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. labels Jul 19, 2022
robwalch added a commit that referenced this issue Jul 19, 2022
@robwalch robwalch added this to the 1.2.0 milestone Jul 19, 2022
@robwalch robwalch added the Verify Fixed An unreleased bug fix has been merged and should be verified before closing. label Jul 19, 2022
robwalch added a commit that referenced this issue Jul 20, 2022
@robwalch robwalch removed the Verify Fixed An unreleased bug fix has been merged and should be verified before closing. label Sep 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants