Live audio-only streams don't start in 2.6.1
Created by: davemevans
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://reference.dashif.org/dash.js/ and not just on my page
- Link to playable MPD file: https://vm2.dashif.org/livesim/testpic_2s/audio.mpd
- Dash.js version: nightly (2.6.1)
- Browser name/version: Chrome 61
- OS name/version: Win7
Steps to reproduce
- Load MPD in reference player
Observed behaviour
Segments are loaded, but no seek to the live edge is issued so playback never starts. Live streams with video and audio start correctly. On-demand audio only starts correctly. Playback of live audio-only starts correctly in 2.6.0.
Console output
[6742] Playback Initialized
Debug.js:127 [7370] Parsing complete: ( xml2json: 5.89ms, objectiron: 0.915ms, total: 0.00680s)
Debug.js:127 [7377] Matching default timing source protocol to manifest protocol: https://time.akamai.com/?iso
Debug.js:127 [7380] Manifest has been refreshed at Fri Oct 06 2017 13:54:53 GMT+0100 (GMT Daylight Time)[1507294493.247]
Debug.js:127 [7388] Local time: Fri Oct 06 2017 13:54:53 GMT+0100 (GMT Daylight Time)
Debug.js:127 [7389] Server time: Fri Oct 06 2017 13:54:52 GMT+0100 (GMT Daylight Time)
Debug.js:127 [7389] Difference (ms): -1264
Debug.js:127 [7392] MediaSource attached to element. Waiting on open...
Debug.js:127 [7396] MediaSource is open!
Debug.js:127 [7396] Duration successfully set to: 9007199254740991
Debug.js:127 [7397] Added 0 inline events
Debug.js:127 [7398] No video data.
Debug.js:127 [7398] audio codec: audio/mp4;codecs="mp4a.40.2"
Debug.js:127 [7407] Last saved bitrate for audio was 92242
Debug.js:127 [7410] No text data.
Debug.js:127 [7410] No fragmentedText data.
Debug.js:127 [7410] No embeddedText data.
Debug.js:127 [7410] No muxed data.
Debug.js:127 [7412] Getting the request for audio time : 1507294482.02
Debug.js:127 [7412] Index for audio time 1507294482.02 is 753647240
Debug.js:127 [7413] Schedule controller starting for audio
Debug.js:127 [7414] Start Event Controller
Debug.js:127 [7414] Native video element event: play
Debug.js:127 [7415] Refresh manifest in 3153599999.999 seconds.
Debug.js:127 [7421] ScheduleController - getNextFragment
Debug.js:127 [7422] ScheduleController - switch track has been asked, get init request for audio with representationid = A48
Debug.js:127 [7881] Init fragment finished loading saving to audio's init cache
Debug.js:127 [7887] Native video element event: loadedmetadata
Debug.js:127 [7891] Top qualityaudio index has changed from undefined to 0
Debug.js:127 [7895] AbrController (audio) stay on 0/0 (buffer: 0)
Debug.js:127 [7895] ScheduleController - getNextFragment
Debug.js:127 [7896] Getting the request for audio time : 1507294480
Debug.js:127 [7897] Index for audio time 1507294480 is 753647239
Debug.js:127 [7897] SegmentTemplate: 1507294478 / Infinity
Debug.js:127 [7897] ScheduleController - getNextFragment - request is https://vm2.dashif.org/livesim/testpic_2s/A48/753647239.m4s
Debug.js:127 [8346] Buffered Range for type: audio : 1507294478.016 - 1507294479.999999
Debug.js:127 [8347] Requesting seek to time: undefined
Debug.js:127 [8350] ThroughputRule requesting switch to index: 0 type: audio Average throughput 212 kbps
Debug.js:127 [8351] AbrController (audio) stay on 0/0 (buffer: 0)
Debug.js:127 [8351] ScheduleController - getNextFragment
Debug.js:127 [8352] Index for audio time 1507294480 is 753647239
Debug.js:127 [8352] SegmentTemplate: 1507294478 / Infinity
Debug.js:127 [8353] Getting the next request at index: 753647240
Debug.js:127 [8353] SegmentTemplate: 1507294480 / Infinity
Debug.js:127 [8354] ScheduleController - getNextFragment - request is https://vm2.dashif.org/livesim/testpic_2s/A48/753647240.m4s
Debug.js:127 [8808] Buffered Range for type: audio : 1507294478.016 - 1507294482.005333
Debug.js:127 [8811] ThroughputRule requesting switch to index: 0 type: audio Average throughput 211 kbps
Debug.js:127 [8811] AbrController (audio) stay on 0/0 (buffer: 0)
Debug.js:127 [8811] ScheduleController - getNextFragment
Debug.js:127 [8811] Prior to making a request for time, NextFragmentRequestRule is aligning index handler's currentTime with bufferedRange.end. 1507294482 was changed to 1507294482.005333
Debug.js:127 [8811] Getting the request for audio time : 1507294482.005333
Debug.js:127 [8812] Index for audio time 1507294482.005333 is 753647240
Debug.js:127 [8812] SegmentTemplate: 1507294480 / Infinity
Debug.js:127 [8812] Getting the next request at index: 753647241
Debug.js:127 [8812] SegmentTemplate: 1507294482 / Infinity
Debug.js:127 [8812] ScheduleController - getNextFragment - request is https://vm2.dashif.org/livesim/testpic_2s/A48/753647241.m4s
Debug.js:127 [9329] Buffered Range for type: audio : 1507294478.016 - 1507294484.010666
Debug.js:127 [9331] ThroughputRule requesting switch to index: 0 type: audio Average throughput 203 kbps
Debug.js:127 [9331] AbrController (audio) stay on 0/0 (buffer: 0)
Debug.js:127 [9331] ScheduleController - getNextFragment
Debug.js:127 [9331] Prior to making a request for time, NextFragmentRequestRule is aligning index handler's currentTime with bufferedRange.end. 1507294484 was changed to 1507294484.010666
Debug.js:127 [9331] Getting the request for audio time : 1507294484.010666
Debug.js:127 [9332] Index for audio time 1507294484.010666 is 753647241
Debug.js:127 [9332] SegmentTemplate: 1507294482 / Infinity
Debug.js:127 [9332] Getting the next request at index: 753647242
Debug.js:127 [9332] SegmentTemplate: 1507294484 / Infinity
Debug.js:127 [9332] ScheduleController - getNextFragment - request is https://vm2.dashif.org/livesim/testpic_2s/A48/753647242.m4s
Debug.js:127 [9784] Buffered Range for type: audio : 1507294478.016 - 1507294486.015999
Debug.js:127 [9786] ThroughputRule requesting switch to index: 0 type: audio Average throughput 203 kbps
Debug.js:127 [9786] AbrController (audio) stay on 0/0 (buffer: 0)
Debug.js:127 [9787] ScheduleController - getNextFragment
Debug.js:127 [9787] Prior to making a request for time, NextFragmentRequestRule is aligning index handler's currentTime with bufferedRange.end. 1507294486 was changed to 1507294486.015999
Debug.js:127 [9787] Getting the request for audio time : 1507294486.015999
Debug.js:127 [9788] Index for audio time 1507294486.015999 is 753647242
Debug.js:127 [9788] SegmentTemplate: 1507294484 / Infinity
Debug.js:127 [9788] Getting the next request at index: 753647243
Debug.js:127 [9789] SegmentTemplate: 1507294486 / Infinity
Debug.js:127 [9789] ScheduleController - getNextFragment - request is https://vm2.dashif.org/livesim/testpic_2s/A48/753647243.m4s
Debug.js:127 [10244] Buffered Range for type: audio : 1507294478.016 - 1507294487.999999
Debug.js:127 [10246] ThroughputRule requesting switch to index: 0 type: audio Average throughput 202 kbps
Debug.js:127 [10246] AbrController (audio) stay on 0/0 (buffer: 0)
Debug.js:127 [10247] ScheduleController - getNextFragment
Debug.js:127 [10247] Getting the request for audio time : 1507294488
Debug.js:127 [10247] Index for audio time 1507294488 is 753647243
Debug.js:127 [10248] SegmentTemplate: 1507294486 / Infinity
Debug.js:127 [10248] Getting the next request at index: 753647244
Debug.js:127 [10249] SegmentTemplate: 1507294488 / Infinity
Debug.js:127 [10249] ScheduleController - getNextFragment - request is https://vm2.dashif.org/livesim/testpic_2s/A48/753647244.m4s
Debug.js:127 [10705] Buffered Range for type: audio : 1507294478.016 - 1507294490.005333
Debug.js:127 [10707] ThroughputRule requesting switch to index: 0 type: audio Average throughput 210 kbps
Debug.js:127 [10707] AbrController (audio) stay on 0/0 (buffer: 0)
Debug.js:127 [10708] ScheduleController - getNextFragment
Debug.js:127 [10708] Prior to making a request for time, NextFragmentRequestRule is aligning index handler's currentTime with bufferedRange.end. 1507294490 was changed to 1507294490.005333
Debug.js:127 [10708] Getting the request for audio time : 1507294490.005333
Debug.js:127 [10709] Index for audio time 1507294490.005333 is 753647244
Debug.js:127 [10709] SegmentTemplate: 1507294488 / Infinity
Debug.js:127 [10710] Getting the next request at index: 753647245
Debug.js:127 [10710] SegmentTemplate: 1507294490 / Infinity
Debug.js:127 [10711] ScheduleController - getNextFragment - request is https://vm2.dashif.org/livesim/testpic_2s/A48/753647245.m4s
Debug.js:127 [11168] Buffered Range for type: audio : 1507294478.016 - 1507294492.010666
Debug.js:127 [11171] ThroughputRule requesting switch to index: 0 type: audio Average throughput 209 kbps
Debug.js:127 [11172] AbrController (audio) stay on 0/0 (buffer: 0)
Debug.js:127 [11172] ScheduleController - getNextFragment
Debug.js:127 [11172] Prior to making a request for time, NextFragmentRequestRule is aligning index handler's currentTime with bufferedRange.end. 1507294492 was changed to 1507294492.010666
Debug.js:127 [11173] Getting the request for audio time : 1507294492.010666
Debug.js:127 [11173] Index for audio time 1507294492.010666 is 753647245
Debug.js:127 [11173] SegmentTemplate: 1507294490 / Infinity
Debug.js:127 [11174] Getting the next request at index: 753647246
Debug.js:127 [11174] No segment found at index: 753647246. Wait for next loop
Debug.js:127 [11175] getNextFragment - Playing at the bleeding live edge and frag is not available yet
Debug.js:127 [11676] ThroughputRule requesting switch to index: 0 type: audio Average throughput 209 kbps
Debug.js:127 [11676] AbrController (audio) stay on 0/0 (buffer: 0)
Debug.js:127 [11677] ScheduleController - getNextFragment
Debug.js:127 [11677] Prior to making a request for time, NextFragmentRequestRule is aligning index handler's currentTime with bufferedRange.end. 1507294492 was changed to 1507294492.010666
Debug.js:127 [11677] Getting the request for audio time : 1507294492.010666
Debug.js:127 [11678] Index for audio time 1507294492.010666 is 753647245
Debug.js:127 [11678] SegmentTemplate: 1507294490 / Infinity
Debug.js:127 [11678] Getting the next request at index: 753647246
Debug.js:127 [11679] SegmentTemplate: 1507294492 / Infinity
Debug.js:127 [11679] ScheduleController - getNextFragment - request is https://vm2.dashif.org/livesim/testpic_2s/A48/753647246.m4s
Debug.js:127 [12130] Buffered Range for type: audio : 1507294478.016 - 1507294494.015999
Debug.js:127 [12133] ThroughputRule requesting switch to index: 0 type: audio Average throughput 211 kbps
Debug.js:127 [12133] AbrController (audio) stay on 0/0 (buffer: 0)
Debug.js:127 [12133] ScheduleController - getNextFragment
Debug.js:127 [12134] Prior to making a request for time, NextFragmentRequestRule is aligning index handler's currentTime with bufferedRange.end. 1507294494 was changed to 1507294494.015999
Debug.js:127 [12134] Getting the request for audio time : 1507294494.015999
Debug.js:127 [12134] Index for audio time 1507294494.015999 is 753647246
Debug.js:127 [12134] SegmentTemplate: 1507294492 / Infinity
Debug.js:127 [12135] Getting the next request at index: 753647247
Debug.js:127 [12135] No segment found at index: 753647247. Wait for next loop
Debug.js:127 [12135] getNextFragment - Playing at the bleeding live edge and frag is not available yet
Debug.js:127 [12636] ThroughputRule requesting switch to index: 0 type: audio Average throughput 211 kbps
Debug.js:127 [12637] AbrController (audio) stay on 0/0 (buffer: 0)
Debug.js:127 [12637] ScheduleController - getNextFragment
Debug.js:127 [12638] Prior to making a request for time, NextFragmentRequestRule is aligning index handler's currentTime with bufferedRange.end. 1507294494 was changed to 1507294494.015999
Debug.js:127 [12638] Getting the request for audio time : 1507294494.015999
Debug.js:127 [12639] Index for audio time 1507294494.015999 is 753647246
Debug.js:127 [12639] SegmentTemplate: 1507294492 / Infinity
Debug.js:127 [12640] Getting the next request at index: 753647247
Debug.js:127 [12640] SegmentTemplate: 1507294494 / Infinity
Debug.js:127 [12641] ScheduleController - getNextFragment - request is https://vm2.dashif.org/livesim/testpic_2s/A48/753647247.m4s
Debug.js:127 [13100] Buffered Range for type: audio : 1507294478.016 - 1507294495.999999
Debug.js:127 [13103] ThroughputRule requesting switch to index: 0 type: audio Average throughput 210 kbps
Debug.js:127 [13103] AbrController (audio) stay on 0/0 (buffer: 0)
Debug.js:127 [13104] ScheduleController - getNextFragment
Debug.js:127 [13104] Getting the request for audio time : 1507294496
Debug.js:127 [13104] Index for audio time 1507294496 is 753647247
Debug.js:127 [13105] SegmentTemplate: 1507294494 / Infinity
Debug.js:127 [13105] Getting the next request at index: 753647248
Debug.js:127 [13106] No segment found at index: 753647248. Wait for next loop
Debug.js:127 [13106] getNextFragment - Playing at the bleeding live edge and frag is not available yet