TtmlDecoder.smali
.class public final Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;
.super Lcom/google/android/exoplayer2/text/SimpleSubtitleDecoder;
.source "TtmlDecoder.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;,
Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;,
Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
}
.end annotation
# static fields
.field private static final ATTR_BEGIN:Ljava/lang/String; = "begin"
.field private static final ATTR_DURATION:Ljava/lang/String; = "dur"
.field private static final ATTR_END:Ljava/lang/String; = "end"
.field private static final ATTR_IMAGE:Ljava/lang/String; = "backgroundImage"
.field private static final ATTR_REGION:Ljava/lang/String; = "region"
.field private static final ATTR_STYLE:Ljava/lang/String; = "style"
.field private static final CELL_RESOLUTION:Ljava/util/regex/Pattern;
.field private static final CLOCK_TIME:Ljava/util/regex/Pattern;
.field private static final DEFAULT_CELL_RESOLUTION:Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;
.field private static final DEFAULT_FRAME_AND_TICK_RATE:Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
.field private static final DEFAULT_FRAME_RATE:I = 0x1e
.field private static final FONT_SIZE:Ljava/util/regex/Pattern;
.field private static final OFFSET_TIME:Ljava/util/regex/Pattern;
.field private static final PERCENTAGE_COORDINATES:Ljava/util/regex/Pattern;
.field private static final PIXEL_COORDINATES:Ljava/util/regex/Pattern;
.field private static final TAG:Ljava/lang/String; = "TtmlDecoder"
.field private static final TTP:Ljava/lang/String; = "http://www.w3.org/ns/ttml#parameter"
# instance fields
.field private final xmlParserFactory:Lorg/xmlpull/v1/XmlPullParserFactory;
# direct methods
.method static constructor <clinit>()V
.registers 3
.line 73
nop
.line 74
const-string v0, "^([0-9][0-9]+):([0-9][0-9]):([0-9][0-9])(?:(\\.[0-9]+)|:([0-9][0-9])(?:\\.([0-9]+))?)?$"
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->CLOCK_TIME:Ljava/util/regex/Pattern;
.line 76
nop
.line 77
const-string v0, "^([0-9]+(?:\\.[0-9]+)?)(h|m|s|ms|f|t)$"
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->OFFSET_TIME:Ljava/util/regex/Pattern;
.line 78
const-string v0, "^(([0-9]*.)?[0-9]+)(px|em|%)$"
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->FONT_SIZE:Ljava/util/regex/Pattern;
.line 79
nop
.line 80
const-string v0, "^(\\d+\\.?\\d*?)% (\\d+\\.?\\d*?)%$"
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->PERCENTAGE_COORDINATES:Ljava/util/regex/Pattern;
.line 81
nop
.line 82
const-string v0, "^(\\d+\\.?\\d*?)px (\\d+\\.?\\d*?)px$"
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->PIXEL_COORDINATES:Ljava/util/regex/Pattern;
.line 83
const-string v0, "^(\\d+) (\\d+)$"
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->CELL_RESOLUTION:Ljava/util/regex/Pattern;
.line 87
new-instance v0, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
const/4 v1, 0x1
const/high16 v2, 0x41f00000 # 30.0f
invoke-direct {v0, v2, v1, v1}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;-><init>(FII)V
sput-object v0, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->DEFAULT_FRAME_AND_TICK_RATE:Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
.line 89
new-instance v0, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;
const/16 v1, 0x20
const/16 v2, 0xf
invoke-direct {v0, v1, v2}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;-><init>(II)V
sput-object v0, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->DEFAULT_CELL_RESOLUTION:Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;
return-void
.end method
.method public constructor <init>()V
.registers 4
.line 95
const-string v0, "TtmlDecoder"
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/text/SimpleSubtitleDecoder;-><init>(Ljava/lang/String;)V
.line 97
:try_start_5
invoke-static {}, Lorg/xmlpull/v1/XmlPullParserFactory;->newInstance()Lorg/xmlpull/v1/XmlPullParserFactory;
move-result-object v0
iput-object v0, p0, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->xmlParserFactory:Lorg/xmlpull/v1/XmlPullParserFactory;
.line 98
const/4 v1, 0x1
invoke-virtual {v0, v1}, Lorg/xmlpull/v1/XmlPullParserFactory;->setNamespaceAware(Z)V
:try_end_f
.catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_5 .. :try_end_f} :catch_11
.line 101
nop
.line 102
return-void
.line 99
:catch_11
move-exception v0
.line 100
.local v0, "e":Lorg/xmlpull/v1/XmlPullParserException;
new-instance v1, Ljava/lang/RuntimeException;
const-string v2, "Couldn\'t create XmlPullParserFactory instance"
invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
.end method
.method private createIfNull(Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
.registers 3
.param p1, "style" # Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
.line 530
if-nez p1, :cond_8
new-instance v0, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
invoke-direct {v0}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;-><init>()V
goto :goto_9
:cond_8
move-object v0, p1
:goto_9
return-object v0
.end method
.method private static isSupportedTag(Ljava/lang/String;)Z
.registers 2
.param p0, "tag" # Ljava/lang/String;
.line 605
const-string/jumbo v0, "tt"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_7f
.line 606
const-string v0, "head"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_7f
.line 607
const-string v0, "body"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_7f
.line 608
const-string v0, "div"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_7f
.line 609
const-string v0, "p"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_7f
.line 610
const-string/jumbo v0, "span"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_7f
.line 611
const-string v0, "br"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_7f
.line 612
const-string/jumbo v0, "style"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_7f
.line 613
const-string/jumbo v0, "styling"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_7f
.line 614
const-string v0, "layout"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_7f
.line 615
const-string v0, "region"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_7f
.line 616
const-string v0, "metadata"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_7f
.line 617
const-string v0, "image"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_7f
.line 618
const-string v0, "data"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_7f
.line 619
const-string v0, "information"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7d
goto :goto_7f
:cond_7d
const/4 v0, 0x0
goto :goto_80
:cond_7f
:goto_7f
const/4 v0, 0x1
.line 605
:goto_80
return v0
.end method
.method private parseCellResolution(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;)Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;
.registers 12
.param p1, "xmlParser" # Lorg/xmlpull/v1/XmlPullParser;
.param p2, "defaultValue" # Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/text/SubtitleDecoderException;
}
.end annotation
.line 212
const-string v0, "http://www.w3.org/ns/ttml#parameter"
const-string v1, "cellResolution"
invoke-interface {p1, v0, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 213
.local v0, "cellResolution":Ljava/lang/String;
if-nez v0, :cond_b
.line 214
return-object p2
.line 217
:cond_b
sget-object v1, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->CELL_RESOLUTION:Ljava/util/regex/Pattern;
invoke-virtual {v1, v0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v1
.line 218
.local v1, "cellResolutionMatcher":Ljava/util/regex/Matcher;
invoke-virtual {v1}, Ljava/util/regex/Matcher;->matches()Z
move-result v2
const-string v3, "Ignoring malformed cell resolution: "
const-string v4, "TtmlDecoder"
if-nez v2, :cond_2e
.line 219
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v4, v2}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 220
return-object p2
.line 223
:cond_2e
const/4 v2, 0x1
:try_start_2f
invoke-virtual {v1, v2}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v2
.line 224
.local v2, "columns":I
const/4 v5, 0x2
invoke-virtual {v1, v5}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v5
invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v5
.line 225
.local v5, "rows":I
if-eqz v2, :cond_4a
if-eqz v5, :cond_4a
.line 228
new-instance v6, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;
invoke-direct {v6, v2, v5}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;-><init>(II)V
return-object v6
.line 226
:cond_4a
new-instance v6, Lcom/google/android/exoplayer2/text/SubtitleDecoderException;
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "Invalid cell resolution "
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v8, " "
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-direct {v6, v7}, Lcom/google/android/exoplayer2/text/SubtitleDecoderException;-><init>(Ljava/lang/String;)V
.end local v0 # "cellResolution":Ljava/lang/String;
.end local v1 # "cellResolutionMatcher":Ljava/util/regex/Matcher;
.end local p1 # "xmlParser":Lorg/xmlpull/v1/XmlPullParser;
.end local p2 # "defaultValue":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;
throw v6
:try_end_69
.catch Ljava/lang/NumberFormatException; {:try_start_2f .. :try_end_69} :catch_69
.line 229
.end local v2 # "columns":I
.end local v5 # "rows":I
.restart local v0 # "cellResolution":Ljava/lang/String;
.restart local v1 # "cellResolutionMatcher":Ljava/util/regex/Matcher;
.restart local p1 # "xmlParser":Lorg/xmlpull/v1/XmlPullParser;
.restart local p2 # "defaultValue":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;
:catch_69
move-exception v2
.line 230
.local v2, "e":Ljava/lang/NumberFormatException;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v4, v3}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 231
return-object p2
.end method
.method private static parseFontSize(Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)V
.registers 12
.param p0, "expression" # Ljava/lang/String;
.param p1, "out" # Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/text/SubtitleDecoderException;
}
.end annotation
.line 624
const-string v0, "\\s+"
invoke-static {p0, v0}, Lcom/google/android/exoplayer2/util/Util;->split(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
move-result-object v0
.line 626
.local v0, "expressions":[Ljava/lang/String;
array-length v1, v0
const/4 v2, 0x2
const/4 v3, 0x1
if-ne v1, v3, :cond_12
.line 627
sget-object v1, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->FONT_SIZE:Ljava/util/regex/Pattern;
invoke-virtual {v1, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v1
.local v1, "matcher":Ljava/util/regex/Matcher;
goto :goto_24
.line 628
.end local v1 # "matcher":Ljava/util/regex/Matcher;
:cond_12
array-length v1, v0
if-ne v1, v2, :cond_b7
.line 629
sget-object v1, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->FONT_SIZE:Ljava/util/regex/Pattern;
aget-object v4, v0, v3
invoke-virtual {v1, v4}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v1
.line 630
.restart local v1 # "matcher":Ljava/util/regex/Matcher;
const-string v4, "TtmlDecoder"
const-string v5, "Multiple values in fontSize attribute. Picking the second value for vertical font size and ignoring the first."
invoke-static {v4, v5}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 637
:goto_24
invoke-virtual {v1}, Ljava/util/regex/Matcher;->matches()Z
move-result v4
const-string v5, "\'."
if-eqz v4, :cond_9d
.line 638
const/4 v4, 0x3
invoke-virtual {v1, v4}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v6
.line 639
.local v6, "unit":Ljava/lang/String;
const/4 v7, -0x1
invoke-virtual {v6}, Ljava/lang/String;->hashCode()I
move-result v8
const/16 v9, 0x25
if-eq v8, v9, :cond_57
const/16 v9, 0xca8
if-eq v8, v9, :cond_4d
const/16 v9, 0xe08
if-eq v8, v9, :cond_43
:cond_42
goto :goto_60
:cond_43
const-string v8, "px"
invoke-virtual {v6, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_42
const/4 v7, 0x0
goto :goto_60
:cond_4d
const-string v8, "em"
invoke-virtual {v6, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_42
const/4 v7, 0x1
goto :goto_60
:cond_57
const-string v8, "%"
invoke-virtual {v6, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_42
const/4 v7, 0x2
:goto_60
if-eqz v7, :cond_88
if-eq v7, v3, :cond_84
if-ne v7, v2, :cond_6a
.line 647
invoke-virtual {p1, v4}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->setFontSizeUnit(I)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
.line 648
goto :goto_8c
.line 650
:cond_6a
new-instance v2, Lcom/google/android/exoplayer2/text/SubtitleDecoderException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Invalid unit for fontSize: \'"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3}, Lcom/google/android/exoplayer2/text/SubtitleDecoderException;-><init>(Ljava/lang/String;)V
throw v2
.line 644
:cond_84
invoke-virtual {p1, v2}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->setFontSizeUnit(I)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
.line 645
goto :goto_8c
.line 641
:cond_88
invoke-virtual {p1, v3}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->setFontSizeUnit(I)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
.line 642
nop
.line 652
:goto_8c
invoke-virtual {v1, v3}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Ljava/lang/Float;->valueOf(Ljava/lang/String;)Ljava/lang/Float;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Float;->floatValue()F
move-result v2
invoke-virtual {p1, v2}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->setFontSize(F)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
.line 653
.end local v6 # "unit":Ljava/lang/String;
nop
.line 656
return-void
.line 654
:cond_9d
new-instance v2, Lcom/google/android/exoplayer2/text/SubtitleDecoderException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Invalid expression for fontSize: \'"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3}, Lcom/google/android/exoplayer2/text/SubtitleDecoderException;-><init>(Ljava/lang/String;)V
throw v2
.line 633
.end local v1 # "matcher":Ljava/util/regex/Matcher;
:cond_b7
new-instance v1, Lcom/google/android/exoplayer2/text/SubtitleDecoderException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Invalid number of entries for fontSize: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
array-length v3, v0
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, "."
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Lcom/google/android/exoplayer2/text/SubtitleDecoderException;-><init>(Ljava/lang/String;)V
goto :goto_d5
:goto_d4
throw v1
:goto_d5
goto :goto_d4
.end method
.method private parseFrameAndTickRates(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
.registers 12
.param p1, "xmlParser" # Lorg/xmlpull/v1/XmlPullParser;
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/text/SubtitleDecoderException;
}
.end annotation
.line 178
const/16 v0, 0x1e
.line 179
.local v0, "frameRate":I
const-string v1, "http://www.w3.org/ns/ttml#parameter"
const-string v2, "frameRate"
invoke-interface {p1, v1, v2}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 180
.local v2, "frameRateString":Ljava/lang/String;
if-eqz v2, :cond_10
.line 181
invoke-static {v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
.line 184
:cond_10
const/high16 v3, 0x3f800000 # 1.0f
.line 185
.local v3, "frameRateMultiplier":F
const-string v4, "frameRateMultiplier"
invoke-interface {p1, v1, v4}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
.line 186
.local v4, "frameRateMultiplierString":Ljava/lang/String;
if-eqz v4, :cond_3f
.line 187
const-string v5, " "
invoke-static {v4, v5}, Lcom/google/android/exoplayer2/util/Util;->split(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
move-result-object v5
.line 188
.local v5, "parts":[Ljava/lang/String;
array-length v6, v5
const/4 v7, 0x2
if-ne v6, v7, :cond_37
.line 191
const/4 v6, 0x0
aget-object v6, v5, v6
invoke-static {v6}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v6
int-to-float v6, v6
.line 192
.local v6, "numerator":F
const/4 v7, 0x1
aget-object v7, v5, v7
invoke-static {v7}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v7
int-to-float v7, v7
.line 193
.local v7, "denominator":F
div-float v3, v6, v7
goto :goto_3f
.line 189
.end local v6 # "numerator":F
.end local v7 # "denominator":F
:cond_37
new-instance v1, Lcom/google/android/exoplayer2/text/SubtitleDecoderException;
const-string v6, "frameRateMultiplier doesn\'t have 2 parts"
invoke-direct {v1, v6}, Lcom/google/android/exoplayer2/text/SubtitleDecoderException;-><init>(Ljava/lang/String;)V
throw v1
.line 196
.end local v5 # "parts":[Ljava/lang/String;
:cond_3f
:goto_3f
sget-object v5, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->DEFAULT_FRAME_AND_TICK_RATE:Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
iget v5, v5, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;->subFrameRate:I
.line 197
.local v5, "subFrameRate":I
const-string/jumbo v6, "subFrameRate"
invoke-interface {p1, v1, v6}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
.line 198
.local v6, "subFrameRateString":Ljava/lang/String;
if-eqz v6, :cond_50
.line 199
invoke-static {v6}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v5
.line 202
:cond_50
sget-object v7, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->DEFAULT_FRAME_AND_TICK_RATE:Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
iget v7, v7, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;->tickRate:I
.line 203
.local v7, "tickRate":I
const-string/jumbo v8, "tickRate"
invoke-interface {p1, v1, v8}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 204
.local v1, "tickRateString":Ljava/lang/String;
if-eqz v1, :cond_61
.line 205
invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v7
.line 207
:cond_61
new-instance v8, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
int-to-float v9, v0
mul-float v9, v9, v3
invoke-direct {v8, v9, v5, v7}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;-><init>(FII)V
return-object v8
.end method
.method private parseHeader(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/Map;Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;Ljava/util/Map;Ljava/util/Map;)Ljava/util/Map;
.registers 14
.param p1, "xmlParser" # Lorg/xmlpull/v1/XmlPullParser;
.param p3, "cellResolution" # Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;
.param p4, "ttsExtent" # Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/xmlpull/v1/XmlPullParser;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;",
">;",
"Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;",
"Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Lcom/google/android/exoplayer2/text/ttml/TtmlRegion;",
">;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Lorg/xmlpull/v1/XmlPullParserException;
}
.end annotation
.line 265
.local p2, "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
.local p5, "globalRegions":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlRegion;>;"
.local p6, "imageMap":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;"
:goto_0
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
.line 266
const-string/jumbo v0, "style"
invoke-static {p1, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_3f
.line 267
invoke-static {p1, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->getAttributeValue(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 268
.local v0, "parentStyleId":Ljava/lang/String;
new-instance v1, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
invoke-direct {v1}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;-><init>()V
invoke-direct {p0, p1, v1}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->parseStyleAttributes(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object v1
.line 269
.local v1, "style":Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
if-eqz v0, :cond_31
.line 270
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->parseStyleIds(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v2
array-length v3, v2
const/4 v4, 0x0
:goto_21
if-ge v4, v3, :cond_31
aget-object v5, v2, v4
.line 271
.local v5, "id":Ljava/lang/String;
invoke-interface {p2, v5}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
check-cast v6, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
invoke-virtual {v1, v6}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->chain(Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
.line 270
.end local v5 # "id":Ljava/lang/String;
add-int/lit8 v4, v4, 0x1
goto :goto_21
.line 274
:cond_31
invoke-virtual {v1}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->getId()Ljava/lang/String;
move-result-object v2
if-eqz v2, :cond_3e
.line 275
invoke-virtual {v1}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->getId()Ljava/lang/String;
move-result-object v2
invoke-interface {p2, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 277
.end local v0 # "parentStyleId":Ljava/lang/String;
.end local v1 # "style":Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
:cond_3e
goto :goto_60
:cond_3f
const-string v0, "region"
invoke-static {p1, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_53
.line 278
invoke-direct {p0, p1, p3, p4}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->parseRegionAttributes(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;)Lcom/google/android/exoplayer2/text/ttml/TtmlRegion;
move-result-object v0
.line 279
.local v0, "ttmlRegion":Lcom/google/android/exoplayer2/text/ttml/TtmlRegion;
if-eqz v0, :cond_5f
.line 280
iget-object v1, v0, Lcom/google/android/exoplayer2/text/ttml/TtmlRegion;->id:Ljava/lang/String;
invoke-interface {p5, v1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_5f
.line 282
.end local v0 # "ttmlRegion":Lcom/google/android/exoplayer2/text/ttml/TtmlRegion;
:cond_53
const-string v0, "metadata"
invoke-static {p1, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_5f
.line 283
invoke-direct {p0, p1, p6}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->parseMetadata(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/Map;)V
goto :goto_60
.line 282
:cond_5f
:goto_5f
nop
.line 285
:goto_60
const-string v0, "head"
invoke-static {p1, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isEndTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_69
.line 286
return-object p2
.line 285
:cond_69
goto :goto_0
.end method
.method private parseMetadata(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/Map;)V
.registers 5
.param p1, "xmlParser" # Lorg/xmlpull/v1/XmlPullParser;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/xmlpull/v1/XmlPullParser;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Lorg/xmlpull/v1/XmlPullParserException;
}
.end annotation
.line 292
.local p2, "imageMap":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;"
:goto_0
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
.line 293
const-string v0, "image"
invoke-static {p1, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_1a
.line 294
const-string v0, "id"
invoke-static {p1, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->getAttributeValue(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 295
.local v0, "id":Ljava/lang/String;
if-eqz v0, :cond_1a
.line 296
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->nextText()Ljava/lang/String;
move-result-object v1
.line 297
.local v1, "encodedBitmapData":Ljava/lang/String;
invoke-interface {p2, v0, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 300
.end local v0 # "id":Ljava/lang/String;
.end local v1 # "encodedBitmapData":Ljava/lang/String;
:cond_1a
const-string v0, "metadata"
invoke-static {p1, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isEndTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_23
.line 301
return-void
.line 300
:cond_23
goto :goto_0
.end method
.method private parseNode(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/text/ttml/TtmlNode;Ljava/util/Map;Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;)Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
.registers 31
.param p1, "parser" # Lorg/xmlpull/v1/XmlPullParser;
.param p2, "parent" # Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
.param p4, "frameAndTickRate" # Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/xmlpull/v1/XmlPullParser;",
"Lcom/google/android/exoplayer2/text/ttml/TtmlNode;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Lcom/google/android/exoplayer2/text/ttml/TtmlRegion;",
">;",
"Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;",
")",
"Lcom/google/android/exoplayer2/text/ttml/TtmlNode;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/text/SubtitleDecoderException;
}
.end annotation
.line 536
.local p3, "regionMap":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlRegion;>;"
move-object/from16 v0, p0
move-object/from16 v1, p1
move-object/from16 v2, p2
move-object/from16 v3, p4
const-wide v4, -0x7fffffffffffffffL # -4.9E-324
.line 537
.local v4, "duration":J
const-wide v6, -0x7fffffffffffffffL # -4.9E-324
.line 538
.local v6, "startTime":J
const-wide v8, -0x7fffffffffffffffL # -4.9E-324
.line 539
.local v8, "endTime":J
const-string v10, ""
.line 540
.local v10, "regionId":Ljava/lang/String;
const/4 v11, 0x0
.line 541
.local v11, "imageId":Ljava/lang/String;
const/4 v12, 0x0
.line 542
.local v12, "styleIds":[Ljava/lang/String;
invoke-interface/range {p1 .. p1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeCount()I
move-result v13
.line 543
.local v13, "attributeCount":I
const/4 v14, 0x0
invoke-direct {v0, v1, v14}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->parseStyleAttributes(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object v14
.line 544
.local v14, "style":Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
const/4 v15, 0x0
.local v15, "i":I
:goto_25
if-ge v15, v13, :cond_ea
.line 545
move/from16 v24, v13
.end local v13 # "attributeCount":I
.local v24, "attributeCount":I
invoke-interface {v1, v15}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeName(I)Ljava/lang/String;
move-result-object v13
.line 546
.local v13, "attr":Ljava/lang/String;
move-object/from16 v25, v11
.end local v11 # "imageId":Ljava/lang/String;
.local v25, "imageId":Ljava/lang/String;
invoke-interface {v1, v15}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(I)Ljava/lang/String;
move-result-object v11
.line 547
.local v11, "value":Ljava/lang/String;
const/16 v16, -0x1
invoke-virtual {v13}, Ljava/lang/String;->hashCode()I
move-result v17
sparse-switch v17, :sswitch_data_136
:cond_3c
goto :goto_7c
:sswitch_3d
const-string v1, "backgroundImage"
invoke-virtual {v13, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_3c
const/4 v1, 0x5
goto :goto_7d
:sswitch_47
const-string/jumbo v1, "style"
invoke-virtual {v13, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_3c
const/4 v1, 0x3
goto :goto_7d
:sswitch_52
const-string v1, "begin"
invoke-virtual {v13, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_3c
const/16 v16, 0x0
const/4 v1, 0x0
goto :goto_7d
:sswitch_5e
const-string v1, "end"
invoke-virtual {v13, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_3c
const/4 v1, 0x1
goto :goto_7d
:sswitch_68
const-string v1, "dur"
invoke-virtual {v13, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_3c
const/4 v1, 0x2
goto :goto_7d
:sswitch_72
const-string v1, "region"
invoke-virtual {v13, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_3c
const/4 v1, 0x4
goto :goto_7d
:goto_7c
const/4 v1, -0x1
:goto_7d
if-eqz v1, :cond_d6
move-object/from16 v16, v13
const/4 v13, 0x1
.end local v13 # "attr":Ljava/lang/String;
.local v16, "attr":Ljava/lang/String;
if-eq v1, v13, :cond_cd
const/4 v13, 0x2
if-eq v1, v13, :cond_c4
const/4 v13, 0x3
if-eq v1, v13, :cond_b3
const/4 v13, 0x4
if-eq v1, v13, :cond_a7
const/4 v13, 0x5
if-eq v1, v13, :cond_93
move-object/from16 v1, p3
goto :goto_c1
.line 574
:cond_93
const-string v1, "#"
invoke-virtual {v11, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_a4
.line 575
const/4 v1, 0x1
invoke-virtual {v11, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v1
move-object v11, v1
move-object/from16 v1, p3
.end local v25 # "imageId":Ljava/lang/String;
.local v1, "imageId":Ljava/lang/String;
goto :goto_e0
.line 574
.end local v1 # "imageId":Ljava/lang/String;
.restart local v25 # "imageId":Ljava/lang/String;
:cond_a4
move-object/from16 v1, p3
goto :goto_c1
.line 565
:cond_a7
move-object/from16 v1, p3
invoke-interface {v1, v11}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v13
if-eqz v13, :cond_c1
.line 568
move-object v10, v11
move-object/from16 v11, v25
goto :goto_e0
.line 559
:cond_b3
move-object/from16 v1, p3
invoke-direct {v0, v11}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->parseStyleIds(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v13
.line 560
.local v13, "ids":[Ljava/lang/String;
array-length v0, v13
if-lez v0, :cond_c1
.line 561
move-object v0, v13
move-object v12, v0
move-object/from16 v11, v25
.end local v12 # "styleIds":[Ljava/lang/String;
.local v0, "styleIds":[Ljava/lang/String;
goto :goto_e0
.line 544
.end local v0 # "styleIds":[Ljava/lang/String;
.end local v11 # "value":Ljava/lang/String;
.end local v13 # "ids":[Ljava/lang/String;
.end local v16 # "attr":Ljava/lang/String;
.restart local v12 # "styleIds":[Ljava/lang/String;
:cond_c1
:goto_c1
move-object/from16 v11, v25
goto :goto_e0
.line 555
.restart local v11 # "value":Ljava/lang/String;
.restart local v16 # "attr":Ljava/lang/String;
:cond_c4
move-object/from16 v1, p3
invoke-static {v11, v3}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->parseTimeExpression(Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;)J
move-result-wide v4
.line 556
move-object/from16 v11, v25
goto :goto_e0
.line 552
:cond_cd
move-object/from16 v1, p3
invoke-static {v11, v3}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->parseTimeExpression(Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;)J
move-result-wide v8
.line 553
move-object/from16 v11, v25
goto :goto_e0
.line 549
.end local v16 # "attr":Ljava/lang/String;
.local v13, "attr":Ljava/lang/String;
:cond_d6
move-object/from16 v1, p3
move-object/from16 v16, v13
.end local v13 # "attr":Ljava/lang/String;
.restart local v16 # "attr":Ljava/lang/String;
invoke-static {v11, v3}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->parseTimeExpression(Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;)J
move-result-wide v6
.line 550
move-object/from16 v11, v25
.line 544
.end local v16 # "attr":Ljava/lang/String;
.end local v25 # "imageId":Ljava/lang/String;
.local v11, "imageId":Ljava/lang/String;
:goto_e0
add-int/lit8 v15, v15, 0x1
move-object/from16 v0, p0
move-object/from16 v1, p1
move/from16 v13, v24
goto/16 :goto_25
.end local v24 # "attributeCount":I
.local v13, "attributeCount":I
:cond_ea
move-object/from16 v1, p3
move-object/from16 v25, v11
move/from16 v24, v13
.line 583
.end local v11 # "imageId":Ljava/lang/String;
.end local v13 # "attributeCount":I
.end local v15 # "i":I
.restart local v24 # "attributeCount":I
.restart local v25 # "imageId":Ljava/lang/String;
const-wide v15, -0x7fffffffffffffffL # -4.9E-324
if-eqz v2, :cond_10b
iget-wide v0, v2, Lcom/google/android/exoplayer2/text/ttml/TtmlNode;->startTimeUs:J
cmp-long v11, v0, v15
if-eqz v11, :cond_10b
.line 584
cmp-long v0, v6, v15
if-eqz v0, :cond_104
.line 585
iget-wide v0, v2, Lcom/google/android/exoplayer2/text/ttml/TtmlNode;->startTimeUs:J
add-long/2addr v6, v0
.line 587
:cond_104
cmp-long v0, v8, v15
if-eqz v0, :cond_10b
.line 588
iget-wide v0, v2, Lcom/google/android/exoplayer2/text/ttml/TtmlNode;->startTimeUs:J
add-long/2addr v8, v0
.line 591
:cond_10b
cmp-long v0, v8, v15
if-nez v0, :cond_120
.line 592
cmp-long v0, v4, v15
if-eqz v0, :cond_116
.line 594
add-long v8, v6, v4
goto :goto_120
.line 595
:cond_116
if-eqz v2, :cond_120
iget-wide v0, v2, Lcom/google/android/exoplayer2/text/ttml/TtmlNode;->endTimeUs:J
cmp-long v11, v0, v15
if-eqz v11, :cond_120
.line 597
iget-wide v8, v2, Lcom/google/android/exoplayer2/text/ttml/TtmlNode;->endTimeUs:J
.line 600
:cond_120
:goto_120
nop
.line 601
invoke-interface/range {p1 .. p1}, Lorg/xmlpull/v1/XmlPullParser;->getName()Ljava/lang/String;
move-result-object v15
.line 600
move-wide/from16 v16, v6
move-wide/from16 v18, v8
move-object/from16 v20, v14
move-object/from16 v21, v12
move-object/from16 v22, v10
move-object/from16 v23, v25
invoke-static/range {v15 .. v23}, Lcom/google/android/exoplayer2/text/ttml/TtmlNode;->buildNode(Ljava/lang/String;JJLcom/google/android/exoplayer2/text/ttml/TtmlStyle;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
move-result-object v0
return-object v0
:sswitch_data_136
.sparse-switch
-0x37b7d90c -> :sswitch_72
0x18601 -> :sswitch_68
0x188db -> :sswitch_5e
0x59478a9 -> :sswitch_52
0x68b1db1 -> :sswitch_47
0x4d0b70cd -> :sswitch_3d
.end sparse-switch
.end method
.method private parseRegionAttributes(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;)Lcom/google/android/exoplayer2/text/ttml/TtmlRegion;
.registers 26
.param p1, "xmlParser" # Lorg/xmlpull/v1/XmlPullParser;
.param p2, "cellResolution" # Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;
.param p3, "ttsExtent" # Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;
.line 313
move-object/from16 v1, p1
move-object/from16 v2, p3
const-string v0, "id"
invoke-static {v1, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->getAttributeValue(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String;
move-result-object v12
.line 314
.local v12, "regionId":Ljava/lang/String;
const/4 v3, 0x0
if-nez v12, :cond_e
.line 315
return-object v3
.line 321
:cond_e
const-string v0, "origin"
invoke-static {v1, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->getAttributeValue(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String;
move-result-object v13
.line 322
.local v13, "regionOrigin":Ljava/lang/String;
const-string v4, "TtmlDecoder"
if-eqz v13, :cond_1d8
.line 323
sget-object v0, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->PERCENTAGE_COORDINATES:Ljava/util/regex/Pattern;
invoke-virtual {v0, v13}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v5
.line 324
.local v5, "originPercentageMatcher":Ljava/util/regex/Matcher;
sget-object v0, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->PIXEL_COORDINATES:Ljava/util/regex/Pattern;
invoke-virtual {v0, v13}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v6
.line 325
.local v6, "originPixelMatcher":Ljava/util/regex/Matcher;
invoke-virtual {v5}, Ljava/util/regex/Matcher;->matches()Z
move-result v0
const-string v7, "Ignoring region with malformed origin: "
const-string v8, "Ignoring region with missing tts:extent: "
const/4 v9, 0x2
const/high16 v10, 0x42c80000 # 100.0f
const/4 v11, 0x1
if-eqz v0, :cond_5a
.line 327
:try_start_32
invoke-virtual {v5, v11}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
move-result v0
div-float/2addr v0, v10
.line 328
.local v0, "position":F
invoke-virtual {v5, v9}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v14
invoke-static {v14}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
move-result v7
:try_end_43
.catch Ljava/lang/NumberFormatException; {:try_start_32 .. :try_end_43} :catch_46
div-float/2addr v7, v10
.line 332
.local v7, "line":F
move v14, v0
goto :goto_92
.line 329
.end local v0 # "position":F
.end local v7 # "line":F
:catch_46
move-exception v0
.line 330
.local v0, "e":Ljava/lang/NumberFormatException;
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-static {v4, v7}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 331
return-object v3
.line 333
.end local v0 # "e":Ljava/lang/NumberFormatException;
:cond_5a
invoke-virtual {v6}, Ljava/util/regex/Matcher;->matches()Z
move-result v0
if-eqz v0, :cond_1c3
.line 334
if-nez v2, :cond_75
.line 335
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v4, v0}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 336
return-object v3
.line 339
:cond_75
:try_start_75
invoke-virtual {v6, v11}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
.line 340
.local v0, "width":I
invoke-virtual {v6, v9}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v14
invoke-static {v14}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v14
.line 342
.local v14, "height":I
int-to-float v15, v0
iget v3, v2, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;->width:I
int-to-float v3, v3
div-float v3, v15, v3
.line 343
.local v3, "position":F
int-to-float v15, v14
iget v7, v2, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;->height:I
:try_end_8e
.catch Ljava/lang/NumberFormatException; {:try_start_75 .. :try_end_8e} :catch_1ae
int-to-float v7, v7
div-float v7, v15, v7
.line 347
.end local v0 # "width":I
.end local v14 # "height":I
.restart local v7 # "line":F
move v14, v3
.line 352
.end local v3 # "position":F
.end local v5 # "originPercentageMatcher":Ljava/util/regex/Matcher;
.end local v6 # "originPixelMatcher":Ljava/util/regex/Matcher;
.local v14, "position":F
:goto_92
nop
.line 364
const-string v0, "extent"
invoke-static {v1, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->getAttributeValue(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String;
move-result-object v15
.line 365
.local v15, "regionExtent":Ljava/lang/String;
if-eqz v15, :cond_1a7
.line 366
sget-object v0, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->PERCENTAGE_COORDINATES:Ljava/util/regex/Pattern;
invoke-virtual {v0, v15}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v3
.line 367
.local v3, "extentPercentageMatcher":Ljava/util/regex/Matcher;
sget-object v0, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->PIXEL_COORDINATES:Ljava/util/regex/Pattern;
invoke-virtual {v0, v15}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v5
.line 368
.local v5, "extentPixelMatcher":Ljava/util/regex/Matcher;
invoke-virtual {v3}, Ljava/util/regex/Matcher;->matches()Z
move-result v0
const-string v6, "Ignoring region with malformed extent: "
if-eqz v0, :cond_d9
.line 370
:try_start_af
invoke-virtual {v3, v11}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
move-result v0
div-float/2addr v0, v10
.line 371
.local v0, "width":F
invoke-virtual {v3, v9}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v8
invoke-static {v8}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
move-result v4
:try_end_c0
.catch Ljava/lang/NumberFormatException; {:try_start_af .. :try_end_c0} :catch_c4
div-float/2addr v4, v10
.line 375
.local v4, "height":F
move/from16 v16, v4
goto :goto_113
.line 372
.end local v0 # "width":F
.end local v4 # "height":F
:catch_c4
move-exception v0
.line 373
.local v0, "e":Ljava/lang/NumberFormatException;
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v8, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-static {v4, v6}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 374
const/4 v4, 0x0
return-object v4
.line 376
.end local v0 # "e":Ljava/lang/NumberFormatException;
:cond_d9
invoke-virtual {v5}, Ljava/util/regex/Matcher;->matches()Z
move-result v0
if-eqz v0, :cond_191
.line 377
if-nez v2, :cond_f5
.line 378
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v4, v0}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 379
const/4 v4, 0x0
return-object v4
.line 382
:cond_f5
:try_start_f5
invoke-virtual {v5, v11}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
.line 383
.local v0, "extentWidth":I
invoke-virtual {v5, v9}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v8
invoke-static {v8}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v8
.line 385
.local v8, "extentHeight":I
int-to-float v9, v0
iget v10, v2, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;->width:I
int-to-float v10, v10
div-float/2addr v9, v10
.line 386
.local v9, "width":F
int-to-float v10, v8
iget v4, v2, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;->height:I
:try_end_10d
.catch Ljava/lang/NumberFormatException; {:try_start_f5 .. :try_end_10d} :catch_17c
int-to-float v4, v4
div-float v4, v10, v4
.line 390
.end local v0 # "extentWidth":I
.end local v8 # "extentHeight":I
.restart local v4 # "height":F
move/from16 v16, v4
move v0, v9
.line 395
.end local v3 # "extentPercentageMatcher":Ljava/util/regex/Matcher;
.end local v4 # "height":F
.end local v5 # "extentPixelMatcher":Ljava/util/regex/Matcher;
.end local v9 # "width":F
.local v0, "width":F
.local v16, "height":F
:goto_113
nop
.line 405
const/4 v3, 0x0
.line 406
.local v3, "lineAnchor":I
const-string v4, "displayAlign"
invoke-static {v1, v4}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->getAttributeValue(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String;
move-result-object v17
.line 408
.local v17, "displayAlign":Ljava/lang/String;
if-eqz v17, :cond_15c
.line 409
invoke-static/range {v17 .. v17}, Lcom/google/android/exoplayer2/util/Util;->toLowerInvariant(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
const/4 v5, -0x1
invoke-virtual {v4}, Ljava/lang/String;->hashCode()I
move-result v6
const v8, -0x514d33ab
if-eq v6, v8, :cond_13b
const v8, 0x58705dc
if-eq v6, v8, :cond_131
:cond_130
goto :goto_144
:cond_131
const-string v6, "after"
invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_130
const/4 v5, 0x1
goto :goto_144
:cond_13b
const-string v6, "center"
invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_130
const/4 v5, 0x0
:goto_144
if-eqz v5, :cond_151
if-eq v5, v11, :cond_149
goto :goto_15c
.line 415
:cond_149
const/4 v3, 0x2
.line 416
add-float v7, v7, v16
.line 417
move/from16 v18, v3
move/from16 v19, v7
goto :goto_160
.line 411
:cond_151
const/4 v3, 0x1
.line 412
const/high16 v4, 0x40000000 # 2.0f
div-float v4, v16, v4
add-float/2addr v7, v4
.line 413
move/from16 v18, v3
move/from16 v19, v7
goto :goto_160
.line 424
:cond_15c
:goto_15c
move/from16 v18, v3
move/from16 v19, v7
.end local v3 # "lineAnchor":I
.end local v7 # "line":F
.local v18, "lineAnchor":I
.local v19, "line":F
:goto_160
const/high16 v3, 0x3f800000 # 1.0f
move-object/from16 v11, p2
iget v4, v11, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;->rows:I
int-to-float v4, v4
div-float v20, v3, v4
.line 425
.local v20, "regionTextHeight":F
new-instance v21, Lcom/google/android/exoplayer2/text/ttml/TtmlRegion;
const/4 v7, 0x0
const/4 v10, 0x1
move-object/from16 v3, v21
move-object v4, v12
move v5, v14
move/from16 v6, v19
move/from16 v8, v18
move v9, v0
move/from16 v11, v20
invoke-direct/range {v3 .. v11}, Lcom/google/android/exoplayer2/text/ttml/TtmlRegion;-><init>(Ljava/lang/String;FFIIFIF)V
return-object v21
.line 387
.end local v0 # "width":F
.end local v16 # "height":F
.end local v17 # "displayAlign":Ljava/lang/String;
.end local v18 # "lineAnchor":I
.end local v19 # "line":F
.end local v20 # "regionTextHeight":F
.local v3, "extentPercentageMatcher":Ljava/util/regex/Matcher;
.restart local v5 # "extentPixelMatcher":Ljava/util/regex/Matcher;
.restart local v7 # "line":F
:catch_17c
move-exception v0
.line 388
.local v0, "e":Ljava/lang/NumberFormatException;
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v8, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-static {v4, v6}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 389
const/4 v6, 0x0
return-object v6
.line 392
.end local v0 # "e":Ljava/lang/NumberFormatException;
:cond_191
const/4 v6, 0x0
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "Ignoring region with unsupported extent: "
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v4, v0}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 393
return-object v6
.line 396
.end local v3 # "extentPercentageMatcher":Ljava/util/regex/Matcher;
.end local v5 # "extentPixelMatcher":Ljava/util/regex/Matcher;
:cond_1a7
const/4 v6, 0x0
const-string v0, "Ignoring region without an extent"
invoke-static {v4, v0}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 397
return-object v6
.line 344
.end local v7 # "line":F
.end local v14 # "position":F
.end local v15 # "regionExtent":Ljava/lang/String;
.local v5, "originPercentageMatcher":Ljava/util/regex/Matcher;
.restart local v6 # "originPixelMatcher":Ljava/util/regex/Matcher;
:catch_1ae
move-exception v0
.line 345
.restart local v0 # "e":Ljava/lang/NumberFormatException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v4, v3}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 346
const/4 v3, 0x0
return-object v3
.line 349
.end local v0 # "e":Ljava/lang/NumberFormatException;
:cond_1c3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v7, "Ignoring region with unsupported origin: "
invoke-virtual {v0, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v4, v0}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 350
return-object v3
.line 353
.end local v5 # "originPercentageMatcher":Ljava/util/regex/Matcher;
.end local v6 # "originPixelMatcher":Ljava/util/regex/Matcher;
:cond_1d8
const-string v0, "Ignoring region without an origin"
invoke-static {v4, v0}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 354
return-object v3
.end method
.method private parseStyleAttributes(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
.registers 14
.param p1, "parser" # Lorg/xmlpull/v1/XmlPullParser;
.param p2, "style" # Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
.line 442
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeCount()I
move-result v0
.line 443
.local v0, "attributeCount":I
const/4 v1, 0x0
.local v1, "i":I
:goto_5
if-ge v1, v0, :cond_20d
.line 444
invoke-interface {p1, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(I)Ljava/lang/String;
move-result-object v2
.line 445
.local v2, "attributeValue":Ljava/lang/String;
invoke-interface {p1, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeName(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/String;->hashCode()I
move-result v4
const/4 v5, 0x4
const/4 v6, -0x1
const/4 v7, 0x2
const/4 v8, 0x0
const/4 v9, 0x3
const/4 v10, 0x1
sparse-switch v4, :sswitch_data_20e
:cond_1c
goto :goto_7a
:sswitch_1d
const-string v4, "backgroundColor"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1c
const/4 v3, 0x1
goto :goto_7b
:sswitch_27
const-string v4, "fontSize"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1c
const/4 v3, 0x4
goto :goto_7b
:sswitch_31
const-string v4, "color"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1c
const/4 v3, 0x2
goto :goto_7b
:sswitch_3b
const-string v4, "id"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1c
const/4 v3, 0x0
goto :goto_7b
:sswitch_45
const-string v4, "fontWeight"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1c
const/4 v3, 0x5
goto :goto_7b
:sswitch_4f
const-string/jumbo v4, "textDecoration"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1c
const/16 v3, 0x8
goto :goto_7b
:sswitch_5b
const-string/jumbo v4, "textAlign"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1c
const/4 v3, 0x7
goto :goto_7b
:sswitch_66
const-string v4, "fontFamily"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1c
const/4 v3, 0x3
goto :goto_7b
:sswitch_70
const-string v4, "fontStyle"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1c
const/4 v3, 0x6
goto :goto_7b
:goto_7a
const/4 v3, -0x1
:goto_7b
const-string v4, "TtmlDecoder"
packed-switch v3, :pswitch_data_234
goto/16 :goto_209
.line 506
:pswitch_82
invoke-static {v2}, Lcom/google/android/exoplayer2/util/Util;->toLowerInvariant(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/String;->hashCode()I
move-result v4
sparse-switch v4, :sswitch_data_24a
:cond_8d
goto :goto_b6
:sswitch_8e
const-string v4, "linethrough"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_8d
const/4 v6, 0x0
goto :goto_b6
:sswitch_98
const-string v4, "nolinethrough"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_8d
const/4 v6, 0x1
goto :goto_b6
:sswitch_a2
const-string/jumbo v4, "underline"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_8d
const/4 v6, 0x2
goto :goto_b6
:sswitch_ad
const-string v4, "nounderline"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_8d
const/4 v6, 0x3
:goto_b6
if-eqz v6, :cond_da
if-eq v6, v10, :cond_d1
if-eq v6, v7, :cond_c8
if-eq v6, v9, :cond_bf
goto :goto_e3
.line 517
:cond_bf
invoke-direct {p0, p2}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->createIfNull(Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object v3
invoke-virtual {v3, v8}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->setUnderline(Z)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object p2
goto :goto_e3
.line 514
:cond_c8
invoke-direct {p0, p2}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->createIfNull(Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object v3
invoke-virtual {v3, v10}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->setUnderline(Z)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object p2
.line 515
goto :goto_e3
.line 511
:cond_d1
invoke-direct {p0, p2}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->createIfNull(Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object v3
invoke-virtual {v3, v8}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->setLinethrough(Z)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object p2
.line 512
goto :goto_e3
.line 508
:cond_da
invoke-direct {p0, p2}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->createIfNull(Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object v3
invoke-virtual {v3, v10}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->setLinethrough(Z)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object p2
.line 509
nop
.line 520
:goto_e3
goto/16 :goto_209
.line 487
:pswitch_e5
invoke-static {v2}, Lcom/google/android/exoplayer2/util/Util;->toLowerInvariant(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/String;->hashCode()I
move-result v4
sparse-switch v4, :sswitch_data_25c
:cond_f0
goto :goto_123
:sswitch_f1
const-string/jumbo v4, "start"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_f0
const/4 v6, 0x1
goto :goto_123
:sswitch_fc
const-string v4, "right"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_f0
const/4 v6, 0x2
goto :goto_123
:sswitch_106
const-string v4, "left"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_f0
const/4 v6, 0x0
goto :goto_123
:sswitch_110
const-string v4, "end"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_f0
const/4 v6, 0x3
goto :goto_123
:sswitch_11a
const-string v4, "center"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_f0
const/4 v6, 0x4
:goto_123
if-eqz v6, :cond_15a
if-eq v6, v10, :cond_14f
if-eq v6, v7, :cond_144
if-eq v6, v9, :cond_139
if-eq v6, v5, :cond_12e
goto :goto_165
.line 501
:cond_12e
invoke-direct {p0, p2}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->createIfNull(Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object v3
sget-object v4, Landroid/text/Layout$Alignment;->ALIGN_CENTER:Landroid/text/Layout$Alignment;
invoke-virtual {v3, v4}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->setTextAlign(Landroid/text/Layout$Alignment;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object p2
goto :goto_165
.line 498
:cond_139
invoke-direct {p0, p2}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->createIfNull(Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object v3
sget-object v4, Landroid/text/Layout$Alignment;->ALIGN_OPPOSITE:Landroid/text/Layout$Alignment;
invoke-virtual {v3, v4}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->setTextAlign(Landroid/text/Layout$Alignment;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object p2
.line 499
goto :goto_165
.line 495
:cond_144
invoke-direct {p0, p2}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->createIfNull(Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object v3
sget-object v4, Landroid/text/Layout$Alignment;->ALIGN_OPPOSITE:Landroid/text/Layout$Alignment;
invoke-virtual {v3, v4}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->setTextAlign(Landroid/text/Layout$Alignment;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object p2
.line 496
goto :goto_165
.line 492
:cond_14f
invoke-direct {p0, p2}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->createIfNull(Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object v3
sget-object v4, Landroid/text/Layout$Alignment;->ALIGN_NORMAL:Landroid/text/Layout$Alignment;
invoke-virtual {v3, v4}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->setTextAlign(Landroid/text/Layout$Alignment;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object p2
.line 493
goto :goto_165
.line 489
:cond_15a
invoke-direct {p0, p2}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->createIfNull(Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object v3
sget-object v4, Landroid/text/Layout$Alignment;->ALIGN_NORMAL:Landroid/text/Layout$Alignment;
invoke-virtual {v3, v4}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->setTextAlign(Landroid/text/Layout$Alignment;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object p2
.line 490
nop
.line 504
:goto_165
goto/16 :goto_209
.line 483
:pswitch_167
invoke-direct {p0, p2}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->createIfNull(Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object v3
.line 484
const-string v4, "italic"
invoke-virtual {v4, v2}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v4
.line 483
invoke-virtual {v3, v4}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->setItalic(Z)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object p2
.line 485
goto/16 :goto_209
.line 479
:pswitch_177
invoke-direct {p0, p2}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->createIfNull(Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object v3
.line 480
const-string v4, "bold"
invoke-virtual {v4, v2}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v4
.line 479
invoke-virtual {v3, v4}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->setBold(Z)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object p2
.line 481
goto/16 :goto_209
.line 472
:pswitch_187
:try_start_187
invoke-direct {p0, p2}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->createIfNull(Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object v3
move-object p2, v3
.line 473
invoke-static {v2, p2}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->parseFontSize(Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)V
:try_end_18f
.catch Lcom/google/android/exoplayer2/text/SubtitleDecoderException; {:try_start_187 .. :try_end_18f} :catch_191
.line 476
goto/16 :goto_209
.line 474
:catch_191
move-exception v3
.line 475
.local v3, "e":Lcom/google/android/exoplayer2/text/SubtitleDecoderException;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Failed parsing fontSize value: "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v4, v5}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 477
.end local v3 # "e":Lcom/google/android/exoplayer2/text/SubtitleDecoderException;
goto :goto_209
.line 468
:pswitch_1a7
invoke-direct {p0, p2}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->createIfNull(Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object v3
invoke-virtual {v3, v2}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->setFontFamily(Ljava/lang/String;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object p2
.line 469
goto :goto_209
.line 460
:pswitch_1b0
invoke-direct {p0, p2}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->createIfNull(Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object p2
.line 462
:try_start_1b4
invoke-static {v2}, Lcom/google/android/exoplayer2/util/ColorParser;->parseTtmlColor(Ljava/lang/String;)I
move-result v3
invoke-virtual {p2, v3}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->setFontColor(I)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
:try_end_1bb
.catch Ljava/lang/IllegalArgumentException; {:try_start_1b4 .. :try_end_1bb} :catch_1bc
.line 465
goto :goto_209
.line 463
:catch_1bc
move-exception v3
.line 464
.local v3, "e":Ljava/lang/IllegalArgumentException;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Failed parsing color value: "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v4, v5}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 466
.end local v3 # "e":Ljava/lang/IllegalArgumentException;
goto :goto_209
.line 452
:pswitch_1d2
invoke-direct {p0, p2}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->createIfNull(Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object p2
.line 454
:try_start_1d6
invoke-static {v2}, Lcom/google/android/exoplayer2/util/ColorParser;->parseTtmlColor(Ljava/lang/String;)I
move-result v3
invoke-virtual {p2, v3}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->setBackgroundColor(I)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
:try_end_1dd
.catch Ljava/lang/IllegalArgumentException; {:try_start_1d6 .. :try_end_1dd} :catch_1de
.line 457
goto :goto_209
.line 455
:catch_1de
move-exception v3
.line 456
.restart local v3 # "e":Ljava/lang/IllegalArgumentException;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Failed parsing background value: "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v4, v5}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 458
.end local v3 # "e":Ljava/lang/IllegalArgumentException;
goto :goto_209
.line 447
:pswitch_1f4
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->getName()Ljava/lang/String;
move-result-object v3
const-string/jumbo v4, "style"
invoke-virtual {v4, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_209
.line 448
invoke-direct {p0, p2}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->createIfNull(Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object v3
invoke-virtual {v3, v2}, Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;->setId(Ljava/lang/String;)Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;
move-result-object p2
.line 443
.end local v2 # "attributeValue":Ljava/lang/String;
:cond_209
:goto_209
add-int/lit8 v1, v1, 0x1
goto/16 :goto_5
.line 526
.end local v1 # "i":I
:cond_20d
return-object p2
:sswitch_data_20e
.sparse-switch
-0x5c71855e -> :sswitch_70
-0x48ff636d -> :sswitch_66
-0x3f826a28 -> :sswitch_5b
-0x3468fa43 -> :sswitch_4f
-0x2bc67c59 -> :sswitch_45
0xd1b -> :sswitch_3b
0x5a72f63 -> :sswitch_31
0x15caa0f0 -> :sswitch_27
0x4cb7f6d5 -> :sswitch_1d
.end sparse-switch
:pswitch_data_234
.packed-switch 0x0
:pswitch_1f4
:pswitch_1d2
:pswitch_1b0
:pswitch_1a7
:pswitch_187
:pswitch_177
:pswitch_167
:pswitch_e5
:pswitch_82
.end packed-switch
:sswitch_data_24a
.sparse-switch
-0x57195dd5 -> :sswitch_ad
-0x3d363934 -> :sswitch_a2
0x36723ff0 -> :sswitch_98
0x641ec051 -> :sswitch_8e
.end sparse-switch
:sswitch_data_25c
.sparse-switch
-0x514d33ab -> :sswitch_11a
0x188db -> :sswitch_110
0x32a007 -> :sswitch_106
0x677c21c -> :sswitch_fc
0x68ac462 -> :sswitch_f1
.end sparse-switch
.end method
.method private parseStyleIds(Ljava/lang/String;)[Ljava/lang/String;
.registers 3
.param p1, "parentStyleIds" # Ljava/lang/String;
.line 437
invoke-virtual {p1}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object p1
.line 438
invoke-virtual {p1}, Ljava/lang/String;->isEmpty()Z
move-result v0
if-eqz v0, :cond_e
const/4 v0, 0x0
new-array v0, v0, [Ljava/lang/String;
goto :goto_14
:cond_e
const-string v0, "\\s+"
invoke-static {p1, v0}, Lcom/google/android/exoplayer2/util/Util;->split(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
move-result-object v0
:goto_14
return-object v0
.end method
.method private static parseTimeExpression(Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;)J
.registers 18
.param p0, "time" # Ljava/lang/String;
.param p1, "frameAndTickRate" # Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/text/SubtitleDecoderException;
}
.end annotation
.line 671
move-object/from16 v0, p0
move-object/from16 v1, p1
sget-object v2, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->CLOCK_TIME:Ljava/util/regex/Pattern;
invoke-virtual {v2, v0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v2
.line 672
.local v2, "matcher":Ljava/util/regex/Matcher;
invoke-virtual {v2}, Ljava/util/regex/Matcher;->matches()Z
move-result v3
const/4 v6, 0x5
const/4 v7, 0x4
const/4 v8, 0x3
const/4 v9, 0x2
const/4 v10, 0x1
if-eqz v3, :cond_8d
.line 673
invoke-virtual {v2, v10}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v3
.line 674
.local v3, "hours":Ljava/lang/String;
invoke-static {v3}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v10
const-wide/16 v12, 0xe10
mul-long v10, v10, v12
long-to-double v10, v10
.line 675
.local v10, "durationSeconds":D
invoke-virtual {v2, v9}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v9
.line 676
.local v9, "minutes":Ljava/lang/String;
invoke-static {v9}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v12
const-wide/16 v14, 0x3c
mul-long v12, v12, v14
long-to-double v12, v12
invoke-static {v10, v11}, Ljava/lang/Double;->isNaN(D)Z
invoke-static {v12, v13}, Ljava/lang/Double;->isNaN(D)Z
add-double/2addr v10, v12
.line 677
invoke-virtual {v2, v8}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v8
.line 678
.local v8, "seconds":Ljava/lang/String;
invoke-static {v8}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v12
long-to-double v12, v12
invoke-static {v12, v13}, Ljava/lang/Double;->isNaN(D)Z
add-double/2addr v10, v12
.line 679
invoke-virtual {v2, v7}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v7
.line 680
.local v7, "fraction":Ljava/lang/String;
const-wide/16 v12, 0x0
if-eqz v7, :cond_50
invoke-static {v7}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v14
goto :goto_51
:cond_50
move-wide v14, v12
:goto_51
add-double/2addr v10, v14
.line 681
invoke-virtual {v2, v6}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v6
.line 682
.local v6, "frames":Ljava/lang/String;
if-eqz v6, :cond_62
.line 683
invoke-static {v6}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v14
long-to-float v14, v14
iget v15, v1, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;->effectiveFrameRate:F
div-float/2addr v14, v15
float-to-double v14, v14
goto :goto_63
:cond_62
move-wide v14, v12
:goto_63
add-double/2addr v10, v14
.line 684
const/4 v14, 0x6
invoke-virtual {v2, v14}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v14
.line 685
.local v14, "subframes":Ljava/lang/String;
if-eqz v14, :cond_82
.line 686
invoke-static {v14}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v12
long-to-double v12, v12
iget v15, v1, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;->subFrameRate:I
int-to-double v4, v15
invoke-static {v12, v13}, Ljava/lang/Double;->isNaN(D)Z
invoke-static {v4, v5}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v12, v4
iget v4, v1, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;->effectiveFrameRate:F
float-to-double v4, v4
invoke-static {v4, v5}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v12, v4
goto :goto_83
:cond_82
nop
:goto_83
add-double/2addr v10, v12
.line 689
const-wide v4, 0x412e848000000000L # 1000000.0
mul-double v4, v4, v10
double-to-long v4, v4
return-wide v4
.line 691
.end local v3 # "hours":Ljava/lang/String;
.end local v6 # "frames":Ljava/lang/String;
.end local v7 # "fraction":Ljava/lang/String;
.end local v8 # "seconds":Ljava/lang/String;
.end local v9 # "minutes":Ljava/lang/String;
.end local v10 # "durationSeconds":D
.end local v14 # "subframes":Ljava/lang/String;
:cond_8d
sget-object v3, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->OFFSET_TIME:Ljava/util/regex/Pattern;
invoke-virtual {v3, v0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v2
.line 692
invoke-virtual {v2}, Ljava/util/regex/Matcher;->matches()Z
move-result v3
if-eqz v3, :cond_138
.line 693
invoke-virtual {v2, v10}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v3
.line 694
.local v3, "timeValue":Ljava/lang/String;
invoke-static {v3}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v4
.line 695
.local v4, "offsetSeconds":D
invoke-virtual {v2, v9}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v11
.line 696
.local v11, "unit":Ljava/lang/String;
const/4 v12, -0x1
invoke-virtual {v11}, Ljava/lang/String;->hashCode()I
move-result v13
const/16 v14, 0x66
if-eq v13, v14, :cond_f5
const/16 v14, 0x68
if-eq v13, v14, :cond_eb
const/16 v14, 0x6d
if-eq v13, v14, :cond_e1
const/16 v14, 0xda6
if-eq v13, v14, :cond_d7
const/16 v14, 0x73
if-eq v13, v14, :cond_ce
const/16 v9, 0x74
if-eq v13, v9, :cond_c3
:cond_c2
goto :goto_ff
:cond_c3
const-string/jumbo v9, "t"
invoke-virtual {v11, v9}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
if-eqz v9, :cond_c2
const/4 v9, 0x5
goto :goto_100
:cond_ce
const-string v13, "s"
invoke-virtual {v11, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v13
if-eqz v13, :cond_c2
goto :goto_100
:cond_d7
const-string v9, "ms"
invoke-virtual {v11, v9}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
if-eqz v9, :cond_c2
const/4 v9, 0x3
goto :goto_100
:cond_e1
const-string v9, "m"
invoke-virtual {v11, v9}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
if-eqz v9, :cond_c2
const/4 v9, 0x1
goto :goto_100
:cond_eb
const-string v9, "h"
invoke-virtual {v11, v9}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
if-eqz v9, :cond_c2
const/4 v9, 0x0
goto :goto_100
:cond_f5
const-string v9, "f"
invoke-virtual {v11, v9}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
if-eqz v9, :cond_c2
const/4 v9, 0x4
goto :goto_100
:goto_ff
const/4 v9, -0x1
:goto_100
if-eqz v9, :cond_127
if-eq v9, v10, :cond_122
if-eq v9, v8, :cond_11b
if-eq v9, v7, :cond_113
if-eq v9, v6, :cond_10b
goto :goto_12f
.line 713
:cond_10b
iget v6, v1, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;->tickRate:I
int-to-double v6, v6
invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v4, v6
goto :goto_12f
.line 710
:cond_113
iget v6, v1, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;->effectiveFrameRate:F
float-to-double v6, v6
invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v4, v6
.line 711
goto :goto_12f
.line 707
:cond_11b
const-wide v6, 0x408f400000000000L # 1000.0
div-double/2addr v4, v6
.line 708
goto :goto_12f
.line 701
:cond_122
const-wide/high16 v6, 0x404e000000000000L # 60.0
mul-double v4, v4, v6
.line 702
goto :goto_12f
.line 698
:cond_127
const-wide v6, 0x40ac200000000000L # 3600.0
mul-double v4, v4, v6
.line 699
nop
.line 716
:goto_12f
const-wide v6, 0x412e848000000000L # 1000000.0
mul-double v6, v6, v4
double-to-long v6, v6
return-wide v6
.line 718
.end local v3 # "timeValue":Ljava/lang/String;
.end local v4 # "offsetSeconds":D
.end local v11 # "unit":Ljava/lang/String;
:cond_138
new-instance v3, Lcom/google/android/exoplayer2/text/SubtitleDecoderException;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Malformed time expression: "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-direct {v3, v4}, Lcom/google/android/exoplayer2/text/SubtitleDecoderException;-><init>(Ljava/lang/String;)V
goto :goto_150
:goto_14f
throw v3
:goto_150
goto :goto_14f
.end method
.method private parseTtsExtent(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;
.registers 9
.param p1, "xmlParser" # Lorg/xmlpull/v1/XmlPullParser;
.line 236
const-string v0, "extent"
invoke-static {p1, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->getAttributeValue(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 237
.local v0, "ttsExtent":Ljava/lang/String;
const/4 v1, 0x0
if-nez v0, :cond_a
.line 238
return-object v1
.line 241
:cond_a
sget-object v2, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->PIXEL_COORDINATES:Ljava/util/regex/Pattern;
invoke-virtual {v2, v0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v2
.line 242
.local v2, "extentMatcher":Ljava/util/regex/Matcher;
invoke-virtual {v2}, Ljava/util/regex/Matcher;->matches()Z
move-result v3
const-string v4, "TtmlDecoder"
if-nez v3, :cond_2d
.line 243
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Ignoring non-pixel tts extent: "
invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v4, v3}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 244
return-object v1
.line 247
:cond_2d
const/4 v3, 0x1
:try_start_2e
invoke-virtual {v2, v3}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v3
.line 248
.local v3, "width":I
const/4 v5, 0x2
invoke-virtual {v2, v5}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v5
invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v5
.line 249
.local v5, "height":I
new-instance v6, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;
invoke-direct {v6, v3, v5}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;-><init>(II)V
:try_end_44
.catch Ljava/lang/NumberFormatException; {:try_start_2e .. :try_end_44} :catch_45
return-object v6
.line 250
.end local v3 # "width":I
.end local v5 # "height":I
:catch_45
move-exception v3
.line 251
.local v3, "e":Ljava/lang/NumberFormatException;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Ignoring malformed tts extent: "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v4, v5}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 252
return-object v1
.end method
# virtual methods
.method protected bridge synthetic decode([BIZ)Lcom/google/android/exoplayer2/text/Subtitle;
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/text/SubtitleDecoderException;
}
.end annotation
.line 60
invoke-virtual {p0, p1, p2, p3}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->decode([BIZ)Lcom/google/android/exoplayer2/text/ttml/TtmlSubtitle;
move-result-object p1
return-object p1
.end method
.method protected decode([BIZ)Lcom/google/android/exoplayer2/text/ttml/TtmlSubtitle;
.registers 27
.param p1, "bytes" # [B
.param p2, "length" # I
.param p3, "reset" # Z
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/text/SubtitleDecoderException;
}
.end annotation
move-object/from16 v8, p0
.line 108
:try_start_2
iget-object v0, v8, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->xmlParserFactory:Lorg/xmlpull/v1/XmlPullParserFactory;
invoke-virtual {v0}, Lorg/xmlpull/v1/XmlPullParserFactory;->newPullParser()Lorg/xmlpull/v1/XmlPullParser;
move-result-object v0
move-object v9, v0
.line 109
.local v9, "xmlParser":Lorg/xmlpull/v1/XmlPullParser;
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
move-object v10, v0
.line 110
.local v10, "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
move-object v11, v0
.line 111
.local v11, "regionMap":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlRegion;>;"
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
move-object v12, v0
.line 112
.local v12, "imageMap":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;"
const-string v0, ""
new-instance v1, Lcom/google/android/exoplayer2/text/ttml/TtmlRegion;
const/4 v2, 0x0
invoke-direct {v1, v2}, Lcom/google/android/exoplayer2/text/ttml/TtmlRegion;-><init>(Ljava/lang/String;)V
invoke-interface {v11, v0, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 113
new-instance v0, Ljava/io/ByteArrayInputStream;
const/4 v1, 0x0
move-object/from16 v13, p1
move/from16 v14, p2
invoke-direct {v0, v13, v1, v14}, Ljava/io/ByteArrayInputStream;-><init>([BII)V
move-object v15, v0
.line 114
.local v15, "inputStream":Ljava/io/ByteArrayInputStream;
invoke-interface {v9, v15, v2}, Lorg/xmlpull/v1/XmlPullParser;->setInput(Ljava/io/InputStream;Ljava/lang/String;)V
.line 115
const/4 v0, 0x0
.line 116
.local v0, "ttmlSubtitle":Lcom/google/android/exoplayer2/text/ttml/TtmlSubtitle;
new-instance v1, Ljava/util/ArrayDeque;
invoke-direct {v1}, Ljava/util/ArrayDeque;-><init>()V
move-object v7, v1
.line 117
.local v7, "nodeStack":Ljava/util/ArrayDeque;, "Ljava/util/ArrayDeque<Lcom/google/android/exoplayer2/text/ttml/TtmlNode;>;"
const/4 v1, 0x0
.line 118
.local v1, "unsupportedNodeDepth":I
invoke-interface {v9}, Lorg/xmlpull/v1/XmlPullParser;->getEventType()I
move-result v2
.line 119
.local v2, "eventType":I
sget-object v3, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->DEFAULT_FRAME_AND_TICK_RATE:Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
.line 120
.local v3, "frameAndTickRate":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
sget-object v4, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->DEFAULT_CELL_RESOLUTION:Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;
.line 121
.local v4, "cellResolution":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;
const/4 v5, 0x0
move-object/from16 v16, v0
move/from16 v17, v1
move v6, v2
.line 122
.end local v0 # "ttmlSubtitle":Lcom/google/android/exoplayer2/text/ttml/TtmlSubtitle;
.end local v1 # "unsupportedNodeDepth":I
.end local v2 # "eventType":I
.local v5, "ttsExtent":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;
.local v6, "eventType":I
.local v16, "ttmlSubtitle":Lcom/google/android/exoplayer2/text/ttml/TtmlSubtitle;
.local v17, "unsupportedNodeDepth":I
:goto_4a
const/4 v0, 0x1
if-eq v6, v0, :cond_168
.line 123
invoke-virtual {v7}, Ljava/util/ArrayDeque;->peek()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
move-object v2, v0
.line 124
.local v2, "parent":Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
const/4 v1, 0x2
if-nez v17, :cond_146
.line 125
invoke-interface {v9}, Lorg/xmlpull/v1/XmlPullParser;->getName()Ljava/lang/String;
move-result-object v18
:try_end_5b
.catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_2 .. :try_end_5b} :catch_172
.catch Ljava/io/IOException; {:try_start_2 .. :try_end_5b} :catch_169
move-object/from16 v19, v18
.line 126
.local v19, "name":Ljava/lang/String;
const-string/jumbo v0, "tt"
if-ne v6, v1, :cond_106
.line 127
move-object/from16 v1, v19
.end local v19 # "name":Ljava/lang/String;
.local v1, "name":Ljava/lang/String;
:try_start_64
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_81
.line 128
invoke-direct {v8, v9}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->parseFrameAndTickRates(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
move-result-object v0
move-object v3, v0
.line 129
sget-object v0, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->DEFAULT_CELL_RESOLUTION:Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;
invoke-direct {v8, v9, v0}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->parseCellResolution(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;)Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;
move-result-object v0
move-object v4, v0
.line 130
invoke-direct {v8, v9}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->parseTtsExtent(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;
move-result-object v0
move-object v5, v0
move-object/from16 v18, v4
move-object/from16 v19, v5
move-object v5, v3
goto :goto_86
.line 127
:cond_81
move-object/from16 v18, v4
move-object/from16 v19, v5
move-object v5, v3
.line 132
.end local v3 # "frameAndTickRate":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
.end local v4 # "cellResolution":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;
.local v5, "frameAndTickRate":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
.local v18, "cellResolution":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;
.local v19, "ttsExtent":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;
:goto_86
invoke-static {v1}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->isSupportedTag(Ljava/lang/String;)Z
move-result v0
:try_end_8a
.catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_64 .. :try_end_8a} :catch_172
.catch Ljava/io/IOException; {:try_start_64 .. :try_end_8a} :catch_169
const-string v3, "TtmlDecoder"
if-nez v0, :cond_b5
.line 133
:try_start_8e
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Ignoring unsupported tag: "
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v9}, Lorg/xmlpull/v1/XmlPullParser;->getName()Ljava/lang/String;
move-result-object v4
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v3, v0}, Lcom/google/android/exoplayer2/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 134
add-int/lit8 v17, v17, 0x1
move-object v13, v2
move-object v3, v5
move-object v2, v10
move-object/from16 v21, v15
move-object/from16 v4, v18
move-object/from16 v5, v19
move v15, v6
move-object v10, v7
goto/16 :goto_145
.line 135
:cond_b5
const-string v0, "head"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_d6
.line 136
move-object/from16 v20, v1
.end local v1 # "name":Ljava/lang/String;
.local v20, "name":Ljava/lang/String;
move-object/from16 v1, p0
move-object v4, v2
.end local v2 # "parent":Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
.local v4, "parent":Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
move-object v2, v9
move-object v3, v10
move-object v13, v4
.end local v4 # "parent":Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
.local v13, "parent":Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
move-object/from16 v4, v18
move-object v14, v5
.end local v5 # "frameAndTickRate":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
.local v14, "frameAndTickRate":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
move-object/from16 v5, v19
move-object/from16 v21, v15
move v15, v6
.end local v6 # "eventType":I
.local v15, "eventType":I
.local v21, "inputStream":Ljava/io/ByteArrayInputStream;
move-object v6, v11
move-object/from16 v22, v10
move-object v10, v7
.end local v7 # "nodeStack":Ljava/util/ArrayDeque;, "Ljava/util/ArrayDeque<Lcom/google/android/exoplayer2/text/ttml/TtmlNode;>;"
.local v10, "nodeStack":Ljava/util/ArrayDeque;, "Ljava/util/ArrayDeque<Lcom/google/android/exoplayer2/text/ttml/TtmlNode;>;"
.local v22, "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
move-object v7, v12
invoke-direct/range {v1 .. v7}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->parseHeader(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/Map;Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;Ljava/util/Map;Ljava/util/Map;)Ljava/util/Map;
:try_end_d5
.catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_8e .. :try_end_d5} :catch_172
.catch Ljava/io/IOException; {:try_start_8e .. :try_end_d5} :catch_169
goto :goto_ed
.line 139
.end local v13 # "parent":Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
.end local v14 # "frameAndTickRate":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
.end local v20 # "name":Ljava/lang/String;
.end local v21 # "inputStream":Ljava/io/ByteArrayInputStream;
.end local v22 # "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
.restart local v1 # "name":Ljava/lang/String;
.restart local v2 # "parent":Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
.restart local v5 # "frameAndTickRate":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
.restart local v6 # "eventType":I
.restart local v7 # "nodeStack":Ljava/util/ArrayDeque;, "Ljava/util/ArrayDeque<Lcom/google/android/exoplayer2/text/ttml/TtmlNode;>;"
.local v10, "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
.local v15, "inputStream":Ljava/io/ByteArrayInputStream;
:cond_d6
move-object/from16 v20, v1
move-object v13, v2
move-object v14, v5
move-object/from16 v22, v10
move-object/from16 v21, v15
move v15, v6
move-object v10, v7
.end local v1 # "name":Ljava/lang/String;
.end local v2 # "parent":Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
.end local v5 # "frameAndTickRate":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
.end local v6 # "eventType":I
.end local v7 # "nodeStack":Ljava/util/ArrayDeque;, "Ljava/util/ArrayDeque<Lcom/google/android/exoplayer2/text/ttml/TtmlNode;>;"
.local v10, "nodeStack":Ljava/util/ArrayDeque;, "Ljava/util/ArrayDeque<Lcom/google/android/exoplayer2/text/ttml/TtmlNode;>;"
.restart local v13 # "parent":Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
.restart local v14 # "frameAndTickRate":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
.local v15, "eventType":I
.restart local v20 # "name":Ljava/lang/String;
.restart local v21 # "inputStream":Ljava/io/ByteArrayInputStream;
.restart local v22 # "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
:try_start_e0
invoke-direct {v8, v9, v13, v11, v14}, Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder;->parseNode(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/text/ttml/TtmlNode;Ljava/util/Map;Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;)Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
move-result-object v0
.line 140
.local v0, "node":Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
invoke-virtual {v10, v0}, Ljava/util/ArrayDeque;->push(Ljava/lang/Object;)V
.line 141
if-eqz v13, :cond_ec
.line 142
invoke-virtual {v13, v0}, Lcom/google/android/exoplayer2/text/ttml/TtmlNode;->addChild(Lcom/google/android/exoplayer2/text/ttml/TtmlNode;)V
:try_end_ec
.catch Lcom/google/android/exoplayer2/text/SubtitleDecoderException; {:try_start_e0 .. :try_end_ec} :catch_f5
.catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_e0 .. :try_end_ec} :catch_172
.catch Ljava/io/IOException; {:try_start_e0 .. :try_end_ec} :catch_169
.line 148
.end local v0 # "node":Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
:cond_ec
nop
.line 158
.end local v20 # "name":Ljava/lang/String;
:goto_ed
move-object v3, v14
move-object/from16 v4, v18
move-object/from16 v5, v19
move-object/from16 v2, v22
goto :goto_145
.line 144
.restart local v20 # "name":Ljava/lang/String;
:catch_f5
move-exception v0
.line 145
.local v0, "e":Lcom/google/android/exoplayer2/text/SubtitleDecoderException;
:try_start_f6
const-string v1, "Suppressing parser error"
invoke-static {v3, v1, v0}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 147
nop
.end local v0 # "e":Lcom/google/android/exoplayer2/text/SubtitleDecoderException;
add-int/lit8 v17, v17, 0x1
.line 148
move-object v3, v14
move-object/from16 v4, v18
move-object/from16 v5, v19
move-object/from16 v2, v22
goto :goto_145
.line 150
.end local v13 # "parent":Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
.end local v14 # "frameAndTickRate":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
.end local v18 # "cellResolution":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;
.end local v20 # "name":Ljava/lang/String;
.end local v21 # "inputStream":Ljava/io/ByteArrayInputStream;
.end local v22 # "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
.restart local v2 # "parent":Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
.restart local v3 # "frameAndTickRate":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
.local v4, "cellResolution":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;
.local v5, "ttsExtent":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;
.restart local v6 # "eventType":I
.restart local v7 # "nodeStack":Ljava/util/ArrayDeque;, "Ljava/util/ArrayDeque<Lcom/google/android/exoplayer2/text/ttml/TtmlNode;>;"
.local v10, "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
.local v15, "inputStream":Ljava/io/ByteArrayInputStream;
.local v19, "name":Ljava/lang/String;
:cond_106
move-object v13, v2
move-object/from16 v22, v10
move-object/from16 v21, v15
move-object/from16 v20, v19
move v15, v6
move-object v10, v7
.end local v2 # "parent":Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
.end local v6 # "eventType":I
.end local v7 # "nodeStack":Ljava/util/ArrayDeque;, "Ljava/util/ArrayDeque<Lcom/google/android/exoplayer2/text/ttml/TtmlNode;>;"
.end local v19 # "name":Ljava/lang/String;
.local v10, "nodeStack":Ljava/util/ArrayDeque;, "Ljava/util/ArrayDeque<Lcom/google/android/exoplayer2/text/ttml/TtmlNode;>;"
.restart local v13 # "parent":Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
.local v15, "eventType":I
.restart local v20 # "name":Ljava/lang/String;
.restart local v21 # "inputStream":Ljava/io/ByteArrayInputStream;
.restart local v22 # "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
const/4 v1, 0x4
if-ne v15, v1, :cond_120
.line 151
invoke-interface {v9}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/google/android/exoplayer2/text/ttml/TtmlNode;->buildTextNode(Ljava/lang/String;)Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
move-result-object v0
invoke-virtual {v13, v0}, Lcom/google/android/exoplayer2/text/ttml/TtmlNode;->addChild(Lcom/google/android/exoplayer2/text/ttml/TtmlNode;)V
move-object/from16 v2, v22
goto :goto_145
.line 152
:cond_120
const/4 v1, 0x3
if-ne v15, v1, :cond_143
.line 153
invoke-interface {v9}, Lorg/xmlpull/v1/XmlPullParser;->getName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_13d
.line 154
new-instance v0, Lcom/google/android/exoplayer2/text/ttml/TtmlSubtitle;
invoke-virtual {v10}, Ljava/util/ArrayDeque;->peek()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
move-object/from16 v2, v22
.end local v22 # "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
.local v2, "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
invoke-direct {v0, v1, v2, v11, v12}, Lcom/google/android/exoplayer2/text/ttml/TtmlSubtitle;-><init>(Lcom/google/android/exoplayer2/text/ttml/TtmlNode;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)V
move-object/from16 v16, v0
goto :goto_13f
.line 153
.end local v2 # "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
.restart local v22 # "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
:cond_13d
move-object/from16 v2, v22
.line 156
.end local v22 # "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
.restart local v2 # "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
:goto_13f
invoke-virtual {v10}, Ljava/util/ArrayDeque;->pop()Ljava/lang/Object;
goto :goto_145
.line 152
.end local v2 # "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
.restart local v22 # "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
:cond_143
move-object/from16 v2, v22
.line 158
.end local v20 # "name":Ljava/lang/String;
.end local v22 # "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
.restart local v2 # "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
:goto_145
goto :goto_156
.line 159
.end local v13 # "parent":Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
.end local v21 # "inputStream":Ljava/io/ByteArrayInputStream;
.local v2, "parent":Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
.restart local v6 # "eventType":I
.restart local v7 # "nodeStack":Ljava/util/ArrayDeque;, "Ljava/util/ArrayDeque<Lcom/google/android/exoplayer2/text/ttml/TtmlNode;>;"
.local v10, "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
.local v15, "inputStream":Ljava/io/ByteArrayInputStream;
:cond_146
move-object v13, v2
move-object v2, v10
move-object/from16 v21, v15
move v15, v6
move-object v10, v7
.end local v6 # "eventType":I
.end local v7 # "nodeStack":Ljava/util/ArrayDeque;, "Ljava/util/ArrayDeque<Lcom/google/android/exoplayer2/text/ttml/TtmlNode;>;"
.local v2, "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
.local v10, "nodeStack":Ljava/util/ArrayDeque;, "Ljava/util/ArrayDeque<Lcom/google/android/exoplayer2/text/ttml/TtmlNode;>;"
.restart local v13 # "parent":Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
.local v15, "eventType":I
.restart local v21 # "inputStream":Ljava/io/ByteArrayInputStream;
if-ne v15, v1, :cond_151
.line 160
add-int/lit8 v17, v17, 0x1
goto :goto_156
.line 161
:cond_151
const/4 v0, 0x3
if-ne v15, v0, :cond_156
.line 162
add-int/lit8 v17, v17, -0x1
.line 165
:cond_156
:goto_156
invoke-interface {v9}, Lorg/xmlpull/v1/XmlPullParser;->next()I
.line 166
invoke-interface {v9}, Lorg/xmlpull/v1/XmlPullParser;->getEventType()I
move-result v0
:try_end_15d
.catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_f6 .. :try_end_15d} :catch_172
.catch Ljava/io/IOException; {:try_start_f6 .. :try_end_15d} :catch_169
move v6, v0
.line 167
.end local v13 # "parent":Lcom/google/android/exoplayer2/text/ttml/TtmlNode;
.end local v15 # "eventType":I
.restart local v6 # "eventType":I
move-object/from16 v13, p1
move/from16 v14, p2
move-object v7, v10
move-object/from16 v15, v21
move-object v10, v2
goto/16 :goto_4a
.line 168
.end local v2 # "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
.end local v21 # "inputStream":Ljava/io/ByteArrayInputStream;
.restart local v7 # "nodeStack":Ljava/util/ArrayDeque;, "Ljava/util/ArrayDeque<Lcom/google/android/exoplayer2/text/ttml/TtmlNode;>;"
.local v10, "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
.local v15, "inputStream":Ljava/io/ByteArrayInputStream;
:cond_168
return-object v16
.line 171
.end local v3 # "frameAndTickRate":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$FrameAndTickRate;
.end local v4 # "cellResolution":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$CellResolution;
.end local v5 # "ttsExtent":Lcom/google/android/exoplayer2/text/ttml/TtmlDecoder$TtsExtent;
.end local v6 # "eventType":I
.end local v7 # "nodeStack":Ljava/util/ArrayDeque;, "Ljava/util/ArrayDeque<Lcom/google/android/exoplayer2/text/ttml/TtmlNode;>;"
.end local v9 # "xmlParser":Lorg/xmlpull/v1/XmlPullParser;
.end local v10 # "globalStyles":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlStyle;>;"
.end local v11 # "regionMap":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Lcom/google/android/exoplayer2/text/ttml/TtmlRegion;>;"
.end local v12 # "imageMap":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;"
.end local v15 # "inputStream":Ljava/io/ByteArrayInputStream;
.end local v16 # "ttmlSubtitle":Lcom/google/android/exoplayer2/text/ttml/TtmlSubtitle;
.end local v17 # "unsupportedNodeDepth":I
:catch_169
move-exception v0
.line 172
.local v0, "e":Ljava/io/IOException;
new-instance v1, Ljava/lang/IllegalStateException;
const-string v2, "Unexpected error when reading input."
invoke-direct {v1, v2, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
.line 169
.end local v0 # "e":Ljava/io/IOException;
:catch_172
move-exception v0
.line 170
.local v0, "xppe":Lorg/xmlpull/v1/XmlPullParserException;
new-instance v1, Lcom/google/android/exoplayer2/text/SubtitleDecoderException;
const-string v2, "Unable to decode source"
invoke-direct {v1, v2, v0}, Lcom/google/android/exoplayer2/text/SubtitleDecoderException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_17c
:goto_17b
throw v1
:goto_17c
goto :goto_17b
.end method