This issue can be reproduced by using wirecast and these settings to create a stream. https://imgur.com/a/pxsYkVo
If they turn off Strict Constant Bitrate or switch the encoder from nvidia to software it will start working.
To play normally as it does on every other non M1 device.
It tries to play for a second or two and then immediately stops with errors.
main.js:341 Using Hls.js config: Object
logger.ts:74 [log] >
hls.ts:371 [log] > stopLoad
hls.ts:339 [log] > loadSource:https://spectacular-maamoul-f7d58e.netlify.app/playlist.m3u8
stream-controller.ts:546 [log] > [stream-controller]: Trigger BUFFER_RESET
hls.ts:310 [log] > attachMedia
level-controller.ts:172 [log] > [level-controller]: manifest loaded, 1 level(s) found, first bitrate: 1299972
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
level-controller.ts:524 [log] > [level-controller]: Attempt loading level index 0 with URL-id 0 https://spectacular-maamoul-f7d58e.netlify.app/chunklist_w33307575.m3u8
base-stream-controller.ts:1384 [log] > [stream-controller]: STOPPED->IDLE
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: STOPPED->IDLE
buffer-controller.ts:755 [log] > [buffer-controller]: Media source opened
stream-controller.ts:610 [log] > [stream-controller]: Level 0 loaded [0,6], cc [0, 0] duration:60.565
buffer-controller.ts:647 [log] > [buffer-controller]: Updating Media Source duration to 60.565
base-stream-controller.ts:591 [log] > [stream-controller]: Loading fragment 0 cc: 0 of [0-6] level: 0, target: 0
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:67 [log] > demuxing in webworker
transmuxer-interface.ts:191 [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
/favicon.ico:1 Failed to load resource: the server responded with a status of 404 ()
[log] >
[log] > [mp4-remuxer]: ISGenerated flag reset
[log] > [mp4-remuxer]: initPTS & initDTS reset
[log] > manifest codec:mp4a.40.2, ADTS type:2, samplingIndex:3
[log] > parsed codec:mp4a.40.5, rate:48000, channels:1
base-stream-controller.ts:1384 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1225 [log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[mp4a.40.2/mp4a.40.2/mp4a.40.5]
stream-controller.ts:1236 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.42c02a/avc1.42c02a]
buffer-controller.ts:716 [log] > [buffer-controller]: creating sourceBuffer(audio/mp4;codecs=mp4a.40.2)
buffer-controller.ts:716 [log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.42c02a)
audio-stream-controller.ts:114 [log] > [audio-stream-controller]: InitPTS for cc: 0 found from main: 0
[log] > [transmuxer.ts]: Flushed fragment 0 of level 0
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:502 [log] > [stream-controller]: Buffered main sn: 0 of level 0 [0.000,10.000]
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:591 [log] > [stream-controller]: Loading fragment 1 cc: 0 of [0-6] level: 0, target: 10
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:364 [log] > [stream-controller]: Loaded fragment 1 of level 0
base-stream-controller.ts:1384 [log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 1 of level 0
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:502 [log] > [stream-controller]: Buffered main sn: 1 of level 0 [0.000,20.000]
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:591 [log] > [stream-controller]: Loading fragment 2 cc: 0 of [0-6] level: 0, target: 20
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->FRAG_LOADING
/favicon.ico:1 Failed to load resource: the server responded with a status of 404 ()
base-stream-controller.ts:364 [log] > [stream-controller]: Loaded fragment 2 of level 0
base-stream-controller.ts:1384 [log] > [stream-controller]: FRAG_LOADING->PARSING
[log] > [transmuxer.ts]: Flushed fragment 2 of level 0
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSING->PARSED
hls.ts:392 [log] > recoverMediaError
hls.ts:319 [log] > detachMedia
buffer-controller.ts:162 [log] > [buffer-controller]: media source detaching
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSED->STOPPED
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: IDLE->STOPPED
hls.ts:310 [log] > attachMedia
main.js:1005 The video playback was aborted due to a corruption problem or because the video used features your browser did not support - PIPELINE_ERROR_DECODE: VDA Error 4
handleVideoEvent @ main.js:1005
timeline-chart.ts:559 DOMException: Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
at SourceBuffer.<anonymous> (https://hls-js-dev.netlify.app/dist/hls-demo.js:952:47)
(anonymous) @ timeline-chart.ts:559
buffer-controller.ts:755 [log] > [buffer-controller]: Media source opened
buffer-controller.ts:647 [log] > [buffer-controller]: Updating Media Source duration to 60.565
stream-controller.ts:139 [log] > [stream-controller]: Override startPosition with lastCurrentTime @0.888
base-stream-controller.ts:1384 [log] > [stream-controller]: STOPPED->IDLE
base-stream-controller.ts:591 [log] > [stream-controller]: Loading fragment 0 cc: 0 of [0-6] level: 0, target: 0.888
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: STOPPED->IDLE
transmuxer-interface.ts:67 [log] > demuxing in webworker
transmuxer-interface.ts:191 [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] >
[log] > [mp4-remuxer]: ISGenerated flag reset
[log] > [mp4-remuxer]: initPTS & initDTS reset
[log] > manifest codec:mp4a.40.2, ADTS type:2, samplingIndex:3
[log] > parsed codec:mp4a.40.5, rate:48000, channels:1
base-stream-controller.ts:1384 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1225 [log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[mp4a.40.2/mp4a.40.2/mp4a.40.5]
stream-controller.ts:1236 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.42c02a/avc1.42c02a]
buffer-controller.ts:716 [log] > [buffer-controller]: creating sourceBuffer(audio/mp4;codecs=mp4a.40.2)
buffer-controller.ts:716 [log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.42c02a)
[log] > [transmuxer.ts]: Flushed fragment 0 of level 0
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:502 [log] > [stream-controller]: Buffered main sn: 0 of level 0 [0.000,10.000]
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:591 [log] > [stream-controller]: Loading fragment 1 cc: 0 of [0-6] level: 0, target: 10
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->FRAG_LOADING
stream-controller.ts:1001 [log] > [stream-controller]: seek to target start position 0.888223 from current time 0
base-stream-controller.ts:218 [log] > [stream-controller]: media seeking to 0.888, state: FRAG_LOADING
base-stream-controller.ts:218 [log] > [audio-stream-controller]: media seeking to 0.888, state: STOPPED
base-stream-controller.ts:218 [log] > [subtitle-stream-controller]: media seeking to 0.888, state: IDLE
stream-controller.ts:537 [log] > [stream-controller]: Media seeked to 0.893
base-stream-controller.ts:364 [log] > [stream-controller]: Loaded fragment 1 of level 0
hls.ts:381 [log] > swapAudioCodec
hls.ts:392 [log] > recoverMediaError
hls.ts:319 [log] > detachMedia
buffer-controller.ts:162 [log] > [buffer-controller]: media source detaching
base-stream-controller.ts:1384 [log] > [stream-controller]: FRAG_LOADING->STOPPED
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: IDLE->STOPPED
hls.ts:310 [log] > attachMedia
main.js:1005 The video playback was aborted due to a corruption problem or because the video used features your browser did not support - PIPELINE_ERROR_DECODE: VDA Error 4
handleVideoEvent @ main.js:1005
buffer-controller.ts:755 [log] > [buffer-controller]: Media source opened
buffer-controller.ts:647 [log] > [buffer-controller]: Updating Media Source duration to 60.565
stream-controller.ts:139 [log] > [stream-controller]: Override startPosition with lastCurrentTime @0.904
base-stream-controller.ts:1384 [log] > [stream-controller]: STOPPED->IDLE
base-stream-controller.ts:591 [log] > [stream-controller]: Loading fragment 0 cc: 0 of [0-6] level: 0, target: 0.904
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: STOPPED->IDLE
stream-controller.ts:1011 [log] > [stream-controller]: Swapping audio codec
transmuxer-interface.ts:67 [log] > demuxing in webworker
transmuxer-interface.ts:191 [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] >
[log] > [mp4-remuxer]: ISGenerated flag reset
[log] > [mp4-remuxer]: initPTS & initDTS reset
[log] > manifest codec:mp4a.40.5, ADTS type:2, samplingIndex:3
[log] > parsed codec:mp4a.40.5, rate:48000, channels:1
base-stream-controller.ts:1384 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1225 [log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[mp4a.40.2/mp4a.40.2/mp4a.40.5]
stream-controller.ts:1236 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.42c02a/avc1.42c02a]
buffer-controller.ts:716 [log] > [buffer-controller]: creating sourceBuffer(audio/mp4;codecs=mp4a.40.2)
buffer-controller.ts:716 [log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.42c02a)
[log] > [transmuxer.ts]: Flushed fragment 0 of level 0
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSING->PARSED
stream-controller.ts:1001 [log] > [stream-controller]: seek to target start position 0.904116 from current time 0
base-stream-controller.ts:218 [log] > [stream-controller]: media seeking to 0.904, state: PARSED
base-stream-controller.ts:218 [log] > [audio-stream-controller]: media seeking to 0.904, state: STOPPED
base-stream-controller.ts:218 [log] > [subtitle-stream-controller]: media seeking to 0.904, state: IDLE
base-stream-controller.ts:502 [log] > [stream-controller]: Buffered main sn: 0 of level 0 [0.000,10.000]
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:591 [log] > [stream-controller]: Loading fragment 1 cc: 0 of [0-6] level: 0, target: 10
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->FRAG_LOADING
stream-controller.ts:537 [log] > [stream-controller]: Media seeked to 0.908
main.js:1005 The video playback was aborted due to a corruption problem or because the video used features your browser did not support - PIPELINE_ERROR_DECODE: VDA Error 4
handleVideoEvent @ main.js:1005
stream-controller.ts:1011 [log] > [stream-controller]: Swapping audio codec
base-stream-controller.ts:364 [log] > [stream-controller]: Loaded fragment 1 of level 0
base-stream-controller.ts:1384 [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:396 [error] > [buffer-controller]: Error encountered while trying to append to the video SourceBuffer DOMException: Failed to execute 'appendBuffer' on 'SourceBuffer': The HTMLMediaElement.error attribute is not null.
at BufferController.appendExecutor (https://hls-js-dev.netlify.app/dist/hls.js:5004:8)
at Object.execute (https://hls-js-dev.netlify.app/dist/hls.js:4542:16)
at BufferOperationQueue.executeNext (https://hls-js-dev.netlify.app/dist/hls.js:5149:19)
at BufferOperationQueue.append (https://hls-js-dev.netlify.app/dist/hls.js:5112:12)
at BufferController.onBufferAppending (https://hls-js-dev.netlify.app/dist/hls.js:4608:20)
at EventEmitter.emit (https://hls-js-dev.netlify.app/dist/hls.js:310:33)
at Hls.emit (https://hls-js-dev.netlify.app/dist/hls.js:17611:26)
at Hls.trigger (https://hls-js-dev.netlify.app/dist/hls.js:17616:19)
at StreamController.bufferFragmentData (https://hls-js-dev.netlify.app/dist/hls.js:3577:14)
at StreamController._handleTransmuxComplete (https://hls-js-dev.netlify.app/dist/hls.js:10657:14)
onError @ buffer-controller.ts:396
main.js:725 Error event: Object
(anonymous) @ main.js:725
buffer-operation-queue.ts:62 [warn] > [buffer-operation-queue]: Unhandled exception executing the current operation
executeNext @ buffer-operation-queue.ts:62
buffer-controller.ts:396 [error] > [buffer-controller]: Error encountered while trying to append to the audio SourceBuffer DOMException: Failed to execute 'appendBuffer' on 'SourceBuffer': The HTMLMediaElement.error attribute is not null.
at BufferController.appendExecutor (https://hls-js-dev.netlify.app/dist/hls.js:5004:8)
at Object.execute (https://hls-js-dev.netlify.app/dist/hls.js:4542:16)
at BufferOperationQueue.executeNext (https://hls-js-dev.netlify.app/dist/hls.js:5149:19)
at BufferOperationQueue.append (https://hls-js-dev.netlify.app/dist/hls.js:5112:12)
at BufferController.onBufferAppending (https://hls-js-dev.netlify.app/dist/hls.js:4608:20)
at EventEmitter.emit (https://hls-js-dev.netlify.app/dist/hls.js:310:33)
at Hls.emit (https://hls-js-dev.netlify.app/dist/hls.js:17611:26)
at Hls.trigger (https://hls-js-dev.netlify.app/dist/hls.js:17616:19)
at StreamController.bufferFragmentData (https://hls-js-dev.netlify.app/dist/hls.js:3577:14)
at StreamController._handleTransmuxComplete (https://hls-js-dev.netlify.app/dist/hls.js:10680:12)
onError @ buffer-controller.ts:396
main.js:725 Error event: Object
(anonymous) @ main.js:725
[log] > [transmuxer.ts]: Flushed fragment 1 of level 0
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:502 [log] > [stream-controller]: Buffered main sn: 1 of level 0 [0.000,10.000]
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:1049 [log] > [stream-controller]: SN 1 just loaded, load next one: 2
base-stream-controller.ts:591 [log] > [stream-controller]: Loading fragment 2 cc: 0 of [0-6] level: 0, target: 20
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->FRAG_LOADING
stream-controller.ts:1011 [log] > [stream-controller]: Swapping audio codec
base-stream-controller.ts:364 [log] > [stream-controller]: Loaded fragment 2 of level 0
base-stream-controller.ts:1384 [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:396 [error] > [buffer-controller]: Error encountered while trying to append to the video SourceBuffer DOMException: Failed to execute 'appendBuffer' on 'SourceBuffer': The HTMLMediaElement.error attribute is not null.
at BufferController.appendExecutor (https://hls-js-dev.netlify.app/dist/hls.js:5004:8)
at Object.execute (https://hls-js-dev.netlify.app/dist/hls.js:4542:16)
at BufferOperationQueue.executeNext (https://hls-js-dev.netlify.app/dist/hls.js:5149:19)
at BufferOperationQueue.append (https://hls-js-dev.netlify.app/dist/hls.js:5112:12)
at BufferController.onBufferAppending (https://hls-js-dev.netlify.app/dist/hls.js:4608:20)
at EventEmitter.emit (https://hls-js-dev.netlify.app/dist/hls.js:310:33)
at Hls.emit (https://hls-js-dev.netlify.app/dist/hls.js:17611:26)
at Hls.trigger (https://hls-js-dev.netlify.app/dist/hls.js:17616:19)
at StreamController.bufferFragmentData (https://hls-js-dev.netlify.app/dist/hls.js:3577:14)
at StreamController._handleTransmuxComplete (https://hls-js-dev.netlify.app/dist/hls.js:10657:14)
onError @ buffer-controller.ts:396
main.js:725 Error event: Object
(anonymous) @ main.js:725
buffer-operation-queue.ts:62 [warn] > [buffer-operation-queue]: Unhandled exception executing the current operation
executeNext @ buffer-operation-queue.ts:62
buffer-controller.ts:396 [error] > [buffer-controller]: Error encountered while trying to append to the audio SourceBuffer DOMException: Failed to execute 'appendBuffer' on 'SourceBuffer': The HTMLMediaElement.error attribute is not null.
at BufferController.appendExecutor (https://hls-js-dev.netlify.app/dist/hls.js:5004:8)
at Object.execute (https://hls-js-dev.netlify.app/dist/hls.js:4542:16)
at BufferOperationQueue.executeNext (https://hls-js-dev.netlify.app/dist/hls.js:5149:19)
at BufferOperationQueue.append (https://hls-js-dev.netlify.app/dist/hls.js:5112:12)
at BufferController.onBufferAppending (https://hls-js-dev.netlify.app/dist/hls.js:4608:20)
at EventEmitter.emit (https://hls-js-dev.netlify.app/dist/hls.js:310:33)
at Hls.emit (https://hls-js-dev.netlify.app/dist/hls.js:17611:26)
at Hls.trigger (https://hls-js-dev.netlify.app/dist/hls.js:17616:19)
at StreamController.bufferFragmentData (https://hls-js-dev.netlify.app/dist/hls.js:3577:14)
at StreamController._handleTransmuxComplete (https://hls-js-dev.netlify.app/dist/hls.js:10680:12)
onError @ buffer-controller.ts:396
buffer-controller.ts:419 [error] > [buffer-controller]: Failed 3 times to append segment in sourceBuffer
onError @ buffer-controller.ts:419
main.js:725 Error event: Object
(anonymous) @ main.js:725
main.js:838 Fatal error : bufferAppendError
(anonymous) @ main.js:838
[log] > [transmuxer.ts]: Flushed fragment 2 of level 0
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:502 [log] > [stream-controller]: Buffered main sn: 2 of level 0 [0.000,10.000]
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:591 [log] > [stream-controller]: Loading fragment 1 cc: 0 of [0-6] level: 0, target: 10
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->FRAG_LOADING
stream-controller.ts:1011 [log] > [stream-controller]: Swapping audio codec
transmuxer-interface.ts:191 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 1 p: -1 level: 0 id: 1
discontinuity: false
trackSwitch: false
contiguous: false
accurateTimeOffset: true
timeOffset: 10
initSegmentChange: false
base-stream-controller.ts:364 [log] > [stream-controller]: Loaded fragment 1 of level 0
[log] > [mp4-remuxer]: reset next timestamp
base-stream-controller.ts:1384 [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:396 [error] > [buffer-controller]: Error encountered while trying to append to the video SourceBuffer DOMException: Failed to execute 'appendBuffer' on 'SourceBuffer': The HTMLMediaElement.error attribute is not null.
at BufferController.appendExecutor (https://hls-js-dev.netlify.app/dist/hls.js:5004:8)
at Object.execute (https://hls-js-dev.netlify.app/dist/hls.js:4542:16)
at BufferOperationQueue.executeNext (https://hls-js-dev.netlify.app/dist/hls.js:5149:19)
at BufferOperationQueue.append (https://hls-js-dev.netlify.app/dist/hls.js:5112:12)
at BufferController.onBufferAppending (https://hls-js-dev.netlify.app/dist/hls.js:4608:20)
at EventEmitter.emit (https://hls-js-dev.netlify.app/dist/hls.js:310:33)
at Hls.emit (https://hls-js-dev.netlify.app/dist/hls.js:17611:26)
at Hls.trigger (https://hls-js-dev.netlify.app/dist/hls.js:17616:19)
at StreamController.bufferFragmentData (https://hls-js-dev.netlify.app/dist/hls.js:3577:14)
at StreamController._handleTransmuxComplete (https://hls-js-dev.netlify.app/dist/hls.js:10657:14)
onError @ buffer-controller.ts:396
buffer-controller.ts:419 [error] > [buffer-controller]: Failed 3 times to append segment in sourceBuffer
onError @ buffer-controller.ts:419
main.js:725 Error event: Object
(anonymous) @ main.js:725
main.js:838 Fatal error : bufferAppendError
(anonymous) @ main.js:838
buffer-operation-queue.ts:62 [warn] > [buffer-operation-queue]: Unhandled exception executing the current operation
executeNext @ buffer-operation-queue.ts:62
buffer-controller.ts:396 [error] > [buffer-controller]: Error encountered while trying to append to the audio SourceBuffer DOMException: Failed to execute 'appendBuffer' on 'SourceBuffer': The HTMLMediaElement.error attribute is not null.
at BufferController.appendExecutor (https://hls-js-dev.netlify.app/dist/hls.js:5004:8)
at Object.execute (https://hls-js-dev.netlify.app/dist/hls.js:4542:16)
at BufferOperationQueue.executeNext (https://hls-js-dev.netlify.app/dist/hls.js:5149:19)
at BufferOperationQueue.append (https://hls-js-dev.netlify.app/dist/hls.js:5112:12)
at BufferController.onBufferAppending (https://hls-js-dev.netlify.app/dist/hls.js:4608:20)
at EventEmitter.emit (https://hls-js-dev.netlify.app/dist/hls.js:310:33)
at Hls.emit (https://hls-js-dev.netlify.app/dist/hls.js:17611:26)
at Hls.trigger (https://hls-js-dev.netlify.app/dist/hls.js:17616:19)
at StreamController.bufferFragmentData (https://hls-js-dev.netlify.app/dist/hls.js:3577:14)
at StreamController._handleTransmuxComplete (https://hls-js-dev.netlify.app/dist/hls.js:10680:12)
onError @ buffer-controller.ts:396
buffer-controller.ts:419 [error] > [buffer-controller]: Failed 3 times to append segment in sourceBuffer
onError @ buffer-controller.ts:419
main.js:725 Error event: Object
(anonymous) @ main.js:725
main.js:838 Fatal error : bufferAppendError
(anonymous) @ main.js:838
hls.ts:392 [log] > recoverMediaError
hls.ts:319 [log] > detachMedia
buffer-controller.ts:162 [log] > [buffer-controller]: media source detaching
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSING->STOPPED
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: IDLE->STOPPED
hls.ts:310 [log] > attachMedia
buffer-controller.ts:755 [log] > [buffer-controller]: Media source opened
buffer-controller.ts:647 [log] > [buffer-controller]: Updating Media Source duration to 60.565
stream-controller.ts:139 [log] > [stream-controller]: Override startPosition with lastCurrentTime @0.913
base-stream-controller.ts:1384 [log] > [stream-controller]: STOPPED->IDLE
base-stream-controller.ts:591 [log] > [stream-controller]: Loading fragment 0 cc: 0 of [0-6] level: 0, target: 0.913
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: STOPPED->IDLE
stream-controller.ts:1011 [log] > [stream-controller]: Swapping audio codec
transmuxer-interface.ts:67 [log] > demuxing in webworker
transmuxer-interface.ts:191 [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] >
[log] > [mp4-remuxer]: ISGenerated flag reset
[log] > [mp4-remuxer]: initPTS & initDTS reset
[log] > manifest codec:mp4a.40.5, ADTS type:2, samplingIndex:3
[log] > parsed codec:mp4a.40.5, rate:48000, channels:1
base-stream-controller.ts:1384 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1225 [log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[mp4a.40.2/mp4a.40.2/mp4a.40.5]
stream-controller.ts:1236 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.42c02a/avc1.42c02a]
buffer-controller.ts:716 [log] > [buffer-controller]: creating sourceBuffer(audio/mp4;codecs=mp4a.40.2)
buffer-controller.ts:716 [log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.42c02a)
[log] > [transmuxer.ts]: Flushed fragment 0 of level 0
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSING->PARSED
stream-controller.ts:1001 [log] > [stream-controller]: seek to target start position 0.912808 from current time 0
base-stream-controller.ts:218 [log] > [stream-controller]: media seeking to 0.913, state: PARSED
base-stream-controller.ts:218 [log] > [audio-stream-controller]: media seeking to 0.913, state: STOPPED
base-stream-controller.ts:218 [log] > [subtitle-stream-controller]: media seeking to 0.913, state: IDLE
base-stream-controller.ts:502 [log] > [stream-controller]: Buffered main sn: 0 of level 0 [0.000,10.000]
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:591 [log] > [stream-controller]: Loading fragment 1 cc: 0 of [0-6] level: 0, target: 10
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->FRAG_LOADING
stream-controller.ts:537 [log] > [stream-controller]: Media seeked to 1.045
hls.ts:381 [log] > swapAudioCodec
hls.ts:392 [log] > recoverMediaError
hls.ts:319 [log] > detachMedia
buffer-controller.ts:162 [log] > [buffer-controller]: media source detaching
base-stream-controller.ts:1384 [log] > [stream-controller]: FRAG_LOADING->STOPPED
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: IDLE->STOPPED
hls.ts:310 [log] > attachMedia
main.js:1005 The video playback was aborted due to a corruption problem or because the video used features your browser did not support - PIPELINE_ERROR_DECODE: VDA Error 4
handleVideoEvent @ main.js:1005
buffer-controller.ts:755 [log] > [buffer-controller]: Media source opened
buffer-controller.ts:647 [log] > [buffer-controller]: Updating Media Source duration to 60.565
stream-controller.ts:139 [log] > [stream-controller]: Override startPosition with lastCurrentTime @1.045
base-stream-controller.ts:1384 [log] > [stream-controller]: STOPPED->IDLE
base-stream-controller.ts:591 [log] > [stream-controller]: Loading fragment 0 cc: 0 of [0-6] level: 0, target: 1.045
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:1384 [log] > [subtitle-stream-controller]: STOPPED->IDLE
abr-controller.ts:107 [warn] > frag loader destroy or aborted, disarm abandonRules
_abandonRulesCheck @ abr-controller.ts:107
transmuxer-interface.ts:67 [log] > demuxing in webworker
transmuxer-interface.ts:191 [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
5b738231-1f8e-4924-9952-354faf4abbdc:603 [log] >
5b738231-1f8e-4924-9952-354faf4abbdc:3520 [log] > [mp4-remuxer]: ISGenerated flag reset
5b738231-1f8e-4924-9952-354faf4abbdc:3509 [log] > [mp4-remuxer]: initPTS & initDTS reset
5b738231-1f8e-4924-9952-354faf4abbdc:7864 [log] > manifest codec:mp4a.40.2, ADTS type:2, samplingIndex:3
5b738231-1f8e-4924-9952-354faf4abbdc:8026 [log] > parsed codec:mp4a.40.5, rate:48000, channels:1
5b738231-1f8e-4924-9952-354faf4abbdc:938 [log] > [transmuxer.ts]: Flushed fragment 0 of level 0
base-stream-controller.ts:1384 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1225 [log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[mp4a.40.2/mp4a.40.2/mp4a.40.5]
stream-controller.ts:1236 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.42c02a/avc1.42c02a]
buffer-controller.ts:716 [log] > [buffer-controller]: creating sourceBuffer(audio/mp4;codecs=mp4a.40.2)
buffer-controller.ts:716 [log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.42c02a)
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:502 [log] > [stream-controller]: Buffered main sn: 0 of level 0 [0.000,10.000]
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:591 [log] > [stream-controller]: Loading fragment 1 cc: 0 of [0-6] level: 0, target: 10
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->FRAG_LOADING
stream-controller.ts:1001 [log] > [stream-controller]: seek to target start position 1.044978 from current time 0
base-stream-controller.ts:218 [log] > [stream-controller]: media seeking to 1.045, state: FRAG_LOADING
base-stream-controller.ts:218 [log] > [audio-stream-controller]: media seeking to 1.045, state: STOPPED
base-stream-controller.ts:218 [log] > [subtitle-stream-controller]: media seeking to 1.045, state: IDLE
base-stream-controller.ts:364 [log] > [stream-controller]: Loaded fragment 1 of level 0
5b738231-1f8e-4924-9952-354faf4abbdc:938 [log] > [transmuxer.ts]: Flushed fragment 1 of level 0
base-stream-controller.ts:1384 [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:396 [error] > [buffer-controller]: Error encountered while trying to append to the video SourceBuffer DOMException: Failed to execute 'appendBuffer' on 'SourceBuffer': The HTMLMediaElement.error attribute is not null.
at BufferController.appendExecutor (https://hls-js-dev.netlify.app/dist/hls.js:5004:8)
at Object.execute (https://hls-js-dev.netlify.app/dist/hls.js:4542:16)
at BufferOperationQueue.executeNext (https://hls-js-dev.netlify.app/dist/hls.js:5149:19)
at BufferOperationQueue.append (https://hls-js-dev.netlify.app/dist/hls.js:5112:12)
at BufferController.onBufferAppending (https://hls-js-dev.netlify.app/dist/hls.js:4608:20)
at EventEmitter.emit (https://hls-js-dev.netlify.app/dist/hls.js:310:33)
at Hls.emit (https://hls-js-dev.netlify.app/dist/hls.js:17611:26)
at Hls.trigger (https://hls-js-dev.netlify.app/dist/hls.js:17616:19)
at StreamController.bufferFragmentData (https://hls-js-dev.netlify.app/dist/hls.js:3577:14)
at StreamController._handleTransmuxComplete (https://hls-js-dev.netlify.app/dist/hls.js:10657:14)
onError @ buffer-controller.ts:396
main.js:725 Error event: Object
(anonymous) @ main.js:725
buffer-operation-queue.ts:62 [warn] > [buffer-operation-queue]: Unhandled exception executing the current operation
executeNext @ buffer-operation-queue.ts:62
buffer-controller.ts:396 [error] > [buffer-controller]: Error encountered while trying to append to the audio SourceBuffer DOMException: Failed to execute 'appendBuffer' on 'SourceBuffer': The HTMLMediaElement.error attribute is not null.
at BufferController.appendExecutor (https://hls-js-dev.netlify.app/dist/hls.js:5004:8)
at Object.execute (https://hls-js-dev.netlify.app/dist/hls.js:4542:16)
at BufferOperationQueue.executeNext (https://hls-js-dev.netlify.app/dist/hls.js:5149:19)
at BufferOperationQueue.append (https://hls-js-dev.netlify.app/dist/hls.js:5112:12)
at BufferController.onBufferAppending (https://hls-js-dev.netlify.app/dist/hls.js:4608:20)
at EventEmitter.emit (https://hls-js-dev.netlify.app/dist/hls.js:310:33)
at Hls.emit (https://hls-js-dev.netlify.app/dist/hls.js:17611:26)
at Hls.trigger (https://hls-js-dev.netlify.app/dist/hls.js:17616:19)
at StreamController.bufferFragmentData (https://hls-js-dev.netlify.app/dist/hls.js:3577:14)
at StreamController._handleTransmuxComplete (https://hls-js-dev.netlify.app/dist/hls.js:10680:12)
onError @ buffer-controller.ts:396
main.js:725 Error event: Object
(anonymous) @ main.js:725
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:502 [log] > [stream-controller]: Buffered main sn: 1 of level 0 [0.000,10.000]
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:1049 [log] > [stream-controller]: SN 1 just loaded, load next one: 2
base-stream-controller.ts:591 [log] > [stream-controller]: Loading fragment 2 cc: 0 of [0-6] level: 0, target: 20
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->FRAG_LOADING
main.js:1005 The video playback was aborted due to a corruption problem or because the video used features your browser did not support - PIPELINE_ERROR_DECODE: VDA Error 4
handleVideoEvent @ main.js:1005
base-stream-controller.ts:364 [log] > [stream-controller]: Loaded fragment 2 of level 0
5b738231-1f8e-4924-9952-354faf4abbdc:938 [log] > [transmuxer.ts]: Flushed fragment 2 of level 0
base-stream-controller.ts:1384 [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:396 [error] > [buffer-controller]: Error encountered while trying to append to the video SourceBuffer DOMException: Failed to execute 'appendBuffer' on 'SourceBuffer': The HTMLMediaElement.error attribute is not null.
at BufferController.appendExecutor (https://hls-js-dev.netlify.app/dist/hls.js:5004:8)
at Object.execute (https://hls-js-dev.netlify.app/dist/hls.js:4542:16)
at BufferOperationQueue.executeNext (https://hls-js-dev.netlify.app/dist/hls.js:5149:19)
at BufferOperationQueue.append (https://hls-js-dev.netlify.app/dist/hls.js:5112:12)
at BufferController.onBufferAppending (https://hls-js-dev.netlify.app/dist/hls.js:4608:20)
at EventEmitter.emit (https://hls-js-dev.netlify.app/dist/hls.js:310:33)
at Hls.emit (https://hls-js-dev.netlify.app/dist/hls.js:17611:26)
at Hls.trigger (https://hls-js-dev.netlify.app/dist/hls.js:17616:19)
at StreamController.bufferFragmentData (https://hls-js-dev.netlify.app/dist/hls.js:3577:14)
at StreamController._handleTransmuxComplete (https://hls-js-dev.netlify.app/dist/hls.js:10657:14)
onError @ buffer-controller.ts:396
main.js:725 Error event: Object
(anonymous) @ main.js:725
buffer-operation-queue.ts:62 [warn] > [buffer-operation-queue]: Unhandled exception executing the current operation
executeNext @ buffer-operation-queue.ts:62
buffer-controller.ts:396 [error] > [buffer-controller]: Error encountered while trying to append to the audio SourceBuffer DOMException: Failed to execute 'appendBuffer' on 'SourceBuffer': The HTMLMediaElement.error attribute is not null.
at BufferController.appendExecutor (https://hls-js-dev.netlify.app/dist/hls.js:5004:8)
at Object.execute (https://hls-js-dev.netlify.app/dist/hls.js:4542:16)
at BufferOperationQueue.executeNext (https://hls-js-dev.netlify.app/dist/hls.js:5149:19)
at BufferOperationQueue.append (https://hls-js-dev.netlify.app/dist/hls.js:5112:12)
at BufferController.onBufferAppending (https://hls-js-dev.netlify.app/dist/hls.js:4608:20)
at EventEmitter.emit (https://hls-js-dev.netlify.app/dist/hls.js:310:33)
at Hls.emit (https://hls-js-dev.netlify.app/dist/hls.js:17611:26)
at Hls.trigger (https://hls-js-dev.netlify.app/dist/hls.js:17616:19)
at StreamController.bufferFragmentData (https://hls-js-dev.netlify.app/dist/hls.js:3577:14)
at StreamController._handleTransmuxComplete (https://hls-js-dev.netlify.app/dist/hls.js:10680:12)
onError @ buffer-controller.ts:396
buffer-controller.ts:419 [error] > [buffer-controller]: Failed 3 times to append segment in sourceBuffer
onError @ buffer-controller.ts:419
main.js:725 Error event: Object
(anonymous) @ main.js:725
main.js:838 Fatal error : bufferAppendError
(anonymous) @ main.js:838
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:502 [log] > [stream-controller]: Buffered main sn: 2 of level 0 [0.000,10.000]
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:591 [log] > [stream-controller]: Loading fragment 1 cc: 0 of [0-6] level: 0, target: 10
base-stream-controller.ts:1384 [log] > [stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:191 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 1 p: -1 level: 0 id: 1
discontinuity: false
trackSwitch: false
contiguous: false
accurateTimeOffset: true
timeOffset: 10
initSegmentChange: false
base-stream-controller.ts:364 [log] > [stream-controller]: Loaded fragment 1 of level 0
5b738231-1f8e-4924-9952-354faf4abbdc:3514 [log] > [mp4-remuxer]: reset next timestamp
5b738231-1f8e-4924-9952-354faf4abbdc:938 [log] > [transmuxer.ts]: Flushed fragment 1 of level 0
base-stream-controller.ts:1384 [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:396 [error] > [buffer-controller]: Error encountered while trying to append to the video SourceBuffer DOMException: Failed to execute 'appendBuffer' on 'SourceBuffer': The HTMLMediaElement.error attribute is not null.
at BufferController.appendExecutor (https://hls-js-dev.netlify.app/dist/hls.js:5004:8)
at Object.execute (https://hls-js-dev.netlify.app/dist/hls.js:4542:16)
at BufferOperationQueue.executeNext (https://hls-js-dev.netlify.app/dist/hls.js:5149:19)
at BufferOperationQueue.append (https://hls-js-dev.netlify.app/dist/hls.js:5112:12)
at BufferController.onBufferAppending (https://hls-js-dev.netlify.app/dist/hls.js:4608:20)
at EventEmitter.emit (https://hls-js-dev.netlify.app/dist/hls.js:310:33)
at Hls.emit (https://hls-js-dev.netlify.app/dist/hls.js:17611:26)
at Hls.trigger (https://hls-js-dev.netlify.app/dist/hls.js:17616:19)
at StreamController.bufferFragmentData (https://hls-js-dev.netlify.app/dist/hls.js:3577:14)
at StreamController._handleTransmuxComplete (https://hls-js-dev.netlify.app/dist/hls.js:10657:14)
onError @ buffer-controller.ts:396
buffer-controller.ts:419 [error] > [buffer-controller]: Failed 3 times to append segment in sourceBuffer
onError @ buffer-controller.ts:419
main.js:725 Error event: Object
(anonymous) @ main.js:725
main.js:838 Fatal error : bufferAppendError
(anonymous) @ main.js:838
buffer-operation-queue.ts:62 [warn] > [buffer-operation-queue]: Unhandled exception executing the current operation
executeNext @ buffer-operation-queue.ts:62
buffer-controller.ts:396 [error] > [buffer-controller]: Error encountered while trying to append to the audio SourceBuffer DOMException: Failed to execute 'appendBuffer' on 'SourceBuffer': The HTMLMediaElement.error attribute is not null.
at BufferController.appendExecutor (https://hls-js-dev.netlify.app/dist/hls.js:5004:8)
at Object.execute (https://hls-js-dev.netlify.app/dist/hls.js:4542:16)
at BufferOperationQueue.executeNext (https://hls-js-dev.netlify.app/dist/hls.js:5149:19)
at BufferOperationQueue.append (https://hls-js-dev.netlify.app/dist/hls.js:5112:12)
at BufferController.onBufferAppending (https://hls-js-dev.netlify.app/dist/hls.js:4608:20)
at EventEmitter.emit (https://hls-js-dev.netlify.app/dist/hls.js:310:33)
at Hls.emit (https://hls-js-dev.netlify.app/dist/hls.js:17611:26)
at Hls.trigger (https://hls-js-dev.netlify.app/dist/hls.js:17616:19)
at StreamController.bufferFragmentData (https://hls-js-dev.netlify.app/dist/hls.js:3577:14)
at StreamController._handleTransmuxComplete (https://hls-js-dev.netlify.app/dist/hls.js:10680:12)
onError @ buffer-controller.ts:396
buffer-controller.ts:419 [error] > [buffer-controller]: Failed 3 times to append segment in sourceBuffer
onError @ buffer-controller.ts:419
main.js:725 Error event: Object
(anonymous) @ main.js:725
main.js:838 Fatal error : bufferAppendError
(anonymous) @ main.js:838
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:502 [log] > [stream-controller]: Buffered main sn: 1 of level 0 [0.000,10.000]
base-stream-controller.ts:1384 [log] > [stream-controller]: PARSED->IDLE
{
"properties": {
"render_id": 6,
"player_id": 27,
"created": "2022-07-15 04:38:51.971 UTC",
"origin_url": "https://hls-js-dev.netlify.app/",
"kFrameUrl": "https://hls-js-dev.netlify.app/demo/?src=https%3A%2F%2Fspectacular-maamoul-f7d58e.netlify.app%2Fplaylist.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ==",
"kFrameTitle": "hls.js demo",
"url": "blob:https://hls-js-dev.netlify.app/d2660c71-bf60-48c8-83f9-6a881bb918b6",
"kTextTracks": [],
"info": "Selected VDAVideoDecoder for video decoding, config: codec: h264, profile: h264 baseline, level: not available, alpha_mode: is_opaque, coded size: [1920,1080], visible rect: [0,0,1920,1080], natural size: [1920,1080], 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": "kStopped",
"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": 48000,
"seek preroll": "0us"
}
],
"kVideoTracks": [
{
"alpha mode": "is_opaque",
"codec": "h264",
"coded size": "1920x1080",
"color space": "{primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}",
"encryption scheme": "Unencrypted",
"has extra data": false,
"hdr metadata": "unset",
"natural size": "1920x1080",
"orientation": "0°",
"profile": "h264 baseline",
"visible rect": "0,0 1920x1080"
}
],
"kIsAudioDecryptingDemuxerStream": false,
"kAudioDecoderName": "FFmpegAudioDecoder",
"kIsPlatformAudioDecoder": false,
"kIsVideoDecryptingDemuxerStream": false,
"kVideoDecoderName": "VDAVideoDecoder",
"kIsPlatformVideoDecoder": true,
"seek_target": 1.044978,
"error": {
"code": 3,
"data": {},
"group": "PipelineStatus",
"message": "",
"stack": [
{
"file": "base/bind_internal.h",
"line": 541
}
]
},
"duration": 60.565,
"audio_buffering_state": {
"state": "BUFFERING_HAVE_ENOUGH"
}
},
"events": [
{
"time": 0,
"key": "created",
"value": "2022-07-15 04:38:51.971 UTC"
},
{
"time": 0.1290000081062317,
"key": "origin_url",
"value": "https://hls-js-dev.netlify.app/"
},
{
"time": 0.13300001621246338,
"key": "kFrameUrl",
"value": "https://hls-js-dev.netlify.app/demo/?src=https%3A%2F%2Fspectacular-maamoul-f7d58e.netlify.app%2Fplaylist.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ=="
},
{
"time": 0.13599997758865356,
"key": "kFrameTitle",
"value": "hls.js demo"
},
{
"time": 0.19599997997283936,
"key": "url",
"value": "blob:https://hls-js-dev.netlify.app/d2660c71-bf60-48c8-83f9-6a881bb918b6"
},
{
"time": 0.2019999623298645,
"key": "kTextTracks",
"value": []
},
{
"time": 0.2160000205039978,
"key": "info",
"value": "ChunkDemuxer"
},
{
"time": 0.26499998569488525,
"key": "kRendererName",
"value": "RendererImpl"
},
{
"time": 0.30900001525878906,
"key": "pipeline_state",
"value": "kStarting"
},
{
"time": 225.08300000429153,
"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": 48000,
"seek preroll": "0us"
}
]
},
{
"time": 228.09600001573563,
"key": "kVideoTracks",
"value": [
{
"alpha mode": "is_opaque",
"codec": "h264",
"coded size": "1920x1080",
"color space": "{primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}",
"encryption scheme": "Unencrypted",
"has extra data": false,
"hdr metadata": "unset",
"natural size": "1920x1080",
"orientation": "0°",
"profile": "h264 baseline",
"visible rect": "0,0 1920x1080"
}
]
},
{
"time": 235.74000000953674,
"key": "kIsAudioDecryptingDemuxerStream",
"value": false
},
{
"time": 235.74699997901917,
"key": "kAudioDecoderName",
"value": "FFmpegAudioDecoder"
},
{
"time": 235.7490000128746,
"key": "kIsPlatformAudioDecoder",
"value": false
},
{
"time": 235.7630000114441,
"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: 48000, 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": 235.81099998950958,
"key": "info",
"value": "Failed to initialize DecryptingVideoDecoder"
},
{
"time": 240,
"key": "kIsVideoDecryptingDemuxerStream",
"value": false
},
{
"time": 240.02799999713898,
"key": "kVideoDecoderName",
"value": "VDAVideoDecoder"
},
{
"time": 240.02899998426437,
"key": "kIsPlatformVideoDecoder",
"value": true
},
{
"time": 240.05500000715256,
"key": "info",
"value": "Selected VDAVideoDecoder for video decoding, config: codec: h264, profile: h264 baseline, level: not available, alpha_mode: is_opaque, coded size: [1920,1080], visible rect: [0,0,1920,1080], natural size: [1920,1080], has extra data: false, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}"
},
{
"time": 240.0799999833107,
"key": "pipeline_state",
"value": "kPlaying"
},
{
"time": 257.22899997234344,
"key": "seek_target",
"value": 1.044978
},
{
"time": 257.2770000100136,
"key": "pipeline_state",
"value": "kSeeking"
},
{
"time": 287.0180000066757,
"key": "pipeline_state",
"value": "kPlaying"
},
{
"time": 369.8959999680519,
"key": "error",
"value": "VDA Error 4"
},
{
"time": 370.13699996471405,
"key": "error",
"value": {
"code": 1,
"data": {},
"group": "DecoderStatus",
"message": "",
"stack": [
{
"file": "media/gpu/ipc/service/vda_video_decoder.cc",
"line": 832
}
]
}
},
{
"time": 370.1599999666214,
"key": "error",
"value": "video decode error!"
},
{
"time": 536.1560000181198,
"key": "error",
"value": {
"code": 3,
"data": {},
"group": "PipelineStatus",
"message": "",
"stack": [
{
"file": "base/bind_internal.h",
"line": 541
}
]
}
},
{
"time": 536.305999994278,
"key": "pipeline_state",
"value": "kStopping"
},
{
"time": 536.6719999909401,
"key": "pipeline_state",
"value": "kStopped"
},
{
"time": 0.7350000143051147,
"key": "duration",
"value": 60.565
},
{
"time": 287.54100000858307,
"key": "audio_buffering_state",
"value": {
"state": "BUFFERING_HAVE_ENOUGH"
}
}
]
}
What version of Hls.js are you using?
1.1.5
What browser (including version) are you using?
Chrome 103
What OS (including version) are you using?
12.2.1
Test stream
https://hls-js.netlify.app/demo/?src=https%3A%2F%2Fspectacular-maamoul-f7d58e.netlify.app%2Fplaylist.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ==
Configuration
Additional player setup steps
No response
Checklist
Steps to reproduce
This issue can be reproduced by using wirecast and these settings to create a stream. https://imgur.com/a/pxsYkVo
If they turn off Strict Constant Bitrate or switch the encoder from nvidia to software it will start working.
Expected behaviour
To play normally as it does on every other non M1 device.
What actually happened?
It tries to play for a second or two and then immediately stops with errors.
Console output
Chrome media internals output
{ "properties": { "render_id": 6, "player_id": 27, "created": "2022-07-15 04:38:51.971 UTC", "origin_url": "https://hls-js-dev.netlify.app/", "kFrameUrl": "https://hls-js-dev.netlify.app/demo/?src=https%3A%2F%2Fspectacular-maamoul-f7d58e.netlify.app%2Fplaylist.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ==", "kFrameTitle": "hls.js demo", "url": "blob:https://hls-js-dev.netlify.app/d2660c71-bf60-48c8-83f9-6a881bb918b6", "kTextTracks": [], "info": "Selected VDAVideoDecoder for video decoding, config: codec: h264, profile: h264 baseline, level: not available, alpha_mode: is_opaque, coded size: [1920,1080], visible rect: [0,0,1920,1080], natural size: [1920,1080], 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": "kStopped", "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": 48000, "seek preroll": "0us" } ], "kVideoTracks": [ { "alpha mode": "is_opaque", "codec": "h264", "coded size": "1920x1080", "color space": "{primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}", "encryption scheme": "Unencrypted", "has extra data": false, "hdr metadata": "unset", "natural size": "1920x1080", "orientation": "0°", "profile": "h264 baseline", "visible rect": "0,0 1920x1080" } ], "kIsAudioDecryptingDemuxerStream": false, "kAudioDecoderName": "FFmpegAudioDecoder", "kIsPlatformAudioDecoder": false, "kIsVideoDecryptingDemuxerStream": false, "kVideoDecoderName": "VDAVideoDecoder", "kIsPlatformVideoDecoder": true, "seek_target": 1.044978, "error": { "code": 3, "data": {}, "group": "PipelineStatus", "message": "", "stack": [ { "file": "base/bind_internal.h", "line": 541 } ] }, "duration": 60.565, "audio_buffering_state": { "state": "BUFFERING_HAVE_ENOUGH" } }, "events": [ { "time": 0, "key": "created", "value": "2022-07-15 04:38:51.971 UTC" }, { "time": 0.1290000081062317, "key": "origin_url", "value": "https://hls-js-dev.netlify.app/" }, { "time": 0.13300001621246338, "key": "kFrameUrl", "value": "https://hls-js-dev.netlify.app/demo/?src=https%3A%2F%2Fspectacular-maamoul-f7d58e.netlify.app%2Fplaylist.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ==" }, { "time": 0.13599997758865356, "key": "kFrameTitle", "value": "hls.js demo" }, { "time": 0.19599997997283936, "key": "url", "value": "blob:https://hls-js-dev.netlify.app/d2660c71-bf60-48c8-83f9-6a881bb918b6" }, { "time": 0.2019999623298645, "key": "kTextTracks", "value": [] }, { "time": 0.2160000205039978, "key": "info", "value": "ChunkDemuxer" }, { "time": 0.26499998569488525, "key": "kRendererName", "value": "RendererImpl" }, { "time": 0.30900001525878906, "key": "pipeline_state", "value": "kStarting" }, { "time": 225.08300000429153, "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": 48000, "seek preroll": "0us" } ] }, { "time": 228.09600001573563, "key": "kVideoTracks", "value": [ { "alpha mode": "is_opaque", "codec": "h264", "coded size": "1920x1080", "color space": "{primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}", "encryption scheme": "Unencrypted", "has extra data": false, "hdr metadata": "unset", "natural size": "1920x1080", "orientation": "0°", "profile": "h264 baseline", "visible rect": "0,0 1920x1080" } ] }, { "time": 235.74000000953674, "key": "kIsAudioDecryptingDemuxerStream", "value": false }, { "time": 235.74699997901917, "key": "kAudioDecoderName", "value": "FFmpegAudioDecoder" }, { "time": 235.7490000128746, "key": "kIsPlatformAudioDecoder", "value": false }, { "time": 235.7630000114441, "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: 48000, 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": 235.81099998950958, "key": "info", "value": "Failed to initialize DecryptingVideoDecoder" }, { "time": 240, "key": "kIsVideoDecryptingDemuxerStream", "value": false }, { "time": 240.02799999713898, "key": "kVideoDecoderName", "value": "VDAVideoDecoder" }, { "time": 240.02899998426437, "key": "kIsPlatformVideoDecoder", "value": true }, { "time": 240.05500000715256, "key": "info", "value": "Selected VDAVideoDecoder for video decoding, config: codec: h264, profile: h264 baseline, level: not available, alpha_mode: is_opaque, coded size: [1920,1080], visible rect: [0,0,1920,1080], natural size: [1920,1080], has extra data: false, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}" }, { "time": 240.0799999833107, "key": "pipeline_state", "value": "kPlaying" }, { "time": 257.22899997234344, "key": "seek_target", "value": 1.044978 }, { "time": 257.2770000100136, "key": "pipeline_state", "value": "kSeeking" }, { "time": 287.0180000066757, "key": "pipeline_state", "value": "kPlaying" }, { "time": 369.8959999680519, "key": "error", "value": "VDA Error 4" }, { "time": 370.13699996471405, "key": "error", "value": { "code": 1, "data": {}, "group": "DecoderStatus", "message": "", "stack": [ { "file": "media/gpu/ipc/service/vda_video_decoder.cc", "line": 832 } ] } }, { "time": 370.1599999666214, "key": "error", "value": "video decode error!" }, { "time": 536.1560000181198, "key": "error", "value": { "code": 3, "data": {}, "group": "PipelineStatus", "message": "", "stack": [ { "file": "base/bind_internal.h", "line": 541 } ] } }, { "time": 536.305999994278, "key": "pipeline_state", "value": "kStopping" }, { "time": 536.6719999909401, "key": "pipeline_state", "value": "kStopped" }, { "time": 0.7350000143051147, "key": "duration", "value": 60.565 }, { "time": 287.54100000858307, "key": "audio_buffering_state", "value": { "state": "BUFFERING_HAVE_ENOUGH" } } ] }