Dash.js: Question for a test vector includes <SegmentBase> with only <Initialization range>

Created on 28 Jul 2016  Â·  9Comments  Â·  Source: Dash-Industry-Forum/dash.js

Environment

Steps to reproduce
  1. Please provide clear steps to reproduce your problem
  2. Go to http://dashif.org/reference/players/javascript/v2.2.0/samples/dash-if-reference-player/index.html
  3. Enter http://dash.edgesuite.net/dash264/TestCasesMCA/dolby/1/1/ChID_voices_51_256_ddp.mpd and click load and play button
  4. If the bug is intermittent, give a rough frequency if possible
    :The issue always occurs
    Observed behaviour

Describe what the player is doing that is unexpected or undesired behaviour.
We cannot playback the mpd both on the reference jsplayer and our own player.
The mpd contains only in . Please kindly share your insights of my questions below:

  1. The range "0-741" indicates initialization content , but we do not have information of range of "sidx" in the media content. In that case, how are we supposed to get the information of index?
  2. If includes only "" like this mpd, should we assume that the range includes sidx box? If we do so, probably we can correct this mpd as "". But this seems spec violation? Do you think it is okay?
Console output

Paste the contents of the browser console here.
You may need to enable debug logging in dash.js by calling player.getDebug().setLogToBrowserConsole(true) if you are using your own page.

[35574] Playback Initialized 
Debug.js:108 [35603] Parsing complete: ( xml2json: 3.06ms, objectiron: 1.18ms, total: 0.00424s) 
Debug.js:108 [35604] Manifest has been refreshed at Thu Jul 28 2016 10:28:20 GMT+0900 (대한민국 표준시)[1469669300.312]  
Debug.js:108 [35614] MediaSource attached to element.  Waiting on open... 
Debug.js:108 [35618] MediaSource is open! 
Debug.js:108 [35618] Duration successfully set to: 30.03 
Debug.js:108 [35620] Added 0 inline events 
Debug.js:108 [35621] video codec: video/mp4;codecs="avc1.42801e" 
Debug.js:108 [35639] Schedule controller stopping for video 
Debug.js:108 [35641] Start searching for initialization. 
Debug.js:108 [35642] Perform init search: http://dash.edgesuite.net/dash264/TestCasesMCA/dolby/1/1/./ChID_voices_51_256_ddp_V.mp4 
Debug.js:108 [35643] Perform SIDX load: http://dash.edgesuite.net/dash264/TestCasesMCA/dolby/1/1/./ChID_voices_51_256_ddp_V.mp4 
Debug.js:108 [35644] audio codec: audio/mp4;codecs="ec-3" 
Debug.js:108 [35645] audioCodec (audio/mp4;codecs="ec-3") is not supported. 
Debug.js:108 [35645] No text data. 
Debug.js:108 [35646] No fragmentedText data. 
Debug.js:108 [35646] No embeddedText data. 
Debug.js:108 [35646] No muxed data. 
Debug.js:108 [35673] Searching for initialization. 
Debug.js:108 [35673] Found the initialization.  Range: 0-741 
Debug.js:108 [35676] Parsing segments from SIDX. 
Debug.js:108 [35685] Start Event Controller 
Debug.js:108 [35700] Schedule controller starting for video 
Debug.js:108 [35703] Native video element event: play 
Debug.js:108 [35708] Getting the request for video time : 0 
Debug.js:108 [35708] SegmentBase: 0 / 30.03 
Debug.js:108 [35717] Schedule controller starting for video 
Debug.js:108 [35739] Initialization finished loading 
Debug.js:108 [35794] Native video element event: loadedmetadata 
Debug.js:108 [35813] Getting the request for video time : 2.2022 
Debug.js:108 [35814] SegmentBase: 0 / 30.03 
Debug.js:108 [35815] Getting the next request at index: 1 
Debug.js:108 [35815] SegmentBase: 2.2022 / 30.03 
Debug.js:108 [35860] Getting the request for video time : 4.4044 
Debug.js:108 [35861] Index for video time 4.4044 is 1 
Debug.js:108 [35861] SegmentBase: 2.2022 / 30.03 
Debug.js:108 [35862] Getting the next request at index: 2 
Debug.js:108 [35864] SegmentBase: 4.4044 / 30.03 
Debug.js:108 [35923] Video Element Error: MEDIA_ERR_DECODE 
Debug.js:108 [35923] [object MediaError] 
Debug.js:108 [35927] Schedule controller stopping for video 
Debug.js:108 [35929] Native video element event: pause 
Debug.js:108 [39181] Native video element event: play 

Most helpful comment

@bbcrddave
Could you kindly quote the part of " DASH-IF-IOP-v3.3 3.2.1" that the mpd violates?
Is this the one you mentioned? Just to make sure I got correct understanding.

Subsegments with Segment Index. In this case either the @indexRange attribute shall
be present or the RepresentationIndex element shall be present. Only a single
sidx box shall be present.

All 9 comments

If there is no information about the location of the sidx, we start to search for it since the range is defined as unknown.

I don't think it's okay to include the sidx in the Initialization@range. As you have noted, I believe this would be a violation. (NOTE: I am not a sidx expert - we do not use this method)

There appears to be a bug when the sidx is found in the searching scenario, because the sidx handling code assumes that the range was known, and therefore that the sidx will be the the first box in the range.

I have a patch which seems to fix it while not breaking other SegmentBase samples. See https://github.com/bbcrddave/dash.js/commit/272f01152bdd886a746dd2323f0a7f3918a50cb4.

The MEDIA_ERROR_DECODE is occuring because the incorrect segment range is calculated and an invalid segment is therefore downloaded and appended.

All of the above aside, there doesn't seem to be a good reason why the content provider hasn't just specified the indexRange, and in fact this appears to violate DASH-IF-IOP-v3.3 3.2.1 so it isn't ideal that it is in the official test vector list.

The searching behaviour is implementation-specific - I note that Shaka v2 fails to play this presentation.

@bbcrddave
Thanks for the answer. Wonder if you have a plan to remove the mpd from the official test vector list?

@bbcrddave
Could you kindly quote the part of " DASH-IF-IOP-v3.3 3.2.1" that the mpd violates?
Is this the one you mentioned? Just to make sure I got correct understanding.

Subsegments with Segment Index. In this case either the @indexRange attribute shall
be present or the RepresentationIndex element shall be present. Only a single
sidx box shall be present.

Wonder if you have a plan to remove the mpd from the official test vector list?

I don't know what the process is for getting these sorts of things updated, changed, removed etc. @wilaw ?

There appears to be a test vectors GitHub project at https://github.com/Dash-Industry-Forum/Test-Vectors/issues though it does not appear to be active, as such.

CC: @waqarz

Official process is to file an issue at the test vector tracker which is here: https://github.com/Dash-Industry-Forum/Test-Vectors/issues

Cheers

Will

From: David Evans [email protected]
Reply-To: "Dash-Industry-Forum/dash.js" [email protected]
Date: Thursday, July 28, 2016 at 3:14 AM
To: "Dash-Industry-Forum/dash.js" dash.[email protected]
Cc: Will Law [email protected], Mention [email protected]
Subject: Re: [Dash-Industry-Forum/dash.js] Question for a test vector includes with only (#1517)

Wonder if you have a plan to remove the mpd from the official test vector list?

I don't know what the process is for getting these sorts of things updated, changed, removed etc. @wilawhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_wilaw&d=DQMCaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=KkevKJerDHRF9WRs8nW8Ew&m=FqZWJ239_MfD078QRsWda3lbWgtDMgtwjM5UdSwwh98&s=YWVBIMeC_Wn4GYIw8P7hrW-kX7HbXYAwaFUzldeoGSI&e= ?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_Dash-2DIndustry-2DForum_dash.js_issues_1517-23issuecomment-2D235855712&d=DQMCaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=KkevKJerDHRF9WRs8nW8Ew&m=FqZWJ239_MfD078QRsWda3lbWgtDMgtwjM5UdSwwh98&s=REWjg57j_mjBqzqAYXJMZnDaja3K6yCrDaGXG6cJ6Is&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AComCg8079E0MI-2DAQiyNo2m3H4YavLt4ks5qaIEMgaJpZM4JW4ph&d=DQMCaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=KkevKJerDHRF9WRs8nW8Ew&m=FqZWJ239_MfD078QRsWda3lbWgtDMgtwjM5UdSwwh98&s=XGR4Tu-Or7Cw8w-GESclK3gmyfVC2T9zoxcjMTsTCM4&e=.

Thanks for raising the issue. This is a Dolby audio vector that we added 3 years ago (7.2013), we are first taking a look why conformance software does not run on this anymore and will post the update.

@bbcrddave @hyunkim9123 @wilaw current IOP conformance on this issue is not clear, I have opened an issue to get it resolved here: https://github.com/Dash-Industry-Forum/DASH-IF-IOP/issues/95 . This check is not supported by conformance, and will be implemented with a clarification on signalling: https://github.com/Dash-Industry-Forum/Conformance-Software/issues/146 . In the mean time I contact DASH-IF to decide about these vectors.

Was this page helpful?
0 / 5 - 0 ratings