Skip to content

Playback error for FairPlay DRM content with fragmented MP4 segments #7542

Description

@Jason239

What version of Hls.js are you using?

v1.6.x

What browser (including version) are you using?

Safari 18.6 (20621.3.11.11.3)

What OS (including version) are you using?

macOS Sequoia 15.6.1

Test stream

https://drm-contents.doverunner.com/DEV/sglee/single-cmaf/cmaf/master.m3u8

Configuration

hls = new Hls({
                    debug: true,
                    enableWorker: true,
                    emeEnabled: true,
                    drmSystems: {
                        'com.apple.fps': {
                            licenseUrl: licenseUri,
                            serverCertificateUrl: fairplayCertUri,
                        }
                    },
                    // FairPlay license request setup - following HLS.js API docs
                    licenseXhrSetup: function(xhr, url, keyContext, licenseChallenge) {
                        log('licenseXhrSetup called');
                        log('License URL: ' + url);
                        log('License challenge length: ' + (licenseChallenge ? licenseChallenge.byteLength : 'null'));
                        ...
                    },
                    // FairPlay license response processing - following HLS.js API docs
                    licenseResponseCallback: function(xhr, url, keyContext) {
                        log('licenseResponseCallback called');
                        log('Response status: ' + xhr.status);

                        ...                        
                    }
                });

Additional player setup steps

No response

Checklist

Steps to reproduce

Expected behaviour

playback fine

What actually happened?

As you can see, this is HLS FairPlay content composed of fragmented MP4 segments.
While a certificate request occurs, a licence request does not. It appears that the MediaKeySession's generateRequest API is not being called, with an error occurring beforehand.
Could this be due to an inability to parse the FairPlay EXT-X-KEY URI format within the m3u8?

Console output

[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (hls.js.map, line 0)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (hls.js.map, line 0)
[Log] Widevine :: NotSupportedError: The operation is not supported. (doverunner-sample-helper.js, line 85)
[Log] PlayReady :: NotSupportedError: The operation is not supported. (doverunner-sample-helper.js, line 85)
[Log] FairPlay support ok (doverunner-sample-helper.js, line 83)
[Log] Running in Safari. FairPlay supported. (doverunner-sample-helper.js, line 56)
[Log] [오후 7:51:58] Initializing HLS.js player... (fps-test.html, line 46)
[Log] [오후 7:51:58] HLS.js is supported (fps-test.html, line 46)
[Log] [log] >"Debug logs enabled for \"Hls instance\" in hls.js version 1.6.12" (hls.js, line 1168)
[Log] [log] >"attachMedia" (hls.js, line 36668)
[Log] [log] >"[buffer-controller]:""created media source: ManagedMediaSource" (hls.js, line 19200)
[Log] [오후 7:51:58] Loading content: https://drm-contents.doverunner.com/DEV/sglee/single-cmaf/cmaf/master.m3u8 (fps-test.html, line 46)
[Log] [log] >"stopLoad" (hls.js, line 36756)
[Log] [log] >"loadSource:https://drm-contents.doverunner.com/DEV/sglee/single-cmaf/cmaf/master.m3u8" (hls.js, line 36715)
[Log] [log] >"[interstitials]:""clear schedule state" (hls.js, line 25637)
[Log] [log] >"[stream-controller]:""Trigger BUFFER_RESET" (hls.js, line 34679)
[Log] [log] >"[buffer-controller]:""Media source opened" (hls.js, line 19000)
[Log] [log] >"[buffer-controller]:""checkPendingTracks (pending: 0 codec events expected: 0) {}" (hls.js, line 20048)
[Log] [log] >"[level-controller]:""manifest loaded, 1 level(s) found, first bitrate: 4735671" (hls.js, line 33884)
[Log] [log] >"[abr]:""setting initial bwe to 4735671" (hls.js, line 4163)
[Log] [log] >"[buffer-controller]:""2 bufferCodec event(s) expected." (hls.js, line 19155)
[Log] [오후 7:51:58] Manifest parsed, 1 quality levels found (fps-test.html, line 46)
[Log] [log] >"auto startLoad with configured startPosition -1" (hls.js, line 36098)
[Log] [log] >"startLoad(-1)" (hls.js, line 36741)
[Log] [log] >"[level-controller]:""Switching to level 0 (1080p SDR avc1,mp4a @4735671) from level -1" (hls.js, line 34112)
[Log] [log] >"[audio-track-controller]:""Updating audio tracks, 1 track(s) found in group(s): audio" (hls.js, line 18593)
[Log] [log] >"[audio-track-controller]:""Switching to audio-track 0 \"und_mp4a\" lang:undefined group:audio channels:2" (hls.js, line 18678)
[Log] [log] >"[audio-stream-controller]:""Reset loading state" (hls.js, line 10666)
[Log] [log] >"[level-controller]:""Loading level index 0 https://drm-contents.doverunner.com/DEV/sglee/single-cmaf/cmaf/video/avc1/1/stream.m3u8" (hls.js, line 33989)
[Log] [log] >"[stream-controller]:""STOPPED->IDLE" (hls.js, line 10853)
[Log] [log] >"[audio-track-controller]:""Loading audio-track 0 \"und_mp4a\" lang:undefined group:audio https://drm-contents.doverunner.com/DEV/sglee/single-cmaf/cmaf/audio/mp4a/und_2c…" (hls.js, line 18753)
"Loading audio-track 0 \"und_mp4a\" lang:undefined group:audio https://drm-contents.doverunner.com/DEV/sglee/single-cmaf/cmaf/audio/mp4a/und_2ch/stream.m3u8"
[Log] [log] >"[audio-stream-controller]:""STOPPED->WAITING_TRACK" (hls.js, line 10853)
[Log] [log] >"[subtitle-stream-controller]:""STOPPED->IDLE" (hls.js, line 10853)
[Log] [log] >"[stream-controller]:""Level 0 loaded [0,14][part-14--1], cc [0, 0] duration:90" (hls.js, line 34726)
[Log] [log] >"[stream-controller]:""setting startPosition to 0 by default" (hls.js, line 10493)
[Log] [log] >"[interstitials]:""[checkStart] Advancing timeline position to 0" (hls.js, line 25782)
[Log] [log] >"[interstitials]:""setSchedulePosition 0, undefined ([primary: 0.00-90.00]) pos: 0" (hls.js, line 25866)
[Log] [log] >"[interstitials]:""INTERSTITIALS_BUFFERED_TO_BOUNDARY [primary: 0.00-90.00]" (hls.js, line 26392)
[Log] [log] >"[interstitials]:""resuming [primary: 0.00-90.00]" (hls.js, line 26046)
[Log] [log] >"[interstitials]:""[attachPrimary] Advancing timeline position to 0" (hls.js, line 26112)
[Log] [log] >"[buffer-controller]:""Updating MediaSource duration to 90.000" (hls.js, line 20035)
[Log] [log] >"[eme]:""Selecting key-system from fragment (sn: 0 main: 0) key formats urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed, com.microsoft.playready…" (hls.js, line 23228)
"Selecting key-system from fragment (sn: 0 main: 0) key formats urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed, com.microsoft.playready, com.apple.streamingkeydelivery"
[Log] [log] >"[eme]:""Requesting encrypted media \"com.apple.fps\" key-system access with config…" (hls.js, line 23120)
"Requesting encrypted media \"com.apple.fps\" key-system access with config: [{\"initDataTypes\":[\"cenc\",\"sinf\"],\"persistentState\":\"optional\",\"distinctiveIdentifier\":\"optional\",\"sessionTypes\":[\"temporary\"],\"audioCapabilities\":[{\"contentType\":\"audio/mp4; codecs=mp4a.40.2\",\"robustness\":\"\",\"encryptionScheme\":null}],\"videoCapabilities\":[{\"contentType\":\"video/mp4; codecs=avc1.640028\",\"robustness\":\"\",\"encryptionScheme\":null}]}]"
[Log] [log] >"[stream-controller]:""[eme] blocking frag load until media-keys acquired" (hls.js, line 9836)
[Log] [log] >"[stream-controller]:""Loading main sn: initSegment of level 0 (frag:[0.000-0.000]) cc: 0 [0-14], target: 0" (hls.js, line 9903)
[Log] [log] >"[stream-controller]:""IDLE->FRAG_LOADING" (hls.js, line 10853)
[Log] [log] >"[audio-track-controller]:""Audio track 0 \"und_mp4a\" lang:undefined group:audio loaded [0-14]" (hls.js, line 18526)
[Log] [log] >"[audio-stream-controller]:""Audio track 0 \"und_mp4a\" of \"audio\" loaded [0,14][part-14--1],duration:90.003" (hls.js, line 17748)
[Log] [log] >"[audio-stream-controller]:""setting startPosition to 0 by default" (hls.js, line 10493)
[Log] [log] >"[audio-stream-controller]:""WAITING_TRACK->IDLE" (hls.js, line 10853)
[Log] [log] >"[audio-stream-controller]:""[eme] blocking frag load until media-keys acquired" (hls.js, line 9836)
[Log] [log] >"[audio-stream-controller]:""Loading audio sn: initSegment of track 0 (frag:[0.000-0.000]) cc: 0 [0-14], target: 0" (hls.js, line 9903)
[Log] [log] >"[audio-stream-controller]:""IDLE->FRAG_LOADING" (hls.js, line 10853)
[Log] [log] >"[eme]:""Access for key-system \"com.apple.fps\" obtained" (hls.js, line 23129)
[Log] [log] >"[eme]:""Fetching server certificate for \"com.apple.fps\"" (hls.js, line 23571)
[Log] [log] >"[eme]:""Create media-keys for \"com.apple.fps\"" (hls.js, line 23131)
[Log] [log] >"[eme]:""Media-keys created for \"com.apple.fps\"" (hls.js, line 23133)
[Log] [log] >"[eme]:""setServerCertificate success (1720) on \"com.apple.fps\"" (hls.js, line 23624)
[Log] [log] >"[eme]:""Setting media-keys for \"com.apple.fps\"" (hls.js, line 23359)
[Log] [log] >"[audio-stream-controller]:""FRAG_LOADING->IDLE" (hls.js, line 10853)
[Log] [log] >"[audio-stream-controller]:""Loading key for 0 of [0-14], track 0" (hls.js, line 9814)
[Log] [log] >"[audio-stream-controller]:""IDLE->KEY_LOADING" (hls.js, line 10853)
[Log] [log] >"[key-loader]:""Loading keyId: 00000000000000000000000000000000 URI: skd://UJBsa+kXlGDD0aWfFu6YBA== from audio 0" (hls.js, line 35693)
[Log] [log] >"[eme]:""Starting session for key (keyId: 00000000000000000000000000000000 format: \"com.apple.streamingkeydelivery\" method: SAMPLE-AES uri…" (hls.js, line 23261)
"Starting session for key (keyId: 00000000000000000000000000000000 format: \"com.apple.streamingkeydelivery\" method: SAMPLE-AES uri: skd://UJBsa+kXlGDD0aWfFu6YBA==)"
[Log] [오후 7:51:58] KEY_LOADING event - setting up FairPlay key ID (fps-test.html, line 46)
[Log] [오후 7:51:58] Processing FairPlay key: skd://UJBsa+kXlGDD0aWfFu6YBA== (fps-test.html, line 46)
[Log] [오후 7:51:58] Current keyId: 00000000000000000000000000000000 (fps-test.html, line 46)
[Log] [오후 7:51:58] Updated keyId to: 50906c6be9179460c3d1a59f16ee9804 (fps-test.html, line 46)
[Log] [log] >"[audio-stream-controller]:""Loading audio sn: 0 of track 0 (frag:[0.000-6.014]) cc: 0 [0-14], target: 0" (hls.js, line 9903)
[Log] [log] >"[audio-stream-controller]:""KEY_LOADING->FRAG_LOADING" (hls.js, line 10853)
[Log] [log] >"[eme]:""Handle encrypted media sn: 0 audio: 0 using key (keyId: 00000000000000000000000000000000 format: \"com.apple.streamingkeydelivery\" method…" (hls.js, line 23268)
"Handle encrypted media sn: 0 audio: 0 using key (keyId: 00000000000000000000000000000000 format: \"com.apple.streamingkeydelivery\" method: SAMPLE-AES uri: skd://UJBsa+kXlGDD0aWfFu6YBA==)"
[Log] [log] >"[eme]:""Creating key-system session \"com.apple.fps\" keyId: 50906c6be9179460c3d1a59f16ee9804 keyUri: skd://UJBsa+kXlGDD0aWfFu6YBA==" (hls.js, line 23156)
[Log] [log] >"[eme]:""Skipping key-session request for \"playlist-key\" (no initData)" (hls.js, line 23400)
[Log] [log] >"[eme]:""Media-keys set for \"com.apple.fps\"" (hls.js, line 23372)
[Log] [log] >"[stream-controller]:""FRAG_LOADING->IDLE" (hls.js, line 10853)
[Log] [log] >"[stream-controller]:""Loading key for 0 of [0-14], level 0" (hls.js, line 9814)
[Log] [log] >"[stream-controller]:""IDLE->KEY_LOADING" (hls.js, line 10853)
[Log] [log] >"[key-loader]:""Reloading keyId: 00000000000000000000000000000000 URI: skd://UJBsa+kXlGDD0aWfFu6YBA== from main 0" (hls.js, line 35693)
[Log] [log] >"[eme]:""Starting session for key (keyId: 00000000000000000000000000000000 format: \"com.apple.streamingkeydelivery\" method: SAMPLE-AES uri…" (hls.js, line 23261)
"Starting session for key (keyId: 00000000000000000000000000000000 format: \"com.apple.streamingkeydelivery\" method: SAMPLE-AES uri: skd://UJBsa+kXlGDD0aWfFu6YBA==)"
[Log] [오후 7:51:58] KEY_LOADING event - setting up FairPlay key ID (fps-test.html, line 46)
[Log] [오후 7:51:58] Processing FairPlay key: skd://UJBsa+kXlGDD0aWfFu6YBA== (fps-test.html, line 46)
[Log] [오후 7:51:58] Current keyId: 00000000000000000000000000000000 (fps-test.html, line 46)
[Log] [오후 7:51:58] Updated keyId to: 50906c6be9179460c3d1a59f16ee9804 (fps-test.html, line 46)
[Log] [log] >"[stream-controller]:""Loading main sn: 0 of level 0 (frag:[0.000-6.000]) cc: 0 [0-14], target: 0" (hls.js, line 9903)
[Log] [log] >"[stream-controller]:""KEY_LOADING->FRAG_LOADING" (hls.js, line 10853)
[Log] [log] >"injecting Web Worker for \"audio\"" (hls.js, line 17151)
[Log] [log] >"[audio-stream-controller]:""Unknown video PTS for cc 0, waiting for video PTS before demuxing audio frag 0 of [0 ,14],track 0" (hls.js, line 17833)
[Log] [log] >"[audio-stream-controller]:""FRAG_LOADING->WAITING_INIT_PTS" (hls.js, line 10853)
[Log] [log] >"[audio-stream-controller]:""Loaded audio sn: 0 of track 0" (hls.js, line 9590)
[Log] [log] >"injecting Web Worker for \"main\"" (hls.js, line 17151)
[Log] [log] >"[transmuxer-interface]: Starting new transmux session for main sn: 0 level: 0 id: 1↵        discontinuity: true↵        trackSwitch: true↵…" (hls.js, line 17253)
"[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"
[Log] [log] >"[stream-controller]:""Loaded main sn: 0 of level 0" (hls.js, line 9590)
[Log] [log] >"Debug logs enabled for \"audio\" in hls.js version 1.6.12" (6f646ef0-5ff7-49c7-99c7-8ba737e0308c, line 1168)
[Log] [log] >"Debug logs enabled for \"main\" in hls.js version 1.6.12" (6f646ef0-5ff7-49c7-99c7-8ba737e0308c, line 1168)
[Log] [log] >"[passthrough-remuxer]: Found initPTS at playlist time: 0 offset: 0 (0/48) trackId: 1" (hls.js, line 17089)
[Log] [log] >"[stream-controller]:""FRAG_LOADING->PARSING" (hls.js, line 10853)
[Log] [log] >"[stream-controller]:""Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.640028/avc1.640028]" (hls.js, line 35372)
[Log] [log] >"[buffer-controller]:""BUFFER_CODECS: \"video\" (current SB count 0)" (hls.js, line 19418)
[Log] [log] >"[buffer-controller]:""checkPendingTracks (pending: 1 codec events expected: 2) {\"video\":{\"listeners\":[],\"codec\":\"avc1.640028\",\"container\":\"video/mp4\",\"levelCodec\"" (hls.js, line 20048)
"checkPendingTracks (pending: 1 codec events expected: 2) {\"video\":{\"listeners\":[],\"codec\":\"avc1.640028\",\"container\":\"video/mp4\",\"levelCodec\":\"avc1.640028\",\"id\":\"main\"}}"
[Log] [log] >"[buffer-controller]:""queuing \"video\" append sn: initSegment of level 0 cc: 0" (hls.js, line 19712)
[Log] [log] >"[audio-stream-controller]:""InitPTS for cc: 0 found from main: 0 (0/48) trackId: 1" (hls.js, line 17433)
[Log] [log] >"[buffer-controller]:""queuing \"video\" append sn: 0 of level 0 cc: 0" (hls.js, line 19712)
[Log] [log] >"[transmuxer.ts]: Flushed main sn: 0 of level 0" (hls.js, line 17089)
[Log] [log] >"[stream-controller]:""PARSING->PARSED" (hls.js, line 10853)
[Log] [log] >"[stream-controller]:""Parsed main sn: 0 of level 0 (frag:[0.000-6.000])" (hls.js, line 10760)
[Log] [log] >"[audio-stream-controller]:""WAITING_INIT_PTS->FRAG_LOADING" (hls.js, line 10853)
[Log] [log] >"[transmuxer-interface]: Starting new transmux session for audio sn: 0 track: 0 id: 1↵        discontinuity: true↵        trackSwitch: true…" (hls.js, line 17253)
"[transmuxer-interface]: Starting new transmux session for audio sn: 0 track: 0 id: 1
        discontinuity: true
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: false
        timeOffset: 0
        initSegmentChange: true"
[Log] [log] >"[audio-stream-controller]:""FRAG_LOADING->PARSING" (hls.js, line 10853)
[Log] [log] >"[audio-stream-controller]:""Init audio buffer, container:audio/mp4, codecs[level/parsed]=[mp4a.40.2/mp4a.40.2]" (hls.js, line 18067)
[Log] [log] >"[buffer-controller]:""BUFFER_CODECS: \"audio\" (current SB count 0)" (hls.js, line 19418)
[Log] [log] >"[buffer-controller]:""checkPendingTracks (pending: 2 codec events expected: 2) {\"video\":{\"listeners\":[],\"codec\":\"avc1.640028\",\"container\":\"video/mp4\",\"levelCodec\"" (hls.js, line 20048)
"checkPendingTracks (pending: 2 codec events expected: 2) {\"video\":{\"listeners\":[],\"codec\":\"avc1.640028\",\"container\":\"video/mp4\",\"levelCodec\":\"avc1.640028\",\"id\":\"main\"},\"audio\":{\"listeners\":[],\"codec\":\"mp4a.40.2\",\"container\":\"audio/mp4\",\"levelCodec\":\"mp4a.40.2\",\"id\":\"audio\"}}"
[Log] [log] >"[buffer-controller]:""creating sourceBuffer(video/mp4;codecs=avc1.640028) Queued {\"listeners\":[],\"codec\":\"avc1.640028\",\"container\":\"video/mp4\",\"levelCodec\":\"avc1.…" (hls.js, line 20117)
"creating sourceBuffer(video/mp4;codecs=avc1.640028) Queued {\"listeners\":[],\"codec\":\"avc1.640028\",\"container\":\"video/mp4\",\"levelCodec\":\"avc1.640028\",\"id\":\"main\"}"
[Log] [log] >"[buffer-controller]:""creating sourceBuffer(audio/mp4;codecs=mp4a.40.2) {\"listeners\":[],\"codec\":\"mp4a.40.2\",\"container\":\"audio/mp4\",\"levelCodec\":\"mp4a.40.2\",\"id\":…" (hls.js, line 20117)
"creating sourceBuffer(audio/mp4;codecs=mp4a.40.2) {\"listeners\":[],\"codec\":\"mp4a.40.2\",\"container\":\"audio/mp4\",\"levelCodec\":\"mp4a.40.2\",\"id\":\"audio\"}"
[Log] [log] >"[stream-controller]:""Alternate track found, use video.buffered to schedule main fragment loading" (hls.js, line 34936)
[Log] [log] >"[buffer-controller]:""SourceBuffers created. Running queue: ↵video: (SourceBuffer) append-video, append-video, async-blocker↵audio: (SourceBuffer) ↵audiovideo…" (hls.js, line 20087)
"SourceBuffers created. Running queue: 
video: (SourceBuffer) append-video, append-video, async-blocker
audio: (SourceBuffer) 
audiovideo: (none) }"
[Log] [log] >"[buffer-controller]:""queuing \"audio\" append sn: initSegment of track 0 cc: 0" (hls.js, line 19712)
[Log] [log] >"[buffer-controller]:""queuing \"audio\" append sn: 0 of track 0 cc: 0" (hls.js, line 19712)
[Log] [log] >"[transmuxer.ts]: Flushed audio sn: 0 of track 0" (hls.js, line 17089)
[Log] [log] >"[audio-stream-controller]:""PARSING->PARSED" (hls.js, line 10853)
[Log] [log] >"[audio-stream-controller]:""Parsed audio sn: 0 of track 0 (frag:[0.000-6.014])" (hls.js, line 10760)
[Debug] [debug] >"[eme]:""\"encrypted\" event: init data type: \"sinf\"" (hls.js, line 22910)
[Error] [error] >"[eme]:""Key ID 50906c6be9179460c3d1a59f16ee9804 not encountered in playlist. Key-system sessions 1."
	handleError (hls.js:23319)
	(익명 함수) (hls.js:22987)
