DashManifestParser.smali
.class public Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;
.super Lorg/xml/sax/helpers/DefaultHandler;
.source "SourceFile"
# interfaces
.implements Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lorg/xml/sax/helpers/DefaultHandler;",
"Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser<",
"Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;",
">;"
}
.end annotation
# static fields
.field private static final CEA_608_ACCESSIBILITY_PATTERN:Ljava/util/regex/Pattern;
.field private static final CEA_708_ACCESSIBILITY_PATTERN:Ljava/util/regex/Pattern;
.field private static final FRAME_RATE_PATTERN:Ljava/util/regex/Pattern;
.field private static final TAG:Ljava/lang/String; = "MpdParser"
# instance fields
.field private final contentId:Ljava/lang/String;
.field private final xmlParserFactory:Lorg/xmlpull/v1/XmlPullParserFactory;
# direct methods
.method static constructor <clinit>()V
.registers 1
const-string v0, "(\\d+)(?:/(\\d+))?"
.line 59
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/source/dash/manifest/DashManifestParser;->FRAME_RATE_PATTERN:Ljava/util/regex/Pattern;
const-string v0, "CC([1-4])=.*"
.line 61
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/source/dash/manifest/DashManifestParser;->CEA_608_ACCESSIBILITY_PATTERN:Ljava/util/regex/Pattern;
const-string v0, "([1-9]|[1-5][0-9]|6[0-3])=.*"
.line 63
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/source/dash/manifest/DashManifestParser;->CEA_708_ACCESSIBILITY_PATTERN:Ljava/util/regex/Pattern;
return-void
.end method
.method public constructor <init>()V
.registers 2
const/4 v0, 0x0
.line 72
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;-><init>(Ljava/lang/String;)V
return-void
.end method
.method public constructor <init>(Ljava/lang/String;)V
.registers 4
.line 78
invoke-direct {p0}, Lorg/xml/sax/helpers/DefaultHandler;-><init>()V
.line 79
iput-object p1, p0, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->contentId:Ljava/lang/String;
.line 81
:try_start_5
invoke-static {}, Lorg/xmlpull/v1/XmlPullParserFactory;->newInstance()Lorg/xmlpull/v1/XmlPullParserFactory;
move-result-object p1
iput-object p1, p0, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->xmlParserFactory:Lorg/xmlpull/v1/XmlPullParserFactory;
:try_end_b
.catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_5 .. :try_end_b} :catch_c
return-void
:catch_c
move-exception p1
.line 83
new-instance v0, Ljava/lang/RuntimeException;
const-string v1, "Couldn\'t create XmlPullParserFactory instance"
invoke-direct {v0, v1, p1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.end method
.method private static checkContentTypeConsistency(II)I
.registers 3
const/4 v0, -0x1
if-ne p0, v0, :cond_4
return p1
:cond_4
if-ne p1, v0, :cond_7
return p0
:cond_7
if-ne p0, p1, :cond_b
const/4 p1, 0x1
goto :goto_c
:cond_b
const/4 p1, 0x0
.line 844
:goto_c
invoke-static {p1}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
return p0
.end method
.method private static checkLanguageConsistency(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 2
if-nez p0, :cond_3
return-object p1
:cond_3
if-nez p1, :cond_6
return-object p0
.line 822
:cond_6
invoke-virtual {p0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
invoke-static {p1}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
return-object p0
.end method
.method private static filterRedundantIncompleteSchemeDatas(Ljava/util/ArrayList;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/ArrayList<",
"Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;",
">;)V"
}
.end annotation
.line 744
invoke-virtual {p0}, Ljava/util/ArrayList;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_6
if-ltz v0, :cond_31
.line 745
invoke-virtual {p0, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
.line 746
invoke-virtual {v1}, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->hasData()Z
move-result v2
if-nez v2, :cond_2e
const/4 v2, 0x0
.line 747
:goto_15
invoke-virtual {p0}, Ljava/util/ArrayList;->size()I
move-result v3
if-ge v2, v3, :cond_2e
.line 748
invoke-virtual {p0, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
invoke-virtual {v3, v1}, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->canReplace(Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;)Z
move-result v3
if-eqz v3, :cond_2b
.line 751
invoke-virtual {p0, v0}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
goto :goto_2e
:cond_2b
add-int/lit8 v2, v2, 0x1
goto :goto_15
:cond_2e
:goto_2e
add-int/lit8 v0, v0, -0x1
goto :goto_6
:cond_31
return-void
.end method
.method private static getSampleMimeType(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 4
.line 767
invoke-static {p0}, Lcom/google/android/exoplayer2/util/MimeTypes;->isAudio(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_b
.line 768
invoke-static {p1}, Lcom/google/android/exoplayer2/util/MimeTypes;->getAudioMediaMimeType(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.line 769
:cond_b
invoke-static {p0}, Lcom/google/android/exoplayer2/util/MimeTypes;->isVideo(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_16
.line 770
invoke-static {p1}, Lcom/google/android/exoplayer2/util/MimeTypes;->getVideoMediaMimeType(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.line 771
:cond_16
invoke-static {p0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->mimeTypeIsRawText(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_1d
return-object p0
:cond_1d
const-string v0, "application/mp4"
.line 773
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_3c
const-string p0, "stpp"
.line 774
invoke-virtual {p0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_31
const-string p0, "application/ttml+xml"
return-object p0
:cond_31
const-string p0, "wvtt"
.line 776
invoke-virtual {p0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_64
const-string p0, "application/x-mp4-vtt"
return-object p0
:cond_3c
const-string v0, "application/x-rawcc"
.line 779
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_64
if-eqz p1, :cond_64
const-string p0, "cea708"
.line 781
invoke-virtual {p1, p0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result p0
if-eqz p0, :cond_51
const-string p0, "application/cea-708"
return-object p0
:cond_51
const-string p0, "eia608"
.line 783
invoke-virtual {p1, p0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result p0
if-nez p0, :cond_61
const-string p0, "cea608"
invoke-virtual {p1, p0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result p0
if-eqz p0, :cond_64
:cond_61
const-string p0, "application/cea-608"
return-object p0
:cond_64
return-object v1
.end method
.method private static mimeTypeIsRawText(Ljava/lang/String;)Z
.registers 2
.line 799
invoke-static {p0}, Lcom/google/android/exoplayer2/util/MimeTypes;->isText(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_29
const-string v0, "application/ttml+xml"
.line 800
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_29
const-string v0, "application/x-mp4-vtt"
.line 801
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_29
const-string v0, "application/cea-708"
.line 802
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_29
const-string v0, "application/cea-608"
.line 803
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_27
goto :goto_29
:cond_27
const/4 p0, 0x0
return p0
:cond_29
:goto_29
const/4 p0, 0x1
return p0
.end method
.method protected static parseBaseUrl(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String;
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/xmlpull/v1/XmlPullParserException;,
Ljava/io/IOException;
}
.end annotation
.line 942
invoke-interface {p0}, Lorg/xmlpull/v1/XmlPullParser;->next()I
.line 943
invoke-interface {p0}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;
move-result-object p0
invoke-static {p1, p0}, Lcom/google/android/exoplayer2/util/UriUtil;->resolve(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method protected static parseCea608AccessibilityChannel(Ljava/util/List;)I
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;",
">;)I"
}
.end annotation
const/4 v0, 0x0
.line 871
:goto_1
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v1
if-ge v0, v1, :cond_4b
.line 872
invoke-interface {p0, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;
.line 873
iget-object v2, v1, Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;->schemeIdUri:Ljava/lang/String;
const-string v3, "urn:scte:dash:cc:cea-608:2015"
invoke-virtual {v3, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_48
iget-object v2, v1, Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;->value:Ljava/lang/String;
if-eqz v2, :cond_48
.line 875
sget-object v2, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->CEA_608_ACCESSIBILITY_PATTERN:Ljava/util/regex/Pattern;
iget-object v3, v1, Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;->value:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v2
.line 876
invoke-virtual {v2}, Ljava/util/regex/Matcher;->matches()Z
move-result v3
if-eqz v3, :cond_33
const/4 p0, 0x1
.line 877
invoke-virtual {v2, p0}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result p0
return p0
.line 879
:cond_33
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Unable to parse CEA-608 channel number from: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v1, v1, Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;->value:Ljava/lang/String;
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "MpdParser"
invoke-static {v2, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:cond_48
add-int/lit8 v0, v0, 0x1
goto :goto_1
:cond_4b
const/4 p0, -0x1
return p0
.end method
.method protected static parseCea708AccessibilityChannel(Ljava/util/List;)I
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;",
">;)I"
}
.end annotation
const/4 v0, 0x0
.line 888
:goto_1
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v1
if-ge v0, v1, :cond_4b
.line 889
invoke-interface {p0, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;
.line 890
iget-object v2, v1, Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;->schemeIdUri:Ljava/lang/String;
const-string v3, "urn:scte:dash:cc:cea-708:2015"
invoke-virtual {v3, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_48
iget-object v2, v1, Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;->value:Ljava/lang/String;
if-eqz v2, :cond_48
.line 892
sget-object v2, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->CEA_708_ACCESSIBILITY_PATTERN:Ljava/util/regex/Pattern;
iget-object v3, v1, Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;->value:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v2
.line 893
invoke-virtual {v2}, Ljava/util/regex/Matcher;->matches()Z
move-result v3
if-eqz v3, :cond_33
const/4 p0, 0x1
.line 894
invoke-virtual {v2, p0}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result p0
return p0
.line 896
:cond_33
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Unable to parse CEA-708 service block number from: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v1, v1, Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;->value:Ljava/lang/String;
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "MpdParser"
invoke-static {v2, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:cond_48
add-int/lit8 v0, v0, 0x1
goto :goto_1
:cond_4b
const/4 p0, -0x1
return p0
.end method
.method protected static parseDateTime(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
const/4 v0, 0x0
.line 932
invoke-interface {p0, v0, p1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
if-nez p0, :cond_8
return-wide p2
.line 936
:cond_8
invoke-static {p0}, Lcom/google/android/exoplayer2/util/Util;->parseXsDateTime(Ljava/lang/String;)J
move-result-wide p0
return-wide p0
.end method
.method protected static parseDescriptor(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/xmlpull/v1/XmlPullParserException;,
Ljava/io/IOException;
}
.end annotation
const-string v0, "schemeIdUri"
const-string v1, ""
.line 860
invoke-static {p0, v0, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseString(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const/4 v1, 0x0
const-string v2, "value"
.line 861
invoke-static {p0, v2, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseString(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
const-string v3, "id"
.line 862
invoke-static {p0, v3, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseString(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 864
:cond_15
invoke-interface {p0}, Lorg/xmlpull/v1/XmlPullParser;->next()I
.line 865
invoke-static {p0, p1}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isEndTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_15
.line 866
new-instance p0, Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;
invoke-direct {p0, v0, v2, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-object p0
.end method
.method protected static parseDolbyChannelConfiguration(Lorg/xmlpull/v1/XmlPullParser;)I
.registers 6
const/4 v0, 0x0
const-string v1, "value"
.line 971
invoke-interface {p0, v0, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Lcom/google/android/exoplayer2/util/Util;->toLowerInvariant(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
const/4 v0, -0x1
if-nez p0, :cond_f
return v0
.line 975
:cond_f
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
move-result v1
const/4 v2, 0x3
const/4 v3, 0x2
const/4 v4, 0x1
sparse-switch v1, :sswitch_data_54
goto :goto_42
:sswitch_1a
const-string v1, "fa01"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_42
const/4 p0, 0x3
goto :goto_43
:sswitch_24
const-string v1, "f801"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_42
const/4 p0, 0x2
goto :goto_43
:sswitch_2e
const-string v1, "a000"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_42
const/4 p0, 0x1
goto :goto_43
:sswitch_38
const-string v1, "4000"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_42
const/4 p0, 0x0
goto :goto_43
:cond_42
:goto_42
const/4 p0, -0x1
:goto_43
if-eqz p0, :cond_52
if-eq p0, v4, :cond_51
if-eq p0, v3, :cond_4f
if-eq p0, v2, :cond_4c
return v0
:cond_4c
const/16 p0, 0x8
return p0
:cond_4f
const/4 p0, 0x6
return p0
:cond_51
return v3
:cond_52
return v4
nop
:sswitch_data_54
.sparse-switch
0x185d7c -> :sswitch_38
0x2cd22f -> :sswitch_2e
0x2f3613 -> :sswitch_24
0x2fcffc -> :sswitch_1a
.end sparse-switch
.end method
.method protected static parseDuration(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
.registers 5
const/4 v0, 0x0
.line 922
invoke-interface {p0, v0, p1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
if-nez p0, :cond_8
return-wide p2
.line 926
:cond_8
invoke-static {p0}, Lcom/google/android/exoplayer2/util/Util;->parseXsDuration(Ljava/lang/String;)J
move-result-wide p0
return-wide p0
.end method
.method protected static parseFrameRate(Lorg/xmlpull/v1/XmlPullParser;F)F
.registers 4
const/4 v0, 0x0
const-string v1, "frameRate"
.line 905
invoke-interface {p0, v0, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
if-eqz p0, :cond_32
.line 907
sget-object v0, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->FRAME_RATE_PATTERN:Ljava/util/regex/Pattern;
invoke-virtual {v0, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object p0
.line 908
invoke-virtual {p0}, Ljava/util/regex/Matcher;->matches()Z
move-result v0
if-eqz v0, :cond_32
const/4 p1, 0x1
.line 909
invoke-virtual {p0, p1}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result p1
const/4 v0, 0x2
.line 910
invoke-virtual {p0, v0}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object p0
.line 911
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_31
int-to-float p1, p1
.line 912
invoke-static {p0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result p0
int-to-float p0, p0
div-float/2addr p1, p0
goto :goto_32
:cond_31
int-to-float p1, p1
:cond_32
:goto_32
return p1
.end method
.method protected static parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
.registers 4
const/4 v0, 0x0
.line 947
invoke-interface {p0, v0, p1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
if-nez p0, :cond_8
return p2
.line 948
:cond_8
invoke-static {p0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result p0
return p0
.end method
.method protected static parseLong(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
.registers 5
const/4 v0, 0x0
.line 952
invoke-interface {p0, v0, p1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
if-nez p0, :cond_8
return-wide p2
.line 953
:cond_8
invoke-static {p0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide p0
return-wide p0
.end method
.method protected static parseString(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 4
const/4 v0, 0x0
.line 957
invoke-interface {p0, v0, p1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
if-nez p0, :cond_8
return-object p2
:cond_8
return-object p0
.end method
# virtual methods
.method protected buildAdaptationSet(IILjava/util/List;Ljava/util/List;Ljava/util/List;)Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;
.registers 13
.annotation system Ldalvik/annotation/Signature;
value = {
"(II",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/Representation;",
">;",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;",
">;",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;",
">;)",
"Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;"
}
.end annotation
.line 310
new-instance v6, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;
move-object v0, v6
move v1, p1
move v2, p2
move-object v3, p3
move-object v4, p4
move-object v5, p5
invoke-direct/range {v0 .. v5}, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;-><init>(IILjava/util/List;Ljava/util/List;Ljava/util/List;)V
return-object v6
.end method
.method protected buildFormat(Ljava/lang/String;Ljava/lang/String;IIFIIILjava/lang/String;ILjava/util/List;Ljava/lang/String;)Lcom/google/android/exoplayer2/Format;
.registers 23
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/String;",
"IIFIII",
"Ljava/lang/String;",
"I",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;",
">;",
"Ljava/lang/String;",
")",
"Lcom/google/android/exoplayer2/Format;"
}
.end annotation
move-object v1, p2
move-object/from16 v3, p12
.line 498
invoke-static {p2, v3}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->getSampleMimeType(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
if-eqz v2, :cond_6c
.line 500
invoke-static {v2}, Lcom/google/android/exoplayer2/util/MimeTypes;->isVideo(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_20
const/4 v8, 0x0
move-object v0, p1
move-object v1, p2
move-object/from16 v3, p12
move/from16 v4, p8
move v5, p3
move v6, p4
move v7, p5
move/from16 v9, p10
.line 501
invoke-static/range {v0 .. v9}, Lcom/google/android/exoplayer2/Format;->createVideoContainerFormat(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIFLjava/util/List;I)Lcom/google/android/exoplayer2/Format;
move-result-object v0
return-object v0
.line 503
:cond_20
invoke-static {v2}, Lcom/google/android/exoplayer2/util/MimeTypes;->isAudio(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_3a
const/4 v7, 0x0
move-object v0, p1
move-object v1, p2
move-object/from16 v3, p12
move/from16 v4, p8
move/from16 v5, p6
move/from16 v6, p7
move/from16 v8, p10
move-object/from16 v9, p9
.line 504
invoke-static/range {v0 .. v9}, Lcom/google/android/exoplayer2/Format;->createAudioContainerFormat(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIILjava/util/List;ILjava/lang/String;)Lcom/google/android/exoplayer2/Format;
move-result-object v0
return-object v0
.line 506
:cond_3a
invoke-static {v2}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->mimeTypeIsRawText(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_6c
const-string v0, "application/cea-608"
.line 508
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_4e
.line 509
invoke-static/range {p11 .. p11}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseCea608AccessibilityChannel(Ljava/util/List;)I
move-result v0
:goto_4c
move v7, v0
goto :goto_5d
:cond_4e
const-string v0, "application/cea-708"
.line 510
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_5b
.line 511
invoke-static/range {p11 .. p11}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseCea708AccessibilityChannel(Ljava/util/List;)I
move-result v0
goto :goto_4c
:cond_5b
const/4 v0, -0x1
const/4 v7, -0x1
:goto_5d
move-object v0, p1
move-object v1, p2
move-object/from16 v3, p12
move/from16 v4, p8
move/from16 v5, p10
move-object/from16 v6, p9
.line 515
invoke-static/range {v0 .. v7}, Lcom/google/android/exoplayer2/Format;->createTextContainerFormat(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;I)Lcom/google/android/exoplayer2/Format;
move-result-object v0
return-object v0
:cond_6c
move-object v0, p1
move-object v1, p2
move-object/from16 v3, p12
move/from16 v4, p8
move/from16 v5, p10
move-object/from16 v6, p9
.line 519
invoke-static/range {v0 .. v6}, Lcom/google/android/exoplayer2/Format;->createContainerFormat(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;)Lcom/google/android/exoplayer2/Format;
move-result-object v0
return-object v0
.end method
.method protected buildMediaPresentationDescription(JJJZJJJLcom/google/android/exoplayer2/source/dash/manifest/UtcTimingElement;Landroid/net/Uri;Ljava/util/List;)Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
.registers 35
.annotation system Ldalvik/annotation/Signature;
value = {
"(JJJZJJJ",
"Lcom/google/android/exoplayer2/source/dash/manifest/UtcTimingElement;",
"Landroid/net/Uri;",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/Period;",
">;)",
"Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;"
}
.end annotation
move-wide/from16 v1, p1
move-wide/from16 v3, p3
move-wide/from16 v5, p5
move/from16 v7, p7
move-wide/from16 v8, p8
move-wide/from16 v10, p10
move-wide/from16 v12, p12
move-object/from16 v14, p14
move-object/from16 v15, p15
move-object/from16 v16, p16
.line 178
new-instance v17, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
move-object/from16 v0, v17
invoke-direct/range {v0 .. v16}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;-><init>(JJJZJJJLcom/google/android/exoplayer2/source/dash/manifest/UtcTimingElement;Landroid/net/Uri;Ljava/util/List;)V
return-object v17
.end method
.method protected buildPeriod(Ljava/lang/String;JLjava/util/List;)Lcom/google/android/exoplayer2/source/dash/manifest/Period;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"J",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;",
">;)",
"Lcom/google/android/exoplayer2/source/dash/manifest/Period;"
}
.end annotation
.line 223
new-instance v0, Lcom/google/android/exoplayer2/source/dash/manifest/Period;
invoke-direct {v0, p1, p2, p3, p4}, Lcom/google/android/exoplayer2/source/dash/manifest/Period;-><init>(Ljava/lang/String;JLjava/util/List;)V
return-object v0
.end method
.method protected buildRangedUri(Ljava/lang/String;JJ)Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
.registers 13
.line 720
new-instance v6, Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
move-object v0, v6
move-object v1, p1
move-wide v2, p2
move-wide v4, p4
invoke-direct/range {v0 .. v5}, Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;-><init>(Ljava/lang/String;JJ)V
return-object v6
.end method
.method protected buildRepresentation(Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;)Lcom/google/android/exoplayer2/source/dash/manifest/Representation;
.registers 14
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/util/ArrayList<",
"Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;",
">;",
"Ljava/util/ArrayList<",
"Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;",
">;)",
"Lcom/google/android/exoplayer2/source/dash/manifest/Representation;"
}
.end annotation
.line 526
iget-object v0, p1, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;->format:Lcom/google/android/exoplayer2/Format;
.line 527
iget-object v1, p1, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;->drmSchemeType:Ljava/lang/String;
if-eqz v1, :cond_8
iget-object p3, p1, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;->drmSchemeType:Ljava/lang/String;
.line 529
:cond_8
iget-object v1, p1, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;->drmSchemeDatas:Ljava/util/ArrayList;
.line 530
invoke-virtual {v1, p4}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z
.line 531
invoke-virtual {v1}, Ljava/util/ArrayList;->isEmpty()Z
move-result p4
if-nez p4, :cond_1f
.line 532
invoke-static {v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->filterRedundantIncompleteSchemeDatas(Ljava/util/ArrayList;)V
.line 533
new-instance p4, Lcom/google/android/exoplayer2/drm/DrmInitData;
invoke-direct {p4, p3, v1}, Lcom/google/android/exoplayer2/drm/DrmInitData;-><init>(Ljava/lang/String;Ljava/util/List;)V
.line 534
invoke-virtual {v0, p4}, Lcom/google/android/exoplayer2/Format;->copyWithDrmInitData(Lcom/google/android/exoplayer2/drm/DrmInitData;)Lcom/google/android/exoplayer2/Format;
move-result-object v0
:cond_1f
move-object v4, v0
.line 536
iget-object v7, p1, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;->inbandEventStreams:Ljava/util/ArrayList;
.line 537
invoke-virtual {v7, p5}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z
const-wide/16 v2, -0x1
.line 538
iget-object v5, p1, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;->baseUrl:Ljava/lang/String;
iget-object v6, p1, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;->segmentBase:Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase;
move-object v1, p2
invoke-static/range {v1 .. v7}, Lcom/google/android/exoplayer2/source/dash/manifest/Representation;->newInstance(Ljava/lang/String;JLcom/google/android/exoplayer2/Format;Ljava/lang/String;Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase;Ljava/util/List;)Lcom/google/android/exoplayer2/source/dash/manifest/Representation;
move-result-object p1
return-object p1
.end method
.method protected buildSegmentList(Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;JJIJLjava/util/List;Ljava/util/List;)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;
.registers 23
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;",
"JJIJ",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTimelineElement;",
">;",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;",
">;)",
"Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;"
}
.end annotation
.line 618
new-instance v11, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;
move-object v0, v11
move-object v1, p1
move-wide v2, p2
move-wide/from16 v4, p4
move/from16 v6, p6
move-wide/from16 v7, p7
move-object/from16 v9, p9
move-object/from16 v10, p10
invoke-direct/range {v0 .. v10}, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;-><init>(Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;JJIJLjava/util/List;Ljava/util/List;)V
return-object v11
.end method
.method protected buildSegmentTemplate(Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;JJIJLjava/util/List;Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;
.registers 25
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;",
"JJIJ",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTimelineElement;",
">;",
"Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;",
"Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;",
")",
"Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;"
}
.end annotation
.line 659
new-instance v12, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;
move-object v0, v12
move-object v1, p1
move-wide v2, p2
move-wide/from16 v4, p4
move/from16 v6, p6
move-wide/from16 v7, p7
move-object/from16 v9, p9
move-object/from16 v10, p10
move-object/from16 v11, p11
invoke-direct/range {v0 .. v11}, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;-><init>(Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;JJIJLjava/util/List;Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;)V
return-object v12
.end method
.method protected buildSegmentTimelineElement(JJ)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTimelineElement;
.registers 6
.line 683
new-instance v0, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTimelineElement;
invoke-direct {v0, p1, p2, p3, p4}, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTimelineElement;-><init>(JJ)V
return-object v0
.end method
.method protected buildSingleSegmentBase(Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;JJJJ)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;
.registers 21
.line 574
new-instance v10, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;
move-object v0, v10
move-object v1, p1
move-wide v2, p2
move-wide v4, p4
move-wide/from16 v6, p6
move-wide/from16 v8, p8
invoke-direct/range {v0 .. v9}, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;-><init>(Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;JJJJ)V
return-object v10
.end method
.method protected buildUtcTimingElement(Ljava/lang/String;Ljava/lang/String;)Lcom/google/android/exoplayer2/source/dash/manifest/UtcTimingElement;
.registers 4
.line 190
new-instance v0, Lcom/google/android/exoplayer2/source/dash/manifest/UtcTimingElement;
invoke-direct {v0, p1, p2}, Lcom/google/android/exoplayer2/source/dash/manifest/UtcTimingElement;-><init>(Ljava/lang/String;Ljava/lang/String;)V
return-object v0
.end method
.method protected getContentType(Lcom/google/android/exoplayer2/Format;)I
.registers 4
.line 324
iget-object p1, p1, Lcom/google/android/exoplayer2/Format;->sampleMimeType:Ljava/lang/String;
.line 325
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
const/4 v1, -0x1
if-eqz v0, :cond_a
return v1
.line 327
:cond_a
invoke-static {p1}, Lcom/google/android/exoplayer2/util/MimeTypes;->isVideo(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_12
const/4 p1, 0x2
return p1
.line 329
:cond_12
invoke-static {p1}, Lcom/google/android/exoplayer2/util/MimeTypes;->isAudio(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_1a
const/4 p1, 0x1
return p1
.line 331
:cond_1a
invoke-static {p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->mimeTypeIsRawText(Ljava/lang/String;)Z
move-result p1
if-eqz p1, :cond_22
const/4 p1, 0x3
return p1
:cond_22
return v1
.end method
.method public parse(Landroid/net/Uri;Ljava/io/InputStream;)Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 92
:try_start_0
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->xmlParserFactory:Lorg/xmlpull/v1/XmlPullParserFactory;
invoke-virtual {v0}, Lorg/xmlpull/v1/XmlPullParserFactory;->newPullParser()Lorg/xmlpull/v1/XmlPullParser;
move-result-object v0
const/4 v1, 0x0
.line 93
invoke-interface {v0, p2, v1}, Lorg/xmlpull/v1/XmlPullParser;->setInput(Ljava/io/InputStream;Ljava/lang/String;)V
.line 94
invoke-interface {v0}, Lorg/xmlpull/v1/XmlPullParser;->next()I
move-result p2
const/4 v1, 0x2
if-ne p2, v1, :cond_26
const-string p2, "MPD"
.line 95
invoke-interface {v0}, Lorg/xmlpull/v1/XmlPullParser;->getName()Ljava/lang/String;
move-result-object v1
invoke-virtual {p2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_26
.line 99
invoke-virtual {p1}, Landroid/net/Uri;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, v0, p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseMediaPresentationDescription(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
move-result-object p1
return-object p1
.line 96
:cond_26
new-instance p1, Lcom/google/android/exoplayer2/ParserException;
const-string p2, "inputStream does not contain a valid media presentation description"
invoke-direct {p1, p2}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw p1
:try_end_2e
.catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_0 .. :try_end_2e} :catch_2e
:catch_2e
move-exception p1
.line 101
new-instance p2, Lcom/google/android/exoplayer2/ParserException;
invoke-direct {p2, p1}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/Throwable;)V
throw p2
.end method
.method public bridge synthetic parse(Landroid/net/Uri;Ljava/io/InputStream;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 54
invoke-virtual {p0, p1, p2}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parse(Landroid/net/Uri;Ljava/io/InputStream;)Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
move-result-object p1
return-object p1
.end method
.method protected parseAdaptationSet(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase;)Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;
.registers 42
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/xmlpull/v1/XmlPullParserException;,
Ljava/io/IOException;
}
.end annotation
move-object/from16 v14, p0
move-object/from16 v15, p1
const/4 v0, -0x1
const-string v1, "id"
.line 230
invoke-static {v15, v1, v0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v16
.line 231
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseContentType(Lorg/xmlpull/v1/XmlPullParser;)I
move-result v1
const/4 v13, 0x0
const-string v2, "mimeType"
.line 233
invoke-interface {v15, v13, v2}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v17
const-string v2, "codecs"
.line 234
invoke-interface {v15, v13, v2}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v18
const-string v2, "width"
.line 235
invoke-static {v15, v2, v0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v19
const-string v2, "height"
.line 236
invoke-static {v15, v2, v0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v20
const/high16 v2, -0x40800000 # -1.0f
.line 237
invoke-static {v15, v2}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseFrameRate(Lorg/xmlpull/v1/XmlPullParser;F)F
move-result v21
const-string v2, "audioSamplingRate"
.line 239
invoke-static {v15, v2, v0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v22
const-string v12, "lang"
.line 240
invoke-interface {v15, v13, v12}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 242
new-instance v11, Ljava/util/ArrayList;
invoke-direct {v11}, Ljava/util/ArrayList;-><init>()V
.line 243
new-instance v10, Ljava/util/ArrayList;
invoke-direct {v10}, Ljava/util/ArrayList;-><init>()V
.line 244
new-instance v9, Ljava/util/ArrayList;
invoke-direct {v9}, Ljava/util/ArrayList;-><init>()V
.line 245
new-instance v8, Ljava/util/ArrayList;
invoke-direct {v8}, Ljava/util/ArrayList;-><init>()V
.line 246
new-instance v7, Ljava/util/ArrayList;
invoke-direct {v7}, Ljava/util/ArrayList;-><init>()V
const/16 v23, 0x0
move-object/from16 v6, p2
move-object/from16 v24, p3
move v5, v1
move-object v4, v2
move-object/from16 v28, v13
const/16 v25, -0x1
const/16 v26, 0x0
const/16 v27, 0x0
.line 251
:goto_63
invoke-interface/range {p1 .. p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
const-string v0, "BaseURL"
.line 252
invoke-static {v15, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_9c
if-nez v26, :cond_88
.line 254
invoke-static {v15, v6}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseBaseUrl(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const/16 v26, 0x1
move-object/from16 v30, v0
:goto_78
move-object v6, v7
move-object/from16 v32, v8
move-object/from16 v33, v9
move-object v7, v10
move-object/from16 v35, v11
move-object/from16 v36, v12
move-object/from16 v37, v13
move-object v1, v15
move v8, v5
goto/16 :goto_1ea
:cond_88
:goto_88
move-object/from16 v29, v4
move v2, v5
move-object/from16 v30, v6
move-object v6, v7
move-object/from16 v32, v8
move-object/from16 v33, v9
move-object v7, v10
move-object/from16 v35, v11
move-object/from16 v36, v12
move-object/from16 v37, v13
move-object v1, v15
goto/16 :goto_1e7
:cond_9c
const-string v0, "ContentProtection"
.line 257
invoke-static {v15, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_bc
.line 258
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseContentProtection(Lorg/xmlpull/v1/XmlPullParser;)Landroid/util/Pair;
move-result-object v0
.line 259
iget-object v1, v0, Landroid/util/Pair;->first:Ljava/lang/Object;
if-eqz v1, :cond_b2
.line 260
iget-object v1, v0, Landroid/util/Pair;->first:Ljava/lang/Object;
move-object/from16 v28, v1
check-cast v28, Ljava/lang/String;
.line 262
:cond_b2
iget-object v1, v0, Landroid/util/Pair;->second:Ljava/lang/Object;
if-eqz v1, :cond_f5
.line 263
iget-object v0, v0, Landroid/util/Pair;->second:Ljava/lang/Object;
invoke-virtual {v11, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_f5
:cond_bc
const-string v0, "ContentComponent"
.line 265
invoke-static {v15, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_e7
.line 266
invoke-interface {v15, v13, v12}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-static {v4, v0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->checkLanguageConsistency(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 267
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseContentType(Lorg/xmlpull/v1/XmlPullParser;)I
move-result v1
invoke-static {v5, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->checkContentTypeConsistency(II)I
move-result v1
move-object v4, v0
move-object/from16 v30, v6
move-object v6, v7
move-object/from16 v32, v8
move-object/from16 v33, v9
move-object v7, v10
move-object/from16 v35, v11
move-object/from16 v36, v12
move-object/from16 v37, v13
move v8, v1
move-object v1, v15
goto/16 :goto_1ea
:cond_e7
const-string v0, "Role"
.line 268
invoke-static {v15, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_f8
.line 269
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseRole(Lorg/xmlpull/v1/XmlPullParser;)I
move-result v0
or-int v27, v27, v0
:cond_f5
:goto_f5
move-object/from16 v30, v6
goto :goto_78
:cond_f8
const-string v0, "AudioChannelConfiguration"
.line 270
invoke-static {v15, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_107
.line 271
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseAudioChannelConfiguration(Lorg/xmlpull/v1/XmlPullParser;)I
move-result v0
move/from16 v25, v0
goto :goto_f5
:cond_107
const-string v0, "Accessibility"
.line 272
invoke-static {v15, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_118
.line 273
invoke-static {v15, v0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseDescriptor(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;
move-result-object v0
invoke-virtual {v9, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto/16 :goto_88
:cond_118
const-string v0, "SupplementalProperty"
.line 274
invoke-static {v15, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_129
.line 275
invoke-static {v15, v0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseDescriptor(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;
move-result-object v0
invoke-virtual {v8, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto/16 :goto_88
:cond_129
const-string v0, "Representation"
.line 276
invoke-static {v15, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_17b
move-object/from16 v0, p0
move-object/from16 v1, p1
move-object v2, v6
move-object/from16 v3, v17
move-object/from16 v29, v4
move-object/from16 v4, v18
move v15, v5
move/from16 v5, v19
move-object/from16 v30, v6
move/from16 v6, v20
move-object/from16 v31, v7
move/from16 v7, v21
move-object/from16 v32, v8
move/from16 v8, v25
move-object/from16 v33, v9
move/from16 v9, v22
move-object/from16 v34, v10
move-object/from16 v10, v29
move-object/from16 v35, v11
move/from16 v11, v27
move-object/from16 v36, v12
move-object/from16 v12, v33
move-object/from16 v37, v13
move-object/from16 v13, v24
.line 277
invoke-virtual/range {v0 .. v13}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseRepresentation(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIFIILjava/lang/String;ILjava/util/List;Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase;)Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;
move-result-object v0
.line 280
iget-object v1, v0, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;->format:Lcom/google/android/exoplayer2/Format;
.line 281
invoke-virtual {v14, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->getContentType(Lcom/google/android/exoplayer2/Format;)I
move-result v1
.line 280
invoke-static {v15, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->checkContentTypeConsistency(II)I
move-result v1
move-object/from16 v6, v31
.line 282
invoke-interface {v6, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
move v8, v1
move-object/from16 v4, v29
move-object/from16 v7, v34
move-object/from16 v1, p1
goto/16 :goto_1ea
:cond_17b
move-object/from16 v29, v4
move v15, v5
move-object/from16 v30, v6
move-object v6, v7
move-object/from16 v32, v8
move-object/from16 v33, v9
move-object/from16 v34, v10
move-object/from16 v35, v11
move-object/from16 v36, v12
move-object/from16 v37, v13
const-string v0, "SegmentBase"
move-object/from16 v1, p1
move v2, v15
.line 283
invoke-static {v1, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_1a8
.line 284
move-object/from16 v0, v24
check-cast v0, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;
invoke-virtual {v14, v1, v0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseSegmentBase(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;
move-result-object v0
:goto_1a0
move-object/from16 v24, v0
move v8, v2
move-object/from16 v4, v29
move-object/from16 v7, v34
goto :goto_1ea
:cond_1a8
const-string v0, "SegmentList"
.line 285
invoke-static {v1, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_1b9
.line 286
move-object/from16 v0, v24
check-cast v0, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;
invoke-virtual {v14, v1, v0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseSegmentList(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;
move-result-object v0
goto :goto_1a0
:cond_1b9
const-string v0, "SegmentTemplate"
.line 287
invoke-static {v1, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_1ca
.line 288
move-object/from16 v0, v24
check-cast v0, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;
invoke-virtual {v14, v1, v0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseSegmentTemplate(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;
move-result-object v0
goto :goto_1a0
:cond_1ca
const-string v0, "InbandEventStream"
.line 289
invoke-static {v1, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_1dc
.line 290
invoke-static {v1, v0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseDescriptor(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;
move-result-object v0
move-object/from16 v7, v34
invoke-virtual {v7, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_1e7
:cond_1dc
move-object/from16 v7, v34
.line 291
invoke-static/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;)Z
move-result v0
if-eqz v0, :cond_1e7
.line 292
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseAdaptationSetChild(Lorg/xmlpull/v1/XmlPullParser;)V
:cond_1e7
:goto_1e7
move v8, v2
move-object/from16 v4, v29
:goto_1ea
const-string v0, "AdaptationSet"
.line 294
invoke-static {v1, v0}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isEndTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_22b
.line 297
new-instance v9, Ljava/util/ArrayList;
invoke-interface {v6}, Ljava/util/List;->size()I
move-result v0
invoke-direct {v9, v0}, Ljava/util/ArrayList;-><init>(I)V
const/4 v10, 0x0
.line 298
:goto_1fc
invoke-interface {v6}, Ljava/util/List;->size()I
move-result v0
if-ge v10, v0, :cond_21c
.line 299
invoke-interface {v6, v10}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
move-object v1, v0
check-cast v1, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;
iget-object v2, v14, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->contentId:Ljava/lang/String;
move-object/from16 v0, p0
move-object/from16 v3, v28
move-object/from16 v4, v35
move-object v5, v7
invoke-virtual/range {v0 .. v5}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->buildRepresentation(Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;)Lcom/google/android/exoplayer2/source/dash/manifest/Representation;
move-result-object v0
invoke-interface {v9, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 v10, v10, 0x1
goto :goto_1fc
:cond_21c
move-object/from16 v0, p0
move/from16 v1, v16
move v2, v8
move-object v3, v9
move-object/from16 v4, v33
move-object/from16 v5, v32
.line 303
invoke-virtual/range {v0 .. v5}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->buildAdaptationSet(IILjava/util/List;Ljava/util/List;Ljava/util/List;)Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;
move-result-object v0
return-object v0
:cond_22b
move-object v15, v1
move-object v10, v7
move v5, v8
move-object/from16 v8, v32
move-object/from16 v9, v33
move-object/from16 v11, v35
move-object/from16 v12, v36
move-object/from16 v13, v37
move-object v7, v6
move-object/from16 v6, v30
goto/16 :goto_63
.end method
.method protected parseAdaptationSetChild(Lorg/xmlpull/v1/XmlPullParser;)V
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/xmlpull/v1/XmlPullParserException;,
Ljava/io/IOException;
}
.end annotation
return-void
.end method
.method protected parseAudioChannelConfiguration(Lorg/xmlpull/v1/XmlPullParser;)I
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/xmlpull/v1/XmlPullParserException;,
Ljava/io/IOException;
}
.end annotation
const-string v0, "schemeIdUri"
const/4 v1, 0x0
.line 727
invoke-static {p1, v0, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseString(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "urn:mpeg:dash:23003:3:audio_channel_configuration:2011"
.line 728
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
const/4 v2, -0x1
if-eqz v1, :cond_17
const-string v0, "value"
.line 729
invoke-static {p1, v0, v2}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v2
goto :goto_23
:cond_17
const-string v1, "tag:dolby.com,2014:dash:audio_channel_configuration:2011"
.line 730
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_23
.line 731
invoke-static {p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseDolbyChannelConfiguration(Lorg/xmlpull/v1/XmlPullParser;)I
move-result v2
.line 733
:cond_23
:goto_23
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
const-string v0, "AudioChannelConfiguration"
.line 734
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
return v2
.end method
.method protected parseContentProtection(Lorg/xmlpull/v1/XmlPullParser;)Landroid/util/Pair;
.registers 12
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/xmlpull/v1/XmlPullParser;",
")",
"Landroid/util/Pair<",
"Ljava/lang/String;",
"Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/xmlpull/v1/XmlPullParserException;,
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
const-string v1, "schemeIdUri"
.line 353
invoke-interface {p1, v0, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const/4 v2, 0x1
const/4 v3, 0x0
if-eqz v1, :cond_81
.line 355
invoke-static {v1}, Lcom/google/android/exoplayer2/util/Util;->toLowerInvariant(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const/4 v4, -0x1
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
move-result v5
const v6, 0x1d2c5beb
const/4 v7, 0x2
if-eq v5, v6, :cond_39
const v6, 0x2d06c692
if-eq v5, v6, :cond_2f
const v6, 0x6c0c9d2a
if-eq v5, v6, :cond_25
goto :goto_42
:cond_25
const-string v5, "urn:mpeg:dash:mp4protection:2011"
invoke-virtual {v1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_42
const/4 v4, 0x0
goto :goto_42
:cond_2f
const-string v5, "urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"
invoke-virtual {v1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_42
const/4 v4, 0x2
goto :goto_42
:cond_39
const-string v5, "urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"
invoke-virtual {v1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_42
const/4 v4, 0x1
:cond_42
:goto_42
if-eqz v4, :cond_50
if-eq v4, v2, :cond_4c
if-eq v4, v7, :cond_49
goto :goto_81
.line 369
:cond_49
sget-object v1, Lcom/google/android/exoplayer2/C;->WIDEVINE_UUID:Ljava/util/UUID;
goto :goto_4e
.line 366
:cond_4c
sget-object v1, Lcom/google/android/exoplayer2/C;->PLAYREADY_UUID:Ljava/util/UUID;
:goto_4e
move-object v4, v0
goto :goto_83
:cond_50
const-string v1, "value"
.line 357
invoke-interface {p1, v0, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v4, "cenc:default_KID"
.line 358
invoke-interface {p1, v0, v4}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
if-eqz v4, :cond_7c
const-string v5, "00000000-0000-0000-0000-000000000000"
.line 359
invoke-virtual {v5, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-nez v5, :cond_7c
.line 360
invoke-static {v4}, Ljava/util/UUID;->fromString(Ljava/lang/String;)Ljava/util/UUID;
move-result-object v4
.line 361
sget-object v5, Lcom/google/android/exoplayer2/C;->COMMON_PSSH_UUID:Ljava/util/UUID;
new-array v6, v2, [Ljava/util/UUID;
aput-object v4, v6, v3
invoke-static {v5, v6, v0}, Lcom/google/android/exoplayer2/extractor/mp4/PsshAtomUtil;->buildPsshAtom(Ljava/util/UUID;[Ljava/util/UUID;[B)[B
move-result-object v4
.line 362
sget-object v5, Lcom/google/android/exoplayer2/C;->COMMON_PSSH_UUID:Ljava/util/UUID;
const/4 v6, 0x0
move-object v9, v4
move-object v4, v1
move-object v1, v5
move-object v5, v9
goto :goto_85
:cond_7c
move-object v5, v0
move-object v4, v1
const/4 v6, 0x0
move-object v1, v5
goto :goto_85
:cond_81
:goto_81
move-object v1, v0
move-object v4, v1
:goto_83
move-object v5, v4
const/4 v6, 0x0
.line 377
:cond_85
:goto_85
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
const-string v7, "widevine:license"
.line 378
invoke-static {p1, v7}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v7
if-eqz v7, :cond_a4
const-string v6, "robustness_level"
.line 379
invoke-interface {p1, v0, v6}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
if-eqz v6, :cond_a2
const-string v7, "HW"
.line 380
invoke-virtual {v6, v7}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v6
if-eqz v6, :cond_a2
const/4 v6, 0x1
goto :goto_f1
:cond_a2
const/4 v6, 0x0
goto :goto_f1
:cond_a4
if-nez v5, :cond_f1
const-string v7, "cenc:pssh"
.line 382
invoke-static {p1, v7}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v7
const/4 v8, 0x4
if-eqz v7, :cond_d1
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
move-result v7
if-ne v7, v8, :cond_d1
.line 384
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;
move-result-object v1
invoke-static {v1, v3}, Landroid/util/Base64;->decode(Ljava/lang/String;I)[B
move-result-object v1
.line 385
invoke-static {v1}, Lcom/google/android/exoplayer2/extractor/mp4/PsshAtomUtil;->parseUuid([B)Ljava/util/UUID;
move-result-object v5
if-nez v5, :cond_cd
const-string v1, "MpdParser"
const-string v7, "Skipping malformed cenc:pssh data"
.line 387
invoke-static {v1, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
move-object v1, v5
move-object v5, v0
goto :goto_f1
:cond_cd
move-object v9, v5
move-object v5, v1
move-object v1, v9
goto :goto_f1
.line 390
:cond_d1
sget-object v7, Lcom/google/android/exoplayer2/C;->PLAYREADY_UUID:Ljava/util/UUID;
if-ne v1, v7, :cond_f1
const-string v7, "mspr:pro"
invoke-static {p1, v7}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v7
if-eqz v7, :cond_f1
.line 391
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
move-result v7
if-ne v7, v8, :cond_f1
.line 393
sget-object v5, Lcom/google/android/exoplayer2/C;->PLAYREADY_UUID:Ljava/util/UUID;
.line 394
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;
move-result-object v7
invoke-static {v7, v3}, Landroid/util/Base64;->decode(Ljava/lang/String;I)[B
move-result-object v7
.line 393
invoke-static {v5, v7}, Lcom/google/android/exoplayer2/extractor/mp4/PsshAtomUtil;->buildPsshAtom(Ljava/util/UUID;[B)[B
move-result-object v5
:cond_f1
:goto_f1
const-string v7, "ContentProtection"
.line 397
invoke-static {p1, v7}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isEndTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v7
if-eqz v7, :cond_85
if-eqz v1, :cond_102
.line 398
new-instance v0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
const-string p1, "video/mp4"
invoke-direct {v0, v1, p1, v5, v6}, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;-><init>(Ljava/util/UUID;Ljava/lang/String;[BZ)V
.line 400
:cond_102
invoke-static {v4, v0}, Landroid/util/Pair;->create(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair;
move-result-object p1
return-object p1
.end method
.method protected parseContentType(Lorg/xmlpull/v1/XmlPullParser;)I
.registers 4
const/4 v0, 0x0
const-string v1, "contentType"
.line 315
invoke-interface {p1, v0, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
.line 316
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_2b
const-string v0, "audio"
.line 317
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_17
const/4 p1, 0x1
return p1
:cond_17
const-string v0, "video"
.line 318
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_21
const/4 p1, 0x2
return p1
:cond_21
const-string v0, "text"
.line 319
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_2b
const/4 p1, 0x3
return p1
:cond_2b
const/4 p1, -0x1
return p1
.end method
.method protected parseInitialization(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
.registers 4
const-string v0, "sourceURL"
const-string v1, "range"
.line 696
invoke-virtual {p0, p1, v0, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseRangedUrl(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;)Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
move-result-object p1
return-object p1
.end method
.method protected parseMediaPresentationDescription(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
.registers 32
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/xmlpull/v1/XmlPullParserException;,
Ljava/io/IOException;
}
.end annotation
move-object/from16 v0, p1
const-wide v1, -0x7fffffffffffffffL # -4.9E-324
const-string v3, "availabilityStartTime"
.line 107
invoke-static {v0, v3, v1, v2}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseDateTime(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v5
const-string v3, "mediaPresentationDuration"
.line 108
invoke-static {v0, v3, v1, v2}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseDuration(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v3
const-string v7, "minBufferTime"
.line 109
invoke-static {v0, v7, v1, v2}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseDuration(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v9
const/4 v7, 0x0
const-string v8, "type"
.line 110
invoke-interface {v0, v7, v8}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
const/4 v12, 0x0
if-eqz v8, :cond_2d
const-string v13, "dynamic"
.line 111
invoke-virtual {v8, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_2d
const/4 v13, 0x1
goto :goto_2e
:cond_2d
const/4 v13, 0x0
:goto_2e
if-eqz v13, :cond_37
const-string v8, "minimumUpdatePeriod"
.line 112
invoke-static {v0, v8, v1, v2}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseDuration(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v14
goto :goto_38
:cond_37
move-wide v14, v1
:goto_38
if-eqz v13, :cond_41
const-string v8, "timeShiftBufferDepth"
.line 115
invoke-static {v0, v8, v1, v2}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseDuration(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v16
goto :goto_43
:cond_41
move-wide/from16 v16, v1
:goto_43
if-eqz v13, :cond_4c
const-string v8, "suggestedPresentationDelay"
.line 117
invoke-static {v0, v8, v1, v2}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseDuration(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v18
goto :goto_4e
:cond_4c
move-wide/from16 v18, v1
.line 121
:goto_4e
new-instance v8, Ljava/util/ArrayList;
invoke-direct {v8}, Ljava/util/ArrayList;-><init>()V
if-eqz v13, :cond_58
move-wide/from16 v20, v1
goto :goto_5a
:cond_58
const-wide/16 v20, 0x0
:goto_5a
move-wide/from16 v11, v20
const/16 v21, 0x0
const/16 v22, 0x0
move-object/from16 v20, v7
move-object/from16 v7, p2
move-object/from16 p2, v20
.line 126
:goto_66
invoke-interface/range {p1 .. p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
const-string v1, "BaseURL"
.line 127
invoke-static {v0, v1}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_86
if-nez v21, :cond_80
.line 129
invoke-static {v0, v7}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseBaseUrl(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
move-object v7, v1
move-wide/from16 v27, v14
const/16 v21, 0x1
:goto_7c
move-object/from16 v1, p2
goto/16 :goto_114
:cond_80
move-wide/from16 v25, v11
move-wide/from16 v27, v14
goto/16 :goto_110
:cond_86
const-string v1, "UTCTiming"
.line 132
invoke-static {v0, v1}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_96
.line 133
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseUtcTiming(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/source/dash/manifest/UtcTimingElement;
move-result-object v1
move-wide/from16 v27, v14
goto/16 :goto_114
:cond_96
const-string v1, "Location"
.line 134
invoke-static {v0, v1}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_ab
.line 135
invoke-interface/range {p1 .. p1}, Lorg/xmlpull/v1/XmlPullParser;->nextText()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
move-object/from16 v20, v1
move-wide/from16 v27, v14
goto :goto_7c
:cond_ab
const-string v1, "Period"
.line 136
invoke-static {v0, v1}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_80
if-nez v22, :cond_80
move-object/from16 v1, p0
.line 137
invoke-virtual {v1, v0, v7, v11, v12}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parsePeriod(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)Landroid/util/Pair;
move-result-object v2
.line 138
iget-object v1, v2, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v1, Lcom/google/android/exoplayer2/source/dash/manifest/Period;
move-wide/from16 v25, v11
.line 139
iget-wide v11, v1, Lcom/google/android/exoplayer2/source/dash/manifest/Period;->startMs:J
const-wide v23, -0x7fffffffffffffffL # -4.9E-324
cmp-long v27, v11, v23
if-nez v27, :cond_ef
if-eqz v13, :cond_d7
move-object/from16 v1, p2
move-wide/from16 v27, v14
move-wide/from16 v11, v25
const/16 v22, 0x1
goto :goto_114
.line 145
:cond_d7
new-instance v0, Lcom/google/android/exoplayer2/ParserException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Unable to determine start of period "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-interface {v8}, Ljava/util/List;->size()I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw v0
.line 148
:cond_ef
iget-object v2, v2, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v2, Ljava/lang/Long;
invoke-virtual {v2}, Ljava/lang/Long;->longValue()J
move-result-wide v11
const-wide v23, -0x7fffffffffffffffL # -4.9E-324
cmp-long v2, v11, v23
move-wide/from16 v27, v14
if-nez v2, :cond_108
const-wide v11, -0x7fffffffffffffffL # -4.9E-324
goto :goto_10b
.line 149
:cond_108
iget-wide v14, v1, Lcom/google/android/exoplayer2/source/dash/manifest/Period;->startMs:J
add-long/2addr v11, v14
.line 151
:goto_10b
invoke-interface {v8, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto/16 :goto_7c
:goto_110
move-object/from16 v1, p2
move-wide/from16 v11, v25
:goto_114
const-string v2, "MPD"
.line 154
invoke-static {v0, v2}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isEndTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_15a
const-wide v14, -0x7fffffffffffffffL # -4.9E-324
cmp-long v0, v3, v14
if-nez v0, :cond_135
cmp-long v0, v11, v14
if-eqz v0, :cond_12a
goto :goto_136
:cond_12a
if-eqz v13, :cond_12d
goto :goto_135
.line 161
:cond_12d
new-instance v0, Lcom/google/android/exoplayer2/ParserException;
const-string v1, "Unable to determine duration of static manifest."
invoke-direct {v0, v1}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw v0
:cond_135
:goto_135
move-wide v11, v3
.line 165
:goto_136
invoke-interface {v8}, Ljava/util/List;->isEmpty()Z
move-result v0
if-nez v0, :cond_152
move-object/from16 v4, p0
move-object v2, v8
move-wide v7, v11
move v11, v13
move-wide/from16 v12, v27
move-wide/from16 v14, v16
move-wide/from16 v16, v18
move-object/from16 v18, v1
move-object/from16 v19, v20
move-object/from16 v20, v2
.line 169
invoke-virtual/range {v4 .. v20}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->buildMediaPresentationDescription(JJJZJJJLcom/google/android/exoplayer2/source/dash/manifest/UtcTimingElement;Landroid/net/Uri;Ljava/util/List;)Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
move-result-object v0
return-object v0
.line 166
:cond_152
new-instance v0, Lcom/google/android/exoplayer2/ParserException;
const-string v1, "No periods found."
invoke-direct {v0, v1}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw v0
:cond_15a
move-object/from16 p2, v1
move-wide/from16 v14, v27
const-wide v1, -0x7fffffffffffffffL # -4.9E-324
goto/16 :goto_66
.end method
.method protected parsePeriod(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)Landroid/util/Pair;
.registers 13
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/xmlpull/v1/XmlPullParser;",
"Ljava/lang/String;",
"J)",
"Landroid/util/Pair<",
"Lcom/google/android/exoplayer2/source/dash/manifest/Period;",
"Ljava/lang/Long;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/xmlpull/v1/XmlPullParserException;,
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
const-string v1, "id"
.line 195
invoke-interface {p1, v0, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "start"
.line 196
invoke-static {p1, v2, p3, p4}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseDuration(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide p3
const-string v2, "duration"
const-wide v3, -0x7fffffffffffffffL # -4.9E-324
.line 197
invoke-static {p1, v2, v3, v4}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseDuration(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v2
.line 199
new-instance v4, Ljava/util/ArrayList;
invoke-direct {v4}, Ljava/util/ArrayList;-><init>()V
const/4 v5, 0x0
move-object v6, v0
.line 202
:cond_1f
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
const-string v7, "BaseURL"
.line 203
invoke-static {p1, v7}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v7
if-eqz v7, :cond_32
if-nez v5, :cond_68
.line 205
invoke-static {p1, p2}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseBaseUrl(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
const/4 v5, 0x1
goto :goto_68
:cond_32
const-string v7, "AdaptationSet"
.line 208
invoke-static {p1, v7}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v7
if-eqz v7, :cond_42
.line 209
invoke-virtual {p0, p1, p2, v6}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseAdaptationSet(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase;)Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;
move-result-object v7
invoke-interface {v4, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_68
:cond_42
const-string v7, "SegmentBase"
.line 210
invoke-static {p1, v7}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v7
if-eqz v7, :cond_4f
.line 211
invoke-virtual {p0, p1, v0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseSegmentBase(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;
move-result-object v6
goto :goto_68
:cond_4f
const-string v7, "SegmentList"
.line 212
invoke-static {p1, v7}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v7
if-eqz v7, :cond_5c
.line 213
invoke-virtual {p0, p1, v0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseSegmentList(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;
move-result-object v6
goto :goto_68
:cond_5c
const-string v7, "SegmentTemplate"
.line 214
invoke-static {p1, v7}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v7
if-eqz v7, :cond_68
.line 215
invoke-virtual {p0, p1, v0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseSegmentTemplate(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;
move-result-object v6
:cond_68
:goto_68
const-string v7, "Period"
.line 217
invoke-static {p1, v7}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isEndTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v7
if-eqz v7, :cond_1f
.line 219
invoke-virtual {p0, v1, p3, p4, v4}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->buildPeriod(Ljava/lang/String;JLjava/util/List;)Lcom/google/android/exoplayer2/source/dash/manifest/Period;
move-result-object p1
invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p2
invoke-static {p1, p2}, Landroid/util/Pair;->create(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair;
move-result-object p1
return-object p1
.end method
.method protected parseRangedUrl(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;)Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
.registers 11
const/4 v0, 0x0
.line 705
invoke-interface {p1, v0, p2}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 708
invoke-interface {p1, v0, p3}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
const-wide/16 p2, -0x1
if-eqz p1, :cond_2b
const-string v0, "-"
.line 710
invoke-virtual {p1, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object p1
const/4 v0, 0x0
.line 711
aget-object v0, p1, v0
invoke-static {v0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v0
.line 712
array-length v3, p1
const/4 v4, 0x2
if-ne v3, v4, :cond_2d
const/4 p2, 0x1
.line 713
aget-object p1, p1, p2
invoke-static {p1}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide p1
sub-long/2addr p1, v0
const-wide/16 v3, 0x1
add-long/2addr p1, v3
move-wide v5, p1
goto :goto_2e
:cond_2b
const-wide/16 v0, 0x0
:cond_2d
move-wide v5, p2
:goto_2e
move-wide v3, v0
move-object v1, p0
.line 716
invoke-virtual/range {v1 .. v6}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->buildRangedUri(Ljava/lang/String;JJ)Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
move-result-object p1
return-object p1
.end method
.method protected parseRepresentation(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIFIILjava/lang/String;ILjava/util/List;Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase;)Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;
.registers 34
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/xmlpull/v1/XmlPullParser;",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/lang/String;",
"IIFII",
"Ljava/lang/String;",
"I",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;",
">;",
"Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase;",
")",
"Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/xmlpull/v1/XmlPullParserException;,
Ljava/io/IOException;
}
.end annotation
move-object/from16 v13, p0
move-object/from16 v0, p1
const/4 v1, 0x0
const-string v2, "id"
.line 442
invoke-interface {v0, v1, v2}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
const-string v3, "bandwidth"
const/4 v4, -0x1
.line 443
invoke-static {v0, v3, v4}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v8
const-string v3, "mimeType"
move-object/from16 v4, p3
.line 445
invoke-static {v0, v3, v4}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseString(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
const-string v4, "codecs"
move-object/from16 v5, p4
.line 446
invoke-static {v0, v4, v5}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseString(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v12
const-string v4, "width"
move/from16 v5, p5
.line 447
invoke-static {v0, v4, v5}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v4
const-string v5, "height"
move/from16 v6, p6
.line 448
invoke-static {v0, v5, v6}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v5
move/from16 v6, p7
.line 449
invoke-static {v0, v6}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseFrameRate(Lorg/xmlpull/v1/XmlPullParser;F)F
move-result v6
const-string v7, "audioSamplingRate"
move/from16 v9, p9
.line 451
invoke-static {v0, v7, v9}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v7
.line 453
new-instance v14, Ljava/util/ArrayList;
invoke-direct {v14}, Ljava/util/ArrayList;-><init>()V
.line 454
new-instance v15, Ljava/util/ArrayList;
invoke-direct {v15}, Ljava/util/ArrayList;-><init>()V
const/4 v9, 0x0
move/from16 v9, p8
move-object/from16 v10, p13
move-object v11, v1
const/16 v16, 0x0
move-object/from16 v1, p2
.line 458
:goto_54
invoke-interface/range {p1 .. p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
move/from16 p2, v9
const-string v9, "BaseURL"
.line 459
invoke-static {v0, v9}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v9
if-eqz v9, :cond_77
if-nez v16, :cond_73
.line 461
invoke-static {v0, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseBaseUrl(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const/4 v9, 0x1
move/from16 v9, p2
move-object/from16 v16, v1
move-object/from16 v17, v10
move-object/from16 v18, v11
const/4 v1, 0x1
goto/16 :goto_fe
:cond_73
move-object/from16 p3, v1
goto/16 :goto_f4
:cond_77
const-string v9, "AudioChannelConfiguration"
.line 464
invoke-static {v0, v9}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v9
if-eqz v9, :cond_8f
.line 465
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseAudioChannelConfiguration(Lorg/xmlpull/v1/XmlPullParser;)I
move-result v9
move-object/from16 v17, v10
move-object/from16 v18, v11
:goto_87
move/from16 v19, v16
move-object/from16 v16, v1
move/from16 v1, v19
goto/16 :goto_fe
:cond_8f
const-string v9, "SegmentBase"
.line 466
invoke-static {v0, v9}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v9
if-eqz v9, :cond_a4
.line 467
check-cast v10, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;
invoke-virtual {v13, v0, v10}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseSegmentBase(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;
move-result-object v9
:goto_9d
move-object/from16 v17, v9
move-object/from16 v18, v11
move/from16 v9, p2
goto :goto_87
:cond_a4
const-string v9, "SegmentList"
.line 468
invoke-static {v0, v9}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v9
if-eqz v9, :cond_b3
.line 469
check-cast v10, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;
invoke-virtual {v13, v0, v10}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseSegmentList(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;
move-result-object v9
goto :goto_9d
:cond_b3
const-string v9, "SegmentTemplate"
.line 470
invoke-static {v0, v9}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v9
if-eqz v9, :cond_c2
.line 471
check-cast v10, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;
invoke-virtual {v13, v0, v10}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseSegmentTemplate(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;
move-result-object v9
goto :goto_9d
:cond_c2
const-string v9, "ContentProtection"
.line 472
invoke-static {v0, v9}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v9
if-eqz v9, :cond_e3
.line 473
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseContentProtection(Lorg/xmlpull/v1/XmlPullParser;)Landroid/util/Pair;
move-result-object v9
move-object/from16 p3, v1
.line 474
iget-object v1, v9, Landroid/util/Pair;->first:Ljava/lang/Object;
if-eqz v1, :cond_d9
.line 475
iget-object v1, v9, Landroid/util/Pair;->first:Ljava/lang/Object;
move-object v11, v1
check-cast v11, Ljava/lang/String;
.line 477
:cond_d9
iget-object v1, v9, Landroid/util/Pair;->second:Ljava/lang/Object;
if-eqz v1, :cond_f4
.line 478
iget-object v1, v9, Landroid/util/Pair;->second:Ljava/lang/Object;
invoke-virtual {v14, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_f4
:cond_e3
move-object/from16 p3, v1
const-string v1, "InbandEventStream"
.line 480
invoke-static {v0, v1}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v9
if-eqz v9, :cond_f4
.line 481
invoke-static {v0, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseDescriptor(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;
move-result-object v1
invoke-virtual {v15, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_f4
:goto_f4
move/from16 v9, p2
move-object/from16 v17, v10
move-object/from16 v18, v11
move/from16 v1, v16
move-object/from16 v16, p3
:goto_fe
const-string v10, "Representation"
.line 483
invoke-static {v0, v10}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isEndTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v10
if-eqz v10, :cond_136
move-object/from16 v0, p0
move-object v1, v2
move-object v2, v3
move v3, v4
move v4, v5
move v5, v6
move v6, v9
move-object/from16 v9, p10
move/from16 v10, p11
move-object/from16 v11, p12
.line 485
invoke-virtual/range {v0 .. v12}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->buildFormat(Ljava/lang/String;Ljava/lang/String;IIFIIILjava/lang/String;ILjava/util/List;Ljava/lang/String;)Lcom/google/android/exoplayer2/Format;
move-result-object v0
if-eqz v17, :cond_11d
move-object/from16 v1, v17
goto :goto_122
.line 488
:cond_11d
new-instance v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;
invoke-direct {v1}, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;-><init>()V
.line 490
:goto_122
new-instance v2, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;
move-object/from16 p1, v2
move-object/from16 p2, v0
move-object/from16 p3, v16
move-object/from16 p4, v1
move-object/from16 p5, v18
move-object/from16 p6, v14
move-object/from16 p7, v15
invoke-direct/range {p1 .. p7}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;-><init>(Lcom/google/android/exoplayer2/Format;Ljava/lang/String;Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase;Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;)V
return-object v2
:cond_136
move-object/from16 v10, v17
move-object/from16 v11, v18
move-object/from16 v19, v16
move/from16 v16, v1
move-object/from16 v1, v19
goto/16 :goto_54
.end method
.method protected parseRole(Lorg/xmlpull/v1/XmlPullParser;)I
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/xmlpull/v1/XmlPullParserException;,
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
const-string v1, "schemeIdUri"
.line 412
invoke-static {p1, v1, v0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseString(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "value"
.line 413
invoke-static {p1, v2, v0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseString(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 415
:cond_d
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
const-string v2, "Role"
.line 416
invoke-static {p1, v2}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isEndTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_d
const-string p1, "urn:mpeg:dash:role:2011"
.line 417
invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_2a
const-string p1, "main"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_2a
const/4 p1, 0x1
return p1
:cond_2a
const/4 p1, 0x0
return p1
.end method
.method protected parseSegmentBase(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;
.registers 20
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/xmlpull/v1/XmlPullParserException;,
Ljava/io/IOException;
}
.end annotation
move-object/from16 v0, p1
move-object/from16 v1, p2
const-wide/16 v2, 0x1
if-eqz v1, :cond_b
.line 547
iget-wide v4, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;->timescale:J
goto :goto_c
:cond_b
move-wide v4, v2
:goto_c
const-string v6, "timescale"
invoke-static {v0, v6, v4, v5}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseLong(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v9
const-wide/16 v4, 0x0
if-eqz v1, :cond_19
.line 548
iget-wide v6, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;->presentationTimeOffset:J
goto :goto_1a
:cond_19
move-wide v6, v4
:goto_1a
const-string v8, "presentationTimeOffset"
invoke-static {v0, v8, v6, v7}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseLong(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v11
if-eqz v1, :cond_25
.line 551
iget-wide v6, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;->indexStart:J
goto :goto_26
:cond_25
move-wide v6, v4
:goto_26
if-eqz v1, :cond_2a
.line 552
iget-wide v4, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;->indexLength:J
:cond_2a
const/4 v8, 0x0
const-string v13, "indexRange"
.line 553
invoke-interface {v0, v8, v13}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v13
if-eqz v13, :cond_4c
const-string v4, "-"
.line 555
invoke-virtual {v13, v4}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v4
const/4 v5, 0x0
.line 556
aget-object v5, v4, v5
invoke-static {v5}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v5
const/4 v7, 0x1
.line 557
aget-object v4, v4, v7
invoke-static {v4}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v13
sub-long/2addr v13, v5
add-long/2addr v13, v2
move-wide v15, v13
move-wide v13, v5
goto :goto_4e
:cond_4c
move-wide v15, v4
move-wide v13, v6
:goto_4e
if-eqz v1, :cond_52
.line 560
iget-object v8, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;->initialization:Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
.line 562
:cond_52
invoke-interface/range {p1 .. p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
const-string v1, "Initialization"
.line 563
invoke-static {v0, v1}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_62
.line 564
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInitialization(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
move-result-object v1
move-object v8, v1
:cond_62
const-string v1, "SegmentBase"
.line 566
invoke-static {v0, v1}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isEndTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_52
move-object/from16 v7, p0
.line 568
invoke-virtual/range {v7 .. v16}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->buildSingleSegmentBase(Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;JJJJ)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;
move-result-object v0
return-object v0
.end method
.method protected parseSegmentList(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;
.registers 19
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/xmlpull/v1/XmlPullParserException;,
Ljava/io/IOException;
}
.end annotation
move-object/from16 v0, p1
move-object/from16 v1, p2
if-eqz v1, :cond_9
.line 581
iget-wide v2, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;->timescale:J
goto :goto_b
:cond_9
const-wide/16 v2, 0x1
:goto_b
const-string v4, "timescale"
invoke-static {v0, v4, v2, v3}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseLong(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v7
if-eqz v1, :cond_16
.line 582
iget-wide v2, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;->presentationTimeOffset:J
goto :goto_18
:cond_16
const-wide/16 v2, 0x0
:goto_18
const-string v4, "presentationTimeOffset"
invoke-static {v0, v4, v2, v3}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseLong(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v9
if-eqz v1, :cond_23
.line 584
iget-wide v2, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;->duration:J
goto :goto_28
:cond_23
const-wide v2, -0x7fffffffffffffffL # -4.9E-324
:goto_28
const-string v4, "duration"
invoke-static {v0, v4, v2, v3}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseLong(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v12
if-eqz v1, :cond_33
.line 585
iget v2, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;->startNumber:I
goto :goto_34
:cond_33
const/4 v2, 0x1
:goto_34
const-string v3, "startNumber"
invoke-static {v0, v3, v2}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v11
const/4 v2, 0x0
move-object v3, v2
move-object v4, v3
.line 592
:cond_3d
invoke-interface/range {p1 .. p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
const-string v5, "Initialization"
.line 593
invoke-static {v0, v5}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v5
if-eqz v5, :cond_4d
.line 594
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInitialization(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
move-result-object v3
goto :goto_70
:cond_4d
const-string v5, "SegmentTimeline"
.line 595
invoke-static {v0, v5}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v5
if-eqz v5, :cond_5a
.line 596
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseSegmentTimeline(Lorg/xmlpull/v1/XmlPullParser;)Ljava/util/List;
move-result-object v4
goto :goto_70
:cond_5a
const-string v5, "SegmentURL"
.line 597
invoke-static {v0, v5}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v5
if-eqz v5, :cond_70
if-nez v2, :cond_69
.line 599
new-instance v2, Ljava/util/ArrayList;
invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
.line 601
:cond_69
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseSegmentUrl(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
move-result-object v5
invoke-interface {v2, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:cond_70
:goto_70
const-string v5, "SegmentList"
.line 603
invoke-static {v0, v5}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isEndTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v5
if-eqz v5, :cond_3d
if-eqz v1, :cond_89
if-eqz v3, :cond_7d
goto :goto_7f
.line 606
:cond_7d
iget-object v3, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;->initialization:Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
:goto_7f
if-eqz v4, :cond_82
goto :goto_84
.line 607
:cond_82
iget-object v4, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;->segmentTimeline:Ljava/util/List;
:goto_84
if-eqz v2, :cond_87
goto :goto_89
.line 608
:cond_87
iget-object v2, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;->mediaSegments:Ljava/util/List;
:cond_89
:goto_89
move-object v15, v2
move-object v6, v3
move-object v14, v4
move-object/from16 v5, p0
.line 611
invoke-virtual/range {v5 .. v15}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->buildSegmentList(Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;JJIJLjava/util/List;Ljava/util/List;)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentList;
move-result-object v0
return-object v0
.end method
.method protected parseSegmentTemplate(Lorg/xmlpull/v1/XmlPullParser;Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;
.registers 18
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/xmlpull/v1/XmlPullParserException;,
Ljava/io/IOException;
}
.end annotation
move-object v12, p0
move-object/from16 v0, p1
move-object/from16 v1, p2
if-eqz v1, :cond_a
.line 624
iget-wide v2, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->timescale:J
goto :goto_c
:cond_a
const-wide/16 v2, 0x1
:goto_c
const-string v4, "timescale"
invoke-static {v0, v4, v2, v3}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseLong(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v2
if-eqz v1, :cond_17
.line 625
iget-wide v4, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->presentationTimeOffset:J
goto :goto_19
:cond_17
const-wide/16 v4, 0x0
:goto_19
const-string v6, "presentationTimeOffset"
invoke-static {v0, v6, v4, v5}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseLong(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v4
if-eqz v1, :cond_24
.line 627
iget-wide v6, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->duration:J
goto :goto_29
:cond_24
const-wide v6, -0x7fffffffffffffffL # -4.9E-324
:goto_29
const-string v8, "duration"
invoke-static {v0, v8, v6, v7}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseLong(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v7
if-eqz v1, :cond_34
.line 628
iget v6, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->startNumber:I
goto :goto_35
:cond_34
const/4 v6, 0x1
:goto_35
const-string v9, "startNumber"
invoke-static {v0, v9, v6}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v6
const/4 v9, 0x0
if-eqz v1, :cond_41
.line 629
iget-object v10, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->mediaTemplate:Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;
goto :goto_42
:cond_41
move-object v10, v9
:goto_42
const-string v11, "media"
invoke-virtual {p0, v0, v11, v10}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseUrlTemplate(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;)Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;
move-result-object v11
if-eqz v1, :cond_4d
.line 631
iget-object v10, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->initializationTemplate:Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;
goto :goto_4e
:cond_4d
move-object v10, v9
:goto_4e
const-string v13, "initialization"
invoke-virtual {p0, v0, v13, v10}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseUrlTemplate(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;)Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;
move-result-object v10
move-object v13, v9
.line 638
:cond_55
invoke-interface/range {p1 .. p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
const-string v14, "Initialization"
.line 639
invoke-static {v0, v14}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v14
if-eqz v14, :cond_65
.line 640
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInitialization(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
move-result-object v9
goto :goto_71
:cond_65
const-string v14, "SegmentTimeline"
.line 641
invoke-static {v0, v14}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v14
if-eqz v14, :cond_71
.line 642
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseSegmentTimeline(Lorg/xmlpull/v1/XmlPullParser;)Ljava/util/List;
move-result-object v13
:cond_71
:goto_71
const-string v14, "SegmentTemplate"
.line 644
invoke-static {v0, v14}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isEndTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v14
if-eqz v14, :cond_55
if-eqz v1, :cond_85
if-eqz v9, :cond_7e
goto :goto_80
.line 647
:cond_7e
iget-object v9, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->initialization:Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
:goto_80
if-eqz v13, :cond_83
goto :goto_85
.line 648
:cond_83
iget-object v13, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->segmentTimeline:Ljava/util/List;
:cond_85
:goto_85
move-object v1, v9
move-object v9, v13
move-object v0, p0
.line 651
invoke-virtual/range {v0 .. v11}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->buildSegmentTemplate(Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;JJIJLjava/util/List;Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;
move-result-object v0
return-object v0
.end method
.method protected parseSegmentTimeline(Lorg/xmlpull/v1/XmlPullParser;)Ljava/util/List;
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/xmlpull/v1/XmlPullParser;",
")",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTimelineElement;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/xmlpull/v1/XmlPullParserException;,
Ljava/io/IOException;
}
.end annotation
.line 665
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
const-wide/16 v1, 0x0
.line 668
:cond_7
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
const-string v3, "S"
.line 669
invoke-static {p1, v3}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_39
const-string v3, "t"
.line 670
invoke-static {p1, v3, v1, v2}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseLong(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v1
const-wide v3, -0x7fffffffffffffffL # -4.9E-324
const-string v5, "d"
.line 671
invoke-static {p1, v5, v3, v4}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseLong(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v3
const/4 v5, 0x0
const-string v6, "r"
.line 672
invoke-static {p1, v6, v5}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v6
add-int/lit8 v6, v6, 0x1
:goto_2c
if-ge v5, v6, :cond_39
.line 674
invoke-virtual {p0, v1, v2, v3, v4}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->buildSegmentTimelineElement(JJ)Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTimelineElement;
move-result-object v7
invoke-interface {v0, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-long/2addr v1, v3
add-int/lit8 v5, v5, 0x1
goto :goto_2c
:cond_39
const-string v3, "SegmentTimeline"
.line 678
invoke-static {p1, v3}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isEndTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_7
return-object v0
.end method
.method protected parseSegmentUrl(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
.registers 4
const-string v0, "media"
const-string v1, "mediaRange"
.line 700
invoke-virtual {p0, p1, v0, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseRangedUrl(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;)Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
move-result-object p1
return-object p1
.end method
.method protected parseUrlTemplate(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;)Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;
.registers 5
const/4 v0, 0x0
.line 688
invoke-interface {p1, v0, p2}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
if-eqz p1, :cond_c
.line 690
invoke-static {p1}, Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;->compile(Ljava/lang/String;)Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;
move-result-object p1
return-object p1
:cond_c
return-object p3
.end method
.method protected parseUtcTiming(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/source/dash/manifest/UtcTimingElement;
.registers 5
const/4 v0, 0x0
const-string v1, "schemeIdUri"
.line 184
invoke-interface {p1, v0, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "value"
.line 185
invoke-interface {p1, v0, v2}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
.line 186
invoke-virtual {p0, v1, p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->buildUtcTimingElement(Ljava/lang/String;Ljava/lang/String;)Lcom/google/android/exoplayer2/source/dash/manifest/UtcTimingElement;
move-result-object p1
return-object p1
.end method