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

ExoPlayer does not support the latest DD+JOC signaling for DASH #6636

Closed
ybai001 opened this issue Nov 11, 2019 · 4 comments
Closed

ExoPlayer does not support the latest DD+JOC signaling for DASH #6636

ybai001 opened this issue Nov 11, 2019 · 4 comments
Assignees

Comments

@ybai001
Copy link
Contributor

ybai001 commented Nov 11, 2019

[REQUIRED] Issue description

ExoPlayer does not support the latest DD+JOC signaling for DASH

[REQUIRED] Reproduction steps

  1. Play Dolby Atmos content: http://d9zmmjtv72w5o.cloudfront.net/OnDelKits_dev/DDP/Dolby_Digital_Plus_Online_Delivery_dev_portal/Test_Signals/muxed_streams/DASH/Live_MPD/ChID_voices_1280x720p_25fps_h264_6ch_640kbps_ddp_joc.mpd
  2. MIME type AUDIO_E_AC3 is returned. (Should be AUDIO_E_AC3_JOC)

[REQUIRED] Link to test content

http://d9zmmjtv72w5o.cloudfront.net/OnDelKits_dev/DDP/Dolby_Digital_Plus_Online_Delivery_dev_portal/Test_Signals/muxed_streams/DASH/Live_MPD/ChID_voices_1280x720p_25fps_h264_6ch_640kbps_ddp_joc.mpd

[REQUIRED] A full bug report captured from the device

We have found the root cause of this issue. ExoPlayer does not support the latest DD+JOC signaling for DASH. The spec is https://www.etsi.org/deliver/etsi_ts/103400_103499/103420/01.02.01_60/ts_103420v010201p.pdf , annex D (page 80).

D.2.2.1 Extension type
Presence of the enhanced AC-3 extension as defined in the present document is signalled with a DASH supplemental
property descriptor using the schemeIdUri tag:dolby.com,2018:dash:EC3_ExtensionType:2018.
The value of this DASH descriptor shall be the three character string JOC.

To fix this issue, we need to fix the parseEac3SupplementalProperties method in:
https://github.com/google/ExoPlayer/blob/41b3fc110178e9a5c969a0102c5b074189065273/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java
we need to add a check for the new supplemental property. The code can be changed to
protected static String parseEac3SupplementalProperties(List<Descriptor> supplementalProperties) {
for (int i = 0; i < supplementalProperties.size(); i++) {
Descriptor descriptor = supplementalProperties.get(i);
String schemeIdUri = descriptor.schemeIdUri;
if (("tag:dolby.com,2014:dash:DolbyDigitalPlusExtensionType:2014".equals(schemeIdUri)
&& "ec+3".equals(descriptor.value))
|| ("tag:dolby.com,2018:dash:EC3_ExtensionType:2018".equals(schemeIdUri)
&& "JOC".equals(descriptor.value))) {
return MimeTypes.AUDIO_E_AC3_JOC;
}
}
return MimeTypes.AUDIO_E_AC3;
}

[REQUIRED] Version of ExoPlayer being used

Exoplayer v2.10.7

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

Google Pixel 3

@andrewlewis andrewlewis self-assigned this Nov 11, 2019
ojw28 pushed a commit that referenced this issue Nov 15, 2019
Issue: #6636
PiperOrigin-RevId: 279666771
ojw28 pushed a commit that referenced this issue Nov 18, 2019
Issue: #6636
PiperOrigin-RevId: 279666771
@ybai001
Copy link
Contributor Author

ybai001 commented Nov 20, 2019

Thanks @ojw28 and @andrewlewis , I'll close this issue.

@ybai001 ybai001 closed this as completed Nov 20, 2019
@ybai001
Copy link
Contributor Author

ybai001 commented Nov 22, 2019

Sorry, I have to reopen this issue. After regression test on v2.10.8, we find your modification is not correct. Please refer our fix in problem statement part. It should be "tag:dolby.com,2018:dash:EC3_ExtensionType:2018", (spec D2.2.1) but you used "tag:dolby.com,2018:dash:EC3_ExtensionComplexityIndex:2018". (spec D2.2.2)

@ybai001 ybai001 reopened this Nov 22, 2019
@andrewlewis
Copy link
Collaborator

Fix on the way. Sorry for getting this wrong.

ojw28 pushed a commit that referenced this issue Nov 22, 2019
Issue: #6636
PiperOrigin-RevId: 281972403
ojw28 pushed a commit that referenced this issue Nov 22, 2019
Issue: #6636
PiperOrigin-RevId: 281972403
@ybai001
Copy link
Contributor Author

ybai001 commented Nov 25, 2019

No worries. Thanks for your quick fix. Close this ticket.

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

2 participants