The stream doesn't play if not contains audio.
Created by: kissferenc
Environment
-
The MPD passes the DASH-IF Conformance Tool on http://dashif.org/conformance.html -
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://dashif.org/reference/players/javascript/ and not just on my page - Link to playable MPD file: http://stream.uni-nke.hu:1935/webcam/ISZKDOMKAMERA.stream/manifest.mpd
- Dash.js version: 2.3.0
- Browser name/version: Safari 9.1.3, Firefox 48.0, Chrome 52.0.2743 and Chrome 53.0.2785
- OS name/version: OSx 10.11.6
Observed behaviour
The stream doesn't contain audio. The Conformance tool says: Segment timeline for type dynamic is not supported, only MPD will be tested. But a month ago the dash.js 2.3.0 nightly perfectly played this stream. Console error: Safari log: [Error] TypeError: null is not an object (evaluating 'availableBitrates.audio.length'). Firefox log: TypeError: availableBitrates.audio is null Chrome log: ControlBar.js:287 Uncaught TypeError: Cannot read property 'length' of null
Safari Console output (the other browsers output are similar)
[Log] [20892] Playback Initialized (dash.all.debug.js, line 2783)
[Log] [20944] Parsing complete: ( xml2json: 7.56ms, objectiron: 1.48ms, total: 0.00904s) (dash.all.debug.js, line 2783)
[Log] [20945] Manifest has been refreshed at Fri Sep 09 2016 14:14:16 GMT+0200 (CEST)[1473423256.123] (dash.all.debug.js, line 2783)
[Log] [20948] SegmentTimeline detected using calculated Live Edge Time (dash.all.debug.js, line 2783)
[Log] [20952] MediaSource attached to element. Waiting on open... (dash.all.debug.js, line 2783)
[Log] [20973] MediaSource is open! (dash.all.debug.js, line 2783)
[Log] [20973] Duration successfully set to: Infinity (dash.all.debug.js, line 2783)
[Log] [20974] Added 0 inline events (dash.all.debug.js, line 2783)
[Log] [20975] video codec: video/mp4;codecs="avc1.420029" (dash.all.debug.js, line 2783)
[Log] [20983] Schedule controller stopping for video (dash.all.debug.js, line 2783)
[Log] [20987] No audio data. (dash.all.debug.js, line 2783)
[Log] [20988] No text data. (dash.all.debug.js, line 2783)
[Log] [20988] No fragmentedText data. (dash.all.debug.js, line 2783)
[Log] [20988] No embeddedText data. (dash.all.debug.js, line 2783)
[Log] [20988] No muxed data. (dash.all.debug.js, line 2783)
[Error] TypeError: null is not an object (evaluating 'availableBitrates.audio.length')
onStreamInitialized (ControlBar.js:287)
(anonymous function) (dash.all.debug.js:2904)
forEach
trigger (dash.all.debug.js:2903)
checkIfInitializationCompleted (dash.all.debug.js:13206)
initializeMedia (dash.all.debug.js:13186)
activate (dash.all.debug.js:12874)
onMediaSourceOpen (dash.all.debug.js:20225)