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.64k stars 2.56k forks source link

dolby vision proflie 5 dvh1 can't play normally in edge of win11 and safari of mac big sur #4744

Closed jingyu45 closed 1 year ago

jingyu45 commented 2 years ago

What version of Hls.js are you using?

demo v1.1.5

What browser (including version) are you using?

Edge Version 98.0.1108.62

What OS (including version) are you using?

windows 11 pro

Test stream

https://ott.dolby.com/User/jxyu/PlayerTestSignal/HLS/Manifest/Holi_25fps_aac_dovi_1.m3u8

Configuration

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

Additional player setup steps

No response

Checklist

Steps to reproduce

  1. enable the "media Foundation" on Edge.
  2. use edge in win11 open the demo https://hls-js.netlify.com/demo
  3. put the dolby vision profile 5 test signal to the input box and click "Apply"

Expected behaviour

play normally

What actually happened?

can't play video. report error: "CHUNK_DEMUXER_ERROR_APPEND_FAILED: Video stream codec dolbyvision doesn't match SourceBuffer codecs."

(you can solve this issue through adding 'dvh1:true,' in const sampleEntryCodesISO)

Console output

hls.ts:339 [log] > loadSource:https://ott.dolby.com/User/jxyu/PlayerTestSignal/HLS/Manifest/Holi_25fps_aac_dovi_1.m3u8
stream-controller.ts:539 [log] > [stream-controller]: Trigger BUFFER_RESET
hls.ts:310 [log] > attachMedia
buffer-controller.ts:742 [log] > [buffer-controller]: Media source opened
base-stream-controller.ts:1381 [log] > [subtitle-stream-controller]: STOPPED->IDLE
level-controller.ts:172 [log] > [level-controller]: manifest loaded, 1 level(s) found, first bitrate: 4107097
buffer-controller.ts:136 [log] > 1 bufferCodec event(s) expected
hls.ts:361 [log] > startLoad(-1)
level-controller.ts:251 [log] > [level-controller]: switching to level 0 from -1
audio-track-controller.ts:134 [log] > [audio-track-controller]: Updating audio tracks, 1 track(s) found in "audio/mp4a/2ch" group-id
audio-track-controller.ts:185 [log] > [audio-track-controller]: Now switching to audio-track index 0
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: STOPPED->IDLE
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: IDLE->WAITING_TRACK
level-controller.ts:524 [log] > [level-controller]: Attempt loading level index 0 with URL-id 0 https://ott.dolby.com/User/jxyu/PlayerTestSignal/HLS/Video/Holi_720p_25fps_h265_str_sub.m3u8
base-stream-controller.ts:1381 [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:1381 [log] > [audio-stream-controller]: WAITING_TRACK->STOPPED
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: STOPPED->WAITING_TRACK
base-stream-controller.ts:1381 [log] > [subtitle-stream-controller]: IDLE->STOPPED
base-stream-controller.ts:1381 [log] > [subtitle-stream-controller]: STOPPED->IDLE
stream-controller.ts:603 [log] > [stream-controller]: Level 0 loaded [0,10], cc [0, 0] duration:85.12
buffer-controller.ts:635 [log] > [buffer-controller]: Updating Media Source duration to 85.120
base-stream-controller.ts:588 [log] > [stream-controller]: Loading fragment initSegment cc: 0 level: 0, target: 0
base-stream-controller.ts:1381 [log] > [stream-controller]: IDLE->FRAG_LOADING
audio-track-controller.ts:87 [log] > [audio-track-controller]: audioTrack 0 loaded [0-10]
audio-stream-controller.ts:425 [log] > [audio-stream-controller]: Track 0 loaded [0,10],duration:85.184
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: WAITING_TRACK->IDLE
base-stream-controller.ts:588 [log] > [audio-stream-controller]: Loading fragment initSegment cc: 0 track: 0, target: 0
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:1381 [log] > [stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:499 [log] > [stream-controller]: Buffered main sn: initSegment of level 0 
base-stream-controller.ts:588 [log] > [stream-controller]: Loading fragment 0 cc: 0 of [0-10] level: 0, target: 0
base-stream-controller.ts:1381 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:499 [log] > [audio-stream-controller]: Buffered audio sn: initSegment of track 0 
base-stream-controller.ts:588 [log] > [audio-stream-controller]: Loading fragment 0 cc: 0 of [0-10] track: 0, target: 0
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:67 [log] > demuxing in webworker
audio-stream-controller.ts:532 [log] > Unknown video PTS for cc 0, waiting for video PTS before demuxing audio frag 0 of [0 ,10],track 0
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: FRAG_LOADING->WAITING_INIT_PTS
base-stream-controller.ts:364 [log] > [audio-stream-controller]: Loaded fragment 0 of level 0
​ [log] >
transmuxer-interface.ts:67 [log] > demuxing in webworker
transmuxer-interface.ts:187 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 0 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: true
        timeOffset: 0
        initSegmentChange: true
base-stream-controller.ts:364 [log] > [stream-controller]: Loaded fragment 0 of level 0
​ [log] >
base-stream-controller.ts:1381 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1226 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[/avc1.42e01e]
buffer-controller.ts:704 [log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.42e01e)
audio-stream-controller.ts:113 [log] > [audio-stream-controller]: InitPTS for cc: 0 found from main: 0
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: WAITING_INIT_PTS->FRAG_LOADING
transmuxer-interface.ts:187 [log] > [transmuxer-interface, audio]: Starting new transmux session for sn: 0 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: false
        timeOffset: 0
        initSegmentChange: true
​ [log] > [transmuxer.ts]: Flushed fragment 0 of level 0
base-stream-controller.ts:1381 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
audio-stream-controller.ts:812 [log] > [audio-stream-controller]: Switching audio track : flushing all audio
stream-controller.ts:774 [log] > [stream-controller]: Switching on alternate audio, use video.buffered to schedule main fragment loading
audio-stream-controller.ts:760 [log] > [audio-stream-controller]: Init audio buffer, container:audio/mp4, codecs[parsed]=[mp4a.40.2]
​ [log] > [transmuxer.ts]: Flushed fragment 0 of level 0
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: PARSING->PARSED
buffer-controller.ts:777 

       [error] > [buffer-controller]: video SourceBuffer error Event
_onSBUpdateError @ buffer-controller.ts:777
main.js:725 

       Error event: Object
(匿名) @ main.js:725
buffer-controller.ts:384 

       [error] > [buffer-controller]: Error encountered while trying to append to the video SourceBuffer Event
onError @ buffer-controller.ts:384
main.js:725 

       Error event: Object
(匿名) @ main.js:725
buffer-controller.ts:760 [log] > [buffer-controller]: Media source ended
main.js:1005 

       The video could not be loaded, either because the server or network failed or because the format is not supported - CHUNK_DEMUXER_ERROR_APPEND_FAILED: Video stream codec dolbyvision doesn't match SourceBuffer codecs.
handleVideoEvent @ main.js:1005
buffer-helper.ts:174 [log] > failed to get media.buffered DOMException: Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
    at Function.getBuffered (https://hls-js.netlify.app/dist/hls.js:22952:20)
    at Object.onComplete (https://hls-js.netlify.app/dist/hls.js:4528:97)
    at BufferController._onSBUpdateEnd (https://hls-js.netlify.app/dist/hls.js:4904:15)
buffer-helper.ts:174 [log] > failed to get media.buffered DOMException: Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
    at Function.getBuffered (https://hls-js.netlify.app/dist/hls.js:22952:20)
    at StreamController.fragBufferedComplete (https://hls-js.netlify.app/dist/hls.js:3348:333)
    at StreamController.onFragBuffered (https://hls-js.netlify.app/dist/hls.js:10063:10)
    at EventEmitter.emit (https://hls-js.netlify.app/dist/hls.js:310:33)
    at Hls.emit (https://hls-js.netlify.app/dist/hls.js:17266:26)
    at Hls.trigger (https://hls-js.netlify.app/dist/hls.js:17271:19)
    at onUnblocked (https://hls-js.netlify.app/dist/hls.js:4637:18)
    at https://hls-js.netlify.app/dist/hls.js:4994:7
base-stream-controller.ts:499 [log] > [stream-controller]: Buffered main sn: 0 of level 0 
base-stream-controller.ts:1381 [log] > [stream-controller]: PARSED->IDLE
buffer-helper.ts:174 [log] > failed to get media.buffered DOMException: Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
    at Function.getBuffered (https://hls-js.netlify.app/dist/hls.js:22952:20)
    at Function.bufferInfo (https://hls-js.netlify.app/dist/hls.js:22844:38)
    at StreamController.getFwdBufferInfo (https://hls-js.netlify.app/dist/hls.js:3595:88)
    at StreamController.doTickIdle (https://hls-js.netlify.app/dist/hls.js:9520:27)
    at StreamController.doTick (https://hls-js.netlify.app/dist/hls.js:9429:14)
    at StreamController.tick (https://hls-js.netlify.app/dist/hls.js:22290:12)
    at StreamController.fragBufferedComplete (https://hls-js.netlify.app/dist/hls.js:3350:10)
    at StreamController.onFragBuffered (https://hls-js.netlify.app/dist/hls.js:10063:10)
    at EventEmitter.emit (https://hls-js.netlify.app/dist/hls.js:310:33)
    at Hls.emit (https://hls-js.netlify.app/dist/hls.js:17266:26)
base-stream-controller.ts:588 [log] > [stream-controller]: Loading fragment 1 cc: 0 of [0-10] level: 0, target: 8
base-stream-controller.ts:1381 [log] > [stream-controller]: IDLE->FRAG_LOADING
buffer-controller.ts:756 [log] > [buffer-controller]: Media source closed
base-stream-controller.ts:364 [log] > [stream-controller]: Loaded fragment 1 of level 0
base-stream-controller.ts:1381 [log] > [stream-controller]: FRAG_LOADING->PARSING
buffer-operation-queue.ts:62 

       [warn] > [buffer-operation-queue]: Unhandled exception executing the current operation
executeNext @ buffer-operation-queue.ts:62
buffer-controller.ts:384 

       [error] > [buffer-controller]: Error encountered while trying to append to the video SourceBuffer DOMException: Failed to execute 'appendBuffer' on 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
    at BufferController.appendExecutor (https://hls-js.netlify.app/dist/hls.js:4968:8)
    at Object.execute (https://hls-js.netlify.app/dist/hls.js:4507:16)
    at BufferOperationQueue.executeNext (https://hls-js.netlify.app/dist/hls.js:5113:19)
    at BufferOperationQueue.append (https://hls-js.netlify.app/dist/hls.js:5076:12)
    at BufferController.onBufferAppending (https://hls-js.netlify.app/dist/hls.js:4573:20)
    at EventEmitter.emit (https://hls-js.netlify.app/dist/hls.js:310:33)
    at Hls.emit (https://hls-js.netlify.app/dist/hls.js:17266:26)
    at Hls.trigger (https://hls-js.netlify.app/dist/hls.js:17271:19)
    at StreamController.bufferFragmentData (https://hls-js.netlify.app/dist/hls.js:3554:14)
    at StreamController._handleTransmuxComplete (https://hls-js.netlify.app/dist/hls.js:10337:14)
onError @ buffer-controller.ts:384
main.js:725 

       Error event: Object
(匿名) @ main.js:725
​ [log] > [transmuxer.ts]: Flushed fragment 1 of level 0
base-stream-controller.ts:1381 [log] > [stream-controller]: PARSING->PARSED
buffer-helper.ts:174 [log] > failed to get media.buffered DOMException: Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
    at Function.getBuffered (https://hls-js.netlify.app/dist/hls.js:22952:20)
    at StreamController.fragBufferedComplete (https://hls-js.netlify.app/dist/hls.js:3348:333)
    at StreamController.onFragBuffered (https://hls-js.netlify.app/dist/hls.js:10063:10)
    at EventEmitter.emit (https://hls-js.netlify.app/dist/hls.js:310:33)
    at Hls.emit (https://hls-js.netlify.app/dist/hls.js:17266:26)
    at Hls.trigger (https://hls-js.netlify.app/dist/hls.js:17271:19)
    at onUnblocked (https://hls-js.netlify.app/dist/hls.js:4637:18)
    at https://hls-js.netlify.app/dist/hls.js:4994:7
base-stream-controller.ts:499 [log] > [stream-controller]: Buffered main sn: 1 of level 0 
base-stream-controller.ts:1381 [log] > [stream-controller]: PARSED->IDLE
buffer-helper.ts:174 [log] > failed to get media.buffered DOMException: Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
    at Function.getBuffered (https://hls-js.netlify.app/dist/hls.js:22952:20)
    at Function.bufferInfo (https://hls-js.netlify.app/dist/hls.js:22844:38)
    at StreamController.getFwdBufferInfo (https://hls-js.netlify.app/dist/hls.js:3595:88)
    at StreamController.doTickIdle (https://hls-js.netlify.app/dist/hls.js:9520:27)
    at StreamController.doTick (https://hls-js.netlify.app/dist/hls.js:9429:14)
    at StreamController.tick (https://hls-js.netlify.app/dist/hls.js:22290:12)
    at StreamController.fragBufferedComplete (https://hls-js.netlify.app/dist/hls.js:3350:10)
    at StreamController.onFragBuffered (https://hls-js.netlify.app/dist/hls.js:10063:10)
    at EventEmitter.emit (https://hls-js.netlify.app/dist/hls.js:310:33)
    at Hls.emit (https://hls-js.netlify.app/dist/hls.js:17266:26)
base-stream-controller.ts:588 [log] > [stream-controller]: Loading fragment 2 cc: 0 of [0-10] level: 0, target: 16
base-stream-controller.ts:1381 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [stream-controller]: Loaded fragment 2 of level 0
base-stream-controller.ts:1381 [log] > [stream-controller]: FRAG_LOADING->PARSING
buffer-operation-queue.ts:62 

       [warn] > [buffer-operation-queue]: Unhandled exception executing the current operation
executeNext @ buffer-operation-queue.ts:62
buffer-controller.ts:384 

       [error] > [buffer-controller]: Error encountered while trying to append to the video SourceBuffer DOMException: Failed to execute 'appendBuffer' on 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
    at BufferController.appendExecutor (https://hls-js.netlify.app/dist/hls.js:4968:8)
    at Object.execute (https://hls-js.netlify.app/dist/hls.js:4507:16)
    at BufferOperationQueue.executeNext (https://hls-js.netlify.app/dist/hls.js:5113:19)
    at BufferOperationQueue.append (https://hls-js.netlify.app/dist/hls.js:5076:12)
    at BufferController.onBufferAppending (https://hls-js.netlify.app/dist/hls.js:4573:20)
    at EventEmitter.emit (https://hls-js.netlify.app/dist/hls.js:310:33)
    at Hls.emit (https://hls-js.netlify.app/dist/hls.js:17266:26)
    at Hls.trigger (https://hls-js.netlify.app/dist/hls.js:17271:19)
    at StreamController.bufferFragmentData (https://hls-js.netlify.app/dist/hls.js:3554:14)
    at StreamController._handleTransmuxComplete (https://hls-js.netlify.app/dist/hls.js:10337:14)
onError @ buffer-controller.ts:384
main.js:725 

       Error event: Object
(匿名) @ main.js:725
​ [log] > [transmuxer.ts]: Flushed fragment 2 of level 0
base-stream-controller.ts:1381 [log] > [stream-controller]: PARSING->PARSED
buffer-helper.ts:174 [log] > failed to get media.buffered DOMException: Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
    at Function.getBuffered (https://hls-js.netlify.app/dist/hls.js:22952:20)
    at StreamController.fragBufferedComplete (https://hls-js.netlify.app/dist/hls.js:3348:333)
    at StreamController.onFragBuffered (https://hls-js.netlify.app/dist/hls.js:10063:10)
    at EventEmitter.emit (https://hls-js.netlify.app/dist/hls.js:310:33)
    at Hls.emit (https://hls-js.netlify.app/dist/hls.js:17266:26)
    at Hls.trigger (https://hls-js.netlify.app/dist/hls.js:17271:19)
    at onUnblocked (https://hls-js.netlify.app/dist/hls.js:4637:18)
    at https://hls-js.netlify.app/dist/hls.js:4994:7
base-stream-controller.ts:499 [log] > [stream-controller]: Buffered main sn: 2 of level 0 
base-stream-controller.ts:1381 [log] > [stream-controller]: PARSED->IDLE
buffer-helper.ts:174 [log] > failed to get media.buffered DOMException: Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
    at Function.getBuffered (https://hls-js.netlify.app/dist/hls.js:22952:20)
    at Function.bufferInfo (https://hls-js.netlify.app/dist/hls.js:22844:38)
    at StreamController.getFwdBufferInfo (https://hls-js.netlify.app/dist/hls.js:3595:88)
    at StreamController.doTickIdle (https://hls-js.netlify.app/dist/hls.js:9520:27)
    at StreamController.doTick (https://hls-js.netlify.app/dist/hls.js:9429:14)
    at StreamController.tick (https://hls-js.netlify.app/dist/hls.js:22290:12)
    at StreamController.fragBufferedComplete (https://hls-js.netlify.app/dist/hls.js:3350:10)
    at StreamController.onFragBuffered (https://hls-js.netlify.app/dist/hls.js:10063:10)
    at EventEmitter.emit (https://hls-js.netlify.app/dist/hls.js:310:33)
    at Hls.emit (https://hls-js.netlify.app/dist/hls.js:17266:26)
base-stream-controller.ts:588 [log] > [stream-controller]: Loading fragment 3 cc: 0 of [0-10] level: 0, target: 24
base-stream-controller.ts:1381 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [stream-controller]: Loaded fragment 3 of level 0
base-stream-controller.ts:1381 [log] > [stream-controller]: FRAG_LOADING->PARSING
buffer-operation-queue.ts:62 

       [warn] > [buffer-operation-queue]: Unhandled exception executing the current operation
executeNext @ buffer-operation-queue.ts:62
buffer-controller.ts:384 

       [error] > [buffer-controller]: Error encountered while trying to append to the video SourceBuffer DOMException: Failed to execute 'appendBuffer' on 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
    at BufferController.appendExecutor (https://hls-js.netlify.app/dist/hls.js:4968:8)
    at Object.execute (https://hls-js.netlify.app/dist/hls.js:4507:16)
    at BufferOperationQueue.executeNext (https://hls-js.netlify.app/dist/hls.js:5113:19)
    at BufferOperationQueue.append (https://hls-js.netlify.app/dist/hls.js:5076:12)
    at BufferController.onBufferAppending (https://hls-js.netlify.app/dist/hls.js:4573:20)
    at EventEmitter.emit (https://hls-js.netlify.app/dist/hls.js:310:33)
    at Hls.emit (https://hls-js.netlify.app/dist/hls.js:17266:26)
    at Hls.trigger (https://hls-js.netlify.app/dist/hls.js:17271:19)
    at StreamController.bufferFragmentData (https://hls-js.netlify.app/dist/hls.js:3554:14)
    at StreamController._handleTransmuxComplete (https://hls-js.netlify.app/dist/hls.js:10337:14)
onError @ buffer-controller.ts:384
main.js:725 

       Error event: Object
(匿名) @ main.js:725
​ [log] > [transmuxer.ts]: Flushed fragment 3 of level 0
base-stream-controller.ts:1381 [log] > [stream-controller]: PARSING->PARSED
buffer-helper.ts:174 [log] > failed to get media.buffered DOMException: Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
    at Function.getBuffered (https://hls-js.netlify.app/dist/hls.js:22952:20)
    at StreamController.fragBufferedComplete (https://hls-js.netlify.app/dist/hls.js:3348:333)
    at StreamController.onFragBuffered (https://hls-js.netlify.app/dist/hls.js:10063:10)
    at EventEmitter.emit (https://hls-js.netlify.app/dist/hls.js:310:33)
    at Hls.emit (https://hls-js.netlify.app/dist/hls.js:17266:26)
    at Hls.trigger (https://hls-js.netlify.app/dist/hls.js:17271:19)
    at onUnblocked (https://hls-js.netlify.app/dist/hls.js:4637:18)
    at https://hls-js.netlify.app/dist/hls.js:4994:7
base-stream-controller.ts:499 [log] > [stream-controller]: Buffered main sn: 3 of level 0 
base-stream-controller.ts:1381 [log] > [stream-controller]: PARSED->IDLE
buffer-helper.ts:174 [log] > failed to get media.buffered DOMException: Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
    at Function.getBuffered (https://hls-js.netlify.app/dist/hls.js:22952:20)
    at Function.bufferInfo (https://hls-js.netlify.app/dist/hls.js:22844:38)
    at StreamController.getFwdBufferInfo (https://hls-js.netlify.app/dist/hls.js:3595:88)
    at StreamController.doTickIdle (https://hls-js.netlify.app/dist/hls.js:9520:27)
    at StreamController.doTick (https://hls-js.netlify.app/dist/hls.js:9429:14)
    at StreamController.tick (https://hls-js.netlify.app/dist/hls.js:22290:12)
    at StreamController.fragBufferedComplete (https://hls-js.netlify.app/dist/hls.js:3350:10)
    at StreamController.onFragBuffered (https://hls-js.netlify.app/dist/hls.js:10063:10)
    at EventEmitter.emit (https://hls-js.netlify.app/dist/hls.js:310:33)
    at Hls.emit (https://hls-js.netlify.app/dist/hls.js:17266:26)
base-stream-controller.ts:588 [log] > [stream-controller]: Loading fragment 4 cc: 0 of [0-10] level: 0, target: 32
base-stream-controller.ts:1381 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [stream-controller]: Loaded fragment 4 of level 0
base-stream-controller.ts:1381 [log] > [stream-controller]: FRAG_LOADING->PARSING
buffer-operation-queue.ts:62 

       [warn] > [buffer-operation-queue]: Unhandled exception executing the current operation
executeNext @ buffer-operation-queue.ts:62
buffer-controller.ts:384 

       [error] > [buffer-controller]: Error encountered while trying to append to the video SourceBuffer DOMException: Failed to execute 'appendBuffer' on 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
    at BufferController.appendExecutor (https://hls-js.netlify.app/dist/hls.js:4968:8)
    at Object.execute (https://hls-js.netlify.app/dist/hls.js:4507:16)
    at BufferOperationQueue.executeNext (https://hls-js.netlify.app/dist/hls.js:5113:19)
    at BufferOperationQueue.append (https://hls-js.netlify.app/dist/hls.js:5076:12)
    at BufferController.onBufferAppending (https://hls-js.netlify.app/dist/hls.js:4573:20)
    at EventEmitter.emit (https://hls-js.netlify.app/dist/hls.js:310:33)
    at Hls.emit (https://hls-js.netlify.app/dist/hls.js:17266:26)
    at Hls.trigger (https://hls-js.netlify.app/dist/hls.js:17271:19)
    at StreamController.bufferFragmentData (https://hls-js.netlify.app/dist/hls.js:3554:14)
    at StreamController._handleTransmuxComplete (https://hls-js.netlify.app/dist/hls.js:10337:14)
onError @ buffer-controller.ts:384
buffer-controller.ts:407 

       [error] > [buffer-controller]: Failed 3 times to append segment in sourceBuffer
onError @ buffer-controller.ts:407
main.js:725 

       Error event: Object
(匿名) @ main.js:725
main.js:838 

       Fatal error : bufferAppendError
(匿名) @ main.js:838
hls.ts:392 [log] > recoverMediaError
hls.ts:319 [log] > detachMedia
buffer-controller.ts:162 [log] > [buffer-controller]: media source detaching
buffer-controller.ts:226 

       [warn] > [buffer-controller]: Failed to reset the video buffer DOMException: Failed to execute 'removeSourceBuffer' on 'MediaSource': The SourceBuffer provided is not contained in this MediaSource.
    at https://hls-js.netlify.app/dist/hls.js:4379:32
    at Array.forEach (<anonymous>)
    at BufferController.onBufferReset (https://hls-js.netlify.app/dist/hls.js:4371:33)
    at BufferController.onMediaDetaching (https://hls-js.netlify.app/dist/hls.js:4336:12)
    at EventEmitter.emit (https://hls-js.netlify.app/dist/hls.js:310:33)
    at Hls.emit (https://hls-js.netlify.app/dist/hls.js:17266:26)
    at Hls.trigger (https://hls-js.netlify.app/dist/hls.js:17271:19)
    at Hls.detachMedia (https://hls-js.netlify.app/dist/hls.js:17334:10)
    at Hls.recoverMediaError (https://hls-js.netlify.app/dist/hls.js:17412:10)
    at handleMediaError (https://hls-js.netlify.app/dist/hls-demo.js:2480:11)
(匿名) @ buffer-controller.ts:226
base-stream-controller.ts:1381 [log] > [stream-controller]: PARSING->STOPPED
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: PARSED->STOPPED
base-stream-controller.ts:1381 [log] > [subtitle-stream-controller]: IDLE->STOPPED
hls.ts:310 [log] > attachMedia
buffer-controller.ts:742 [log] > [buffer-controller]: Media source opened
buffer-controller.ts:635 [log] > [buffer-controller]: Updating Media Source duration to 85.120
base-stream-controller.ts:1381 [log] > [stream-controller]: STOPPED->IDLE
base-stream-controller.ts:588 [log] > [stream-controller]: Loading fragment 0 cc: 0 of [0-10] level: 0, target: 0
base-stream-controller.ts:1381 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: STOPPED->WAITING_TRACK
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: WAITING_TRACK->WAITING_INIT_PTS
base-stream-controller.ts:1381 [log] > [subtitle-stream-controller]: STOPPED->IDLE
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: WAITING_INIT_PTS->IDLE
base-stream-controller.ts:588 [log] > [audio-stream-controller]: Loading fragment 0 cc: 0 of [0-10] track: 0, target: 0
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:67 [log] > demuxing in webworker
transmuxer-interface.ts:187 [log] > [transmuxer-interface, audio]: Starting new transmux session for sn: 0 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: false
        timeOffset: 0
        initSegmentChange: true
base-stream-controller.ts:364 [log] > [audio-stream-controller]: Loaded fragment 0 of level 0
848f18a3-381c-43ce-8b98-a5248c60722f:603 [log] >
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
audio-stream-controller.ts:760 [log] > [audio-stream-controller]: Init audio buffer, container:audio/mp4, codecs[parsed]=[mp4a.40.2]
buffer-controller.ts:704 [log] > [buffer-controller]: creating sourceBuffer(audio/mp4;codecs=mp4a.40.2)
848f18a3-381c-43ce-8b98-a5248c60722f:938 [log] > [transmuxer.ts]: Flushed fragment 0 of level 0
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:499 [log] > [audio-stream-controller]: Buffered audio sn: 0 of track 0 [0.000,8.000]
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:588 [log] > [audio-stream-controller]: Loading fragment 1 cc: 0 of [0-10] track: 0, target: 8
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:67 [log] > demuxing in webworker
transmuxer-interface.ts:187 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 0 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: true
        timeOffset: 0
        initSegmentChange: true
base-stream-controller.ts:364 [log] > [stream-controller]: Loaded fragment 0 of level 0
1c492106-d0e4-46e3-974a-42683df4eb90:603 [log] >
1c492106-d0e4-46e3-974a-42683df4eb90:938 [log] > [transmuxer.ts]: Flushed fragment 0 of level 0
base-stream-controller.ts:1381 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1226 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[/avc1.42e01e]
base-stream-controller.ts:1381 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:364 [log] > [audio-stream-controller]: Loaded fragment 1 of level 0
848f18a3-381c-43ce-8b98-a5248c60722f:938 [log] > [transmuxer.ts]: Flushed fragment 1 of level 0
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:499 [log] > [audio-stream-controller]: Buffered audio sn: 1 of track 0 [0.000,16.000]
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:588 [log] > [audio-stream-controller]: Loading fragment 2 cc: 0 of [0-10] track: 0, target: 16
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [audio-stream-controller]: Loaded fragment 2 of level 0
848f18a3-381c-43ce-8b98-a5248c60722f:938 [log] > [transmuxer.ts]: Flushed fragment 2 of level 0
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:499 [log] > [audio-stream-controller]: Buffered audio sn: 2 of track 0 [0.000,24.000]
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:588 [log] > [audio-stream-controller]: Loading fragment 3 cc: 0 of [0-10] track: 0, target: 24
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [audio-stream-controller]: Loaded fragment 3 of level 0
848f18a3-381c-43ce-8b98-a5248c60722f:938 [log] > [transmuxer.ts]: Flushed fragment 3 of level 0
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:499 [log] > [audio-stream-controller]: Buffered audio sn: 3 of track 0 [0.000,32.000]
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:588 [log] > [audio-stream-controller]: Loading fragment 4 cc: 0 of [0-10] track: 0, target: 32
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [audio-stream-controller]: Loaded fragment 4 of level 0
848f18a3-381c-43ce-8b98-a5248c60722f:938 [log] > [transmuxer.ts]: Flushed fragment 4 of level 0
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
XHR 已完成加载:GET "<URL>"。
XHR 已完成加载:GET "<URL>"。
XHR 已完成加载:GET "<URL>"。
XHR 已完成加载:GET "<URL>"。
XHR 已完成加载:GET "<URL>"。
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:499 [log] > [audio-stream-controller]: Buffered audio sn: 4 of track 0 [0.000,40.000]
base-stream-controller.ts:1381 [log] > [audio-stream-controller]: PARSED->IDLE
​ [log] > [audio-stream-controller]: Loading fragment 5 cc: 0 of [0-10] track: 0, target: 40
​ [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
​ [log] > [audio-stream-controller]: Loaded fragment 5 of level 0
​ [log] > [transmuxer.ts]: Flushed fragment 5 of level 0
​ [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
​ [log] > [audio-stream-controller]: PARSING->PARSED
​ [log] > [audio-stream-controller]: Buffered audio sn: 5 of track 0 [0.000,48.000]
​ [log] > [audio-stream-controller]: PARSED->IDLE
​ [log] > [audio-stream-controller]: Loading fragment 6 cc: 0 of [0-10] track: 0, target: 48
​ [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
​ [log] > [audio-stream-controller]: Loaded fragment 6 of level 0
​ [log] > [transmuxer.ts]: Flushed fragment 6 of level 0
​ [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
​ [log] > [audio-stream-controller]: PARSING->PARSED
​ [log] > [audio-stream-controller]: Buffered audio sn: 6 of track 0 [0.000,56.000]
​ [log] > [audio-stream-controller]: PARSED->IDLE
​ [log] > [audio-stream-controller]: Loading fragment 7 cc: 0 of [0-10] track: 0, target: 56
​ [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
​ [log] > [audio-stream-controller]: Loaded fragment 7 of level 0
​ [log] > [transmuxer.ts]: Flushed fragment 7 of level 0
​ [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
​ [log] > [audio-stream-controller]: PARSING->PARSED
​ [log] > [audio-stream-controller]: Buffered audio sn: 7 of track 0 [0.000,64.000]
​ [log] > [audio-stream-controller]: PARSED->IDLE
​ [log] > [audio-stream-controller]: Loading fragment 8 cc: 0 of [0-10] track: 0, target: 64
​ [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
​ [log] > [audio-stream-controller]: Loaded fragment 8 of level 0
​ [log] > [transmuxer.ts]: Flushed fragment 8 of level 0
​ [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
​ [log] > [audio-stream-controller]: PARSING->PARSED
​ [log] > [audio-stream-controller]: Buffered audio sn: 8 of track 0 [0.000,72.000]
​ [log] > [audio-stream-controller]: PARSED->IDLE

Chrome media internals output

No response

robwalch commented 1 year ago

Hi @jingyu45,

Could you verify if the change in #4907 fixes this issue for you in Edge?

The PR build is available here: https://deploy-preview-4907--hls-js-dev.netlify.app/demo?src=https%3A%2F%2Fott.dolby.com%2FUser%2Fjxyu%2FPlayerTestSignal%2FHLS%2FManifest%2FHoli_25fps_aac_dovi_1.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ==

Thanks!

imtiendat0311 commented 1 year ago

how can you play Dolby vision on edge?