SsManifestParser.smali
.class public Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser;
.super Ljava/lang/Object;
.source "SsManifestParser.java"
# interfaces
.implements Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser$QualityLevelParser;,
Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser$StreamIndexParser;,
Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser$ProtectionParser;,
Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser$SmoothStreamingMediaParser;,
Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser$ElementParser;,
Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser$MissingFieldException;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser<",
"Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;",
">;"
}
.end annotation
# instance fields
.field private final xmlParserFactory:Lorg/xmlpull/v1/XmlPullParserFactory;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 4
.line 57
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 59
:try_start_3
invoke-static {}, Lorg/xmlpull/v1/XmlPullParserFactory;->newInstance()Lorg/xmlpull/v1/XmlPullParserFactory;
move-result-object v0
iput-object v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser;->xmlParserFactory:Lorg/xmlpull/v1/XmlPullParserFactory;
:try_end_9
.catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_3 .. :try_end_9} :catch_b
.line 62
nop
.line 63
return-void
.line 60
:catch_b
move-exception v0
.line 61
.local v0, "e":Lorg/xmlpull/v1/XmlPullParserException;
new-instance v1, Ljava/lang/RuntimeException;
const-string v2, "Couldn\'t create XmlPullParserFactory instance"
invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
.end method
# virtual methods
.method public parse(Landroid/net/Uri;Ljava/io/InputStream;)Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
.registers 7
.param p1, "uri" # Landroid/net/Uri;
.param p2, "inputStream" # Ljava/io/InputStream;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 68
:try_start_0
iget-object v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser;->xmlParserFactory:Lorg/xmlpull/v1/XmlPullParserFactory;
invoke-virtual {v0}, Lorg/xmlpull/v1/XmlPullParserFactory;->newPullParser()Lorg/xmlpull/v1/XmlPullParser;
move-result-object v0
.line 69
.local v0, "xmlParser":Lorg/xmlpull/v1/XmlPullParser;
const/4 v1, 0x0
invoke-interface {v0, p2, v1}, Lorg/xmlpull/v1/XmlPullParser;->setInput(Ljava/io/InputStream;Ljava/lang/String;)V
.line 70
new-instance v2, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser$SmoothStreamingMediaParser;
.line 71
invoke-virtual {p1}, Landroid/net/Uri;->toString()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v1, v3}, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser$SmoothStreamingMediaParser;-><init>(Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser$ElementParser;Ljava/lang/String;)V
move-object v1, v2
.line 72
.local v1, "smoothStreamingMediaParser":Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser$SmoothStreamingMediaParser;
invoke-virtual {v1, v0}, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser$SmoothStreamingMediaParser;->parse(Lorg/xmlpull/v1/XmlPullParser;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
:try_end_1a
.catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_0 .. :try_end_1a} :catch_1b
return-object v2
.line 73
.end local v0 # "xmlParser":Lorg/xmlpull/v1/XmlPullParser;
.end local v1 # "smoothStreamingMediaParser":Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser$SmoothStreamingMediaParser;
:catch_1b
move-exception v0
.line 74
.local v0, "e":Lorg/xmlpull/v1/XmlPullParserException;
new-instance v1, Lcom/google/android/exoplayer2/ParserException;
invoke-direct {v1, v0}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/Throwable;)V
throw v1
.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 53
invoke-virtual {p0, p1, p2}, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser;->parse(Landroid/net/Uri;Ljava/io/InputStream;)Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
move-result-object p1
return-object p1
.end method