[Log] [log] >"[stream-controller]:""PARSED->ERROR" (hls.js, line 10853)
[Log] [log] >"[audio-stream-controller]:""PARSED->ERROR" (hls.js, line 10853)
[Log] [log] >"stopLoad" (hls.js, line 36756)
[Log] [log] >"[stream-controller]:""ERROR->STOPPED" (hls.js, line 10853)
[Log] [log] >"[audio-stream-controller]:""ERROR->STOPPED" (hls.js, line 10853)
[Log] [log] >"[subtitle-stream-controller]:""IDLE->STOPPED" (hls.js, line 10853)
[Log] [오후 7:51:58] FATAL ERROR: keySystemError - keySystemNoKeys (fps-test.html, line 46)
[Log] [log] >"[eme]:""\"waitingforkey\" event" (hls.js, line 22994, x2)
[Log] [log] >"Debug logs enabled for \"audio\" in hls.js version 1.6.12" (6f646ef0-5ff7-49c7-99c7-8ba737e0308c, line 1168)
[Debug] [debug] >"[eme]:""\"encrypted\" event: init data type: \"sinf\"" (hls.js, line 22910)
[Error] [error] >"[eme]:""Key ID 50906c6be9179460c3d1a59f16ee9804 not encountered in playlist. Key-system sessions 1."
	handleError (hls.js:23319)
	(익명 함수) (hls.js:22987)
[Log] [log] >"[stream-controller]:""STOPPED->ERROR" (hls.js, line 10853)
[Log] [log] >"[audio-stream-controller]:""STOPPED->ERROR" (hls.js, line 10853)
[Log] [log] >"stopLoad" (hls.js, line 36756)
[Log] [log] >"[stream-controller]:""ERROR->STOPPED" (hls.js, line 10853)
[Log] [log] >"[audio-stream-controller]:""ERROR->STOPPED" (hls.js, line 10853)
[Log] [오후 7:51:58] FATAL ERROR: keySystemError - keySystemNoKeys (fps-test.html, line 46)
[Log] [log] >"Debug logs enabled for \"main\" in hls.js version 1.6.12" (6f646ef0-5ff7-49c7-99c7-8ba737e0308c, line 1168)
[Log] [log] >"Debug logs enabled for \"audio\" in hls.js version 1.6.12" (6f646ef0-5ff7-49c7-99c7-8ba737e0308c, line 1168)
[Warning] [warn] >"[audio-stream-controller]:""Fragment 0 of level 0 finished buffering, but was aborted. state: STOPPED, audioSwitch: false" (hls.js, line 17887)
[Warning] [warn] >"[stream-controller]:""Fragment 0 of level 0 finished buffering, but was aborted. state: STOPPED" (hls.js, line 34950)

Chrome media internals output

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugConfirmedBug report confirmed or reproduced.DRM

    Type

    No type

    Projects

    Status
    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions