-
Notifications
You must be signed in to change notification settings - Fork 6k
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
Comments
Issue: #6636 PiperOrigin-RevId: 279666771
Issue: #6636 PiperOrigin-RevId: 279666771
Thanks @ojw28 and @andrewlewis , I'll close this issue. |
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) |
Fix on the way. Sorry for getting this wrong. |
Issue: #6636 PiperOrigin-RevId: 281972403
Issue: #6636 PiperOrigin-RevId: 281972403
No worries. Thanks for your quick fix. Close this ticket. |
[REQUIRED] Issue description
ExoPlayer does not support the latest DD+JOC signaling for DASH
[REQUIRED] Reproduction steps
[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).
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
The text was updated successfully, but these errors were encountered: