TTML: Ignore regions that don't declare origin and extent
Issue: #2953 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=159218386
This commit is contained in:
parent
023c9d56a9
commit
c7948f2f7a
@ -179,9 +179,13 @@ public final class TtmlDecoderTest extends InstrumentationTestCase {
|
|||||||
assertEquals(1, output.size());
|
assertEquals(1, output.size());
|
||||||
ttmlCue = output.get(0);
|
ttmlCue = output.get(0);
|
||||||
assertEquals("dolor", ttmlCue.text.toString());
|
assertEquals("dolor", ttmlCue.text.toString());
|
||||||
assertEquals(10f / 100f, ttmlCue.position);
|
assertEquals(Cue.DIMEN_UNSET, ttmlCue.position);
|
||||||
assertEquals(80f / 100f, ttmlCue.line);
|
assertEquals(Cue.DIMEN_UNSET, ttmlCue.line);
|
||||||
assertEquals(1f, ttmlCue.size);
|
assertEquals(Cue.DIMEN_UNSET, ttmlCue.size);
|
||||||
|
// TODO: Should be as below, once https://github.com/google/ExoPlayer/issues/2953 is fixed.
|
||||||
|
// assertEquals(10f / 100f, ttmlCue.position);
|
||||||
|
// assertEquals(80f / 100f, ttmlCue.line);
|
||||||
|
// assertEquals(1f, ttmlCue.size);
|
||||||
|
|
||||||
output = subtitle.getCues(21000000);
|
output = subtitle.getCues(21000000);
|
||||||
assertEquals(1, output.size());
|
assertEquals(1, output.size());
|
||||||
|
@ -222,9 +222,9 @@ public final class TtmlDecoder extends SimpleSubtitleDecoder {
|
|||||||
/**
|
/**
|
||||||
* Parses a region declaration.
|
* Parses a region declaration.
|
||||||
* <p>
|
* <p>
|
||||||
* If the region defines an origin and/or extent, it is required that they're defined as
|
* If the region defines an origin and extent, it is required that they're defined as percentages
|
||||||
* percentages of the viewport. Region declarations that define origin and/or extent in other
|
* of the viewport. Region declarations that define origin and extent in other formats are
|
||||||
* formats are unsupported, and null is returned.
|
* unsupported, and null is returned.
|
||||||
*/
|
*/
|
||||||
private TtmlRegion parseRegionAttributes(XmlPullParser xmlParser) {
|
private TtmlRegion parseRegionAttributes(XmlPullParser xmlParser) {
|
||||||
String regionId = XmlPullParserUtil.getAttributeValue(xmlParser, TtmlNode.ATTR_ID);
|
String regionId = XmlPullParserUtil.getAttributeValue(xmlParser, TtmlNode.ATTR_ID);
|
||||||
@ -250,9 +250,13 @@ public final class TtmlDecoder extends SimpleSubtitleDecoder {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
Log.w(TAG, "Ignoring region without an origin");
|
||||||
|
return null;
|
||||||
|
// TODO: Should default to top left as below in this case, but need to fix
|
||||||
|
// https://github.com/google/ExoPlayer/issues/2953 first.
|
||||||
// Origin is omitted. Default to top left.
|
// Origin is omitted. Default to top left.
|
||||||
position = 0;
|
// position = 0;
|
||||||
line = 0;
|
// line = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
float width;
|
float width;
|
||||||
@ -273,9 +277,13 @@ public final class TtmlDecoder extends SimpleSubtitleDecoder {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
Log.w(TAG, "Ignoring region without an extent");
|
||||||
|
return null;
|
||||||
|
// TODO: Should default to extent of parent as below in this case, but need to fix
|
||||||
|
// https://github.com/google/ExoPlayer/issues/2953 first.
|
||||||
// Extent is omitted. Default to extent of parent.
|
// Extent is omitted. Default to extent of parent.
|
||||||
width = 1;
|
// width = 1;
|
||||||
height = 1;
|
// height = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Cue.AnchorType int lineAnchor = Cue.ANCHOR_TYPE_START;
|
@Cue.AnchorType int lineAnchor = Cue.ANCHOR_TYPE_START;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user