DD+JOC track can't be selected if there are multi tracks in manifest file

DD+JOC track can't be selected if there are multi tracks in manifest file.
This commit is contained in:
ybai001 2021-06-07 22:15:54 +08:00
parent 1389b4a19f
commit c299ccf7e4
2 changed files with 4 additions and 0 deletions

View file

@ -765,6 +765,9 @@ public class DashManifestParser extends DefaultHandler
@Nullable String sampleMimeType = getSampleMimeType(containerMimeType, codecs);
if (MimeTypes.AUDIO_E_AC3.equals(sampleMimeType)) {
sampleMimeType = parseEac3SupplementalProperties(supplementalProperties);
if (MimeTypes.AUDIO_E_AC3_JOC.equals(sampleMimeType)) {
codecs = "ec+3";
}
}
@C.SelectionFlags int selectionFlags = parseSelectionFlagsFromRoleDescriptors(roleDescriptors);
@C.RoleFlags int roleFlags = parseRoleFlagsFromRoleDescriptors(roleDescriptors);

View file

@ -515,6 +515,7 @@ public final class HlsPlaylistParser implements ParsingLoadable.Parser<HlsPlayli
formatBuilder.setChannelCount(channelCount);
if (MimeTypes.AUDIO_E_AC3.equals(sampleMimeType) && channelsString.endsWith("/JOC")) {
sampleMimeType = MimeTypes.AUDIO_E_AC3_JOC;
formatBuilder.setCodecs("ec+3");
}
}
formatBuilder.setSampleMimeType(sampleMimeType);