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

DASH: Support <Label>text</Label> element for adaptation sets #6297

Closed
ssenanayake opened this issue Aug 13, 2019 · 5 comments
Closed

DASH: Support <Label>text</Label> element for adaptation sets #6297

ssenanayake opened this issue Aug 13, 2019 · 5 comments
Assignees

Comments

@ssenanayake
Copy link

ssenanayake commented Aug 13, 2019

[REQUIRED] Issue description

Currently in Exoplayer "DashManifestParser" the "label" is treated as an attribute in "AdaptationSet". Based on the DASH Spec it's a node of "Label"

[REQUIRED] Reproduction steps

Current Exoplayer DASH parser: https://github.com/google/ExoPlayer/blob/release-v2/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java Line 275

DASH Spec: https://dashif-documents.azurewebsites.net/DASH-IF-IOP/master/DASH-IF-IOP.pdf

DASH XSD: https://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd

[REQUIRED] Link to test content

N/A - This is to indicate that "label" is not an attribute of "AdaptationSet"

Sample from dashif: https://dash.akamaized.net/dash264/TestCasesIOP41/MultiTrack/alternative_content/6/manifest_alternative_lang.mpd

[REQUIRED] A full bug report captured from the device

N/A

[REQUIRED] Version of ExoPlayer being used

2.10.4

[REQUIRED] Device(s) and version(s) of Android being used

N/A

@ojw28
Copy link
Contributor

ojw28 commented Aug 27, 2019

If I remember correctly, labels weren't defined anywhere when we added support for them. Support was added by an external contribution: #2904, which turned into #4391.

Do you know where the Label node is defined? It doesn't seem to be defined in the schema you've linked to. The DASH-IF doc you've linked to defines its existence, but not what it is. It's unclear what the actual structure of a Label node is supposed to be. The sample MPD you've linked to doesn't seem to use the Label node for its intended purpose, which is to provide a textual description of the content, and appears to contain redundant information (i.e. lang, which is defined directly on the AdaptationSet). So the sample doesn't really clarify how these nodes are supposed to be defined.

If you could clarify or ask DASH-IF to clarify, that would be great!

@ssenanayake
Copy link
Author

Please refer to section 3.9.2 ("Adaptation Set Labeling Options for Selection") of https://dashif.org/docs/DASH-IF-IOP-v4.2-clean.htm#_Toc511040753

"Label | 0 � N | See ISO/IEC 23009-1 [4], clause 5.3.7.2 Table 9. This element enables to provide a textual description of the content. This element should be used if content author expects that clients supports UI for selection. However, this element must not be used as the sole differentiating element as at start-up no user interaction is available."

@ojw28
Copy link
Contributor

ojw28 commented Aug 30, 2019

ISO/IEC 23009-1 [4], clause 5.3.7.2 Table 9 doesn't define Label though :(. Seems like an error in the DASH-IF document.

@ojw28
Copy link
Contributor

ojw28 commented Aug 30, 2019

I filed Dash-Industry-Forum/DASH-IF-IOP#383 for clarification.

@ojw28 ojw28 added bug and removed needs triage labels Aug 30, 2019
@ojw28 ojw28 added question and removed bug labels Sep 10, 2019
@ojw28
Copy link
Contributor

ojw28 commented Oct 2, 2019

Clarification provided on the issue ref'd above. We'll add support for parsing <Label>text</Label. We'll keep support for @label as an attribute as well. If both are present then the former (i.e. standardized) version will win.

@ojw28 ojw28 added enhancement and removed question labels Oct 2, 2019
@ojw28 ojw28 changed the title DASH AdaptationSet "label" is not an attribute in the Spec. DASH: Support <Label>text</Label> element for adaptation sets Oct 2, 2019
ojw28 added a commit that referenced this issue Oct 7, 2019
Issue: #6297
PiperOrigin-RevId: 273297284
@ojw28 ojw28 closed this as completed Oct 7, 2019
ojw28 added a commit that referenced this issue Oct 14, 2019
Issue: #6297
PiperOrigin-RevId: 273297284
@google google locked and limited conversation to collaborators Dec 7, 2019
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

3 participants