Pass role and accessibility descriptor values from adaptation set to format
This commit is contained in:
parent
8746d4a885
commit
06ed877845
@ -167,6 +167,16 @@ public final class Format implements Parcelable {
|
|||||||
*/
|
*/
|
||||||
public final int accessibilityChannel;
|
public final int accessibilityChannel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Role descriptor value.
|
||||||
|
*/
|
||||||
|
public final String role;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Accessibility descriptor value.
|
||||||
|
*/
|
||||||
|
public final String accessibility;
|
||||||
|
|
||||||
// Lazily initialized hashcode.
|
// Lazily initialized hashcode.
|
||||||
private int hashCode;
|
private int hashCode;
|
||||||
|
|
||||||
@ -234,6 +244,8 @@ public final class Format implements Parcelable {
|
|||||||
selectionFlags,
|
selectionFlags,
|
||||||
/* language= */ null,
|
/* language= */ null,
|
||||||
/* accessibilityChannel= */ NO_VALUE,
|
/* accessibilityChannel= */ NO_VALUE,
|
||||||
|
/* role= */ null,
|
||||||
|
/* accessibility= */ null,
|
||||||
OFFSET_SAMPLE_RELATIVE,
|
OFFSET_SAMPLE_RELATIVE,
|
||||||
initializationData,
|
initializationData,
|
||||||
/* drmInitData= */ null,
|
/* drmInitData= */ null,
|
||||||
@ -337,6 +349,8 @@ public final class Format implements Parcelable {
|
|||||||
/* selectionFlags= */ 0,
|
/* selectionFlags= */ 0,
|
||||||
/* language= */ null,
|
/* language= */ null,
|
||||||
/* accessibilityChannel= */ NO_VALUE,
|
/* accessibilityChannel= */ NO_VALUE,
|
||||||
|
/* role= */ null,
|
||||||
|
/* accessibility= */ null,
|
||||||
OFFSET_SAMPLE_RELATIVE,
|
OFFSET_SAMPLE_RELATIVE,
|
||||||
initializationData,
|
initializationData,
|
||||||
drmInitData,
|
drmInitData,
|
||||||
@ -407,6 +421,8 @@ public final class Format implements Parcelable {
|
|||||||
selectionFlags,
|
selectionFlags,
|
||||||
language,
|
language,
|
||||||
/* accessibilityChannel= */ NO_VALUE,
|
/* accessibilityChannel= */ NO_VALUE,
|
||||||
|
/* role= */ null,
|
||||||
|
/* accessibility= */ null,
|
||||||
OFFSET_SAMPLE_RELATIVE,
|
OFFSET_SAMPLE_RELATIVE,
|
||||||
initializationData,
|
initializationData,
|
||||||
/* drmInitData= */ null,
|
/* drmInitData= */ null,
|
||||||
@ -511,6 +527,8 @@ public final class Format implements Parcelable {
|
|||||||
selectionFlags,
|
selectionFlags,
|
||||||
language,
|
language,
|
||||||
/* accessibilityChannel= */ NO_VALUE,
|
/* accessibilityChannel= */ NO_VALUE,
|
||||||
|
/* role= */ null,
|
||||||
|
/* accessibility= */ null,
|
||||||
OFFSET_SAMPLE_RELATIVE,
|
OFFSET_SAMPLE_RELATIVE,
|
||||||
initializationData,
|
initializationData,
|
||||||
drmInitData,
|
drmInitData,
|
||||||
@ -557,7 +575,9 @@ public final class Format implements Parcelable {
|
|||||||
bitrate,
|
bitrate,
|
||||||
selectionFlags,
|
selectionFlags,
|
||||||
language,
|
language,
|
||||||
/* accessibilityChannel= */ NO_VALUE);
|
/* accessibilityChannel= */ NO_VALUE,
|
||||||
|
/* role= */ null,
|
||||||
|
/* accessibility= */ null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Format createTextContainerFormat(
|
public static Format createTextContainerFormat(
|
||||||
@ -569,7 +589,9 @@ public final class Format implements Parcelable {
|
|||||||
int bitrate,
|
int bitrate,
|
||||||
@C.SelectionFlags int selectionFlags,
|
@C.SelectionFlags int selectionFlags,
|
||||||
@Nullable String language,
|
@Nullable String language,
|
||||||
int accessibilityChannel) {
|
int accessibilityChannel,
|
||||||
|
@Nullable String role,
|
||||||
|
@Nullable String accessibility) {
|
||||||
return new Format(
|
return new Format(
|
||||||
id,
|
id,
|
||||||
label,
|
label,
|
||||||
@ -594,6 +616,8 @@ public final class Format implements Parcelable {
|
|||||||
selectionFlags,
|
selectionFlags,
|
||||||
language,
|
language,
|
||||||
accessibilityChannel,
|
accessibilityChannel,
|
||||||
|
role,
|
||||||
|
accessibility,
|
||||||
OFFSET_SAMPLE_RELATIVE,
|
OFFSET_SAMPLE_RELATIVE,
|
||||||
/* initializationData= */ null,
|
/* initializationData= */ null,
|
||||||
/* drmInitData= */ null,
|
/* drmInitData= */ null,
|
||||||
@ -706,6 +730,8 @@ public final class Format implements Parcelable {
|
|||||||
selectionFlags,
|
selectionFlags,
|
||||||
language,
|
language,
|
||||||
accessibilityChannel,
|
accessibilityChannel,
|
||||||
|
/* role= */ null,
|
||||||
|
/* accessibility= */ null,
|
||||||
subsampleOffsetUs,
|
subsampleOffsetUs,
|
||||||
initializationData,
|
initializationData,
|
||||||
drmInitData,
|
drmInitData,
|
||||||
@ -747,6 +773,8 @@ public final class Format implements Parcelable {
|
|||||||
selectionFlags,
|
selectionFlags,
|
||||||
language,
|
language,
|
||||||
/* accessibilityChannel= */ NO_VALUE,
|
/* accessibilityChannel= */ NO_VALUE,
|
||||||
|
/* role= */ null,
|
||||||
|
/* accessibility= */ null,
|
||||||
OFFSET_SAMPLE_RELATIVE,
|
OFFSET_SAMPLE_RELATIVE,
|
||||||
initializationData,
|
initializationData,
|
||||||
drmInitData,
|
drmInitData,
|
||||||
@ -808,6 +836,8 @@ public final class Format implements Parcelable {
|
|||||||
selectionFlags,
|
selectionFlags,
|
||||||
language,
|
language,
|
||||||
/* accessibilityChannel= */ NO_VALUE,
|
/* accessibilityChannel= */ NO_VALUE,
|
||||||
|
/* role= */ null,
|
||||||
|
/* accessibility= */ null,
|
||||||
OFFSET_SAMPLE_RELATIVE,
|
OFFSET_SAMPLE_RELATIVE,
|
||||||
/* initializationData= */ null,
|
/* initializationData= */ null,
|
||||||
/* drmInitData= */ null,
|
/* drmInitData= */ null,
|
||||||
@ -840,6 +870,8 @@ public final class Format implements Parcelable {
|
|||||||
/* selectionFlags= */ 0,
|
/* selectionFlags= */ 0,
|
||||||
/* language= */ null,
|
/* language= */ null,
|
||||||
/* accessibilityChannel= */ NO_VALUE,
|
/* accessibilityChannel= */ NO_VALUE,
|
||||||
|
/* role= */ null,
|
||||||
|
/* accessibility= */ null,
|
||||||
subsampleOffsetUs,
|
subsampleOffsetUs,
|
||||||
/* initializationData= */ null,
|
/* initializationData= */ null,
|
||||||
/* drmInitData= */ null,
|
/* drmInitData= */ null,
|
||||||
@ -876,6 +908,8 @@ public final class Format implements Parcelable {
|
|||||||
/* selectionFlags= */ 0,
|
/* selectionFlags= */ 0,
|
||||||
/* language= */ null,
|
/* language= */ null,
|
||||||
/* accessibilityChannel= */ NO_VALUE,
|
/* accessibilityChannel= */ NO_VALUE,
|
||||||
|
/* role= */ null,
|
||||||
|
/* accessibility= */ null,
|
||||||
OFFSET_SAMPLE_RELATIVE,
|
OFFSET_SAMPLE_RELATIVE,
|
||||||
/* initializationData= */ null,
|
/* initializationData= */ null,
|
||||||
drmInitData,
|
drmInitData,
|
||||||
@ -906,6 +940,8 @@ public final class Format implements Parcelable {
|
|||||||
@C.SelectionFlags int selectionFlags,
|
@C.SelectionFlags int selectionFlags,
|
||||||
@Nullable String language,
|
@Nullable String language,
|
||||||
int accessibilityChannel,
|
int accessibilityChannel,
|
||||||
|
@Nullable String role,
|
||||||
|
@Nullable String accessibility,
|
||||||
long subsampleOffsetUs,
|
long subsampleOffsetUs,
|
||||||
@Nullable List<byte[]> initializationData,
|
@Nullable List<byte[]> initializationData,
|
||||||
@Nullable DrmInitData drmInitData,
|
@Nullable DrmInitData drmInitData,
|
||||||
@ -934,6 +970,8 @@ public final class Format implements Parcelable {
|
|||||||
this.selectionFlags = selectionFlags;
|
this.selectionFlags = selectionFlags;
|
||||||
this.language = Util.normalizeLanguageCode(language);
|
this.language = Util.normalizeLanguageCode(language);
|
||||||
this.accessibilityChannel = accessibilityChannel;
|
this.accessibilityChannel = accessibilityChannel;
|
||||||
|
this.role = role;
|
||||||
|
this.accessibility = accessibility;
|
||||||
this.subsampleOffsetUs = subsampleOffsetUs;
|
this.subsampleOffsetUs = subsampleOffsetUs;
|
||||||
this.initializationData =
|
this.initializationData =
|
||||||
initializationData == null ? Collections.emptyList() : initializationData;
|
initializationData == null ? Collections.emptyList() : initializationData;
|
||||||
@ -967,6 +1005,8 @@ public final class Format implements Parcelable {
|
|||||||
selectionFlags = in.readInt();
|
selectionFlags = in.readInt();
|
||||||
language = in.readString();
|
language = in.readString();
|
||||||
accessibilityChannel = in.readInt();
|
accessibilityChannel = in.readInt();
|
||||||
|
role = in.readString();
|
||||||
|
accessibility = in.readString();
|
||||||
subsampleOffsetUs = in.readLong();
|
subsampleOffsetUs = in.readLong();
|
||||||
int initializationDataSize = in.readInt();
|
int initializationDataSize = in.readInt();
|
||||||
initializationData = new ArrayList<>(initializationDataSize);
|
initializationData = new ArrayList<>(initializationDataSize);
|
||||||
@ -1002,6 +1042,8 @@ public final class Format implements Parcelable {
|
|||||||
selectionFlags,
|
selectionFlags,
|
||||||
language,
|
language,
|
||||||
accessibilityChannel,
|
accessibilityChannel,
|
||||||
|
role,
|
||||||
|
accessibility,
|
||||||
subsampleOffsetUs,
|
subsampleOffsetUs,
|
||||||
initializationData,
|
initializationData,
|
||||||
drmInitData,
|
drmInitData,
|
||||||
@ -1033,6 +1075,8 @@ public final class Format implements Parcelable {
|
|||||||
selectionFlags,
|
selectionFlags,
|
||||||
language,
|
language,
|
||||||
accessibilityChannel,
|
accessibilityChannel,
|
||||||
|
role,
|
||||||
|
accessibility,
|
||||||
subsampleOffsetUs,
|
subsampleOffsetUs,
|
||||||
initializationData,
|
initializationData,
|
||||||
drmInitData,
|
drmInitData,
|
||||||
@ -1073,6 +1117,8 @@ public final class Format implements Parcelable {
|
|||||||
selectionFlags,
|
selectionFlags,
|
||||||
language,
|
language,
|
||||||
accessibilityChannel,
|
accessibilityChannel,
|
||||||
|
role,
|
||||||
|
accessibility,
|
||||||
subsampleOffsetUs,
|
subsampleOffsetUs,
|
||||||
initializationData,
|
initializationData,
|
||||||
drmInitData,
|
drmInitData,
|
||||||
@ -1144,6 +1190,8 @@ public final class Format implements Parcelable {
|
|||||||
selectionFlags,
|
selectionFlags,
|
||||||
language,
|
language,
|
||||||
accessibilityChannel,
|
accessibilityChannel,
|
||||||
|
role,
|
||||||
|
accessibility,
|
||||||
subsampleOffsetUs,
|
subsampleOffsetUs,
|
||||||
initializationData,
|
initializationData,
|
||||||
drmInitData,
|
drmInitData,
|
||||||
@ -1175,6 +1223,8 @@ public final class Format implements Parcelable {
|
|||||||
selectionFlags,
|
selectionFlags,
|
||||||
language,
|
language,
|
||||||
accessibilityChannel,
|
accessibilityChannel,
|
||||||
|
role,
|
||||||
|
accessibility,
|
||||||
subsampleOffsetUs,
|
subsampleOffsetUs,
|
||||||
initializationData,
|
initializationData,
|
||||||
drmInitData,
|
drmInitData,
|
||||||
@ -1206,6 +1256,8 @@ public final class Format implements Parcelable {
|
|||||||
selectionFlags,
|
selectionFlags,
|
||||||
language,
|
language,
|
||||||
accessibilityChannel,
|
accessibilityChannel,
|
||||||
|
role,
|
||||||
|
accessibility,
|
||||||
subsampleOffsetUs,
|
subsampleOffsetUs,
|
||||||
initializationData,
|
initializationData,
|
||||||
drmInitData,
|
drmInitData,
|
||||||
@ -1237,6 +1289,8 @@ public final class Format implements Parcelable {
|
|||||||
selectionFlags,
|
selectionFlags,
|
||||||
language,
|
language,
|
||||||
accessibilityChannel,
|
accessibilityChannel,
|
||||||
|
role,
|
||||||
|
accessibility,
|
||||||
subsampleOffsetUs,
|
subsampleOffsetUs,
|
||||||
initializationData,
|
initializationData,
|
||||||
drmInitData,
|
drmInitData,
|
||||||
@ -1268,6 +1322,8 @@ public final class Format implements Parcelable {
|
|||||||
selectionFlags,
|
selectionFlags,
|
||||||
language,
|
language,
|
||||||
accessibilityChannel,
|
accessibilityChannel,
|
||||||
|
role,
|
||||||
|
accessibility,
|
||||||
subsampleOffsetUs,
|
subsampleOffsetUs,
|
||||||
initializationData,
|
initializationData,
|
||||||
drmInitData,
|
drmInitData,
|
||||||
@ -1299,6 +1355,8 @@ public final class Format implements Parcelable {
|
|||||||
selectionFlags,
|
selectionFlags,
|
||||||
language,
|
language,
|
||||||
accessibilityChannel,
|
accessibilityChannel,
|
||||||
|
role,
|
||||||
|
accessibility,
|
||||||
subsampleOffsetUs,
|
subsampleOffsetUs,
|
||||||
initializationData,
|
initializationData,
|
||||||
drmInitData,
|
drmInitData,
|
||||||
@ -1330,6 +1388,8 @@ public final class Format implements Parcelable {
|
|||||||
selectionFlags,
|
selectionFlags,
|
||||||
language,
|
language,
|
||||||
accessibilityChannel,
|
accessibilityChannel,
|
||||||
|
role,
|
||||||
|
accessibility,
|
||||||
subsampleOffsetUs,
|
subsampleOffsetUs,
|
||||||
initializationData,
|
initializationData,
|
||||||
drmInitData,
|
drmInitData,
|
||||||
@ -1439,6 +1499,8 @@ public final class Format implements Parcelable {
|
|||||||
&& Util.areEqual(label, other.label)
|
&& Util.areEqual(label, other.label)
|
||||||
&& Util.areEqual(language, other.language)
|
&& Util.areEqual(language, other.language)
|
||||||
&& accessibilityChannel == other.accessibilityChannel
|
&& accessibilityChannel == other.accessibilityChannel
|
||||||
|
&& Util.areEqual(role, other.role)
|
||||||
|
&& Util.areEqual(accessibility, other.accessibility)
|
||||||
&& Util.areEqual(containerMimeType, other.containerMimeType)
|
&& Util.areEqual(containerMimeType, other.containerMimeType)
|
||||||
&& Util.areEqual(sampleMimeType, other.sampleMimeType)
|
&& Util.areEqual(sampleMimeType, other.sampleMimeType)
|
||||||
&& Util.areEqual(codecs, other.codecs)
|
&& Util.areEqual(codecs, other.codecs)
|
||||||
@ -1540,6 +1602,8 @@ public final class Format implements Parcelable {
|
|||||||
dest.writeInt(selectionFlags);
|
dest.writeInt(selectionFlags);
|
||||||
dest.writeString(language);
|
dest.writeString(language);
|
||||||
dest.writeInt(accessibilityChannel);
|
dest.writeInt(accessibilityChannel);
|
||||||
|
dest.writeString(role);
|
||||||
|
dest.writeString(accessibility);
|
||||||
dest.writeLong(subsampleOffsetUs);
|
dest.writeLong(subsampleOffsetUs);
|
||||||
int initializationDataSize = initializationData.size();
|
int initializationDataSize = initializationData.size();
|
||||||
dest.writeInt(initializationDataSize);
|
dest.writeInt(initializationDataSize);
|
||||||
|
@ -276,6 +276,7 @@ public class DashManifestParser extends DefaultHandler
|
|||||||
ArrayList<SchemeData> drmSchemeDatas = new ArrayList<>();
|
ArrayList<SchemeData> drmSchemeDatas = new ArrayList<>();
|
||||||
ArrayList<Descriptor> inbandEventStreams = new ArrayList<>();
|
ArrayList<Descriptor> inbandEventStreams = new ArrayList<>();
|
||||||
ArrayList<Descriptor> accessibilityDescriptors = new ArrayList<>();
|
ArrayList<Descriptor> accessibilityDescriptors = new ArrayList<>();
|
||||||
|
ArrayList<Descriptor> roleDescriptors = new ArrayList<>();
|
||||||
ArrayList<Descriptor> supplementalProperties = new ArrayList<>();
|
ArrayList<Descriptor> supplementalProperties = new ArrayList<>();
|
||||||
List<RepresentationInfo> representationInfos = new ArrayList<>();
|
List<RepresentationInfo> representationInfos = new ArrayList<>();
|
||||||
@C.SelectionFlags int selectionFlags = 0;
|
@C.SelectionFlags int selectionFlags = 0;
|
||||||
@ -300,7 +301,10 @@ public class DashManifestParser extends DefaultHandler
|
|||||||
language = checkLanguageConsistency(language, xpp.getAttributeValue(null, "lang"));
|
language = checkLanguageConsistency(language, xpp.getAttributeValue(null, "lang"));
|
||||||
contentType = checkContentTypeConsistency(contentType, parseContentType(xpp));
|
contentType = checkContentTypeConsistency(contentType, parseContentType(xpp));
|
||||||
} else if (XmlPullParserUtil.isStartTag(xpp, "Role")) {
|
} else if (XmlPullParserUtil.isStartTag(xpp, "Role")) {
|
||||||
selectionFlags |= parseRole(xpp);
|
Descriptor descriptor = parseDescriptor(xpp, "Role");
|
||||||
|
selectionFlags |= "urn:mpeg:dash:role:2011".equals(descriptor.schemeIdUri)
|
||||||
|
&& "main".equals(descriptor.value) ? C.SELECTION_FLAG_DEFAULT : 0;
|
||||||
|
roleDescriptors.add(descriptor);
|
||||||
} else if (XmlPullParserUtil.isStartTag(xpp, "AudioChannelConfiguration")) {
|
} else if (XmlPullParserUtil.isStartTag(xpp, "AudioChannelConfiguration")) {
|
||||||
audioChannels = parseAudioChannelConfiguration(xpp);
|
audioChannels = parseAudioChannelConfiguration(xpp);
|
||||||
} else if (XmlPullParserUtil.isStartTag(xpp, "Accessibility")) {
|
} else if (XmlPullParserUtil.isStartTag(xpp, "Accessibility")) {
|
||||||
@ -322,6 +326,7 @@ public class DashManifestParser extends DefaultHandler
|
|||||||
audioSamplingRate,
|
audioSamplingRate,
|
||||||
language,
|
language,
|
||||||
selectionFlags,
|
selectionFlags,
|
||||||
|
roleDescriptors,
|
||||||
accessibilityDescriptors,
|
accessibilityDescriptors,
|
||||||
segmentBase);
|
segmentBase);
|
||||||
contentType = checkContentTypeConsistency(contentType,
|
contentType = checkContentTypeConsistency(contentType,
|
||||||
@ -509,6 +514,7 @@ public class DashManifestParser extends DefaultHandler
|
|||||||
int adaptationSetAudioSamplingRate,
|
int adaptationSetAudioSamplingRate,
|
||||||
String adaptationSetLanguage,
|
String adaptationSetLanguage,
|
||||||
@C.SelectionFlags int adaptationSetSelectionFlags,
|
@C.SelectionFlags int adaptationSetSelectionFlags,
|
||||||
|
List<Descriptor> adaptationSetRoleDescriptors,
|
||||||
List<Descriptor> adaptationSetAccessibilityDescriptors,
|
List<Descriptor> adaptationSetAccessibilityDescriptors,
|
||||||
SegmentBase segmentBase)
|
SegmentBase segmentBase)
|
||||||
throws XmlPullParserException, IOException {
|
throws XmlPullParserException, IOException {
|
||||||
@ -573,6 +579,7 @@ public class DashManifestParser extends DefaultHandler
|
|||||||
bandwidth,
|
bandwidth,
|
||||||
adaptationSetLanguage,
|
adaptationSetLanguage,
|
||||||
adaptationSetSelectionFlags,
|
adaptationSetSelectionFlags,
|
||||||
|
adaptationSetRoleDescriptors,
|
||||||
adaptationSetAccessibilityDescriptors,
|
adaptationSetAccessibilityDescriptors,
|
||||||
codecs,
|
codecs,
|
||||||
supplementalProperties);
|
supplementalProperties);
|
||||||
@ -594,6 +601,7 @@ public class DashManifestParser extends DefaultHandler
|
|||||||
int bitrate,
|
int bitrate,
|
||||||
String language,
|
String language,
|
||||||
@C.SelectionFlags int selectionFlags,
|
@C.SelectionFlags int selectionFlags,
|
||||||
|
List<Descriptor> roleDescriptors,
|
||||||
List<Descriptor> accessibilityDescriptors,
|
List<Descriptor> accessibilityDescriptors,
|
||||||
String codecs,
|
String codecs,
|
||||||
List<Descriptor> supplementalProperties) {
|
List<Descriptor> supplementalProperties) {
|
||||||
@ -637,6 +645,10 @@ public class DashManifestParser extends DefaultHandler
|
|||||||
} else {
|
} else {
|
||||||
accessibilityChannel = Format.NO_VALUE;
|
accessibilityChannel = Format.NO_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String role = parseRole(roleDescriptors);
|
||||||
|
String accessibility = parseAccessibility(accessibilityDescriptors);
|
||||||
|
|
||||||
return Format.createTextContainerFormat(
|
return Format.createTextContainerFormat(
|
||||||
id,
|
id,
|
||||||
label,
|
label,
|
||||||
@ -646,7 +658,9 @@ public class DashManifestParser extends DefaultHandler
|
|||||||
bitrate,
|
bitrate,
|
||||||
selectionFlags,
|
selectionFlags,
|
||||||
language,
|
language,
|
||||||
accessibilityChannel);
|
accessibilityChannel,
|
||||||
|
role,
|
||||||
|
accessibility);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Format.createContainerFormat(
|
return Format.createContainerFormat(
|
||||||
@ -1266,6 +1280,32 @@ public class DashManifestParser extends DefaultHandler
|
|||||||
return MimeTypes.AUDIO_E_AC3;
|
return MimeTypes.AUDIO_E_AC3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected static String parseRole(List<Descriptor> roleDescriptors) {
|
||||||
|
for (int i = 0; i < roleDescriptors.size(); i++) {
|
||||||
|
Descriptor descriptor = roleDescriptors.get(i);
|
||||||
|
if ("urn:mpeg:dash:role:2011".equals(descriptor.schemeIdUri) && descriptor.value != null) {
|
||||||
|
return descriptor.value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static String parseAccessibility(List<Descriptor> accessibilityDescriptors) {
|
||||||
|
for (int i = 0; i < accessibilityDescriptors.size(); i++) {
|
||||||
|
Descriptor descriptor = accessibilityDescriptors.get(i);
|
||||||
|
if ("urn:mpeg:dash:role:2011".equals(descriptor.schemeIdUri) && descriptor.value != null) {
|
||||||
|
return descriptor.value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ("urn:tva:metadata:cs:AudioPurposeCS:2007".equals(descriptor.schemeIdUri)) {
|
||||||
|
if ("1".equals(descriptor.value) || "2".equals(descriptor.value)) {
|
||||||
|
return descriptor.value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
protected static float parseFrameRate(XmlPullParser xpp, float defaultValue) {
|
protected static float parseFrameRate(XmlPullParser xpp, float defaultValue) {
|
||||||
float frameRate = defaultValue;
|
float frameRate = defaultValue;
|
||||||
String frameRateAttribute = xpp.getAttributeValue(null, "frameRate");
|
String frameRateAttribute = xpp.getAttributeValue(null, "frameRate");
|
||||||
|
@ -405,7 +405,9 @@ public final class HlsPlaylistParser implements ParsingLoadable.Parser<HlsPlayli
|
|||||||
/* bitrate= */ Format.NO_VALUE,
|
/* bitrate= */ Format.NO_VALUE,
|
||||||
selectionFlags,
|
selectionFlags,
|
||||||
language,
|
language,
|
||||||
accessibilityChannel));
|
accessibilityChannel,
|
||||||
|
/* role= */ null,
|
||||||
|
/* accessibility= */ null));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
// Do nothing.
|
// Do nothing.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user