【bufferAppendError】when play the first ts lacks audio data
What version of Hls.js are you using?
1.6.2
What browser (including version) are you using?
Chrome/134.0.0.0
What OS (including version) are you using?
macOS 15.3.2 (24D81)
Test stream
https://hlsjs.video-dev.org/demo/?src=https%3A%2F%2Fcos1.qvb.qcloud.com%2Fdemo%2Fstream%2Fhls%2Fhlsjs_buffer_append_error%2Foutput.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ==
Configuration
{
"debug": true,
"enableWorker": true,
"lowLatencyMode": true,
"backBufferLength": 90
}
Additional player setup steps
No response
Checklist
- [x] The issue observed is not already reported by searching on Github under https://github.com/video-dev/hls.js/issues
- [x] The issue occurs in the stable client (latest release) on https://hlsjs.video-dev.org/demo and not just on my page
- [x] The issue occurs in the latest client (main branch) on https://hlsjs-dev.video-dev.org/demo and not just on my page
- [x] The stream has correct Access-Control-Allow-Origin headers (CORS)
- [x] There are no network errors such as 404s in the browser console when trying to play the stream
Steps to reproduce
just play test stream
Expected behaviour
Play normally until the end
What actually happened?
When the first TS file of an HLS video lacks audio data, hls.js throws a bufferAppendError. This situation commonly occurs when the user's streaming SDK or other streaming tools initially push video without audio。
Console output
hls.ts:429 [log] > destroy
19:31:48.055 hls.ts:478 [log] > detachMedia
19:31:48.055 buffer-controller.ts:462 [log] > [buffer-controller]: media source detaching
19:31:48.058 main.js:350 Using Hls.js config: {debug: true, enableWorker: true, lowLatencyMode: true, backBufferLength: 90}
19:31:48.058 logger.ts:102 [log] > Debug logs enabled for "Hls instance" in hls.js version undefined
19:31:48.060 hls.ts:575 [log] > stopLoad
19:31:48.060 hls.ts:509 [log] > loadSource:https://cos1.qvb.qcloud.com/demo/stream/hls/hlsjs_buffer_append_error/output.m3u8
19:31:48.061 stream-controller.ts:611 [log] > [stream-controller]: Trigger BUFFER_RESET
19:31:48.061 hls.ts:462 [log] > attachMedia
19:31:48.061 buffer-controller.ts:320 [log] > [buffer-controller]: created media source: MediaSource
19:31:48.070 buffer-controller.ts:1513 [log] > [buffer-controller]: Media source opened
19:31:48.072 buffer-controller.ts:1342 [log] > [buffer-controller]: checkPendingTracks (pending: 0 codec events expected: 0) {}
19:31:48.525 level-controller.ts:370 [log] > [level-controller]: manifest loaded, 1 level(s) found, first bitrate: 0
19:31:48.525 buffer-controller.ts:266 [log] > [buffer-controller]: 1 bufferCodec event(s) expected.
19:31:48.526 playlist-loader.ts:405 [log] > auto startLoad with configured startPosition -1
19:31:48.527 hls.ts:552 [log] > startLoad(-1)
19:31:48.527 level-controller.ts:468 [log] > [level-controller]: Switching to level 0 (SDR @0) from level -1
19:31:48.527 base-stream-controller.ts:2093 [log] > [stream-controller]: STOPPED->IDLE
19:31:48.527 base-stream-controller.ts:2093 [log] > [subtitle-stream-controller]: STOPPED->IDLE
19:31:48.528 stream-controller.ts:671 [log] > [stream-controller]: Level 0 loaded [0,2][part-2--1], cc [0, 0] duration:30.033333
19:31:48.528 base-stream-controller.ts:1725 [log] > [stream-controller]: setting startPosition to 0 by default
19:31:48.528 interstitials-controller.ts:1056 [log] > [interstitials]: setSchedulePosition 0, undefined
19:31:48.529 interstitials-controller.ts:1842 [log] > [interstitials]: buffered to boundary [primary: 0.00-30.03]
19:31:48.529 interstitials-controller.ts:1294 [log] > [interstitials]: resuming [primary: 0.00-30.03]
19:31:48.529 buffer-controller.ts:1319 [log] > [buffer-controller]: Updating MediaSource duration to 30.033
19:31:48.530 base-stream-controller.ts:899 [log] > [stream-controller]: Loading main sn: 0 of level 0 (frag:[0.000-16.667]) cc: 0 [0-2], target: 0
19:31:48.530 base-stream-controller.ts:2093 [log] > [stream-controller]: IDLE->FRAG_LOADING
19:31:48.662 transmuxer-interface.ts:88 [log] > injecting Web Worker for "main"
19:31:48.667 transmuxer-interface.ts:238 [log] > [transmuxer-interface]: Starting new transmux session for main sn: 0 level: 0 id: 1
discontinuity: true
trackSwitch: true
contiguous: false
accurateTimeOffset: true
timeOffset: 0
initSegmentChange: true
19:31:48.668 base-stream-controller.ts:512 [log] > [stream-controller]: Loaded main sn: 0 of level 0
19:31:48.709 bd19e778-ad10-4530-adfe-e881ded68fec:1197 [log] > Debug logs enabled for "main" in hls.js version undefined
19:31:48.709 transmuxer-interface.ts:396 [log] > [mp4-remuxer]: ISGenerated flag reset
19:31:48.709 transmuxer-interface.ts:396 [log] > [mp4-remuxer]: initPTS & initDTS reset
19:31:48.709 transmuxer-interface.ts:396 [log] > [mp4-remuxer]: reset next timestamp
19:31:48.715 base-stream-controller.ts:2093 [log] > [stream-controller]: FRAG_LOADING->PARSING
19:31:48.715 stream-controller.ts:1464 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[/avc1.64001e]
19:31:48.715 buffer-controller.ts:590 [log] > [buffer-controller]: BUFFER_CODECS: "video" (current SB count 0)
19:31:48.716 buffer-controller.ts:1342 [log] > [buffer-controller]: checkPendingTracks (pending: 1 codec events expected: 1) {"video":{"listeners":[],"codec":"avc1.64001e","container":"video/mp4","metadata":{"width":640,"height":360},"id":"main"}}
19:31:48.716 buffer-controller.ts:1411 [log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.64001e) {"listeners":[],"codec":"avc1.64001e","container":"video/mp4","metadata":{"width":640,"height":360},"id":"main"}
19:31:48.716 buffer-controller.ts:1380 [log] > [buffer-controller]: SourceBuffers created. Running queue:
video: (SourceBuffer)
audio: (none)
audiovideo: (none) }
19:31:48.718 audio-stream-controller.ts:153 [log] > [audio-stream-controller]: InitPTS for cc: 0 found from main: 132000/90000
19:31:48.719 transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 0 of level 0
19:31:48.719 base-stream-controller.ts:2093 [log] > [stream-controller]: PARSING->PARSED
19:31:48.719 base-stream-controller.ts:2040 [log] > [stream-controller]: Parsed main sn: 0 of level 0 (frag:[0.000-16.667])
19:31:48.736 base-stream-controller.ts:708 [log] > [stream-controller]: Buffered main sn: 0 of level 0 (frag:[0.000-16.667] > buffer:[0.000-16.667])
19:31:48.737 base-stream-controller.ts:2093 [log] > [stream-controller]: PARSED->IDLE
19:31:48.737 base-stream-controller.ts:899 [log] > [stream-controller]: Loading main sn: 1 of level 0 (frag:[16.667-25.000]) cc: 0 [0-2], target: 16.667
19:31:48.737 base-stream-controller.ts:2093 [log] > [stream-controller]: IDLE->FRAG_LOADING
19:31:48.824 base-stream-controller.ts:512 [log] > [stream-controller]: Loaded main sn: 1 of level 0
19:31:48.825 bd19e778-ad10-4530-adfe-e881ded68fec:10863 [log] > manifest codec:undefined, parsed codec:mp4a.40.2, channels:2, rate:48000 (ADTS object type:2 sampling index:3)
19:31:48.826 transmuxer-interface.ts:396 [log] > [mp4-remuxer]: ISGenerated flag reset
19:31:48.828 base-stream-controller.ts:2093 [log] > [stream-controller]: FRAG_LOADING->PARSING
19:31:48.828 stream-controller.ts:1435 [log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[mp4a.40.2//mp4a.40.2]
19:31:48.828 stream-controller.ts:1464 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[/avc1.64001e]
19:31:48.828 buffer-controller.ts:590 [log] > [buffer-controller]: BUFFER_CODECS: "audio,video" (current SB count 1)
19:31:48.828 buffer-controller.ts:602 [warn] > [buffer-controller]: Unsupported transition between "video" and "audio,video" SourceBuffers
onBufferCodecs @ buffer-controller.ts:602
emit @ index.js:203
emit @ hls.ts:382
trigger @ hls.ts:390
_bufferInitSegment @ stream-controller.ts:1482
_handleTransmuxComplete @ stream-controller.ts:1205
handleTransmuxComplete @ transmuxer-interface.ts:447
(anonymous) @ transmuxer-interface.ts:384Understand this warningAI
19:31:48.828 buffer-controller.ts:920 [warn] > [buffer-controller]: Failed 1/3 times to append segment in "audio" sourceBuffer (no media error)
onError @ buffer-controller.ts:920
executeNext @ buffer-operation-queue.ts:104
append @ buffer-operation-queue.ts:35
append @ buffer-controller.ts:1727
onBufferAppending @ buffer-controller.ts:933
emit @ index.js:203
emit @ hls.ts:382
trigger @ hls.ts:390
(anonymous) @ stream-controller.ts:1492
_bufferInitSegment @ stream-controller.ts:1488
_handleTransmuxComplete @ stream-controller.ts:1205
handleTransmuxComplete @ transmuxer-interface.ts:447
(anonymous) @ transmuxer-interface.ts:384Understand this warningAI
19:31:48.828 content-steering-controller.ts:220 [warn] > [content-steering]: Could not resolve bufferAppendError ("Attempting to append to the audio SourceBuffer, but it does not exist") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":167521.7000002861}
onError @ content-steering-controller.ts:220
emit @ index.js:203
emit @ hls.ts:382
trigger @ hls.ts:390
onError @ buffer-controller.ts:930
executeNext @ buffer-operation-queue.ts:104
append @ buffer-operation-queue.ts:35
append @ buffer-controller.ts:1727
onBufferAppending @ buffer-controller.ts:933
emit @ index.js:203
emit @ hls.ts:382
trigger @ hls.ts:390
(anonymous) @ stream-controller.ts:1492
_bufferInitSegment @ stream-controller.ts:1488
_handleTransmuxComplete @ stream-controller.ts:1205
handleTransmuxComplete @ transmuxer-interface.ts:447
(anonymous) @ transmuxer-interface.ts:384Understand this warningAI
19:31:48.828 base-stream-controller.ts:1919 [log] > [stream-controller]: Reset loading state
19:31:48.828 base-stream-controller.ts:2093 [log] > [stream-controller]: PARSING->IDLE
19:31:48.829 hls.ts:575 [log] > stopLoad
19:31:48.829 base-stream-controller.ts:2093 [log] > [stream-controller]: IDLE->STOPPED
19:31:48.829 base-stream-controller.ts:2093 [log] > [subtitle-stream-controller]: IDLE->STOPPED
19:31:48.829 bd19e778-ad10-4530-adfe-e881ded68fec:1197 [log] > Debug logs enabled for "main" in hls.js version undefined
19:31:48.829 main.js:745 Error event: {type: 'mediaError', parent: 'main', details: 'bufferAppendError', sourceBufferName: 'audio', frag: Fragment, …}
(anonymous) @ main.js:745
emit @ index.js:203
emit @ hls.ts:382
trigger @ hls.ts:390
onError @ buffer-controller.ts:930
executeNext @ buffer-operation-queue.ts:104
append @ buffer-operation-queue.ts:35
append @ buffer-controller.ts:1727
onBufferAppending @ buffer-controller.ts:933
emit @ index.js:203
emit @ hls.ts:382
trigger @ hls.ts:390
(anonymous) @ stream-controller.ts:1492
_bufferInitSegment @ stream-controller.ts:1488
_handleTransmuxComplete @ stream-controller.ts:1205
handleTransmuxComplete @ transmuxer-interface.ts:447
(anonymous) @ transmuxer-interface.ts:384Understand this warningAI
19:31:48.829 main.js:858 Fatal error : bufferAppendError
(anonymous) @ main.js:858
emit @ index.js:203
emit @ hls.ts:382
trigger @ hls.ts:390
onError @ buffer-controller.ts:930
executeNext @ buffer-operation-queue.ts:104
append @ buffer-operation-queue.ts:35
append @ buffer-controller.ts:1727
onBufferAppending @ buffer-controller.ts:933
emit @ index.js:203
emit @ hls.ts:382
trigger @ hls.ts:390
(anonymous) @ stream-controller.ts:1492
_bufferInitSegment @ stream-controller.ts:1488
_handleTransmuxComplete @ stream-controller.ts:1205
handleTransmuxComplete @ transmuxer-interface.ts:447
(anonymous) @ transmuxer-interface.ts:384Understand this errorAI
19:31:48.829 hls.ts:658 [log] > recoverMediaError
19:31:48.829 hls.ts:478 [log] > detachMedia
19:31:48.830 buffer-controller.ts:462 [log] > [buffer-controller]: media source detaching
19:31:48.831 hls.ts:462 [log] > attachMedia
19:31:48.831 buffer-controller.ts:320 [log] > [buffer-controller]: created media source: MediaSource
19:31:48.831 hls.ts:552 [log] > startLoad(0.08666)
19:31:48.831 base-stream-controller.ts:2093 [log] > [stream-controller]: STOPPED->IDLE
19:31:48.831 base-stream-controller.ts:2093 [log] > [subtitle-stream-controller]: STOPPED->IDLE
19:31:48.833 base-stream-controller.ts:1919 [log] > [stream-controller]: Reset loading state
19:31:48.833 main.js:745 Error event: {type: 'mediaError', parent: 'main', details: 'bufferAppendError', sourceBufferName: 'video', frag: Fragment, …}
(anonymous) @ main.js:745
emit @ index.js:203
emit @ hls.ts:382
trigger @ hls.ts:390
onError @ buffer-controller.ts:930
executeNext @ buffer-operation-queue.ts:104
append @ buffer-operation-queue.ts:35
append @ buffer-controller.ts:1727
onBufferAppending @ buffer-controller.ts:933
emit @ index.js:203
emit @ hls.ts:382
trigger @ hls.ts:390
(anonymous) @ stream-controller.ts:1492
_bufferInitSegment @ stream-controller.ts:1488
_handleTransmuxComplete @ stream-controller.ts:1205
handleTransmuxComplete @ transmuxer-interface.ts:447
(anonymous) @ transmuxer-interface.ts:384Understand this warningAI
19:31:48.839 buffer-controller.ts:1513 [log] > [buffer-controller]: Media source opened
19:31:48.839 buffer-controller.ts:1319 [log] > [buffer-controller]: Updating MediaSource duration to 30.033
19:31:48.839 interstitials-controller.ts:1056 [log] > [interstitials]: setSchedulePosition 0, undefined
19:31:48.840 interstitials-controller.ts:1842 [log] > [interstitials]: buffered to boundary [primary: 0.00-30.03]
19:31:48.840 interstitials-controller.ts:1294 [log] > [interstitials]: resuming [primary: 0.00-30.03]
19:31:48.840 buffer-controller.ts:1342 [log] > [buffer-controller]: checkPendingTracks (pending: 0 codec events expected: 1) {}
19:31:48.933 base-stream-controller.ts:899 [log] > [stream-controller]: Loading main sn: 0 of level 0 (frag:[0.000-16.667]) cc: 0 [0-2], target: 0.087
19:31:48.933 base-stream-controller.ts:2093 [log] > [stream-controller]: IDLE->FRAG_LOADING
19:31:48.950 transmuxer-interface.ts:238 [log] > [transmuxer-interface]: Starting new transmux session for main sn: 0 level: 0 id: 1
discontinuity: true
trackSwitch: true
contiguous: false
accurateTimeOffset: true
timeOffset: 0
initSegmentChange: true
19:31:48.950 base-stream-controller.ts:512 [log] > [stream-controller]: Loaded main sn: 0 of level 0
19:31:48.951 transmuxer-interface.ts:396 [log] > [mp4-remuxer]: ISGenerated flag reset
19:31:48.951 transmuxer-interface.ts:396 [log] > [mp4-remuxer]: initPTS & initDTS reset
19:31:48.951 transmuxer-interface.ts:396 [log] > [mp4-remuxer]: reset next timestamp
19:31:48.953 base-stream-controller.ts:2093 [log] > [stream-controller]: FRAG_LOADING->PARSING
19:31:48.953 stream-controller.ts:1464 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[/avc1.64001e]
19:31:48.953 buffer-controller.ts:590 [log] > [buffer-controller]: BUFFER_CODECS: "video" (current SB count 0)
19:31:48.953 buffer-controller.ts:1342 [log] > [buffer-controller]: checkPendingTracks (pending: 1 codec events expected: 1) {"video":{"listeners":[],"codec":"avc1.64001e","container":"video/mp4","metadata":{"width":640,"height":360},"id":"main"}}
19:31:48.954 buffer-controller.ts:1411 [log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.64001e) {"listeners":[],"codec":"avc1.64001e","container":"video/mp4","metadata":{"width":640,"height":360},"id":"main"}
19:31:48.954 buffer-controller.ts:1380 [log] > [buffer-controller]: SourceBuffers created. Running queue:
video: (SourceBuffer)
audio: (none)
audiovideo: (none) }
19:31:48.956 transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 0 of level 0
19:31:48.956 base-stream-controller.ts:2093 [log] > [stream-controller]: PARSING->PARSED
19:31:48.956 base-stream-controller.ts:2040 [log] > [stream-controller]: Parsed main sn: 0 of level 0 (frag:[0.000-16.667])
19:31:48.965 base-stream-controller.ts:708 [log] > [stream-controller]: Buffered main sn: 0 of level 0 (frag:[0.000-16.667] > buffer:[0.000-16.667])
19:31:48.965 base-stream-controller.ts:2093 [log] > [stream-controller]: PARSED->IDLE
19:31:48.965 stream-controller.ts:1131 [log] > [stream-controller]: seek to target start position 0.08666 from current time 0 buffer start 0
19:31:48.965 base-stream-controller.ts:899 [log] > [stream-controller]: Loading main sn: 1 of level 0 (frag:[16.667-25.000]) cc: 0 [0-2], target: 16.667
19:31:48.965 base-stream-controller.ts:2093 [log] > [stream-controller]: IDLE->FRAG_LOADING
19:31:48.966 base-stream-controller.ts:335 [log] > [stream-controller]: media seeking to 0.087, state: FRAG_LOADING
19:31:48.966 base-stream-controller.ts:335 [log] > [audio-stream-controller]: media seeking to 0.087, state: STOPPED
19:31:48.966 base-stream-controller.ts:335 [log] > [subtitle-stream-controller]: media seeking to 0.087, state: IDLE
19:31:48.973 stream-controller.ts:583 [log] > [stream-controller]: Media seeked to 0.088
19:31:48.991 base-stream-controller.ts:512 [log] > [stream-controller]: Loaded main sn: 1 of level 0
19:31:48.992 bd19e778-ad10-4530-adfe-e881ded68fec:10863 [log] > manifest codec:undefined, parsed codec:mp4a.40.2, channels:2, rate:48000 (ADTS object type:2 sampling index:3)
19:31:48.993 transmuxer-interface.ts:396 [log] > [mp4-remuxer]: ISGenerated flag reset
19:31:48.993 base-stream-controller.ts:2093 [log] > [stream-controller]: FRAG_LOADING->PARSING
19:31:48.993 stream-controller.ts:1435 [log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[mp4a.40.2//mp4a.40.2]
19:31:48.993 stream-controller.ts:1464 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[/avc1.64001e]
19:31:48.994 buffer-controller.ts:590 [log] > [buffer-controller]: BUFFER_CODECS: "audio,video" (current SB count 1)
19:31:48.994 buffer-controller.ts:602 [warn] > [buffer-controller]: Unsupported transition between "video" and "audio,video" SourceBuffers
onBufferCodecs @ buffer-controller.ts:602
emit @ index.js:203
emit @ hls.ts:382
trigger @ hls.ts:390
_bufferInitSegment @ stream-controller.ts:1482
_handleTransmuxComplete @ stream-controller.ts:1205
handleTransmuxComplete @ transmuxer-interface.ts:447
(anonymous) @ transmuxer-interface.ts:384Understand this warningAI
19:31:48.994 buffer-controller.ts:920 [warn] > [buffer-controller]: Failed 1/3 times to append segment in "audio" sourceBuffer (no media error)
onError @ buffer-controller.ts:920
executeNext @ buffer-operation-queue.ts:104
append @ buffer-operation-queue.ts:35
append @ buffer-controller.ts:1727
onBufferAppending @ buffer-controller.ts:933
emit @ index.js:203
emit @ hls.ts:382
trigger @ hls.ts:390
(anonymous) @ stream-controller.ts:1492
_bufferInitSegment @ stream-controller.ts:1488
_handleTransmuxComplete @ stream-controller.ts:1205
handleTransmuxComplete @ transmuxer-interface.ts:447
(anonymous) @ transmuxer-interface.ts:384Understand this warningAI
19:31:48.994 content-steering-controller.ts:220 [warn] > [content-steering]: Could not resolve bufferAppendError ("Attempting to append to the audio SourceBuffer, but it does not exist") with content-steering for Pathway: . levels: 1 priorities: ["."] penalized: {".":167521.7000002861}
onError @ content-steering-controller.ts:220
emit @ index.js:203
emit @ hls.ts:382
trigger @ hls.ts:390
onError @ buffer-controller.ts:930
executeNext @ buffer-operation-queue.ts:104
append @ buffer-operation-queue.ts:35
append @ buffer-controller.ts:1727
onBufferAppending @ buffer-controller.ts:933
emit @ index.js:203
emit @ hls.ts:382
trigger @ hls.ts:390
(anonymous) @ stream-controller.ts:1492
_bufferInitSegment @ stream-controller.ts:1488
_handleTransmuxComplete @ stream-controller.ts:1205
handleTransmuxComplete @ transmuxer-interface.ts:447
(anonymous) @ transmuxer-interface.ts:384Understand this warningAI
19:31:48.994 base-stream-controller.ts:1919 [log] > [stream-controller]: Reset loading state
19:31:48.994 base-stream-controller.ts:2093 [log] > [stream-controller]: PARSING->IDLE
19:31:48.994 hls.ts:575 [log] > stopLoad
19:31:48.994 base-stream-controller.ts:2093 [log] > [stream-controller]: IDLE->STOPPED
19:31:48.994 bd19e778-ad10-4530-adfe-e881ded68fec:1197 [log] > Debug logs enabled for "main" in hls.js version undefined
19:31:48.994 base-stream-controller.ts:2093 [log] > [subtitle-stream-controller]: IDLE->STOPPED
19:31:48.994 main.js:745 Error event: {type: 'mediaError', parent: 'main', details: 'bufferAppendError', sourceBufferName: 'audio', frag: Fragment, …}
(anonymous) @ main.js:745
emit @ index.js:203
emit @ hls.ts:382
trigger @ hls.ts:390
onError @ buffer-controller.ts:930
executeNext @ buffer-operation-queue.ts:104
append @ buffer-operation-queue.ts:35
append @ buffer-controller.ts:1727
onBufferAppending @ buffer-controller.ts:933
emit @ index.js:203
emit @ hls.ts:382
trigger @ hls.ts:390
(anonymous) @ stream-controller.ts:1492
_bufferInitSegment @ stream-controller.ts:1488
_handleTransmuxComplete @ stream-controller.ts:1205
handleTransmuxComplete @ transmuxer-interface.ts:447
(anonymous) @ transmuxer-interface.ts:384Understand this warningAI
19:31:48.995 main.js:858 Fatal error : bufferAppendError
Chrome media internals output
Duplicate of missing audio in first segment issues under "MSE" label:
~https://github.com/video-dev/hls.js/issues?q=state%3Aopen%20label%3A%22MSE%22~
https://github.com/video-dev/hls.js/issues?q=state%3Aopen%20label%3Asourcebuffer-track-mismatch
Providing an HLS Multivariant Playlist with a STREAM-INF tag and CODEC attribute would result in the proper SourceBuffer setup. The current version does not reset MediaSource and SourceBuffers upon discovering new media tracks (audio or video) in segments not present in previous segments.
Duplicate of missing audio in first segment issues under "MSE" label:
https://github.com/video-dev/hls.js/issues?q=state%3Aopen%20label%3A%22MSE%22
Providing an HLS Multivariant Playlist with a STREAM-INF tag and CODEC attribute would result in the proper SourceBuffer setup. The current version does not reset MediaSource and SourceBuffers upon discovering new media tracks (audio or video) in segments not present in previous segments.
@robwalch
add EXT-X-STREAM-INF tag and CODEC attr, but still got bufferAppendError
#EXTM3U #EXT-X-VERSION:3 #EXT-X-STREAM-INF:BANDWIDTH=140800,RESOLUTION=640x360,CODECS="avc1.64001e,mp4a.40.2" stream_0.m3u8
https://hlsjs.video-dev.org/demo/?src=https%3A%2F%2Fcos1.qvb.qcloud.com%2Fdemo%2Fstream%2Fhls%2Fhlsjs_buffer_append_error_with_codecinf%2Fmaster.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ==