Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Content Duration for DASH is based on the shortest duration which in this case is the caption track #4029

Closed
ssenanayake opened this issue Mar 23, 2018 · 5 comments
Assignees

Comments

@ssenanayake
Copy link

ssenanayake commented Mar 23, 2018

Issue description

DASH duration reported to be the shortest representation, which in the Shaka Packaged content happens to be the text track.

Reproduction steps

  1. Content URL: https://cbsentallaccess.akamaized.net/intl_vms/2014/05/29/269373507506/1351917_cenc_dash/stream.mpd
  2. The Representation id="0" codecs="wvtt" is 2650 secs. The Video representations are 2680.
    Exoplayer reports 2650 as the content duration. So the content playback stops at 2650 secs.

Link to test content

  1. Manifest URL: https://cbsentallaccess.akamaized.net/intl_vms/2014/05/29/269373507506/1351917_cenc_dash/stream.mpd

Emailed the license key url to "dev.exoplayer@gmail.com"

Version of ExoPlayer being used

Tested with Exo 2.5.4 and also 2.6.1

Device(s) and version(s) of Android being used

Any Android device

@zshenker
Copy link

@kqyang ^ Including you on this, as from our discussions you were suggesting that padding out the captions track to be the same duration as the audio/video tracks may be out of spec in DASH?

@kqyang
Copy link
Contributor

kqyang commented Mar 23, 2018

@zshenker Yes, ExoPlayer's requirement is not DASH compliant. I wish this issue could be addressed in ExoPlayer. In the mean time, we'll look into handling it in Shaka Packager: shaka-project/shaka-packager#356.

@ojw28
Copy link
Contributor

ojw28 commented Mar 25, 2018

I've filed Dash-Industry-Forum/DASH-IF-IOP#178 to request clarification on whether short representations are permitted. I haven't yet found part of the DASH spec or DASH IF recommendations that say either way whether they're allowed or not. Either I've missed the relevant section, in which case please direct me to it, or this feels like an omission. If the latter, I don't think it's fair to assume it's permitted just because the spec doesn't explicitly forbid it. If we adopted that approach in general then implementing a DASH client would be fairly unworkable. I've also posted some reasons on the clarification request why I think padding such representations to have the same duration of the period would be a good idea.

@ojw28
Copy link
Contributor

ojw28 commented Mar 26, 2018

@zshenker - Padding out the captions track with empty segments is definitely not "out of spec". It's definitely allowed. The clarification I've asked for is about whether not doing this is also allowed.

@ojw28
Copy link
Contributor

ojw28 commented Apr 3, 2018

Discussed this with @joeyparrish. It looks like the DASH-IF discussion is headed in the direction of recommending padding segments to avoid short representations. However, given the time that will be required to update packagers, and that there's existing content with short representations, will will endeavor to support this case in ExoPlayer assuming a relatively low cost and side-effect free change can be made to do so.

ojw28 added a commit that referenced this issue Jul 3, 2018
Issue: #4029

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=202912333
@ojw28 ojw28 closed this as completed Jul 3, 2018
ojw28 added a commit that referenced this issue Jul 23, 2018
Issue: #4029

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=202912333
@google google locked and limited conversation to collaborators Nov 23, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants