SsDownloader.smali
.class public final Lcom/google/android/exoplayer2/source/smoothstreaming/offline/SsDownloader;
.super Lcom/google/android/exoplayer2/offline/SegmentDownloader;
.source "SsDownloader.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/android/exoplayer2/offline/SegmentDownloader<",
"Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;",
">;"
}
.end annotation
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Landroid/net/Uri;Ljava/util/List;Lcom/google/android/exoplayer2/offline/DownloaderConstructorHelper;)V
.registers 5
.param p1, "manifestUri" # Landroid/net/Uri;
.param p3, "constructorHelper" # Lcom/google/android/exoplayer2/offline/DownloaderConstructorHelper;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/net/Uri;",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/offline/StreamKey;",
">;",
"Lcom/google/android/exoplayer2/offline/DownloaderConstructorHelper;",
")V"
}
.end annotation
.line 67
.local p2, "streamKeys":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/offline/StreamKey;>;"
invoke-static {p1}, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsUtil;->fixManifestUri(Landroid/net/Uri;)Landroid/net/Uri;
move-result-object v0
invoke-direct {p0, v0, p2, p3}, Lcom/google/android/exoplayer2/offline/SegmentDownloader;-><init>(Landroid/net/Uri;Ljava/util/List;Lcom/google/android/exoplayer2/offline/DownloaderConstructorHelper;)V
.line 68
return-void
.end method
# virtual methods
.method protected bridge synthetic getManifest(Lcom/google/android/exoplayer2/upstream/DataSource;Lcom/google/android/exoplayer2/upstream/DataSpec;)Lcom/google/android/exoplayer2/offline/FilterableManifest;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 57
invoke-virtual {p0, p1, p2}, Lcom/google/android/exoplayer2/source/smoothstreaming/offline/SsDownloader;->getManifest(Lcom/google/android/exoplayer2/upstream/DataSource;Lcom/google/android/exoplayer2/upstream/DataSpec;)Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
move-result-object p1
return-object p1
.end method
.method protected getManifest(Lcom/google/android/exoplayer2/upstream/DataSource;Lcom/google/android/exoplayer2/upstream/DataSpec;)Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
.registers 5
.param p1, "dataSource" # Lcom/google/android/exoplayer2/upstream/DataSource;
.param p2, "dataSpec" # Lcom/google/android/exoplayer2/upstream/DataSpec;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 72
new-instance v0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser;
invoke-direct {v0}, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser;-><init>()V
const/4 v1, 0x4
invoke-static {p1, v0, p2, v1}, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->load(Lcom/google/android/exoplayer2/upstream/DataSource;Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser;Lcom/google/android/exoplayer2/upstream/DataSpec;I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
return-object v0
.end method
.method protected bridge synthetic getSegments(Lcom/google/android/exoplayer2/upstream/DataSource;Lcom/google/android/exoplayer2/offline/FilterableManifest;Z)Ljava/util/List;
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;,
Ljava/io/IOException;
}
.end annotation
.line 57
check-cast p2, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
invoke-virtual {p0, p1, p2, p3}, Lcom/google/android/exoplayer2/source/smoothstreaming/offline/SsDownloader;->getSegments(Lcom/google/android/exoplayer2/upstream/DataSource;Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;Z)Ljava/util/List;
move-result-object p1
return-object p1
.end method
.method protected getSegments(Lcom/google/android/exoplayer2/upstream/DataSource;Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;Z)Ljava/util/List;
.registers 16
.param p1, "dataSource" # Lcom/google/android/exoplayer2/upstream/DataSource;
.param p2, "manifest" # Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
.param p3, "allowIncompleteList" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/upstream/DataSource;",
"Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;",
"Z)",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/offline/SegmentDownloader$Segment;",
">;"
}
.end annotation
.line 78
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 79
.local v0, "segments":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Lcom/google/android/exoplayer2/offline/SegmentDownloader$Segment;>;"
iget-object v1, p2, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->streamElements:[Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
array-length v2, v1
const/4 v3, 0x0
:goto_9
if-ge v3, v2, :cond_36
aget-object v4, v1, v3
.line 80
.local v4, "streamElement":Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
const/4 v5, 0x0
.local v5, "i":I
:goto_e
iget-object v6, v4, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;->formats:[Lcom/google/android/exoplayer2/Format;
array-length v6, v6
if-ge v5, v6, :cond_33
.line 81
const/4 v6, 0x0
.local v6, "j":I
:goto_14
iget v7, v4, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;->chunkCount:I
if-ge v6, v7, :cond_30
.line 82
new-instance v7, Lcom/google/android/exoplayer2/offline/SegmentDownloader$Segment;
.line 84
invoke-virtual {v4, v6}, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;->getStartTimeUs(I)J
move-result-wide v8
new-instance v10, Lcom/google/android/exoplayer2/upstream/DataSpec;
.line 85
invoke-virtual {v4, v5, v6}, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;->buildRequestUri(II)Landroid/net/Uri;
move-result-object v11
invoke-direct {v10, v11}, Lcom/google/android/exoplayer2/upstream/DataSpec;-><init>(Landroid/net/Uri;)V
invoke-direct {v7, v8, v9, v10}, Lcom/google/android/exoplayer2/offline/SegmentDownloader$Segment;-><init>(JLcom/google/android/exoplayer2/upstream/DataSpec;)V
.line 82
invoke-virtual {v0, v7}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 81
add-int/lit8 v6, v6, 0x1
goto :goto_14
.line 80
.end local v6 # "j":I
:cond_30
add-int/lit8 v5, v5, 0x1
goto :goto_e
.line 79
.end local v4 # "streamElement":Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
.end local v5 # "i":I
:cond_33
add-int/lit8 v3, v3, 0x1
goto :goto_9
.line 89
:cond_36
return-object v0
.end method