Live stream that starts playback with 3.1.3 fails to start on 3.2.0 and 3.2.1
Created by: TheJohnBowers
Environment
-
The MPD passes the DASH-IF Conformance Tool on https://conformance.dashif.org/ -
The stream has correct Access-Control-Allow-Origin headers (CORS) -
There are no network errors such as 404s in the browser console when trying to play the stream -
The issue observed is not mentioned on https://github.com/Dash-Industry-Forum/dash.js/wiki/FAQ -
The issue occurs in the latest reference client on http://reference.dashif.org/dash.js/ and not just on my page
- Link to playable MPD file:
- https://content.uplynk.com/playlist/6c526d97954b41deb90fe64328647a71.mpd?ad=bbbads&delay=25
- widevine license url: https://content.uplynk.com/wv
- Dash.js version: 3.2.0, 3.2.1
- Browser name/version: Chrome/89
- OS name/version:
Steps to reproduce
Just try to start playback on the stream in 3.2.1, it won't ever start -- Starts fine on 3.1.3
Observed behavior
No Playback Start
Console output
Debug.js:169 [777864][MediaPlayer] Streaming Initialized
Debug.js:169 [777868][MediaPlayer] Playback Initialized
Debug.js:169 [778074][DashParser] Parsing complete: ( xml2json: 7.70ms, objectiron: 0.0800ms, total: 0.00778s)
Debug.js:169 [778075][ManifestUpdater] Manifest has been refreshed at Tue Mar 23 2021 12:48:42 GMT-0600 (Mountain Daylight Time)[1616525322.709]
Debug.js:169 [778173][StreamController] Switch to stream 0.000000. Seektime is NaN, current playback time is null
Debug.js:169 [778173][StreamController] Seamless period switch is set to false
Debug.js:169 [778177][MediaSourceController] Set MediaSource duration:Infinity
Debug.js:169 [778187][AbrController] [video] switch from 0 to 2/2 (buffer: 0) .
Debug.js:169 [778195][Stream] No text data.
Debug.js:169 [778195][Stream] No fragmentedText data.
Debug.js:169 [778196][Stream] No embeddedText data.
Debug.js:169 [778196][Stream] No muxed data.
Debug.js:169 [778196][Stream] No image data.
ProtectionModel_21Jan2015.js:315 It is recommended that a robustness level be specified. Not specifying the robustness level could result in unexpected behavior.
(anonymous) @ ProtectionModel_21Jan2015.js:315
requestKeySystemAccessInternal @ ProtectionModel_21Jan2015.js:330
(anonymous) @ ProtectionModel_21Jan2015.js:325
Promise.catch (async)
(anonymous) @ ProtectionModel_21Jan2015.js:323
requestKeySystemAccessInternal @ ProtectionModel_21Jan2015.js:330
requestKeySystemAccess @ ProtectionModel_21Jan2015.js:142
_selectInitialKeySystem @ ProtectionController.js:626
selectKeySystem @ ProtectionController.js:469
initializeForMedia @ ProtectionController.js:134
checkIfInitializationCompleted @ Stream.js:613
initializeMedia @ Stream.js:565
activate @ Stream.js:164
activateStream @ StreamController.js:617
onMediaSourceOpen @ StreamController.js:586
Debug.js:169 [778209][ProtectionController] DRM: KeySystem Access Granted (com.widevine.alpha)! Selecting key system...
Debug.js:169 [778213][PlaybackController] Native video element event: play
Debug.js:169 [778215][PlaybackController] Native video element event: waiting
Debug.js:169 [778251][BufferController][video] Init fragment finished loading saving to video's init cache
Debug.js:169 [778252][ScheduleController][video] OnFragmentLoadingCompleted - Url: https://x-default-stgec.uplynk.com/ausw/slices/f78/4d24fd7483f048c181f0f874ca5db271/f7822ebe2d0244cda1c0651e0e3b2f5f/F_init.mp4?pbs=946a45dddf374033bdd3d2afce794495&_jt=p&cloud=aws&plid=6c526d97954b41deb90fe64328647a71&si=0
Debug.js:169 [778253][BufferController][audio] Init fragment finished loading saving to audio's init cache
Debug.js:169 [778254][ScheduleController][audio] OnFragmentLoadingCompleted - Url: https://x-default-stgec.uplynk.com/ausw/slices/f78/4d24fd7483f048c181f0f874ca5db271/f7822ebe2d0244cda1c0651e0e3b2f5f/TK_init.mp4?pbs=946a45dddf374033bdd3d2afce794495&_jt=p&cloud=aws&plid=6c526d97954b41deb90fe64328647a71&si=0
Debug.js:169 [778256][PlaybackController] Native video element event: loadedmetadata
Debug.js:169 [778257][ScheduleController][video] Top quality video index has changed from undefined to 2
Debug.js:169 [778259][ScheduleController][audio] Top quality audio index has changed from undefined to 0
Debug.js:169 [778332][ScheduleController][video] OnFragmentLoadingCompleted - Url: https://x-default-stgec.uplynk.com/ausw/slices/f78/4d24fd7483f048c181f0f874ca5db271/f7822ebe2d0244cda1c0651e0e3b2f5f/F00000001.m4f?pbs=946a45dddf374033bdd3d2afce794495&_jt=p&cloud=aws&plid=6c526d97954b41deb90fe64328647a71&si=0
Debug.js:169 [778334][ScheduleController][audio] OnFragmentLoadingCompleted - Url: https://x-default-stgec.uplynk.com/ausw/slices/f78/4d24fd7483f048c181f0f874ca5db271/f7822ebe2d0244cda1c0651e0e3b2f5f/TK_00000000.m4f?pbs=946a45dddf374033bdd3d2afce794495&_jt=p&cloud=aws&plid=6c526d97954b41deb90fe64328647a71&si=0
Debug.js:169 [778546][ScheduleController][video] OnFragmentLoadingCompleted - Url: https://x-default-stgec.uplynk.com/ausw/slices/f78/4d24fd7483f048c181f0f874ca5db271/f7822ebe2d0244cda1c0651e0e3b2f5f/F00000002.m4f?pbs=946a45dddf374033bdd3d2afce794495&_jt=p&cloud=aws&plid=6c526d97954b41deb90fe64328647a71&si=0
Debug.js:169 [778555][AbrController] [video] switch from 2 to 0/2 (buffer: 0) "InsufficientBufferRule: being conservative to avoid immediate rebuffering"
Debug.js:169 [778595][BufferController][video] Init fragment finished loading saving to video's init cache
Debug.js:169 [778595][ScheduleController][video] OnFragmentLoadingCompleted - Url: https://x-default-stgec.uplynk.com/ausw/slices/f78/4d24fd7483f048c181f0f874ca5db271/f7822ebe2d0244cda1c0651e0e3b2f5f/D_init.mp4?pbs=946a45dddf374033bdd3d2afce794495&_jt=p&cloud=aws&plid=6c526d97954b41deb90fe64328647a71&si=0
Debug.js:169 [778729][ScheduleController][video] OnFragmentLoadingCompleted - Url: https://x-default-stgec.uplynk.com/ausw/slices/f78/4d24fd7483f048c181f0f874ca5db271/f7822ebe2d0244cda1c0651e0e3b2f5f/D00000003.m4f?pbs=946a45dddf374033bdd3d2afce794495&_jt=p&cloud=aws&plid=6c526d97954b41deb90fe64328647a71&si=0
Debug.js:169 [778865][ScheduleController][video] OnFragmentLoadingCompleted - Url: https://x-default-stgec.uplynk.com/ausw/slices/f78/4d24fd7483f048c181f0f874ca5db271/f7822ebe2d0244cda1c0651e0e3b2f5f/D00000004.m4f?pbs=946a45dddf374033bdd3d2afce794495&_jt=p&cloud=aws&plid=6c526d97954b41deb90fe64328647a71&si=0
Debug.js:169 [778994][ScheduleController][video] OnFragmentLoadingCompleted - Url: https://x-default-stgec.uplynk.com/ausw/slices/f78/4d24fd7483f048c181f0f874ca5db271/f7822ebe2d0244cda1c0651e0e3b2f5f/D00000005.m4f?pbs=946a45dddf374033bdd3d2afce794495&_jt=p&cloud=aws&plid=6c526d97954b41deb90fe64328647a71&si=0
Debug.js:169 [779117][ScheduleController][video] OnFragmentLoadingCompleted - Url: https://x-default-stgec.uplynk.com/ausw/slices/f78/4d24fd7483f048c181f0f874ca5db271/f7822ebe2d0244cda1c0651e0e3b2f5f/D00000006.m4f?pbs=946a45dddf374033bdd3d2afce794495&_jt=p&cloud=aws&plid=6c526d97954b41deb90fe64328647a71&si=0
Debug.js:169 [779182][ScheduleController][video] OnFragmentLoadingCompleted - Url: https://x-default-stgec.uplynk.com/ausw/slices/f78/4d24fd7483f048c181f0f874ca5db271/f7822ebe2d0244cda1c0651e0e3b2f5f/D00000007.m4f?pbs=946a45dddf374033bdd3d2afce794495&_jt=p&cloud=aws&plid=6c526d97954b41deb90fe64328647a71&si=0
Debug.js:169 [779186][Stream] onBufferingCompleted - One streamProcessor has finished but audio one is not buffering completed
doLog @ Debug.js:169
warn @ Debug.js:132
onBufferingCompleted @ Stream.js:676
(anonymous) @ EventBus.js:124
trigger @ EventBus.js:124
triggerEvent @ BufferController.js:859
checkIfBufferingCompleted @ BufferController.js:573
onStreamCompleted @ BufferController.js:768
(anonymous) @ EventBus.js:124
trigger @ EventBus.js:124
executeRequest @ FragmentModel.js:208
processMediaRequest @ ScheduleController.js:292
onMediaFragmentNeeded @ StreamProcessor.js:458
(anonymous) @ EventBus.js:124
trigger @ EventBus.js:124
getNextFragment @ ScheduleController.js:209
schedule @ ScheduleController.js:223
setTimeout (async)
startScheduleTimer @ ScheduleController.js:271
onBytesAppended @ ScheduleController.js:392
(anonymous) @ EventBus.js:124
trigger @ EventBus.js:124
triggerEvent @ BufferController.js:859
onAppended @ BufferController.js:324
afterSuccess @ SourceBufferSink.js:266
executeCallback @ SourceBufferSink.js:347
updateEndHandler @ SourceBufferSink.js:364
childList (async)
Ja @ jquery-3.1.1.min.js:3
remove @ jquery-3.1.1.min.js:3
HtmlAxisLabel.calculateSize @ jquery.flot.axislabels.js:144
CssTransformAxisLabel.calculateSize @ jquery.flot.axislabels.js:196
(anonymous) @ jquery.flot.axislabels.js:422
each @ jquery-3.1.1.min.js:2
(anonymous) @ jquery.flot.axislabels.js:362
executeHooks @ jquery.flot.min.js:7
draw @ jquery.flot.min.js:7
onDatasetChanged @ angular-flot.js:130
$digest @ angular.min.js:143
$apply @ angular.min.js:146
$scope.safeApply @ main.js:801
updateMetrics @ main.js:995
(anonymous) @ main.js:391
setInterval (async)
(anonymous) @ main.js:390
(anonymous) @ EventBus.js:124
trigger @ EventBus.js:124
checkIfInitializationCompleted @ Stream.js:624
initializeMedia @ Stream.js:565
activate @ Stream.js:164
activateStream @ StreamController.js:617
onMediaSourceOpen @ StreamController.js:586
Debug.js:169 [779187][ScheduleController][video] Stream 0.000000 is complete
Debug.js:169 [780722][Protection] EME detected on this user agent! (ProtectionModel_21Jan2015)
Debug.js:169 [780725][VideoModel] Caught pending play exception - continuing (AbortError: The play() request was interrupted by a call to pause(). https://goo.gl/LdLk22)
doLog @ Debug.js:169
warn @ Debug.js:132
(anonymous) @ VideoModel.js:275
Promise.catch (async)
play @ VideoModel.js:271
play @ PlaybackController.js:159
activateStream @ StreamController.js:639
onMediaSourceOpen @ StreamController.js:586
Expected behavior
Start Playback