DashDownloadHelper.smali
.class public final Lcom/google/android/exoplayer2/source/dash/offline/DashDownloadHelper;
.super Lcom/google/android/exoplayer2/offline/DownloadHelper;
.source "DashDownloadHelper.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/android/exoplayer2/offline/DownloadHelper<",
"Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;",
">;"
}
.end annotation
# instance fields
.field private final manifestDataSourceFactory:Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Landroid/net/Uri;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/RenderersFactory;)V
.registers 10
.param p1, "uri" # Landroid/net/Uri;
.param p2, "manifestDataSourceFactory" # Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.param p3, "renderersFactory" # Lcom/google/android/exoplayer2/RenderersFactory;
.line 58
sget-object v3, Lcom/google/android/exoplayer2/offline/DownloadHelper;->DEFAULT_TRACK_SELECTOR_PARAMETERS:Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
const/4 v5, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v4, p3
invoke-direct/range {v0 .. v5}, Lcom/google/android/exoplayer2/source/dash/offline/DashDownloadHelper;-><init>(Landroid/net/Uri;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;Lcom/google/android/exoplayer2/RenderersFactory;Lcom/google/android/exoplayer2/drm/DrmSessionManager;)V
.line 64
return-void
.end method
.method public constructor <init>(Landroid/net/Uri;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;Lcom/google/android/exoplayer2/RenderersFactory;Lcom/google/android/exoplayer2/drm/DrmSessionManager;)V
.registers 13
.param p1, "uri" # Landroid/net/Uri;
.param p2, "manifestDataSourceFactory" # Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.param p3, "trackSelectorParameters" # Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
.param p4, "renderersFactory" # Lcom/google/android/exoplayer2/RenderersFactory;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/net/Uri;",
"Lcom/google/android/exoplayer2/upstream/DataSource$Factory;",
"Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;",
"Lcom/google/android/exoplayer2/RenderersFactory;",
"Lcom/google/android/exoplayer2/drm/DrmSessionManager<",
"Lcom/google/android/exoplayer2/drm/FrameworkMediaCrypto;",
">;)V"
}
.end annotation
.line 84
.local p5, "drmSessionManager":Lcom/google/android/exoplayer2/drm/DrmSessionManager;, "Lcom/google/android/exoplayer2/drm/DrmSessionManager<Lcom/google/android/exoplayer2/drm/FrameworkMediaCrypto;>;"
const-string v1, "dash"
const/4 v3, 0x0
move-object v0, p0
move-object v2, p1
move-object v4, p3
move-object v5, p4
move-object v6, p5
invoke-direct/range {v0 .. v6}, Lcom/google/android/exoplayer2/offline/DownloadHelper;-><init>(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;Lcom/google/android/exoplayer2/RenderersFactory;Lcom/google/android/exoplayer2/drm/DrmSessionManager;)V
.line 91
iput-object p2, p0, Lcom/google/android/exoplayer2/source/dash/offline/DashDownloadHelper;->manifestDataSourceFactory:Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.line 92
return-void
.end method
# virtual methods
.method public getTrackGroupArrays(Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;)[Lcom/google/android/exoplayer2/source/TrackGroupArray;
.registers 13
.param p1, "manifest" # Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
.line 102
invoke-virtual {p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;->getPeriodCount()I
move-result v0
.line 103
.local v0, "periodCount":I
new-array v1, v0, [Lcom/google/android/exoplayer2/source/TrackGroupArray;
.line 104
.local v1, "trackGroupArrays":[Lcom/google/android/exoplayer2/source/TrackGroupArray;
const/4 v2, 0x0
.local v2, "periodIndex":I
:goto_7
if-ge v2, v0, :cond_4f
.line 105
invoke-virtual {p1, v2}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;->getPeriod(I)Lcom/google/android/exoplayer2/source/dash/manifest/Period;
move-result-object v3
iget-object v3, v3, Lcom/google/android/exoplayer2/source/dash/manifest/Period;->adaptationSets:Ljava/util/List;
.line 106
.local v3, "adaptationSets":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;>;"
invoke-interface {v3}, Ljava/util/List;->size()I
move-result v4
new-array v4, v4, [Lcom/google/android/exoplayer2/source/TrackGroup;
.line 107
.local v4, "trackGroups":[Lcom/google/android/exoplayer2/source/TrackGroup;
const/4 v5, 0x0
.local v5, "i":I
:goto_16
array-length v6, v4
if-ge v5, v6, :cond_45
.line 108
invoke-interface {v3, v5}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v6
check-cast v6, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;
iget-object v6, v6, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;->representations:Ljava/util/List;
.line 109
.local v6, "representations":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/Representation;>;"
invoke-interface {v6}, Ljava/util/List;->size()I
move-result v7
new-array v7, v7, [Lcom/google/android/exoplayer2/Format;
.line 110
.local v7, "formats":[Lcom/google/android/exoplayer2/Format;
invoke-interface {v6}, Ljava/util/List;->size()I
move-result v8
.line 111
.local v8, "representationsCount":I
const/4 v9, 0x0
.local v9, "j":I
:goto_2c
if-ge v9, v8, :cond_3b
.line 112
invoke-interface {v6, v9}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v10
check-cast v10, Lcom/google/android/exoplayer2/source/dash/manifest/Representation;
iget-object v10, v10, Lcom/google/android/exoplayer2/source/dash/manifest/Representation;->format:Lcom/google/android/exoplayer2/Format;
aput-object v10, v7, v9
.line 111
add-int/lit8 v9, v9, 0x1
goto :goto_2c
.line 114
.end local v9 # "j":I
:cond_3b
new-instance v9, Lcom/google/android/exoplayer2/source/TrackGroup;
invoke-direct {v9, v7}, Lcom/google/android/exoplayer2/source/TrackGroup;-><init>([Lcom/google/android/exoplayer2/Format;)V
aput-object v9, v4, v5
.line 107
.end local v6 # "representations":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/Representation;>;"
.end local v7 # "formats":[Lcom/google/android/exoplayer2/Format;
.end local v8 # "representationsCount":I
add-int/lit8 v5, v5, 0x1
goto :goto_16
.line 116
.end local v5 # "i":I
:cond_45
new-instance v5, Lcom/google/android/exoplayer2/source/TrackGroupArray;
invoke-direct {v5, v4}, Lcom/google/android/exoplayer2/source/TrackGroupArray;-><init>([Lcom/google/android/exoplayer2/source/TrackGroup;)V
aput-object v5, v1, v2
.line 104
.end local v3 # "adaptationSets":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;>;"
.end local v4 # "trackGroups":[Lcom/google/android/exoplayer2/source/TrackGroup;
add-int/lit8 v2, v2, 0x1
goto :goto_7
.line 118
.end local v2 # "periodIndex":I
:cond_4f
return-object v1
.end method
.method public bridge synthetic getTrackGroupArrays(Ljava/lang/Object;)[Lcom/google/android/exoplayer2/source/TrackGroupArray;
.registers 2
.line 41
check-cast p1, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/source/dash/offline/DashDownloadHelper;->getTrackGroupArrays(Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;)[Lcom/google/android/exoplayer2/source/TrackGroupArray;
move-result-object p1
return-object p1
.end method
.method protected loadManifest(Landroid/net/Uri;)Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
.registers 5
.param p1, "uri" # Landroid/net/Uri;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 96
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/offline/DashDownloadHelper;->manifestDataSourceFactory:Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
invoke-interface {v0}, Lcom/google/android/exoplayer2/upstream/DataSource$Factory;->createDataSource()Lcom/google/android/exoplayer2/upstream/DataSource;
move-result-object v0
.line 97
.local v0, "dataSource":Lcom/google/android/exoplayer2/upstream/DataSource;
new-instance v1, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;
invoke-direct {v1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifestParser;-><init>()V
const/4 v2, 0x4
invoke-static {v0, v1, p1, v2}, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->load(Lcom/google/android/exoplayer2/upstream/DataSource;Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser;Landroid/net/Uri;I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
return-object v1
.end method
.method protected bridge synthetic loadManifest(Landroid/net/Uri;)Ljava/lang/Object;
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 41
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/source/dash/offline/DashDownloadHelper;->loadManifest(Landroid/net/Uri;)Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
move-result-object p1
return-object p1
.end method
.method protected toStreamKey(III)Lcom/google/android/exoplayer2/offline/StreamKey;
.registers 5
.param p1, "periodIndex" # I
.param p2, "trackGroupIndex" # I
.param p3, "trackIndexInTrackGroup" # I
.line 124
new-instance v0, Lcom/google/android/exoplayer2/offline/StreamKey;
invoke-direct {v0, p1, p2, p3}, Lcom/google/android/exoplayer2/offline/StreamKey;-><init>(III)V
return-object v0
.end method