mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Merge pull request #6055 from xirac:dev-v2
PiperOrigin-RevId: 254182080
This commit is contained in:
commit
ae969397bb
2 changed files with 16 additions and 1 deletions
|
|
@ -19,6 +19,7 @@
|
||||||
* Add VR player demo.
|
* Add VR player demo.
|
||||||
* Wrap decoder exceptions in a new `DecoderException` class and report as
|
* Wrap decoder exceptions in a new `DecoderException` class and report as
|
||||||
renderer error.
|
renderer error.
|
||||||
|
* SmoothStreaming: Parse text stream `Subtype` into `Format.roleFlags`.
|
||||||
|
|
||||||
### 2.10.2 ###
|
### 2.10.2 ###
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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> {
|
||||||
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";
|
||||||
|
|
@ -709,6 +711,18 @@ public class SsManifestParser implements ParsingLoadable.Parser<SsManifest> {
|
||||||
/* roleFlags= */ 0,
|
/* roleFlags= */ 0,
|
||||||
language);
|
language);
|
||||||
} else if (type == C.TRACK_TYPE_TEXT) {
|
} else if (type == C.TRACK_TYPE_TEXT) {
|
||||||
|
String subType = (String) getNormalizedAttribute(KEY_SUB_TYPE);
|
||||||
|
@C.RoleFlags int roleFlags = 0;
|
||||||
|
switch (subType) {
|
||||||
|
case "CAPT":
|
||||||
|
roleFlags = C.ROLE_FLAG_CAPTION;
|
||||||
|
break;
|
||||||
|
case "DESC":
|
||||||
|
roleFlags = C.ROLE_FLAG_DESCRIBES_MUSIC_AND_SOUND;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
String language = (String) getNormalizedAttribute(KEY_LANGUAGE);
|
String language = (String) getNormalizedAttribute(KEY_LANGUAGE);
|
||||||
format =
|
format =
|
||||||
Format.createTextContainerFormat(
|
Format.createTextContainerFormat(
|
||||||
|
|
@ -719,7 +733,7 @@ public class SsManifestParser implements ParsingLoadable.Parser<SsManifest> {
|
||||||
/* codecs= */ null,
|
/* codecs= */ null,
|
||||||
bitrate,
|
bitrate,
|
||||||
/* selectionFlags= */ 0,
|
/* selectionFlags= */ 0,
|
||||||
/* roleFlags= */ 0,
|
roleFlags,
|
||||||
language);
|
language);
|
||||||
} else {
|
} else {
|
||||||
format =
|
format =
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue