DashMediaSource$PeriodSeekInfo.smali
.class final Lcom/google/android/exoplayer2/source/dash/DashMediaSource$PeriodSeekInfo;
.super Ljava/lang/Object;
.source "DashMediaSource.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/source/dash/DashMediaSource;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1a
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 601
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 602
iput-boolean p1, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaSource$PeriodSeekInfo;->isIndexExplicit:Z
.line 603
iput-wide p2, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaSource$PeriodSeekInfo;->availableStartTimeUs:J
.line 604
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 19
move-object/from16 v0, p0
move-wide/from16 v4, p1
.line 571
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 v2, 0x0
const-wide/16 v6, 0x0
const-wide v8, 0x7fffffffffffffffL
move-wide v12, v6
move-wide v14, v8
const/4 v3, 0x0
const/4 v11, 0x0
:goto_16
if-ge v3, v1, :cond_63
.line 576
iget-object v6, v0, Lcom/google/android/exoplayer2/source/dash/manifest/Period;->adaptationSets:Ljava/util/List;
invoke-interface {v6, v3}, 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;
invoke-interface {v6, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v6
check-cast v6, Lcom/google/android/exoplayer2/source/dash/manifest/Representation;
invoke-virtual {v6}, Lcom/google/android/exoplayer2/source/dash/manifest/Representation;->getIndex()Lcom/google/android/exoplayer2/source/dash/DashSegmentIndex;
move-result-object v6
if-nez v6, :cond_3a
.line 578
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 580
:cond_3a
invoke-interface {v6}, Lcom/google/android/exoplayer2/source/dash/DashSegmentIndex;->getFirstSegmentNum()I
move-result v7
.line 581
invoke-interface {v6, v4, v5}, Lcom/google/android/exoplayer2/source/dash/DashSegmentIndex;->getLastSegmentNum(J)I
move-result v8
.line 582
invoke-interface {v6}, Lcom/google/android/exoplayer2/source/dash/DashSegmentIndex;->isExplicit()Z
move-result v9
or-int/2addr v11, v9
.line 583
invoke-interface {v6, v7}, Lcom/google/android/exoplayer2/source/dash/DashSegmentIndex;->getTimeUs(I)J
move-result-wide v9
.line 584
invoke-static {v12, v13, v9, v10}, Ljava/lang/Math;->max(JJ)J
move-result-wide v12
const/4 v7, -0x1
if-eq v8, v7, :cond_60
.line 586
invoke-interface {v6, v8}, Lcom/google/android/exoplayer2/source/dash/DashSegmentIndex;->getTimeUs(I)J
move-result-wide v9
.line 587
invoke-interface {v6, v8, v4, v5}, Lcom/google/android/exoplayer2/source/dash/DashSegmentIndex;->getDurationUs(IJ)J
move-result-wide v6
add-long/2addr v9, v6
.line 588
invoke-static {v14, v15, v9, v10}, Ljava/lang/Math;->min(JJ)J
move-result-wide v6
move-wide v14, v6
:cond_60
add-int/lit8 v3, v3, 0x1
goto :goto_16
.line 593
:cond_63
new-instance v0, Lcom/google/android/exoplayer2/source/dash/DashMediaSource$PeriodSeekInfo;
move-object v10, v0
invoke-direct/range {v10 .. v15}, Lcom/google/android/exoplayer2/source/dash/DashMediaSource$PeriodSeekInfo;-><init>(ZJJ)V
return-object v0
.end method