Commit b29731d5 by Yannick RUI

Parse text track subtype into Format.roleflags.

parent da1f3f01
...@@ -586,6 +586,7 @@ public class SsManifestParser implements ParsingLoadable.Parser<SsManifest> { ...@@ -586,6 +586,7 @@ public class SsManifestParser implements ParsingLoadable.Parser<SsManifest> {
} else { } else {
subType = parser.getAttributeValue(null, KEY_SUB_TYPE); subType = parser.getAttributeValue(null, KEY_SUB_TYPE);
} }
putNormalizedAttribute(KEY_SUB_TYPE, subType);
name = parser.getAttributeValue(null, KEY_NAME); name = parser.getAttributeValue(null, KEY_NAME);
url = parseRequiredString(parser, KEY_URL); url = parseRequiredString(parser, KEY_URL);
maxWidth = parseInt(parser, KEY_MAX_WIDTH, Format.NO_VALUE); maxWidth = parseInt(parser, KEY_MAX_WIDTH, Format.NO_VALUE);
...@@ -645,6 +646,7 @@ public class SsManifestParser implements ParsingLoadable.Parser<SsManifest> { ...@@ -645,6 +646,7 @@ public class SsManifestParser implements ParsingLoadable.Parser<SsManifest> {
private static final String KEY_CHANNELS = "Channels"; private static final String KEY_CHANNELS = "Channels";
private static final String KEY_FOUR_CC = "FourCC"; private static final String KEY_FOUR_CC = "FourCC";
private static final String KEY_TYPE = "Type"; private static final String KEY_TYPE = "Type";
private static final String KEY_SUB_TYPE = "Subtype";
private static final String KEY_LANGUAGE = "Language"; private static final String KEY_LANGUAGE = "Language";
private static final String KEY_NAME = "Name"; private static final String KEY_NAME = "Name";
private static final String KEY_MAX_WIDTH = "MaxWidth"; private static final String KEY_MAX_WIDTH = "MaxWidth";
...@@ -710,6 +712,18 @@ public class SsManifestParser implements ParsingLoadable.Parser<SsManifest> { ...@@ -710,6 +712,18 @@ public class SsManifestParser implements ParsingLoadable.Parser<SsManifest> {
language); language);
} else if (type == C.TRACK_TYPE_TEXT) { } else if (type == C.TRACK_TYPE_TEXT) {
String language = (String) getNormalizedAttribute(KEY_LANGUAGE); String language = (String) getNormalizedAttribute(KEY_LANGUAGE);
String subType = (String) getNormalizedAttribute(KEY_SUB_TYPE);
int roleFlags = 0;
switch (subType) {
case "CAPT":
roleFlags |= C.ROLE_FLAG_CAPTION;
break;
case "DESC":
roleFlags |= C.ROLE_FLAG_DESCRIBES_MUSIC_AND_SOUND;
break;
case "SUBT":
break;
}
format = format =
Format.createTextContainerFormat( Format.createTextContainerFormat(
id, id,
...@@ -719,7 +733,7 @@ public class SsManifestParser implements ParsingLoadable.Parser<SsManifest> { ...@@ -719,7 +733,7 @@ public class SsManifestParser implements ParsingLoadable.Parser<SsManifest> {
/* codecs= */ null, /* codecs= */ null,
bitrate, bitrate,
/* selectionFlags= */ 0, /* selectionFlags= */ 0,
/* roleFlags= */ 0, /* roleFlags= */ roleFlags,
language); language);
} else { } else {
format = format =
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment