package com.mbridge.msdk.playercommon.exoplayer2.text.ttml; import android.text.Layout; import android.util.Log; import com.baidu.mobads.sdk.api.IAdInterListener; import com.mbridge.msdk.playercommon.exoplayer2.C; import com.mbridge.msdk.playercommon.exoplayer2.text.SimpleSubtitleDecoder; import com.mbridge.msdk.playercommon.exoplayer2.text.SubtitleDecoderException; import com.mbridge.msdk.playercommon.exoplayer2.util.ColorParser; import com.mbridge.msdk.playercommon.exoplayer2.util.Util; import com.mbridge.msdk.playercommon.exoplayer2.util.XmlPullParserUtil; import java.io.ByteArrayInputStream; import java.io.IOException; import java.util.ArrayDeque; import java.util.HashMap; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserFactory; public final class TtmlDecoder extends SimpleSubtitleDecoder { private static final String ATTR_BEGIN = "begin"; private static final String ATTR_DURATION = "dur"; private static final String ATTR_END = "end"; private static final String ATTR_REGION = "region"; private static final String ATTR_STYLE = "style"; private static final Pattern CELL_RESOLUTION = Pattern.compile("^(\\d+) (\\d+)$"); private static final Pattern CLOCK_TIME = Pattern.compile("^([0-9][0-9]+):([0-9][0-9]):([0-9][0-9])(?:(\\.[0-9]+)|:([0-9][0-9])(?:\\.([0-9]+))?)?$"); private static final CellResolution DEFAULT_CELL_RESOLUTION = new CellResolution(32, 15); private static final FrameAndTickRate DEFAULT_FRAME_AND_TICK_RATE = new FrameAndTickRate(30.0f, 1, 1); private static final int DEFAULT_FRAME_RATE = 30; private static final Pattern FONT_SIZE = Pattern.compile("^(([0-9]*.)?[0-9]+)(px|em|%)$"); private static final Pattern OFFSET_TIME = Pattern.compile("^([0-9]+(?:\\.[0-9]+)?)(h|m|s|ms|f|t)$"); private static final Pattern PERCENTAGE_COORDINATES = Pattern.compile("^(\\d+\\.?\\d*?)% (\\d+\\.?\\d*?)%$"); private static final String TAG = "TtmlDecoder"; private static final String TTP = "http://www.w3.org/ns/ttml#parameter"; private final XmlPullParserFactory xmlParserFactory; /* access modifiers changed from: private */ public static final class CellResolution { final int columns; final int rows; CellResolution(int i2, int i3) { this.columns = i2; this.rows = i3; } } /* access modifiers changed from: private */ public static final class FrameAndTickRate { final float effectiveFrameRate; final int subFrameRate; final int tickRate; FrameAndTickRate(float f2, int i2, int i3) { this.effectiveFrameRate = f2; this.subFrameRate = i2; this.tickRate = i3; } } public TtmlDecoder() { super(TAG); try { XmlPullParserFactory newInstance = XmlPullParserFactory.newInstance(); this.xmlParserFactory = newInstance; newInstance.setNamespaceAware(true); } catch (XmlPullParserException e2) { throw new RuntimeException("Couldn't create XmlPullParserFactory instance", e2); } } private TtmlStyle createIfNull(TtmlStyle ttmlStyle) { return ttmlStyle == null ? new TtmlStyle() : ttmlStyle; } private static boolean isSupportedTag(String str) { return str.equals("tt") || str.equals(TtmlNode.TAG_HEAD) || str.equals(TtmlNode.TAG_BODY) || str.equals(TtmlNode.TAG_DIV) || str.equals("p") || str.equals(TtmlNode.TAG_SPAN) || str.equals(TtmlNode.TAG_BR) || str.equals("style") || str.equals(TtmlNode.TAG_STYLING) || str.equals(TtmlNode.TAG_LAYOUT) || str.equals("region") || str.equals(TtmlNode.TAG_METADATA) || str.equals(TtmlNode.TAG_SMPTE_IMAGE) || str.equals(TtmlNode.TAG_SMPTE_DATA) || str.equals(TtmlNode.TAG_SMPTE_INFORMATION); } private CellResolution parseCellResolution(XmlPullParser xmlPullParser, CellResolution cellResolution) throws SubtitleDecoderException { String attributeValue = xmlPullParser.getAttributeValue(TTP, "cellResolution"); if (attributeValue == null) { return cellResolution; } Matcher matcher = CELL_RESOLUTION.matcher(attributeValue); if (!matcher.matches()) { Log.w(TAG, "Ignoring malformed cell resolution: " + attributeValue); return cellResolution; } try { int parseInt = Integer.parseInt(matcher.group(1)); int parseInt2 = Integer.parseInt(matcher.group(2)); if (parseInt != 0 && parseInt2 != 0) { return new CellResolution(parseInt, parseInt2); } throw new SubtitleDecoderException("Invalid cell resolution " + parseInt + " " + parseInt2); } catch (NumberFormatException unused) { Log.w(TAG, "Ignoring malformed cell resolution: " + attributeValue); return cellResolution; } } private static void parseFontSize(String str, TtmlStyle ttmlStyle) throws SubtitleDecoderException { Matcher matcher; String[] split = Util.split(str, "\\s+"); if (split.length == 1) { matcher = FONT_SIZE.matcher(str); } else if (split.length == 2) { matcher = FONT_SIZE.matcher(split[1]); Log.w(TAG, "Multiple values in fontSize attribute. Picking the second value for vertical font size and ignoring the first."); } else { throw new SubtitleDecoderException("Invalid number of entries for fontSize: " + split.length + "."); } if (matcher.matches()) { String group = matcher.group(3); char c = 65535; int hashCode = group.hashCode(); if (hashCode != 37) { if (hashCode != 3240) { if (hashCode == 3592 && group.equals("px")) { c = 0; } } else if (group.equals("em")) { c = 1; } } else if (group.equals("%")) { c = 2; } if (c == 0) { ttmlStyle.setFontSizeUnit(1); } else if (c == 1) { ttmlStyle.setFontSizeUnit(2); } else if (c == 2) { ttmlStyle.setFontSizeUnit(3); } else { throw new SubtitleDecoderException("Invalid unit for fontSize: '" + group + "'."); } ttmlStyle.setFontSize(Float.valueOf(matcher.group(1)).floatValue()); return; } throw new SubtitleDecoderException("Invalid expression for fontSize: '" + str + "'."); } private FrameAndTickRate parseFrameAndTickRates(XmlPullParser xmlPullParser) throws SubtitleDecoderException { String attributeValue = xmlPullParser.getAttributeValue(TTP, "frameRate"); int parseInt = attributeValue != null ? Integer.parseInt(attributeValue) : 30; float f2 = 1.0f; String attributeValue2 = xmlPullParser.getAttributeValue(TTP, "frameRateMultiplier"); if (attributeValue2 != null) { String[] split = Util.split(attributeValue2, " "); if (split.length == 2) { f2 = ((float) Integer.parseInt(split[0])) / ((float) Integer.parseInt(split[1])); } else { throw new SubtitleDecoderException("frameRateMultiplier doesn't have 2 parts"); } } int i2 = DEFAULT_FRAME_AND_TICK_RATE.subFrameRate; String attributeValue3 = xmlPullParser.getAttributeValue(TTP, "subFrameRate"); if (attributeValue3 != null) { i2 = Integer.parseInt(attributeValue3); } int i3 = DEFAULT_FRAME_AND_TICK_RATE.tickRate; String attributeValue4 = xmlPullParser.getAttributeValue(TTP, "tickRate"); if (attributeValue4 != null) { i3 = Integer.parseInt(attributeValue4); } return new FrameAndTickRate(((float) parseInt) * f2, i2, i3); } private Map<String, TtmlStyle> parseHeader(XmlPullParser xmlPullParser, Map<String, TtmlStyle> map, Map<String, TtmlRegion> map2, CellResolution cellResolution) throws IOException, XmlPullParserException { TtmlRegion parseRegionAttributes; do { xmlPullParser.next(); if (XmlPullParserUtil.isStartTag(xmlPullParser, "style")) { String attributeValue = XmlPullParserUtil.getAttributeValue(xmlPullParser, "style"); TtmlStyle parseStyleAttributes = parseStyleAttributes(xmlPullParser, new TtmlStyle()); if (attributeValue != null) { for (String str : parseStyleIds(attributeValue)) { parseStyleAttributes.chain(map.get(str)); } } if (parseStyleAttributes.getId() != null) { map.put(parseStyleAttributes.getId(), parseStyleAttributes); } } else if (XmlPullParserUtil.isStartTag(xmlPullParser, "region") && (parseRegionAttributes = parseRegionAttributes(xmlPullParser, cellResolution)) != null) { map2.put(parseRegionAttributes.id, parseRegionAttributes); } } while (!XmlPullParserUtil.isEndTag(xmlPullParser, TtmlNode.TAG_HEAD)); return map; } /* JADX INFO: Can't fix incorrect switch cases order, some code will duplicate */ private TtmlNode parseNode(XmlPullParser xmlPullParser, TtmlNode ttmlNode, Map<String, TtmlRegion> map, FrameAndTickRate frameAndTickRate) throws SubtitleDecoderException { long j; long j2; char c; int attributeCount = xmlPullParser.getAttributeCount(); TtmlStyle parseStyleAttributes = parseStyleAttributes(xmlPullParser, null); String[] strArr = null; String str = ""; long j3 = C.TIME_UNSET; long j4 = C.TIME_UNSET; long j5 = C.TIME_UNSET; for (int i2 = 0; i2 < attributeCount; i2++) { String attributeName = xmlPullParser.getAttributeName(i2); String attributeValue = xmlPullParser.getAttributeValue(i2); switch (attributeName.hashCode()) { case -934795532: if (attributeName.equals("region")) { c = 4; break; } c = 65535; break; case 99841: if (attributeName.equals(ATTR_DURATION)) { c = 2; break; } c = 65535; break; case 100571: if (attributeName.equals("end")) { c = 1; break; } c = 65535; break; case 93616297: if (attributeName.equals(ATTR_BEGIN)) { c = 0; break; } c = 65535; break; case 109780401: if (attributeName.equals("style")) { c = 3; break; } c = 65535; break; default: c = 65535; break; } if (c == 0) { j3 = parseTimeExpression(attributeValue, frameAndTickRate); } else if (c == 1) { j4 = parseTimeExpression(attributeValue, frameAndTickRate); } else if (c == 2) { j5 = parseTimeExpression(attributeValue, frameAndTickRate); } else if (c == 3) { String[] parseStyleIds = parseStyleIds(attributeValue); if (parseStyleIds.length > 0) { strArr = parseStyleIds; } } else if (c == 4) { if (map.containsKey(attributeValue)) { str = attributeValue; } } } if (ttmlNode != null) { long j6 = ttmlNode.startTimeUs; j = C.TIME_UNSET; if (j6 != C.TIME_UNSET) { if (j3 != C.TIME_UNSET) { j3 += j6; } if (j4 != C.TIME_UNSET) { j4 += ttmlNode.startTimeUs; } } } else { j = C.TIME_UNSET; } if (j4 == j) { if (j5 != j) { j2 = j3 + j5; } else if (ttmlNode != null) { long j7 = ttmlNode.endTimeUs; if (j7 != j) { j2 = j7; } } return TtmlNode.buildNode(xmlPullParser.getName(), j3, j2, parseStyleAttributes, strArr, str); } j2 = j4; return TtmlNode.buildNode(xmlPullParser.getName(), j3, j2, parseStyleAttributes, strArr, str); } private TtmlRegion parseRegionAttributes(XmlPullParser xmlPullParser, CellResolution cellResolution) { String attributeValue = XmlPullParserUtil.getAttributeValue(xmlPullParser, "id"); if (attributeValue == null) { return null; } String attributeValue2 = XmlPullParserUtil.getAttributeValue(xmlPullParser, TtmlNode.ATTR_TTS_ORIGIN); if (attributeValue2 != null) { Matcher matcher = PERCENTAGE_COORDINATES.matcher(attributeValue2); if (matcher.matches()) { try { float parseFloat = Float.parseFloat(matcher.group(1)) / 100.0f; int i2 = 2; float parseFloat2 = Float.parseFloat(matcher.group(2)) / 100.0f; String attributeValue3 = XmlPullParserUtil.getAttributeValue(xmlPullParser, TtmlNode.ATTR_TTS_EXTENT); if (attributeValue3 != null) { Matcher matcher2 = PERCENTAGE_COORDINATES.matcher(attributeValue3); if (matcher2.matches()) { try { float parseFloat3 = Float.parseFloat(matcher2.group(1)) / 100.0f; float parseFloat4 = Float.parseFloat(matcher2.group(2)) / 100.0f; String attributeValue4 = XmlPullParserUtil.getAttributeValue(xmlPullParser, TtmlNode.ATTR_TTS_DISPLAY_ALIGN); if (attributeValue4 != null) { String lowerInvariant = Util.toLowerInvariant(attributeValue4); char c = 65535; int hashCode = lowerInvariant.hashCode(); if (hashCode != -1364013995) { if (hashCode == 92734940 && lowerInvariant.equals("after")) { c = 1; } } else if (lowerInvariant.equals(TtmlNode.CENTER)) { c = 0; } if (c == 0) { parseFloat2 += parseFloat4 / 2.0f; i2 = 1; } else if (c == 1) { parseFloat2 += parseFloat4; } return new TtmlRegion(attributeValue, parseFloat, parseFloat2, 0, i2, parseFloat3, 1, 1.0f / ((float) cellResolution.rows)); } i2 = 0; return new TtmlRegion(attributeValue, parseFloat, parseFloat2, 0, i2, parseFloat3, 1, 1.0f / ((float) cellResolution.rows)); } catch (NumberFormatException unused) { Log.w(TAG, "Ignoring region with malformed extent: " + attributeValue2); return null; } } else { Log.w(TAG, "Ignoring region with unsupported extent: " + attributeValue2); return null; } } else { Log.w(TAG, "Ignoring region without an extent"); return null; } } catch (NumberFormatException unused2) { Log.w(TAG, "Ignoring region with malformed origin: " + attributeValue2); return null; } } else { Log.w(TAG, "Ignoring region with unsupported origin: " + attributeValue2); return null; } } else { Log.w(TAG, "Ignoring region without an origin"); return null; } } /* JADX INFO: Can't fix incorrect switch cases order, some code will duplicate */ private TtmlStyle parseStyleAttributes(XmlPullParser xmlPullParser, TtmlStyle ttmlStyle) { char c; int attributeCount = xmlPullParser.getAttributeCount(); for (int i2 = 0; i2 < attributeCount; i2++) { String attributeValue = xmlPullParser.getAttributeValue(i2); String attributeName = xmlPullParser.getAttributeName(i2); char c2 = 65535; switch (attributeName.hashCode()) { case -1550943582: if (attributeName.equals(TtmlNode.ATTR_TTS_FONT_STYLE)) { c = 6; break; } c = 65535; break; case -1224696685: if (attributeName.equals(TtmlNode.ATTR_TTS_FONT_FAMILY)) { c = 3; break; } c = 65535; break; case -1065511464: if (attributeName.equals(TtmlNode.ATTR_TTS_TEXT_ALIGN)) { c = 7; break; } c = 65535; break; case -879295043: if (attributeName.equals(TtmlNode.ATTR_TTS_TEXT_DECORATION)) { c = '\b'; break; } c = 65535; break; case -734428249: if (attributeName.equals(TtmlNode.ATTR_TTS_FONT_WEIGHT)) { c = 5; break; } c = 65535; break; case 3355: if (attributeName.equals("id")) { c = 0; break; } c = 65535; break; case 94842723: if (attributeName.equals("color")) { c = 2; break; } c = 65535; break; case 365601008: if (attributeName.equals(TtmlNode.ATTR_TTS_FONT_SIZE)) { c = 4; break; } c = 65535; break; case 1287124693: if (attributeName.equals(TtmlNode.ATTR_TTS_BACKGROUND_COLOR)) { c = 1; break; } c = 65535; break; default: c = 65535; break; } switch (c) { case 0: if ("style".equals(xmlPullParser.getName())) { ttmlStyle = createIfNull(ttmlStyle).setId(attributeValue); break; } else { break; } case 1: ttmlStyle = createIfNull(ttmlStyle); try { ttmlStyle.setBackgroundColor(ColorParser.parseTtmlColor(attributeValue)); break; } catch (IllegalArgumentException unused) { Log.w(TAG, "Failed parsing background value: " + attributeValue); break; } case 2: ttmlStyle = createIfNull(ttmlStyle); try { ttmlStyle.setFontColor(ColorParser.parseTtmlColor(attributeValue)); break; } catch (IllegalArgumentException unused2) { Log.w(TAG, "Failed parsing color value: " + attributeValue); break; } case 3: ttmlStyle = createIfNull(ttmlStyle).setFontFamily(attributeValue); break; case 4: try { ttmlStyle = createIfNull(ttmlStyle); parseFontSize(attributeValue, ttmlStyle); break; } catch (SubtitleDecoderException unused3) { Log.w(TAG, "Failed parsing fontSize value: " + attributeValue); break; } case 5: ttmlStyle = createIfNull(ttmlStyle).setBold(TtmlNode.BOLD.equalsIgnoreCase(attributeValue)); break; case 6: ttmlStyle = createIfNull(ttmlStyle).setItalic(TtmlNode.ITALIC.equalsIgnoreCase(attributeValue)); break; case 7: String lowerInvariant = Util.toLowerInvariant(attributeValue); switch (lowerInvariant.hashCode()) { case -1364013995: if (lowerInvariant.equals(TtmlNode.CENTER)) { c2 = 4; break; } break; case 100571: if (lowerInvariant.equals("end")) { c2 = 3; break; } break; case 3317767: if (lowerInvariant.equals(TtmlNode.LEFT)) { c2 = 0; break; } break; case 108511772: if (lowerInvariant.equals(TtmlNode.RIGHT)) { c2 = 2; break; } break; case 109757538: if (lowerInvariant.equals("start")) { c2 = 1; break; } break; } if (c2 != 0) { if (c2 != 1) { if (c2 != 2) { if (c2 != 3) { if (c2 != 4) { break; } else { ttmlStyle = createIfNull(ttmlStyle).setTextAlign(Layout.Alignment.ALIGN_CENTER); break; } } else { ttmlStyle = createIfNull(ttmlStyle).setTextAlign(Layout.Alignment.ALIGN_OPPOSITE); break; } } else { ttmlStyle = createIfNull(ttmlStyle).setTextAlign(Layout.Alignment.ALIGN_OPPOSITE); break; } } else { ttmlStyle = createIfNull(ttmlStyle).setTextAlign(Layout.Alignment.ALIGN_NORMAL); break; } } else { ttmlStyle = createIfNull(ttmlStyle).setTextAlign(Layout.Alignment.ALIGN_NORMAL); break; } case '\b': String lowerInvariant2 = Util.toLowerInvariant(attributeValue); switch (lowerInvariant2.hashCode()) { case -1461280213: if (lowerInvariant2.equals(TtmlNode.NO_UNDERLINE)) { c2 = 3; break; } break; case -1026963764: if (lowerInvariant2.equals(TtmlNode.UNDERLINE)) { c2 = 2; break; } break; case 913457136: if (lowerInvariant2.equals(TtmlNode.NO_LINETHROUGH)) { c2 = 1; break; } break; case 1679736913: if (lowerInvariant2.equals(TtmlNode.LINETHROUGH)) { c2 = 0; break; } break; } if (c2 != 0) { if (c2 != 1) { if (c2 != 2) { if (c2 != 3) { break; } else { ttmlStyle = createIfNull(ttmlStyle).setUnderline(false); break; } } else { ttmlStyle = createIfNull(ttmlStyle).setUnderline(true); break; } } else { ttmlStyle = createIfNull(ttmlStyle).setLinethrough(false); break; } } else { ttmlStyle = createIfNull(ttmlStyle).setLinethrough(true); break; } } } return ttmlStyle; } private String[] parseStyleIds(String str) { String trim = str.trim(); return trim.isEmpty() ? new String[0] : Util.split(trim, "\\s+"); } /* JADX WARNING: Code restructure failed: missing block: B:33:0x00bc, code lost: if (r14.equals(com.kuaishou.weapon.p0.t.f11681g) != false) goto L_0x00e8; */ /* JADX WARNING: Removed duplicated region for block: B:48:0x00ea */ /* JADX WARNING: Removed duplicated region for block: B:57:0x0105 */ private static long parseTimeExpression(String str, FrameAndTickRate frameAndTickRate) throws SubtitleDecoderException { double d; double d2; Matcher matcher = CLOCK_TIME.matcher(str); char c = 2; if (matcher.matches()) { double parseLong = ((double) (Long.parseLong(matcher.group(1)) * 3600)) + ((double) (Long.parseLong(matcher.group(2)) * 60)) + ((double) Long.parseLong(matcher.group(3))); String group = matcher.group(4); double d3 = 0.0d; double parseDouble = parseLong + (group != null ? Double.parseDouble(group) : 0.0d); String group2 = matcher.group(5); double parseLong2 = parseDouble + (group2 != null ? (double) (((float) Long.parseLong(group2)) / frameAndTickRate.effectiveFrameRate) : 0.0d); String group3 = matcher.group(6); if (group3 != null) { d3 = (((double) Long.parseLong(group3)) / ((double) frameAndTickRate.subFrameRate)) / ((double) frameAndTickRate.effectiveFrameRate); } return (long) ((parseLong2 + d3) * 1000000.0d); } Matcher matcher2 = OFFSET_TIME.matcher(str); if (matcher2.matches()) { double parseDouble2 = Double.parseDouble(matcher2.group(1)); String group4 = matcher2.group(2); int hashCode = group4.hashCode(); if (hashCode != 102) { if (hashCode != 104) { if (hashCode != 109) { if (hashCode != 3494) { if (hashCode != 115) { if (hashCode == 116 && group4.equals("t")) { c = 5; if (c != 0) { d = 3600.0d; } else if (c != 1) { if (c == 3) { d2 = 1000.0d; } else if (c != 4) { if (c == 5) { d2 = (double) frameAndTickRate.tickRate; } return (long) (parseDouble2 * 1000000.0d); } else { d2 = (double) frameAndTickRate.effectiveFrameRate; } parseDouble2 /= d2; return (long) (parseDouble2 * 1000000.0d); } else { d = 60.0d; } parseDouble2 *= d; return (long) (parseDouble2 * 1000000.0d); } } } else if (group4.equals("ms")) { c = 3; if (c != 0) { } parseDouble2 *= d; return (long) (parseDouble2 * 1000000.0d); } } else if (group4.equals("m")) { c = 1; if (c != 0) { } parseDouble2 *= d; return (long) (parseDouble2 * 1000000.0d); } } else if (group4.equals(IAdInterListener.AdReqParam.HEIGHT)) { c = 0; if (c != 0) { } parseDouble2 *= d; return (long) (parseDouble2 * 1000000.0d); } } else if (group4.equals("f")) { c = 4; if (c != 0) { } parseDouble2 *= d; return (long) (parseDouble2 * 1000000.0d); } c = 65535; if (c != 0) { } parseDouble2 *= d; return (long) (parseDouble2 * 1000000.0d); } throw new SubtitleDecoderException("Malformed time expression: " + str); } /* access modifiers changed from: protected */ @Override // com.mbridge.msdk.playercommon.exoplayer2.text.SimpleSubtitleDecoder public final TtmlSubtitle decode(byte[] bArr, int i2, boolean z) throws SubtitleDecoderException { try { XmlPullParser newPullParser = this.xmlParserFactory.newPullParser(); HashMap hashMap = new HashMap(); HashMap hashMap2 = new HashMap(); TtmlSubtitle ttmlSubtitle = null; hashMap2.put("", new TtmlRegion(null)); int i3 = 0; newPullParser.setInput(new ByteArrayInputStream(bArr, 0, i2), null); ArrayDeque arrayDeque = new ArrayDeque(); FrameAndTickRate frameAndTickRate = DEFAULT_FRAME_AND_TICK_RATE; CellResolution cellResolution = DEFAULT_CELL_RESOLUTION; for (int eventType = newPullParser.getEventType(); eventType != 1; eventType = newPullParser.getEventType()) { TtmlNode ttmlNode = (TtmlNode) arrayDeque.peek(); if (i3 == 0) { String name = newPullParser.getName(); if (eventType == 2) { if ("tt".equals(name)) { frameAndTickRate = parseFrameAndTickRates(newPullParser); cellResolution = parseCellResolution(newPullParser, DEFAULT_CELL_RESOLUTION); } if (!isSupportedTag(name)) { Log.i(TAG, "Ignoring unsupported tag: " + newPullParser.getName()); } else if (TtmlNode.TAG_HEAD.equals(name)) { parseHeader(newPullParser, hashMap, hashMap2, cellResolution); } else { try { TtmlNode parseNode = parseNode(newPullParser, ttmlNode, hashMap2, frameAndTickRate); arrayDeque.push(parseNode); if (ttmlNode != null) { ttmlNode.addChild(parseNode); } } catch (SubtitleDecoderException e2) { Log.w(TAG, "Suppressing parser error", e2); } } } else if (eventType == 4) { ttmlNode.addChild(TtmlNode.buildTextNode(newPullParser.getText())); } else if (eventType == 3) { if (newPullParser.getName().equals("tt")) { ttmlSubtitle = new TtmlSubtitle((TtmlNode) arrayDeque.peek(), hashMap, hashMap2); } arrayDeque.pop(); } newPullParser.next(); } else if (eventType != 2) { if (eventType == 3) { i3--; } newPullParser.next(); } i3++; newPullParser.next(); } return ttmlSubtitle; } catch (XmlPullParserException e3) { throw new SubtitleDecoderException("Unable to decode source", e3); } catch (IOException e4) { throw new IllegalStateException("Unexpected error when reading input.", e4); } } }