DashMediaSource$PeriodSeekInfo.smali
.class final Lcom/google/android/exoplayer2/source/dash/DashMediaSource$PeriodSeekInfo;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/source/dash/DashMediaSource;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x18
name = "PeriodSeekInfo"
.end annotation
# instance fields
.field public final availableEndTimeUs:J
.field public final availableStartTimeUs:J
.field public final isIndexExplicit:Z
# direct methods
.method private constructor <init>(ZJJ)V
.registers 6
.line 617
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 618
iput-boolean p1, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaSource$PeriodSeekInfo;->isIndexExplicit:Z
.line 619
iput-wide p2, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaSource$PeriodSeekInfo;->availableStartTimeUs:J
.line 620
iput-wide p4, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaSource$PeriodSeekInfo;->availableEndTimeUs:J
return-void
.end method
.method public static createPeriodSeekInfo(Lcom/google/android/exoplayer2/source/dash/manifest/Period;J)Lcom/google/android/exoplayer2/source/dash/DashMediaSource$PeriodSeekInfo;
.registers 21
move-object/from16 v0, p0
move-wide/from16 v4, p1
.line 581
iget-object v1, v0, Lcom/google/android/exoplayer2/source/dash/manifest/Period;->adaptationSets:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v1
const/4 v6, 0x0
const-wide v7, 0x7fffffffffffffffL
move-wide v13, v7
const/4 v7, 0x0
const/4 v8, 0x0
const/4 v10, 0x0
const-wide/16 v11, 0x0
:goto_16
if-ge v7, v1, :cond_7a
.line 587
iget-object v9, v0, Lcom/google/android/exoplayer2/source/dash/manifest/Period;->adaptationSets:Ljava/util/List;
invoke-interface {v9, v7}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v9
check-cast v9, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;
iget-object v9, v9, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;->representations:Ljava/util/List;
invoke-interface {v9, v6}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v9
check-cast v9, Lcom/google/android/exoplayer2/source/dash/manifest/Representation;
invoke-virtual {v9}, Lcom/google/android/exoplayer2/source/dash/manifest/Representation;->getIndex()Lcom/google/android/exoplayer2/source/dash/DashSegmentIndex;
move-result-object v9
if-nez v9, :cond_3a
.line 589
new-instance v6, Lcom/google/android/exoplayer2/source/dash/DashMediaSource$PeriodSeekInfo;
const/4 v1, 0x1
const-wide/16 v2, 0x0
move-object v0, v6
move-wide/from16 v4, p1
invoke-direct/range {v0 .. v5}, Lcom/google/android/exoplayer2/source/dash/DashMediaSource$PeriodSeekInfo;-><init>(ZJJ)V
return-object v6
.line 591
:cond_3a
invoke-interface {v9}, Lcom/google/android/exoplayer2/source/dash/DashSegmentIndex;->isExplicit()Z
move-result v15
or-int/2addr v10, v15
.line 592
invoke-interface {v9, v4, v5}, Lcom/google/android/exoplayer2/source/dash/DashSegmentIndex;->getSegmentCount(J)I
move-result v15
const/16 v16, 0x1
if-nez v15, :cond_4f
move/from16 v17, v7
const/4 v8, 0x1
const-wide/16 v11, 0x0
const-wide/16 v13, 0x0
goto :goto_76
:cond_4f
if-nez v8, :cond_74
.line 598
invoke-interface {v9}, Lcom/google/android/exoplayer2/source/dash/DashSegmentIndex;->getFirstSegmentNum()I
move-result v2
move/from16 v17, v7
.line 599
invoke-interface {v9, v2}, Lcom/google/android/exoplayer2/source/dash/DashSegmentIndex;->getTimeUs(I)J
move-result-wide v6
.line 600
invoke-static {v11, v12, v6, v7}, Ljava/lang/Math;->max(JJ)J
move-result-wide v11
const/4 v6, -0x1
if-eq v15, v6, :cond_76
add-int/2addr v2, v15
add-int/lit8 v2, v2, -0x1
.line 603
invoke-interface {v9, v2}, Lcom/google/android/exoplayer2/source/dash/DashSegmentIndex;->getTimeUs(I)J
move-result-wide v6
.line 604
invoke-interface {v9, v2, v4, v5}, Lcom/google/android/exoplayer2/source/dash/DashSegmentIndex;->getDurationUs(IJ)J
move-result-wide v15
add-long/2addr v6, v15
.line 605
invoke-static {v13, v14, v6, v7}, Ljava/lang/Math;->min(JJ)J
move-result-wide v6
move-wide v13, v6
goto :goto_76
:cond_74
move/from16 v17, v7
:cond_76
:goto_76
add-int/lit8 v7, v17, 0x1
const/4 v6, 0x0
goto :goto_16
.line 609
:cond_7a
new-instance v0, Lcom/google/android/exoplayer2/source/dash/DashMediaSource$PeriodSeekInfo;
move-object v9, v0
invoke-direct/range {v9 .. v14}, Lcom/google/android/exoplayer2/source/dash/DashMediaSource$PeriodSeekInfo;-><init>(ZJJ)V
return-object v0
.end method