SsDownloadHelper.smali
.class public final Lcom/google/android/exoplayer2/source/smoothstreaming/offline/SsDownloadHelper;
.super Lcom/google/android/exoplayer2/offline/DownloadHelper;
.source "SsDownloadHelper.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/android/exoplayer2/offline/DownloadHelper<",
"Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;",
">;"
}
.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 55
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/smoothstreaming/offline/SsDownloadHelper;-><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 61
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 81
.local p5, "drmSessionManager":Lcom/google/android/exoplayer2/drm/DrmSessionManager;, "Lcom/google/android/exoplayer2/drm/DrmSessionManager<Lcom/google/android/exoplayer2/drm/FrameworkMediaCrypto;>;"
const-string/jumbo v1, "ss"
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 88
iput-object p2, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/offline/SsDownloadHelper;->manifestDataSourceFactory:Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.line 89
return-void
.end method
# virtual methods
.method protected getTrackGroupArrays(Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;)[Lcom/google/android/exoplayer2/source/TrackGroupArray;
.registers 7
.param p1, "manifest" # Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
.line 100
iget-object v0, p1, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->streamElements:[Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
.line 101
.local v0, "streamElements":[Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
array-length v1, v0
new-array v1, v1, [Lcom/google/android/exoplayer2/source/TrackGroup;
.line 102
.local v1, "trackGroups":[Lcom/google/android/exoplayer2/source/TrackGroup;
const/4 v2, 0x0
.local v2, "i":I
:goto_6
array-length v3, v0
if-ge v2, v3, :cond_17
.line 103
new-instance v3, Lcom/google/android/exoplayer2/source/TrackGroup;
aget-object v4, v0, v2
iget-object v4, v4, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;->formats:[Lcom/google/android/exoplayer2/Format;
invoke-direct {v3, v4}, Lcom/google/android/exoplayer2/source/TrackGroup;-><init>([Lcom/google/android/exoplayer2/Format;)V
aput-object v3, v1, v2
.line 102
add-int/lit8 v2, v2, 0x1
goto :goto_6
.line 105
.end local v2 # "i":I
:cond_17
const/4 v2, 0x1
new-array v2, v2, [Lcom/google/android/exoplayer2/source/TrackGroupArray;
const/4 v3, 0x0
new-instance v4, Lcom/google/android/exoplayer2/source/TrackGroupArray;
invoke-direct {v4, v1}, Lcom/google/android/exoplayer2/source/TrackGroupArray;-><init>([Lcom/google/android/exoplayer2/source/TrackGroup;)V
aput-object v4, v2, v3
return-object v2
.end method
.method protected bridge synthetic getTrackGroupArrays(Ljava/lang/Object;)[Lcom/google/android/exoplayer2/source/TrackGroupArray;
.registers 2
.line 38
check-cast p1, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/source/smoothstreaming/offline/SsDownloadHelper;->getTrackGroupArrays(Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;)[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/smoothstreaming/manifest/SsManifest;
.registers 6
.param p1, "uri" # Landroid/net/Uri;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 93
iget-object v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/offline/SsDownloadHelper;->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 94
.local v0, "dataSource":Lcom/google/android/exoplayer2/upstream/DataSource;
invoke-static {p1}, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsUtil;->fixManifestUri(Landroid/net/Uri;)Landroid/net/Uri;
move-result-object v1
.line 95
.local v1, "fixedUri":Landroid/net/Uri;
new-instance v2, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser;
invoke-direct {v2}, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser;-><init>()V
const/4 v3, 0x4
invoke-static {v0, v2, v1, v3}, 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 v2
check-cast v2, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
return-object v2
.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 38
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/source/smoothstreaming/offline/SsDownloadHelper;->loadManifest(Landroid/net/Uri;)Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
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 111
new-instance v0, Lcom/google/android/exoplayer2/offline/StreamKey;
invoke-direct {v0, p2, p3}, Lcom/google/android/exoplayer2/offline/StreamKey;-><init>(II)V
return-object v0
.end method