DashManifestParser.smali
.class public Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;
.super Lorg/xml/sax/helpers/DefaultHandler;
.source "DashManifestParser.java"
# 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 801
: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 779
: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 getSampleMimeType(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 4
.line 724
invoke-static {p0}, Lcom/google/android/exoplayer2/util/MimeTypes;->isAudio(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_b
.line 725
invoke-static {p1}, Lcom/google/android/exoplayer2/util/MimeTypes;->getAudioMediaMimeType(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.line 726
: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 727
invoke-static {p1}, Lcom/google/android/exoplayer2/util/MimeTypes;->getVideoMediaMimeType(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.line 728
: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 730
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_3d
const-string p0, "stpp"
.line 731
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/jumbo p0, "wvtt"
.line 733
invoke-virtual {p0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_65
const-string p0, "application/x-mp4-vtt"
return-object p0
:cond_3d
const-string v0, "application/x-rawcc"
.line 736
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_65
if-eqz p1, :cond_65
const-string p0, "cea708"
.line 738
invoke-virtual {p1, p0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result p0
if-eqz p0, :cond_52
const-string p0, "application/cea-708"
return-object p0
:cond_52
const-string p0, "eia608"
.line 740
invoke-virtual {p1, p0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result p0
if-nez p0, :cond_62
const-string p0, "cea608"
invoke-virtual {p1, p0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result p0
if-eqz p0, :cond_65
:cond_62
const-string p0, "application/cea-608"
return-object p0
:cond_65
return-object v1
.end method
.method private static mimeTypeIsRawText(Ljava/lang/String;)Z
.registers 2
.line 756
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 757
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 758
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 759
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 760
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
goto :goto_2a
:cond_29
:goto_29
const/4 p0, 0x1
:goto_2a
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 898
invoke-interface {p0}, Lorg/xmlpull/v1/XmlPullParser;->next()I
.line 899
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/SchemeValuePair;",
">;)I"
}
.end annotation
const/4 v0, 0x0
.line 827
:goto_1
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v1
if-ge v0, v1, :cond_4f
.line 828
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/SchemeValuePair;
.line 829
iget-object v2, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SchemeValuePair;->schemeIdUri:Ljava/lang/String;
const-string/jumbo 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_4c
iget-object v2, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SchemeValuePair;->value:Ljava/lang/String;
if-eqz v2, :cond_4c
.line 831
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/SchemeValuePair;->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 832
invoke-virtual {v2}, Ljava/util/regex/Matcher;->matches()Z
move-result v3
if-eqz v3, :cond_34
const/4 p0, 0x1
.line 833
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 835
:cond_34
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Unable to parse CEA-608 channel number from: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SchemeValuePair;->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_4c
add-int/lit8 v0, v0, 0x1
goto :goto_1
:cond_4f
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/SchemeValuePair;",
">;)I"
}
.end annotation
const/4 v0, 0x0
.line 844
:goto_1
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v1
if-ge v0, v1, :cond_4f
.line 845
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/SchemeValuePair;
.line 846
iget-object v2, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SchemeValuePair;->schemeIdUri:Ljava/lang/String;
const-string/jumbo 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_4c
iget-object v2, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SchemeValuePair;->value:Ljava/lang/String;
if-eqz v2, :cond_4c
.line 848
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/SchemeValuePair;->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 849
invoke-virtual {v2}, Ljava/util/regex/Matcher;->matches()Z
move-result v3
if-eqz v3, :cond_34
const/4 p0, 0x1
.line 850
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 852
:cond_34
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Unable to parse CEA-708 service block number from: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SchemeValuePair;->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_4c
add-int/lit8 v0, v0, 0x1
goto :goto_1
:cond_4f
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 888
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 892
: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 parseDuration(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
.registers 5
const/4 v0, 0x0
.line 878
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 882
: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 861
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 863
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 864
invoke-virtual {p0}, Ljava/util/regex/Matcher;->matches()Z
move-result v0
if-eqz v0, :cond_32
const/4 p1, 0x1
.line 865
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 866
invoke-virtual {p0, v0}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object p0
.line 867
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 868
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 903
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
goto :goto_c
.line 904
:cond_8
invoke-static {p0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result p2
:goto_c
return p2
.end method
.method protected static parseLong(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
.registers 5
const/4 v0, 0x0
.line 908
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
goto :goto_c
.line 909
:cond_8
invoke-static {p0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide p2
:goto_c
return-wide p2
.end method
.method protected static parseSchemeValuePair(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Lcom/google/android/exoplayer2/source/dash/manifest/SchemeValuePair;
.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 817
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-string/jumbo v2, "value"
.line 818
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 v1
.line 820
:cond_e
invoke-interface {p0}, Lorg/xmlpull/v1/XmlPullParser;->next()I
.line 821
invoke-static {p0, p1}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isEndTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_e
.line 822
new-instance p0, Lcom/google/android/exoplayer2/source/dash/manifest/SchemeValuePair;
invoke-direct {p0, v0, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/SchemeValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
return-object 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 913
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
goto :goto_9
:cond_8
move-object p2, p0
:goto_9
return-object p2
.end method
# virtual methods
.method protected buildAdaptationSet(IILjava/util/List;Ljava/util/List;)Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;
.registers 6
.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/SchemeValuePair;",
">;)",
"Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;"
}
.end annotation
.line 301
new-instance v0, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;
invoke-direct {v0, p1, p2, p3, p4}, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;-><init>(IILjava/util/List;Ljava/util/List;)V
return-object v0
.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/SchemeValuePair;",
">;",
"Ljava/lang/String;",
")",
"Lcom/google/android/exoplayer2/Format;"
}
.end annotation
move-object v1, p2
move-object/from16 v3, p12
.line 480
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 482
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 483
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 485
: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 486
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 488
: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 490
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_4e
.line 491
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 492
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_5b
.line 493
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 497
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 501
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 698
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/util/ArrayList;Ljava/util/ArrayList;)Lcom/google/android/exoplayer2/source/dash/manifest/Representation;
.registers 13
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;",
"Ljava/lang/String;",
"Ljava/util/ArrayList<",
"Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;",
">;",
"Ljava/util/ArrayList<",
"Lcom/google/android/exoplayer2/source/dash/manifest/SchemeValuePair;",
">;)",
"Lcom/google/android/exoplayer2/source/dash/manifest/Representation;"
}
.end annotation
.line 508
iget-object v0, p1, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;->format:Lcom/google/android/exoplayer2/Format;
.line 509
iget-object v1, p1, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;->drmSchemeDatas:Ljava/util/ArrayList;
.line 510
invoke-virtual {v1, p3}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z
.line 511
invoke-virtual {v1}, Ljava/util/ArrayList;->isEmpty()Z
move-result p3
if-nez p3, :cond_16
.line 512
new-instance p3, Lcom/google/android/exoplayer2/drm/DrmInitData;
invoke-direct {p3, v1}, Lcom/google/android/exoplayer2/drm/DrmInitData;-><init>(Ljava/util/List;)V
invoke-virtual {v0, p3}, Lcom/google/android/exoplayer2/Format;->copyWithDrmInitData(Lcom/google/android/exoplayer2/drm/DrmInitData;)Lcom/google/android/exoplayer2/Format;
move-result-object v0
:cond_16
move-object v4, v0
.line 514
iget-object v7, p1, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;->inbandEventStreams:Ljava/util/ArrayList;
.line 515
invoke-virtual {v7, p4}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z
const-wide/16 v2, -0x1
.line 516
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 596
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 637
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 661
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 552
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 314
iget-object p1, p1, Lcom/google/android/exoplayer2/Format;->sampleMimeType:Ljava/lang/String;
.line 315
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 317
: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 319
: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 321
: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 parseAccessibility(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/source/dash/manifest/SchemeValuePair;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/xmlpull/v1/XmlPullParserException;,
Ljava/io/IOException;
}
.end annotation
const-string v0, "Accessibility"
.line 387
invoke-static {p1, v0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseSchemeValuePair(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Lcom/google/android/exoplayer2/source/dash/manifest/SchemeValuePair;
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 39
.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-string v0, "id"
const/4 v1, -0x1
.line 230
invoke-static {v15, v0, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v13
.line 231
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseContentType(Lorg/xmlpull/v1/XmlPullParser;)I
move-result v0
const/4 v12, 0x0
const-string v2, "mimeType"
.line 233
invoke-interface {v15, v12, v2}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v16
const-string v2, "codecs"
.line 234
invoke-interface {v15, v12, v2}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v17
const-string/jumbo v2, "width"
.line 235
invoke-static {v15, v2, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v18
const-string v2, "height"
.line 236
invoke-static {v15, v2, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v19
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 v20
const-string v2, "audioSamplingRate"
.line 239
invoke-static {v15, v2, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v21
const-string v11, "lang"
.line 240
invoke-interface {v15, v12, v11}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 241
new-instance v10, Ljava/util/ArrayList;
invoke-direct {v10}, Ljava/util/ArrayList;-><init>()V
.line 242
new-instance v9, Ljava/util/ArrayList;
invoke-direct {v9}, Ljava/util/ArrayList;-><init>()V
.line 243
new-instance v8, Ljava/util/ArrayList;
invoke-direct {v8}, Ljava/util/ArrayList;-><init>()V
.line 244
new-instance v7, Ljava/util/ArrayList;
invoke-direct {v7}, Ljava/util/ArrayList;-><init>()V
const/16 v22, 0x0
move-object/from16 v6, p2
move-object/from16 v23, p3
move v5, v0
move-object v4, v2
const/16 v24, -0x1
const/16 v25, 0x0
const/16 v26, 0x0
.line 249
:goto_5d
invoke-interface/range {p1 .. p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
const-string v0, "BaseURL"
.line 250
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_96
if-nez v25, :cond_82
.line 252
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 v25, 0x1
move-object v6, v0
:goto_71
move-object/from16 v27, v4
:goto_73
move-object v2, v7
move-object/from16 p2, v8
move-object v4, v9
move-object/from16 v31, v10
move-object/from16 v32, v11
move-object/from16 v33, v12
move/from16 v34, v13
move-object v1, v15
goto/16 :goto_1b3
:cond_82
:goto_82
move-object/from16 v27, v4
move v3, v5
move-object/from16 v28, v6
move-object v2, v7
move-object/from16 p2, v8
move-object v4, v9
move-object/from16 v31, v10
move-object/from16 v32, v11
move-object/from16 v33, v12
move/from16 v34, v13
move-object v1, v15
goto/16 :goto_1b0
:cond_96
const-string v0, "ContentProtection"
.line 255
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_a8
.line 256
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseContentProtection(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
move-result-object v0
if-eqz v0, :cond_82
.line 258
invoke-virtual {v10, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_82
:cond_a8
const-string v0, "ContentComponent"
.line 260
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_c4
.line 261
invoke-interface {v15, v12, v11}, 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 262
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/from16 v27, v0
move v5, v1
goto :goto_73
:cond_c4
const-string v0, "Role"
.line 263
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_d3
.line 264
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseRole(Lorg/xmlpull/v1/XmlPullParser;)I
move-result v0
or-int v26, v26, v0
goto :goto_71
:cond_d3
const-string v0, "AudioChannelConfiguration"
.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_e2
.line 266
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseAudioChannelConfiguration(Lorg/xmlpull/v1/XmlPullParser;)I
move-result v0
move/from16 v24, v0
goto :goto_71
:cond_e2
const-string v0, "Accessibility"
.line 267
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_f2
.line 268
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseAccessibility(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/source/dash/manifest/SchemeValuePair;
move-result-object v0
invoke-virtual {v8, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_82
:cond_f2
const-string v0, "Representation"
.line 269
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_144
move-object/from16 v0, p0
move-object/from16 v1, p1
move-object v2, v6
move-object/from16 v3, v16
move-object/from16 v27, v4
move-object/from16 v4, v17
move v15, v5
move/from16 v5, v18
move-object/from16 v28, v6
move/from16 v6, v19
move-object/from16 v29, v7
move/from16 v7, v20
move-object/from16 p2, v8
move/from16 v8, v24
move-object/from16 v30, v9
move/from16 v9, v21
move-object/from16 v31, v10
move-object/from16 v10, v27
move-object/from16 v32, v11
move/from16 v11, v26
move-object/from16 v33, v12
move-object/from16 v12, p2
move/from16 v34, v13
move-object/from16 v13, v23
.line 270
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 273
iget-object v1, v0, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;->format:Lcom/google/android/exoplayer2/Format;
.line 274
invoke-virtual {v14, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->getContentType(Lcom/google/android/exoplayer2/Format;)I
move-result v1
.line 273
invoke-static {v15, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->checkContentTypeConsistency(II)I
move-result v1
move-object/from16 v2, v29
.line 275
invoke-interface {v2, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
move v5, v1
move-object/from16 v6, v28
move-object/from16 v4, v30
move-object/from16 v1, p1
goto/16 :goto_1b3
:cond_144
move-object/from16 v27, v4
move v15, v5
move-object/from16 v28, v6
move-object v2, v7
move-object/from16 p2, v8
move-object/from16 v30, v9
move-object/from16 v31, v10
move-object/from16 v32, v11
move-object/from16 v33, v12
move/from16 v34, v13
const-string v0, "SegmentBase"
move-object/from16 v1, p1
move v3, v15
.line 276
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_171
.line 277
move-object/from16 v0, v23
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_169
move-object/from16 v23, v0
move v5, v3
move-object/from16 v6, v28
move-object/from16 v4, v30
goto :goto_1b3
:cond_171
const-string v0, "SegmentList"
.line 278
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_182
.line 279
move-object/from16 v0, v23
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_169
:cond_182
const-string v0, "SegmentTemplate"
.line 280
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_193
.line 281
move-object/from16 v0, v23
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_169
:cond_193
const-string v0, "InbandEventStream"
.line 282
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_1a5
.line 283
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInbandEventStream(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/source/dash/manifest/SchemeValuePair;
move-result-object v0
move-object/from16 v4, v30
invoke-virtual {v4, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_1b0
:cond_1a5
move-object/from16 v4, v30
.line 284
invoke-static/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;)Z
move-result v0
if-eqz v0, :cond_1b0
.line 285
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseAdaptationSetChild(Lorg/xmlpull/v1/XmlPullParser;)V
:cond_1b0
:goto_1b0
move v5, v3
move-object/from16 v6, v28
:goto_1b3
const-string v0, "AdaptationSet"
.line 287
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_1e8
.line 290
new-instance v0, Ljava/util/ArrayList;
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v1
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
const/4 v1, 0x0
.line 291
:goto_1c5
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v3
if-ge v1, v3, :cond_1df
.line 292
invoke-interface {v2, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;
iget-object v6, v14, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->contentId:Ljava/lang/String;
move-object/from16 v7, v31
invoke-virtual {v14, v3, v6, v7, v4}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->buildRepresentation(Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser$RepresentationInfo;Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;)Lcom/google/android/exoplayer2/source/dash/manifest/Representation;
move-result-object v3
invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 v1, v1, 0x1
goto :goto_1c5
:cond_1df
move-object/from16 v8, p2
move/from16 v3, v34
.line 296
invoke-virtual {v14, v3, v5, v0, v8}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->buildAdaptationSet(IILjava/util/List;Ljava/util/List;)Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;
move-result-object v0
return-object v0
:cond_1e8
move-object/from16 v8, p2
move-object v15, v1
move-object v7, v2
move-object v9, v4
move-object/from16 v4, v27
move-object/from16 v10, v31
move-object/from16 v11, v32
move-object/from16 v12, v33
move/from16 v13, v34
goto/16 :goto_5d
.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 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/xmlpull/v1/XmlPullParserException;,
Ljava/io/IOException;
}
.end annotation
const-string v0, "schemeIdUri"
const/4 v1, 0x0
.line 705
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/jumbo v1, "urn:mpeg:dash:23003:3:audio_channel_configuration:2011"
.line 706
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
const/4 v1, -0x1
if-eqz v0, :cond_18
const-string/jumbo v0, "value"
.line 707
invoke-static {p1, v0, v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v1
.line 709
:cond_18
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
const-string v0, "AudioChannelConfiguration"
.line 710
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_18
return v1
.end method
.method protected parseContentProtection(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
.registers 11
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/xmlpull/v1/XmlPullParserException;,
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
const/4 v1, 0x0
move-object v2, v1
move-object v4, v2
const/4 v3, 0x0
const/4 v5, 0x0
.line 343
:cond_6
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
const-string v6, "cenc:pssh"
.line 345
invoke-static {p1, v6}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v6
const/4 v7, 0x1
if-eqz v6, :cond_27
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
move-result v6
const/4 v8, 0x4
if-ne v6, v8, :cond_27
.line 347
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;
move-result-object v2
invoke-static {v2, v0}, Landroid/util/Base64;->decode(Ljava/lang/String;I)[B
move-result-object v4
.line 348
invoke-static {v4}, Lcom/google/android/exoplayer2/extractor/mp4/PsshAtomUtil;->parseUuid([B)Ljava/util/UUID;
move-result-object v2
const/4 v3, 0x1
goto :goto_43
:cond_27
const-string/jumbo v6, "widevine:license"
.line 349
invoke-static {p1, v6}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v6
if-eqz v6, :cond_43
const-string v5, "robustness_level"
.line 350
invoke-interface {p1, v1, v5}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v5
if-eqz v5, :cond_42
const-string v6, "HW"
.line 351
invoke-virtual {v5, v6}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v5
if-eqz v5, :cond_42
const/4 v5, 0x1
goto :goto_43
:cond_42
const/4 v5, 0x0
:cond_43
:goto_43
const-string v6, "ContentProtection"
.line 353
invoke-static {p1, v6}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isEndTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v6
if-eqz v6, :cond_6
if-nez v3, :cond_4e
return-object v1
:cond_4e
if-eqz v2, :cond_59
.line 357
new-instance p1, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
const-string/jumbo v0, "video/mp4"
invoke-direct {p1, v2, v0, v4, v5}, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;-><init>(Ljava/util/UUID;Ljava/lang/String;[BZ)V
return-object p1
:cond_59
const-string p1, "MpdParser"
const-string v0, "Skipped unsupported ContentProtection element"
.line 359
invoke-static {p1, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-object v1
.end method
.method protected parseContentType(Lorg/xmlpull/v1/XmlPullParser;)I
.registers 4
const/4 v0, 0x0
const-string v1, "contentType"
.line 305
invoke-interface {p1, v0, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
.line 306
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
const/4 v1, -0x1
if-eqz v0, :cond_f
goto :goto_2d
:cond_f
const-string v0, "audio"
.line 307
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_19
const/4 v1, 0x1
goto :goto_2d
:cond_19
const-string/jumbo v0, "video"
.line 308
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_24
const/4 v1, 0x2
goto :goto_2d
:cond_24
const-string v0, "text"
.line 309
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_2d
const/4 v1, 0x3
:cond_2d
:goto_2d
return v1
.end method
.method protected parseInbandEventStream(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/source/dash/manifest/SchemeValuePair;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/xmlpull/v1/XmlPullParserException;,
Ljava/io/IOException;
}
.end annotation
const-string v0, "InbandEventStream"
.line 374
invoke-static {p1, v0}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseSchemeValuePair(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Lcom/google/android/exoplayer2/source/dash/manifest/SchemeValuePair;
move-result-object p1
return-object 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 674
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-string v1, "availabilityStartTime"
const-wide v2, -0x7fffffffffffffffL # -4.9E-324
.line 107
invoke-static {v0, v1, v2, v3}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseDateTime(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v5
const-string v1, "mediaPresentationDuration"
.line 108
invoke-static {v0, v1, v2, v3}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseDuration(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v7
const-string v1, "minBufferTime"
.line 109
invoke-static {v0, v1, v2, v3}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseDuration(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v9
const/4 v1, 0x0
const-string/jumbo v4, "type"
.line 110
invoke-interface {v0, v1, v4}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
const/4 v12, 0x0
if-eqz v4, :cond_2e
const-string v13, "dynamic"
.line 111
invoke-virtual {v4, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_2e
const/4 v13, 0x1
goto :goto_2f
:cond_2e
const/4 v13, 0x0
:goto_2f
if-eqz v13, :cond_38
const-string v4, "minimumUpdatePeriod"
.line 112
invoke-static {v0, v4, v2, v3}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseDuration(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v14
goto :goto_39
:cond_38
move-wide v14, v2
:goto_39
if-eqz v13, :cond_42
const-string v4, "timeShiftBufferDepth"
.line 115
invoke-static {v0, v4, v2, v3}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseDuration(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v16
goto :goto_44
:cond_42
move-wide/from16 v16, v2
:goto_44
if-eqz v13, :cond_4d
const-string v4, "suggestedPresentationDelay"
.line 117
invoke-static {v0, v4, v2, v3}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseDuration(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
move-result-wide v18
goto :goto_4f
:cond_4d
move-wide/from16 v18, v2
.line 121
:goto_4f
new-instance v4, Ljava/util/ArrayList;
invoke-direct {v4}, Ljava/util/ArrayList;-><init>()V
if-eqz v13, :cond_59
move-wide/from16 v20, v2
goto :goto_5b
:cond_59
const-wide/16 v20, 0x0
:goto_5b
move-wide/from16 v11, v20
const/16 v21, 0x0
const/16 v22, 0x0
move-object/from16 v20, v1
move-object/from16 v1, p2
move-object/from16 p2, v20
.line 126
:goto_67
invoke-interface/range {p1 .. p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
const-string v2, "BaseURL"
.line 127
invoke-static {v0, v2}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_84
if-nez v21, :cond_7e
.line 129
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
move-object/from16 v2, p2
const/16 v21, 0x1
goto/16 :goto_118
:cond_7e
move-object/from16 v25, v1
move-wide/from16 v26, v11
goto/16 :goto_112
:cond_84
const-string v2, "UTCTiming"
.line 132
invoke-static {v0, v2}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_92
.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 v2
goto/16 :goto_118
:cond_92
const-string v2, "Location"
.line 134
invoke-static {v0, v2}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_a8
.line 135
invoke-interface/range {p1 .. p1}, Lorg/xmlpull/v1/XmlPullParser;->nextText()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v2
move-object/from16 v20, v2
:goto_a4
move-object/from16 v2, p2
goto/16 :goto_118
:cond_a8
const-string v2, "Period"
.line 136
invoke-static {v0, v2}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_7e
if-nez v22, :cond_7e
move-object/from16 v2, p0
.line 137
invoke-virtual {v2, v0, v1, 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 v3
move-object/from16 v25, v1
.line 138
iget-object v1, v3, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v1, Lcom/google/android/exoplayer2/source/dash/manifest/Period;
move-wide/from16 v26, 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 v28, v11, v23
if-nez v28, :cond_f1
if-eqz v13, :cond_d6
move-object/from16 v2, p2
move-object/from16 v1, v25
move-wide/from16 v11, v26
const/16 v22, 0x1
goto :goto_118
.line 145
:cond_d6
new-instance v0, Lcom/google/android/exoplayer2/ParserException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Unable to determine start of period "
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v4}, Ljava/util/List;->size()I
move-result v3
invoke-virtual {v1, v3}, 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_f1
iget-object v3, v3, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v3, Ljava/lang/Long;
invoke-virtual {v3}, Ljava/lang/Long;->longValue()J
move-result-wide v11
const-wide v23, -0x7fffffffffffffffL # -4.9E-324
cmp-long v3, v11, v23
if-nez v3, :cond_108
const-wide v2, -0x7fffffffffffffffL # -4.9E-324
goto :goto_10b
.line 149
:cond_108
iget-wide v2, v1, Lcom/google/android/exoplayer2/source/dash/manifest/Period;->startMs:J
add-long/2addr v2, v11
.line 151
:goto_10b
invoke-interface {v4, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
move-wide v11, v2
move-object/from16 v1, v25
goto :goto_a4
:goto_112
move-object/from16 v2, p2
move-object/from16 v1, v25
move-wide/from16 v11, v26
:goto_118
const-string v3, "MPD"
.line 154
invoke-static {v0, v3}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isEndTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v3
const-wide v23, -0x7fffffffffffffffL # -4.9E-324
if-eqz v3, :cond_15c
cmp-long v0, v7, v23
if-nez v0, :cond_13a
cmp-long v0, v11, v23
if-eqz v0, :cond_12f
move-wide v7, v11
goto :goto_13a
:cond_12f
if-eqz v13, :cond_132
goto :goto_13a
.line 161
:cond_132
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
.line 165
:cond_13a
:goto_13a
invoke-interface {v4}, Ljava/util/List;->isEmpty()Z
move-result v0
if-nez v0, :cond_154
move-object v3, v4
move-object/from16 v4, p0
move v11, v13
move-wide v12, v14
move-wide/from16 v14, v16
move-wide/from16 v16, v18
move-object/from16 v18, v2
move-object/from16 v19, v20
move-object/from16 v20, v3
.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_154
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_15c
move-object/from16 p2, v2
move-wide/from16 v2, v23
goto/16 :goto_67
.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 683
invoke-interface {p1, v0, p2}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 686
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 688
invoke-virtual {p1, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object p1
const/4 v0, 0x0
.line 689
aget-object v0, p1, v0
invoke-static {v0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v0
.line 690
array-length v3, p1
const/4 v4, 0x2
if-ne v3, v4, :cond_2d
const/4 p2, 0x1
.line 691
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 694
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 32
.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/SchemeValuePair;",
">;",
"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 429
invoke-interface {v0, v1, v2}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "bandwidth"
const/4 v3, -0x1
.line 430
invoke-static {v0, v2, v3}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v8
const-string v2, "mimeType"
move-object/from16 v3, p3
.line 432
invoke-static {v0, v2, v3}, 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, "codecs"
move-object/from16 v4, p4
.line 433
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 v12
const-string/jumbo v3, "width"
move/from16 v4, p5
.line 434
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 v3
const-string v4, "height"
move/from16 v5, p6
.line 435
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
move/from16 v5, p7
.line 436
invoke-static {v0, v5}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseFrameRate(Lorg/xmlpull/v1/XmlPullParser;F)F
move-result v5
const-string v6, "audioSamplingRate"
move/from16 v7, p9
.line 438
invoke-static {v0, v6, v7}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v7
.line 439
new-instance v14, Ljava/util/ArrayList;
invoke-direct {v14}, Ljava/util/ArrayList;-><init>()V
.line 440
new-instance v15, Ljava/util/ArrayList;
invoke-direct {v15}, Ljava/util/ArrayList;-><init>()V
const/4 v6, 0x0
move-object/from16 v6, p2
move/from16 v9, p8
move-object/from16 v10, p13
const/4 v11, 0x0
.line 444
:goto_53
invoke-interface/range {p1 .. p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
move/from16 p2, v9
const-string v9, "BaseURL"
.line 445
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_70
if-nez v11, :cond_d1
.line 447
invoke-static {v0, v6}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseBaseUrl(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
const/4 v9, 0x1
move/from16 v9, p2
move-object/from16 v16, v6
move-object/from16 v17, v10
const/4 v11, 0x1
goto/16 :goto_d7
:cond_70
const-string v9, "AudioChannelConfiguration"
.line 450
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_7d
.line 451
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseAudioChannelConfiguration(Lorg/xmlpull/v1/XmlPullParser;)I
move-result v9
goto :goto_d3
:cond_7d
const-string v9, "SegmentBase"
.line 452
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_92
.line 453
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_8b
move-object/from16 v16, v6
move-object/from16 v17, v9
move/from16 v9, p2
goto :goto_d7
:cond_92
const-string v9, "SegmentList"
.line 454
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_a1
.line 455
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_8b
:cond_a1
const-string v9, "SegmentTemplate"
.line 456
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_b0
.line 457
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_8b
:cond_b0
const-string v9, "ContentProtection"
.line 458
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 459
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseContentProtection(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
move-result-object v9
if-eqz v9, :cond_d1
.line 461
invoke-virtual {v14, v9}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_d1
:cond_c2
const-string v9, "InbandEventStream"
.line 463
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_d1
.line 464
invoke-virtual/range {p0 .. p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInbandEventStream(Lorg/xmlpull/v1/XmlPullParser;)Lcom/google/android/exoplayer2/source/dash/manifest/SchemeValuePair;
move-result-object v9
invoke-virtual {v15, v9}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_d1
:goto_d1
move/from16 v9, p2
:goto_d3
move-object/from16 v16, v6
move-object/from16 v17, v10
:goto_d7
const-string v6, "Representation"
.line 466
invoke-static {v0, v6}, Lcom/google/android/exoplayer2/util/XmlPullParserUtil;->isEndTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
move-result v6
if-eqz v6, :cond_108
move-object/from16 v0, p0
move v6, v9
move-object/from16 v9, p10
move/from16 v10, p11
move-object/from16 v11, p12
.line 468
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_f1
move-object/from16 v1, v17
goto :goto_f6
.line 471
:cond_f1
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 473
:goto_f6
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, v14
move-object/from16 p6, v15
invoke-direct/range {p1 .. p6}, 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/util/ArrayList;Ljava/util/ArrayList;)V
return-object v2
:cond_108
move-object/from16 v6, v16
move-object/from16 v10, v17
goto/16 :goto_53
.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-string v0, "schemeIdUri"
const/4 v1, 0x0
.line 399
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/jumbo v2, "value"
.line 400
invoke-static {p1, 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 v1
.line 402
:cond_e
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
const-string v2, "Role"
.line 403
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_e
const-string/jumbo p1, "urn:mpeg:dash:role:2011"
.line 404
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_2c
const-string p1, "main"
invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_2c
const/4 p1, 0x1
goto :goto_2d
:cond_2c
const/4 p1, 0x0
:goto_2d
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 525
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 526
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 529
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 530
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 531
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 533
invoke-virtual {v13, v4}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v4
const/4 v5, 0x0
.line 534
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 535
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 538
iget-object v8, v1, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SingleSegmentBase;->initialization:Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
.line 540
:cond_52
invoke-interface/range {p1 .. p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
const-string v1, "Initialization"
.line 541
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 542
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 544
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 546
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 559
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 560
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 562
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 563
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 570
:cond_3d
invoke-interface/range {p1 .. p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
const-string v5, "Initialization"
.line 571
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 572
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 573
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 574
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 575
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 577
new-instance v2, Ljava/util/ArrayList;
invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
.line 579
: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 581
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 584
: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 585
: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 586
: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 589
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 602
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 603
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 605
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 606
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 607
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 609
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 616
:cond_55
invoke-interface/range {p1 .. p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
const-string v14, "Initialization"
.line 617
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 618
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 619
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 620
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 622
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 625
: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 626
: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 629
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 643
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
const-wide/16 v1, 0x0
.line 646
:cond_7
invoke-interface {p1}, Lorg/xmlpull/v1/XmlPullParser;->next()I
const-string v3, "S"
.line 647
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 648
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 649
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-string v5, "r"
const/4 v6, 0x0
.line 650
invoke-static {p1, v5, v6}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;->parseInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
move-result v5
add-int/lit8 v5, v5, 0x1
:goto_2c
if-ge v6, v5, :cond_39
.line 652
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 v6, v6, 0x1
goto :goto_2c
:cond_39
const-string v3, "SegmentTimeline"
.line 656
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 678
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 666
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 668
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/jumbo 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