SsMediaSource.smali
.class public final Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;
.super Lcom/google/android/exoplayer2/source/BaseMediaSource;
.source "SsMediaSource.java"
# interfaces
.implements Lcom/google/android/exoplayer2/upstream/Loader$Callback;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource$Factory;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/android/exoplayer2/source/BaseMediaSource;",
"Lcom/google/android/exoplayer2/upstream/Loader$Callback<",
"Lcom/google/android/exoplayer2/upstream/ParsingLoadable<",
"Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;",
">;>;"
}
.end annotation
# static fields
.field public static final DEFAULT_LIVE_PRESENTATION_DELAY_MS:J = 0x7530L
.field private static final MINIMUM_MANIFEST_REFRESH_PERIOD_MS:I = 0x1388
.field private static final MIN_LIVE_DEFAULT_START_POSITION_US:J = 0x4c4b40L
# instance fields
.field private final chunkSourceFactory:Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;
.field private final compositeSequenceableLoaderFactory:Lcom/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory;
.field private final livePresentationDelayMs:J
.field private final loadErrorHandlingPolicy:Lcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;
.field private manifest:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
.field private manifestDataSource:Lcom/google/android/exoplayer2/upstream/DataSource;
.field private final manifestDataSourceFactory:Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.field private final manifestEventDispatcher:Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
.field private manifestLoadStartTimestamp:J
.field private manifestLoader:Lcom/google/android/exoplayer2/upstream/Loader;
.field private manifestLoaderErrorThrower:Lcom/google/android/exoplayer2/upstream/LoaderErrorThrower;
.field private final manifestParser:Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser<",
"+",
"Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;",
">;"
}
.end annotation
.end field
.field private manifestRefreshHandler:Landroid/os/Handler;
.field private final manifestUri:Landroid/net/Uri;
.field private final mediaPeriods:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaPeriod;",
">;"
}
.end annotation
.end field
.field private mediaTransferListener:Lcom/google/android/exoplayer2/upstream/TransferListener;
.field private final sideloadedManifest:Z
.field private final tag:Ljava/lang/Object;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 61
const-string v0, "goog.exo.smoothstreaming"
invoke-static {v0}, Lcom/google/android/exoplayer2/ExoPlayerLibraryInfo;->registerModule(Ljava/lang/String;)V
.line 62
return-void
.end method
.method public constructor <init>(Landroid/net/Uri;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;IJLandroid/os/Handler;Lcom/google/android/exoplayer2/source/MediaSourceEventListener;)V
.registers 19
.param p1, "manifestUri" # Landroid/net/Uri;
.param p2, "manifestDataSourceFactory" # Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.param p3, "chunkSourceFactory" # Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;
.param p4, "minLoadableRetryCount" # I
.param p5, "livePresentationDelayMs" # J
.param p7, "eventHandler" # Landroid/os/Handler;
.param p8, "eventListener" # Lcom/google/android/exoplayer2/source/MediaSourceEventListener;
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 456
new-instance v3, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser;
invoke-direct {v3}, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser;-><init>()V
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v4, p3
move v5, p4
move-wide v6, p5
move-object/from16 v8, p7
move-object/from16 v9, p8
invoke-direct/range {v0 .. v9}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;-><init>(Landroid/net/Uri;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser;Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;IJLandroid/os/Handler;Lcom/google/android/exoplayer2/source/MediaSourceEventListener;)V
.line 458
return-void
.end method
.method public constructor <init>(Landroid/net/Uri;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;Landroid/os/Handler;Lcom/google/android/exoplayer2/source/MediaSourceEventListener;)V
.registers 15
.param p1, "manifestUri" # Landroid/net/Uri;
.param p2, "manifestDataSourceFactory" # Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.param p3, "chunkSourceFactory" # Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;
.param p4, "eventHandler" # Landroid/os/Handler;
.param p5, "eventListener" # Lcom/google/android/exoplayer2/source/MediaSourceEventListener;
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 421
const/4 v4, 0x3
const-wide/16 v5, 0x7530
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move-object v7, p4
move-object v8, p5
invoke-direct/range {v0 .. v8}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;-><init>(Landroid/net/Uri;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;IJLandroid/os/Handler;Lcom/google/android/exoplayer2/source/MediaSourceEventListener;)V
.line 429
return-void
.end method
.method public constructor <init>(Landroid/net/Uri;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser;Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;IJLandroid/os/Handler;Lcom/google/android/exoplayer2/source/MediaSourceEventListener;)V
.registers 24
.param p1, "manifestUri" # Landroid/net/Uri;
.param p2, "manifestDataSourceFactory" # Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.param p4, "chunkSourceFactory" # Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;
.param p5, "minLoadableRetryCount" # I
.param p6, "livePresentationDelayMs" # J
.param p8, "eventHandler" # Landroid/os/Handler;
.param p9, "eventListener" # Lcom/google/android/exoplayer2/source/MediaSourceEventListener;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/net/Uri;",
"Lcom/google/android/exoplayer2/upstream/DataSource$Factory;",
"Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser<",
"+",
"Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;",
">;",
"Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;",
"IJ",
"Landroid/os/Handler;",
"Lcom/google/android/exoplayer2/source/MediaSourceEventListener;",
")V"
}
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 486
.local p3, "manifestParser":Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser;, "Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser<+Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;>;"
move-object/from16 v0, p8
move-object/from16 v1, p9
new-instance v8, Lcom/google/android/exoplayer2/source/DefaultCompositeSequenceableLoaderFactory;
invoke-direct {v8}, Lcom/google/android/exoplayer2/source/DefaultCompositeSequenceableLoaderFactory;-><init>()V
new-instance v9, Lcom/google/android/exoplayer2/upstream/DefaultLoadErrorHandlingPolicy;
move/from16 v13, p5
invoke-direct {v9, v13}, Lcom/google/android/exoplayer2/upstream/DefaultLoadErrorHandlingPolicy;-><init>(I)V
const/4 v3, 0x0
const/4 v12, 0x0
move-object v2, p0
move-object v4, p1
move-object/from16 v5, p2
move-object/from16 v6, p3
move-object/from16 v7, p4
move-wide/from16 v10, p6
invoke-direct/range {v2 .. v12}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;-><init>(Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;Landroid/net/Uri;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser;Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;Lcom/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory;Lcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;JLjava/lang/Object;)V
.line 496
if-eqz v0, :cond_28
if-eqz v1, :cond_28
.line 497
move-object v2, p0
invoke-virtual {p0, v0, v1}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->addEventListener(Landroid/os/Handler;Lcom/google/android/exoplayer2/source/MediaSourceEventListener;)V
goto :goto_29
.line 496
:cond_28
move-object v2, p0
.line 499
:goto_29
return-void
.end method
.method private constructor <init>(Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;Landroid/net/Uri;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser;Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;Lcom/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory;Lcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;JLjava/lang/Object;)V
.registers 15
.param p1, "manifest" # Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
.param p2, "manifestUri" # Landroid/net/Uri;
.param p3, "manifestDataSourceFactory" # Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.param p5, "chunkSourceFactory" # Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;
.param p6, "compositeSequenceableLoaderFactory" # Lcom/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory;
.param p7, "loadErrorHandlingPolicy" # Lcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;
.param p8, "livePresentationDelayMs" # J
.param p10, "tag" # Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;",
"Landroid/net/Uri;",
"Lcom/google/android/exoplayer2/upstream/DataSource$Factory;",
"Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser<",
"+",
"Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;",
">;",
"Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;",
"Lcom/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory;",
"Lcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;",
"J",
"Ljava/lang/Object;",
")V"
}
.end annotation
.line 510
.local p4, "manifestParser":Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser;, "Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser<+Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;>;"
invoke-direct {p0}, Lcom/google/android/exoplayer2/source/BaseMediaSource;-><init>()V
.line 511
const/4 v0, 0x0
const/4 v1, 0x1
if-eqz p1, :cond_e
iget-boolean v2, p1, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->isLive:Z
if-nez v2, :cond_c
goto :goto_e
:cond_c
const/4 v2, 0x0
goto :goto_f
:cond_e
:goto_e
const/4 v2, 0x1
:goto_f
invoke-static {v2}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
.line 512
iput-object p1, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifest:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
.line 513
const/4 v2, 0x0
if-nez p2, :cond_19
move-object v3, v2
goto :goto_1d
:cond_19
invoke-static {p2}, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsUtil;->fixManifestUri(Landroid/net/Uri;)Landroid/net/Uri;
move-result-object v3
:goto_1d
iput-object v3, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestUri:Landroid/net/Uri;
.line 514
iput-object p3, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestDataSourceFactory:Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.line 515
iput-object p4, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestParser:Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser;
.line 516
iput-object p5, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->chunkSourceFactory:Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;
.line 517
iput-object p6, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->compositeSequenceableLoaderFactory:Lcom/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory;
.line 518
iput-object p7, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->loadErrorHandlingPolicy:Lcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;
.line 519
iput-wide p8, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->livePresentationDelayMs:J
.line 520
invoke-virtual {p0, v2}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->createEventDispatcher(Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
move-result-object v2
iput-object v2, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestEventDispatcher:Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
.line 521
iput-object p10, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->tag:Ljava/lang/Object;
.line 522
if-eqz p1, :cond_36
const/4 v0, 0x1
:cond_36
iput-boolean v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->sideloadedManifest:Z
.line 523
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->mediaPeriods:Ljava/util/ArrayList;
.line 524
return-void
.end method
.method synthetic constructor <init>(Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;Landroid/net/Uri;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser;Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;Lcom/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory;Lcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;JLjava/lang/Object;Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource$1;)V
.registers 12
.param p1, "x0" # Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
.param p2, "x1" # Landroid/net/Uri;
.param p3, "x2" # Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.param p4, "x3" # Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser;
.param p5, "x4" # Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;
.param p6, "x5" # Lcom/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory;
.param p7, "x6" # Lcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;
.param p8, "x7" # J
.param p10, "x8" # Ljava/lang/Object;
.param p11, "x9" # Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource$1;
.line 57
invoke-direct/range {p0 .. p10}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;-><init>(Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;Landroid/net/Uri;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser;Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;Lcom/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory;Lcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;JLjava/lang/Object;)V
return-void
.end method
.method public constructor <init>(Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;ILandroid/os/Handler;Lcom/google/android/exoplayer2/source/MediaSourceEventListener;)V
.registers 20
.param p1, "manifest" # Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
.param p2, "chunkSourceFactory" # Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;
.param p3, "minLoadableRetryCount" # I
.param p4, "eventHandler" # Landroid/os/Handler;
.param p5, "eventListener" # Lcom/google/android/exoplayer2/source/MediaSourceEventListener;
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 386
move-object/from16 v0, p4
move-object/from16 v1, p5
new-instance v8, Lcom/google/android/exoplayer2/source/DefaultCompositeSequenceableLoaderFactory;
invoke-direct {v8}, Lcom/google/android/exoplayer2/source/DefaultCompositeSequenceableLoaderFactory;-><init>()V
new-instance v9, Lcom/google/android/exoplayer2/upstream/DefaultLoadErrorHandlingPolicy;
move/from16 v13, p3
invoke-direct {v9, v13}, Lcom/google/android/exoplayer2/upstream/DefaultLoadErrorHandlingPolicy;-><init>(I)V
const/4 v4, 0x0
const/4 v5, 0x0
const/4 v6, 0x0
const-wide/16 v10, 0x7530
const/4 v12, 0x0
move-object v2, p0
move-object v3, p1
move-object/from16 v7, p2
invoke-direct/range {v2 .. v12}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;-><init>(Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;Landroid/net/Uri;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser;Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;Lcom/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory;Lcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;JLjava/lang/Object;)V
.line 396
if-eqz v0, :cond_26
if-eqz v1, :cond_26
.line 397
move-object v2, p0
invoke-virtual {p0, v0, v1}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->addEventListener(Landroid/os/Handler;Lcom/google/android/exoplayer2/source/MediaSourceEventListener;)V
goto :goto_27
.line 396
:cond_26
move-object v2, p0
.line 399
:goto_27
return-void
.end method
.method public constructor <init>(Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;Landroid/os/Handler;Lcom/google/android/exoplayer2/source/MediaSourceEventListener;)V
.registers 11
.param p1, "manifest" # Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
.param p2, "chunkSourceFactory" # Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;
.param p3, "eventHandler" # Landroid/os/Handler;
.param p4, "eventListener" # Lcom/google/android/exoplayer2/source/MediaSourceEventListener;
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 361
const/4 v3, 0x3
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v4, p3
move-object v5, p4
invoke-direct/range {v0 .. v5}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;-><init>(Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;ILandroid/os/Handler;Lcom/google/android/exoplayer2/source/MediaSourceEventListener;)V
.line 367
return-void
.end method
.method public static synthetic lambda$tFjHmMdOxDkhvkY7QhPdfdPmbtI(Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;)V
.registers 1
invoke-direct {p0}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->startLoadingManifest()V
return-void
.end method
.method private processManifest()V
.registers 24
.line 648
move-object/from16 v0, p0
const/4 v1, 0x0
.local v1, "i":I
:goto_3
iget-object v2, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->mediaPeriods:Ljava/util/ArrayList;
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result v2
if-ge v1, v2, :cond_1b
.line 649
iget-object v2, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->mediaPeriods:Ljava/util/ArrayList;
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaPeriod;
iget-object v3, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifest:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
invoke-virtual {v2, v3}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaPeriod;->updateManifest(Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;)V
.line 648
add-int/lit8 v1, v1, 0x1
goto :goto_3
.line 652
.end local v1 # "i":I
:cond_1b
const-wide v1, 0x7fffffffffffffffL
.line 653
.local v1, "startTimeUs":J
const-wide/high16 v3, -0x8000000000000000L
.line 654
.local v3, "endTimeUs":J
iget-object v5, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifest:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
iget-object v5, v5, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->streamElements:[Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
array-length v6, v5
const/4 v7, 0x0
const/4 v8, 0x0
:goto_29
if-ge v8, v6, :cond_51
aget-object v9, v5, v8
.line 655
.local v9, "element":Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
iget v10, v9, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;->chunkCount:I
if-lez v10, :cond_4e
.line 656
invoke-virtual {v9, v7}, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;->getStartTimeUs(I)J
move-result-wide v10
invoke-static {v1, v2, v10, v11}, Ljava/lang/Math;->min(JJ)J
move-result-wide v1
.line 657
iget v10, v9, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;->chunkCount:I
add-int/lit8 v10, v10, -0x1
invoke-virtual {v9, v10}, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;->getStartTimeUs(I)J
move-result-wide v10
iget v12, v9, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;->chunkCount:I
add-int/lit8 v12, v12, -0x1
.line 658
invoke-virtual {v9, v12}, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;->getChunkDurationUs(I)J
move-result-wide v12
add-long/2addr v10, v12
.line 657
invoke-static {v3, v4, v10, v11}, Ljava/lang/Math;->max(JJ)J
move-result-wide v3
.line 654
.end local v9 # "element":Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
:cond_4e
add-int/lit8 v8, v8, 0x1
goto :goto_29
.line 663
:cond_51
const-wide v5, 0x7fffffffffffffffL
const-wide/16 v7, 0x0
const-wide v9, -0x7fffffffffffffffL # -4.9E-324
cmp-long v11, v1, v5
if-nez v11, :cond_84
.line 664
iget-object v5, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifest:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
iget-boolean v5, v5, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->isLive:Z
if-eqz v5, :cond_69
move-wide v12, v9
goto :goto_6a
:cond_69
move-wide v12, v7
.line 665
.local v12, "periodDurationUs":J
:goto_6a
new-instance v5, Lcom/google/android/exoplayer2/source/SinglePeriodTimeline;
const-wide/16 v14, 0x0
const-wide/16 v16, 0x0
const-wide/16 v18, 0x0
const/16 v20, 0x1
iget-object v6, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifest:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
iget-boolean v6, v6, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->isLive:Z
iget-object v7, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->tag:Ljava/lang/Object;
move-object v11, v5
move/from16 v21, v6
move-object/from16 v22, v7
invoke-direct/range {v11 .. v22}, Lcom/google/android/exoplayer2/source/SinglePeriodTimeline;-><init>(JJJJZZLjava/lang/Object;)V
.line 674
.end local v12 # "periodDurationUs":J
.local v5, "timeline":Lcom/google/android/exoplayer2/Timeline;
goto/16 :goto_fe
.end local v5 # "timeline":Lcom/google/android/exoplayer2/Timeline;
:cond_84
iget-object v5, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifest:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
iget-boolean v5, v5, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->isLive:Z
if-eqz v5, :cond_da
.line 675
iget-object v5, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifest:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
iget-wide v5, v5, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->dvrWindowLengthUs:J
cmp-long v11, v5, v9
if-eqz v11, :cond_a4
iget-object v5, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifest:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
iget-wide v5, v5, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->dvrWindowLengthUs:J
cmp-long v9, v5, v7
if-lez v9, :cond_a4
.line 676
iget-object v5, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifest:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
iget-wide v5, v5, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->dvrWindowLengthUs:J
sub-long v5, v3, v5
invoke-static {v1, v2, v5, v6}, Ljava/lang/Math;->max(JJ)J
move-result-wide v1
.line 678
:cond_a4
sub-long v17, v3, v1
.line 679
.local v17, "durationUs":J
iget-wide v5, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->livePresentationDelayMs:J
invoke-static {v5, v6}, Lcom/google/android/exoplayer2/C;->msToUs(J)J
move-result-wide v5
sub-long v5, v17, v5
.line 680
.local v5, "defaultStartPositionUs":J
const-wide/32 v7, 0x4c4b40
cmp-long v9, v5, v7
if-gez v9, :cond_c0
.line 684
const-wide/16 v9, 0x2
div-long v9, v17, v9
invoke-static {v7, v8, v9, v10}, Ljava/lang/Math;->min(JJ)J
move-result-wide v5
move-wide/from16 v19, v5
goto :goto_c2
.line 680
:cond_c0
move-wide/from16 v19, v5
.line 686
.end local v5 # "defaultStartPositionUs":J
.local v19, "defaultStartPositionUs":J
:goto_c2
new-instance v21, Lcom/google/android/exoplayer2/source/SinglePeriodTimeline;
const-wide v6, -0x7fffffffffffffffL # -4.9E-324
const/4 v14, 0x1
const/4 v15, 0x1
iget-object v12, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->tag:Ljava/lang/Object;
move-object/from16 v5, v21
move-wide/from16 v8, v17
move-wide v10, v1
move-object/from16 v16, v12
move-wide/from16 v12, v19
invoke-direct/range {v5 .. v16}, Lcom/google/android/exoplayer2/source/SinglePeriodTimeline;-><init>(JJJJZZLjava/lang/Object;)V
.line 695
.end local v17 # "durationUs":J
.end local v19 # "defaultStartPositionUs":J
.local v5, "timeline":Lcom/google/android/exoplayer2/Timeline;
goto :goto_fe
.line 696
.end local v5 # "timeline":Lcom/google/android/exoplayer2/Timeline;
:cond_da
iget-object v5, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifest:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
iget-wide v5, v5, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->durationUs:J
cmp-long v7, v5, v9
if-eqz v7, :cond_e7
iget-object v5, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifest:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
iget-wide v5, v5, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->durationUs:J
goto :goto_e9
:cond_e7
sub-long v5, v3, v1
.line 698
.local v5, "durationUs":J
:goto_e9
new-instance v7, Lcom/google/android/exoplayer2/source/SinglePeriodTimeline;
add-long v9, v1, v5
const-wide/16 v15, 0x0
const/16 v17, 0x1
const/16 v18, 0x0
iget-object v13, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->tag:Ljava/lang/Object;
move-object v8, v7
move-wide v11, v5
move-object/from16 v19, v13
move-wide v13, v1
invoke-direct/range {v8 .. v19}, Lcom/google/android/exoplayer2/source/SinglePeriodTimeline;-><init>(JJJJZZLjava/lang/Object;)V
move-object v5, v7
.line 708
.local v5, "timeline":Lcom/google/android/exoplayer2/Timeline;
:goto_fe
iget-object v6, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifest:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
invoke-virtual {v0, v5, v6}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->refreshSourceInfo(Lcom/google/android/exoplayer2/Timeline;Ljava/lang/Object;)V
.line 709
return-void
.end method
.method private scheduleManifestRefresh()V
.registers 7
.line 712
iget-object v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifest:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
iget-boolean v0, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->isLive:Z
if-nez v0, :cond_7
.line 713
return-void
.line 715
:cond_7
iget-wide v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestLoadStartTimestamp:J
const-wide/16 v2, 0x1388
add-long/2addr v0, v2
.line 716
.local v0, "nextLoadTimestamp":J
const-wide/16 v2, 0x0
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v4
sub-long v4, v0, v4
invoke-static {v2, v3, v4, v5}, Ljava/lang/Math;->max(JJ)J
move-result-wide v2
.line 717
.local v2, "delayUntilNextLoad":J
iget-object v4, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestRefreshHandler:Landroid/os/Handler;
new-instance v5, Lcom/google/android/exoplayer2/source/smoothstreaming/-$$Lambda$SsMediaSource$tFjHmMdOxDkhvkY7QhPdfdPmbtI;
invoke-direct {v5, p0}, Lcom/google/android/exoplayer2/source/smoothstreaming/-$$Lambda$SsMediaSource$tFjHmMdOxDkhvkY7QhPdfdPmbtI;-><init>(Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;)V
invoke-virtual {v4, v5, v2, v3}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
.line 718
return-void
.end method
.method private startLoadingManifest()V
.registers 7
.line 721
new-instance v0, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;
iget-object v1, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestDataSource:Lcom/google/android/exoplayer2/upstream/DataSource;
iget-object v2, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestUri:Landroid/net/Uri;
iget-object v3, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestParser:Lcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser;
const/4 v4, 0x4
invoke-direct {v0, v1, v2, v4, v3}, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;-><init>(Lcom/google/android/exoplayer2/upstream/DataSource;Landroid/net/Uri;ILcom/google/android/exoplayer2/upstream/ParsingLoadable$Parser;)V
.line 723
.local v0, "loadable":Lcom/google/android/exoplayer2/upstream/ParsingLoadable;, "Lcom/google/android/exoplayer2/upstream/ParsingLoadable<Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;>;"
iget-object v1, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestLoader:Lcom/google/android/exoplayer2/upstream/Loader;
iget-object v2, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->loadErrorHandlingPolicy:Lcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;
iget v3, v0, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->type:I
.line 725
invoke-interface {v2, v3}, Lcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;->getMinimumLoadableRetryCount(I)I
move-result v2
.line 724
invoke-virtual {v1, v0, p0, v2}, Lcom/google/android/exoplayer2/upstream/Loader;->startLoading(Lcom/google/android/exoplayer2/upstream/Loader$Loadable;Lcom/google/android/exoplayer2/upstream/Loader$Callback;I)J
move-result-wide v1
.line 726
.local v1, "elapsedRealtimeMs":J
iget-object v3, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestEventDispatcher:Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
iget-object v4, v0, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->dataSpec:Lcom/google/android/exoplayer2/upstream/DataSpec;
iget v5, v0, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->type:I
invoke-virtual {v3, v4, v5, v1, v2}, Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;->loadStarted(Lcom/google/android/exoplayer2/upstream/DataSpec;IJ)V
.line 727
return-void
.end method
# virtual methods
.method public createPeriod(Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;Lcom/google/android/exoplayer2/upstream/Allocator;J)Lcom/google/android/exoplayer2/source/MediaPeriod;
.registers 16
.param p1, "id" # Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
.param p2, "allocator" # Lcom/google/android/exoplayer2/upstream/Allocator;
.param p3, "startPositionUs" # J
.line 556
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->createEventDispatcher(Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
move-result-object v9
.line 557
.local v9, "eventDispatcher":Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
new-instance v10, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaPeriod;
iget-object v1, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifest:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
iget-object v2, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->chunkSourceFactory:Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;
iget-object v3, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->mediaTransferListener:Lcom/google/android/exoplayer2/upstream/TransferListener;
iget-object v4, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->compositeSequenceableLoaderFactory:Lcom/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory;
iget-object v5, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->loadErrorHandlingPolicy:Lcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;
iget-object v7, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestLoaderErrorThrower:Lcom/google/android/exoplayer2/upstream/LoaderErrorThrower;
move-object v0, v10
move-object v6, v9
move-object v8, p2
invoke-direct/range {v0 .. v8}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaPeriod;-><init>(Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;Lcom/google/android/exoplayer2/source/smoothstreaming/SsChunkSource$Factory;Lcom/google/android/exoplayer2/upstream/TransferListener;Lcom/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory;Lcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;Lcom/google/android/exoplayer2/upstream/LoaderErrorThrower;Lcom/google/android/exoplayer2/upstream/Allocator;)V
.line 567
.local v0, "period":Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaPeriod;
iget-object v1, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->mediaPeriods:Ljava/util/ArrayList;
invoke-virtual {v1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 568
return-object v0
.end method
.method public getTag()Ljava/lang/Object;
.registers 2
.line 531
iget-object v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->tag:Ljava/lang/Object;
return-object v0
.end method
.method public maybeThrowSourceInfoRefreshError()V
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 551
iget-object v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestLoaderErrorThrower:Lcom/google/android/exoplayer2/upstream/LoaderErrorThrower;
invoke-interface {v0}, Lcom/google/android/exoplayer2/upstream/LoaderErrorThrower;->maybeThrowError()V
.line 552
return-void
.end method
.method public bridge synthetic onLoadCanceled(Lcom/google/android/exoplayer2/upstream/Loader$Loadable;JJZ)V
.registers 14
.line 57
move-object v1, p1
check-cast v1, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;
move-object v0, p0
move-wide v2, p2
move-wide v4, p4
move v6, p6
invoke-virtual/range {v0 .. v6}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->onLoadCanceled(Lcom/google/android/exoplayer2/upstream/ParsingLoadable;JJZ)V
return-void
.end method
.method public onLoadCanceled(Lcom/google/android/exoplayer2/upstream/ParsingLoadable;JJZ)V
.registers 20
.param p2, "elapsedRealtimeMs" # J
.param p4, "loadDurationMs" # J
.param p6, "released" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/upstream/ParsingLoadable<",
"Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;",
">;JJZ)V"
}
.end annotation
.line 614
.local p1, "loadable":Lcom/google/android/exoplayer2/upstream/ParsingLoadable;, "Lcom/google/android/exoplayer2/upstream/ParsingLoadable<Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;>;"
move-object v0, p1
move-object v1, p0
iget-object v2, v1, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestEventDispatcher:Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
iget-object v3, v0, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->dataSpec:Lcom/google/android/exoplayer2/upstream/DataSpec;
.line 616
invoke-virtual {p1}, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->getUri()Landroid/net/Uri;
move-result-object v4
.line 617
invoke-virtual {p1}, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->getResponseHeaders()Ljava/util/Map;
move-result-object v5
iget v6, v0, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->type:I
.line 621
invoke-virtual {p1}, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->bytesLoaded()J
move-result-wide v11
.line 614
move-wide v7, p2
move-wide/from16 v9, p4
invoke-virtual/range {v2 .. v12}, Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;->loadCanceled(Lcom/google/android/exoplayer2/upstream/DataSpec;Landroid/net/Uri;Ljava/util/Map;IJJJ)V
.line 622
return-void
.end method
.method public bridge synthetic onLoadCompleted(Lcom/google/android/exoplayer2/upstream/Loader$Loadable;JJ)V
.registers 12
.line 57
move-object v1, p1
check-cast v1, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;
move-object v0, p0
move-wide v2, p2
move-wide v4, p4
invoke-virtual/range {v0 .. v5}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->onLoadCompleted(Lcom/google/android/exoplayer2/upstream/ParsingLoadable;JJ)V
return-void
.end method
.method public onLoadCompleted(Lcom/google/android/exoplayer2/upstream/ParsingLoadable;JJ)V
.registers 19
.param p2, "elapsedRealtimeMs" # J
.param p4, "loadDurationMs" # J
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/upstream/ParsingLoadable<",
"Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;",
">;JJ)V"
}
.end annotation
.line 597
.local p1, "loadable":Lcom/google/android/exoplayer2/upstream/ParsingLoadable;, "Lcom/google/android/exoplayer2/upstream/ParsingLoadable<Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;>;"
move-object v0, p0
move-object v1, p1
iget-object v2, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestEventDispatcher:Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
iget-object v3, v1, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->dataSpec:Lcom/google/android/exoplayer2/upstream/DataSpec;
.line 599
invoke-virtual {p1}, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->getUri()Landroid/net/Uri;
move-result-object v4
.line 600
invoke-virtual {p1}, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->getResponseHeaders()Ljava/util/Map;
move-result-object v5
iget v6, v1, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->type:I
.line 604
invoke-virtual {p1}, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->bytesLoaded()J
move-result-wide v11
.line 597
move-wide v7, p2
move-wide/from16 v9, p4
invoke-virtual/range {v2 .. v12}, Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;->loadCompleted(Lcom/google/android/exoplayer2/upstream/DataSpec;Landroid/net/Uri;Ljava/util/Map;IJJJ)V
.line 605
invoke-virtual {p1}, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->getResult()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
iput-object v2, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifest:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
.line 606
sub-long v2, p2, p4
iput-wide v2, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestLoadStartTimestamp:J
.line 607
invoke-direct {p0}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->processManifest()V
.line 608
invoke-direct {p0}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->scheduleManifestRefresh()V
.line 609
return-void
.end method
.method public bridge synthetic onLoadError(Lcom/google/android/exoplayer2/upstream/Loader$Loadable;JJLjava/io/IOException;I)Lcom/google/android/exoplayer2/upstream/Loader$LoadErrorAction;
.registers 16
.line 57
move-object v1, p1
check-cast v1, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;
move-object v0, p0
move-wide v2, p2
move-wide v4, p4
move-object v6, p6
move v7, p7
invoke-virtual/range {v0 .. v7}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->onLoadError(Lcom/google/android/exoplayer2/upstream/ParsingLoadable;JJLjava/io/IOException;I)Lcom/google/android/exoplayer2/upstream/Loader$LoadErrorAction;
move-result-object p1
return-object p1
.end method
.method public onLoadError(Lcom/google/android/exoplayer2/upstream/ParsingLoadable;JJLjava/io/IOException;I)Lcom/google/android/exoplayer2/upstream/Loader$LoadErrorAction;
.registers 24
.param p2, "elapsedRealtimeMs" # J
.param p4, "loadDurationMs" # J
.param p6, "error" # Ljava/io/IOException;
.param p7, "errorCount" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/upstream/ParsingLoadable<",
"Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;",
">;JJ",
"Ljava/io/IOException;",
"I)",
"Lcom/google/android/exoplayer2/upstream/Loader$LoadErrorAction;"
}
.end annotation
.line 631
.local p1, "loadable":Lcom/google/android/exoplayer2/upstream/ParsingLoadable;, "Lcom/google/android/exoplayer2/upstream/ParsingLoadable<Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;>;"
move-object/from16 v0, p1
move-object/from16 v14, p6
instance-of v15, v14, Lcom/google/android/exoplayer2/ParserException;
.line 632
.local v15, "isFatal":Z
move-object/from16 v13, p0
iget-object v1, v13, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestEventDispatcher:Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
iget-object v2, v0, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->dataSpec:Lcom/google/android/exoplayer2/upstream/DataSpec;
.line 634
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->getUri()Landroid/net/Uri;
move-result-object v3
.line 635
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->getResponseHeaders()Ljava/util/Map;
move-result-object v4
iget v5, v0, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->type:I
.line 639
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/upstream/ParsingLoadable;->bytesLoaded()J
move-result-wide v10
.line 632
move-wide/from16 v6, p2
move-wide/from16 v8, p4
move-object/from16 v12, p6
move v13, v15
invoke-virtual/range {v1 .. v13}, Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;->loadError(Lcom/google/android/exoplayer2/upstream/DataSpec;Landroid/net/Uri;Ljava/util/Map;IJJJLjava/io/IOException;Z)V
.line 642
if-eqz v15, :cond_29
sget-object v1, Lcom/google/android/exoplayer2/upstream/Loader;->DONT_RETRY_FATAL:Lcom/google/android/exoplayer2/upstream/Loader$LoadErrorAction;
goto :goto_2b
:cond_29
sget-object v1, Lcom/google/android/exoplayer2/upstream/Loader;->RETRY:Lcom/google/android/exoplayer2/upstream/Loader$LoadErrorAction;
:goto_2b
return-object v1
.end method
.method public prepareSourceInternal(Lcom/google/android/exoplayer2/upstream/TransferListener;)V
.registers 4
.param p1, "mediaTransferListener" # Lcom/google/android/exoplayer2/upstream/TransferListener;
.line 536
iput-object p1, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->mediaTransferListener:Lcom/google/android/exoplayer2/upstream/TransferListener;
.line 537
iget-boolean v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->sideloadedManifest:Z
if-eqz v0, :cond_11
.line 538
new-instance v0, Lcom/google/android/exoplayer2/upstream/LoaderErrorThrower$Dummy;
invoke-direct {v0}, Lcom/google/android/exoplayer2/upstream/LoaderErrorThrower$Dummy;-><init>()V
iput-object v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestLoaderErrorThrower:Lcom/google/android/exoplayer2/upstream/LoaderErrorThrower;
.line 539
invoke-direct {p0}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->processManifest()V
goto :goto_2e
.line 541
:cond_11
iget-object v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->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
iput-object v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestDataSource:Lcom/google/android/exoplayer2/upstream/DataSource;
.line 542
new-instance v0, Lcom/google/android/exoplayer2/upstream/Loader;
const-string v1, "Loader:Manifest"
invoke-direct {v0, v1}, Lcom/google/android/exoplayer2/upstream/Loader;-><init>(Ljava/lang/String;)V
iput-object v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestLoader:Lcom/google/android/exoplayer2/upstream/Loader;
.line 543
iput-object v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestLoaderErrorThrower:Lcom/google/android/exoplayer2/upstream/LoaderErrorThrower;
.line 544
new-instance v0, Landroid/os/Handler;
invoke-direct {v0}, Landroid/os/Handler;-><init>()V
iput-object v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestRefreshHandler:Landroid/os/Handler;
.line 545
invoke-direct {p0}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->startLoadingManifest()V
.line 547
:goto_2e
return-void
.end method
.method public releasePeriod(Lcom/google/android/exoplayer2/source/MediaPeriod;)V
.registers 3
.param p1, "period" # Lcom/google/android/exoplayer2/source/MediaPeriod;
.line 573
move-object v0, p1
check-cast v0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaPeriod;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaPeriod;->release()V
.line 574
iget-object v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->mediaPeriods:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
.line 575
return-void
.end method
.method public releaseSourceInternal()V
.registers 5
.line 579
iget-boolean v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->sideloadedManifest:Z
const/4 v1, 0x0
if-eqz v0, :cond_8
iget-object v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifest:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
goto :goto_9
:cond_8
move-object v0, v1
:goto_9
iput-object v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifest:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
.line 580
iput-object v1, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestDataSource:Lcom/google/android/exoplayer2/upstream/DataSource;
.line 581
const-wide/16 v2, 0x0
iput-wide v2, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestLoadStartTimestamp:J
.line 582
iget-object v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestLoader:Lcom/google/android/exoplayer2/upstream/Loader;
if-eqz v0, :cond_1a
.line 583
invoke-virtual {v0}, Lcom/google/android/exoplayer2/upstream/Loader;->release()V
.line 584
iput-object v1, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestLoader:Lcom/google/android/exoplayer2/upstream/Loader;
.line 586
:cond_1a
iget-object v0, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestRefreshHandler:Landroid/os/Handler;
if-eqz v0, :cond_23
.line 587
invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacksAndMessages(Ljava/lang/Object;)V
.line 588
iput-object v1, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/SsMediaSource;->manifestRefreshHandler:Landroid/os/Handler;
.line 590
:cond_23
return-void
.end method