.class final Lcom/google/android/exoplayer2/source/ClippingMediaSource$ClippingTimeline; .super Lcom/google/android/exoplayer2/Timeline; .source "ClippingMediaSource.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/google/android/exoplayer2/source/ClippingMediaSource; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x19 name = "ClippingTimeline" .end annotation # instance fields .field private final endUs:J .field private final startUs:J .field private final timeline:Lcom/google/android/exoplayer2/Timeline; # direct methods .method public constructor (Lcom/google/android/exoplayer2/Timeline;JJ)V .locals 8 .line 1 invoke-direct {p0}, Lcom/google/android/exoplayer2/Timeline;->()V .line 2 invoke-virtual {p1}, Lcom/google/android/exoplayer2/Timeline;->getWindowCount()I move-result v0 const/4 v1, 0x0 const/4 v2, 0x1 if-ne v0, v2, :cond_0 move v0, v2 goto :goto_0 :cond_0 move v0, v1 :goto_0 invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkArgument(Z)V .line 3 invoke-virtual {p1}, Lcom/google/android/exoplayer2/Timeline;->getPeriodCount()I move-result v0 if-ne v0, v2, :cond_1 move v0, v2 goto :goto_1 :cond_1 move v0, v1 :goto_1 invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkArgument(Z)V .line 4 new-instance v0, Lcom/google/android/exoplayer2/Timeline$Window; invoke-direct {v0}, Lcom/google/android/exoplayer2/Timeline$Window;->()V invoke-virtual {p1, v1, v0, v1}, Lcom/google/android/exoplayer2/Timeline;->getWindow(ILcom/google/android/exoplayer2/Timeline$Window;Z)Lcom/google/android/exoplayer2/Timeline$Window; move-result-object v0 .line 5 iget-boolean v3, v0, Lcom/google/android/exoplayer2/Timeline$Window;->isDynamic:Z xor-int/2addr v3, v2 invoke-static {v3}, Lcom/google/android/exoplayer2/util/Assertions;->checkArgument(Z)V const-wide/high16 v3, -0x8000000000000000L cmp-long v3, p4, v3 if-nez v3, :cond_2 .line 6 iget-wide p4, v0, Lcom/google/android/exoplayer2/Timeline$Window;->durationUs:J .line 7 :cond_2 iget-wide v3, v0, Lcom/google/android/exoplayer2/Timeline$Window;->durationUs:J const-wide v5, -0x7fffffffffffffffL # -4.9E-324 cmp-long v3, v3, v5 const-wide/16 v4, 0x0 if-eqz v3, :cond_7 cmp-long v3, p2, v4 if-eqz v3, :cond_4 .line 8 iget-boolean v3, v0, Lcom/google/android/exoplayer2/Timeline$Window;->isSeekable:Z if-eqz v3, :cond_3 goto :goto_2 :cond_3 move v3, v1 goto :goto_3 :cond_4 :goto_2 move v3, v2 :goto_3 invoke-static {v3}, Lcom/google/android/exoplayer2/util/Assertions;->checkArgument(Z)V .line 9 iget-wide v6, v0, Lcom/google/android/exoplayer2/Timeline$Window;->durationUs:J cmp-long v0, p4, v6 if-gtz v0, :cond_5 move v0, v2 goto :goto_4 :cond_5 move v0, v1 :goto_4 invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkArgument(Z)V cmp-long v0, p2, p4 if-gtz v0, :cond_6 move v0, v2 goto :goto_5 :cond_6 move v0, v1 .line 10 :goto_5 invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkArgument(Z)V .line 11 :cond_7 new-instance v0, Lcom/google/android/exoplayer2/Timeline$Period; invoke-direct {v0}, Lcom/google/android/exoplayer2/Timeline$Period;->()V invoke-virtual {p1, v1, v0}, Lcom/google/android/exoplayer2/Timeline;->getPeriod(ILcom/google/android/exoplayer2/Timeline$Period;)Lcom/google/android/exoplayer2/Timeline$Period; move-result-object v0 .line 12 invoke-virtual {v0}, Lcom/google/android/exoplayer2/Timeline$Period;->getPositionInWindowUs()J move-result-wide v6 cmp-long v0, v6, v4 if-nez v0, :cond_8 move v1, v2 :cond_8 invoke-static {v1}, Lcom/google/android/exoplayer2/util/Assertions;->checkArgument(Z)V .line 13 iput-object p1, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource$ClippingTimeline;->timeline:Lcom/google/android/exoplayer2/Timeline; .line 14 iput-wide p2, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource$ClippingTimeline;->startUs:J .line 15 iput-wide p4, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource$ClippingTimeline;->endUs:J return-void .end method .method public static synthetic access$000(Lcom/google/android/exoplayer2/source/ClippingMediaSource$ClippingTimeline;)J .locals 2 .line 1 iget-wide v0, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource$ClippingTimeline;->startUs:J return-wide v0 .end method .method public static synthetic access$100(Lcom/google/android/exoplayer2/source/ClippingMediaSource$ClippingTimeline;)J .locals 2 .line 1 iget-wide v0, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource$ClippingTimeline;->endUs:J return-wide v0 .end method # virtual methods .method public getIndexOfPeriod(Ljava/lang/Object;)I .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource$ClippingTimeline;->timeline:Lcom/google/android/exoplayer2/Timeline; invoke-virtual {v0, p1}, Lcom/google/android/exoplayer2/Timeline;->getIndexOfPeriod(Ljava/lang/Object;)I move-result p1 return p1 .end method .method public getPeriod(ILcom/google/android/exoplayer2/Timeline$Period;Z)Lcom/google/android/exoplayer2/Timeline$Period; .locals 3 .line 1 iget-object p1, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource$ClippingTimeline;->timeline:Lcom/google/android/exoplayer2/Timeline; const/4 v0, 0x0 invoke-virtual {p1, v0, p2, p3}, Lcom/google/android/exoplayer2/Timeline;->getPeriod(ILcom/google/android/exoplayer2/Timeline$Period;Z)Lcom/google/android/exoplayer2/Timeline$Period; move-result-object p1 .line 2 iget-wide p2, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource$ClippingTimeline;->endUs:J const-wide v0, -0x7fffffffffffffffL # -4.9E-324 cmp-long v2, p2, v0 if-eqz v2, :cond_0 iget-wide v0, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource$ClippingTimeline;->startUs:J sub-long v0, p2, v0 :cond_0 iput-wide v0, p1, Lcom/google/android/exoplayer2/Timeline$Period;->durationUs:J return-object p1 .end method .method public getPeriodCount()I .locals 1 const/4 v0, 0x1 return v0 .end method .method public getWindow(ILcom/google/android/exoplayer2/Timeline$Window;ZJ)Lcom/google/android/exoplayer2/Timeline$Window; .locals 6 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource$ClippingTimeline;->timeline:Lcom/google/android/exoplayer2/Timeline; const/4 v1, 0x0 move-object v2, p2 move v3, p3 move-wide v4, p4 invoke-virtual/range {v0 .. v5}, Lcom/google/android/exoplayer2/Timeline;->getWindow(ILcom/google/android/exoplayer2/Timeline$Window;ZJ)Lcom/google/android/exoplayer2/Timeline$Window; move-result-object p1 .line 2 iget-wide p2, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource$ClippingTimeline;->endUs:J const-wide p4, -0x7fffffffffffffffL # -4.9E-324 cmp-long v0, p2, p4 if-eqz v0, :cond_0 iget-wide v0, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource$ClippingTimeline;->startUs:J sub-long/2addr p2, v0 goto :goto_0 :cond_0 move-wide p2, p4 :goto_0 iput-wide p2, p1, Lcom/google/android/exoplayer2/Timeline$Window;->durationUs:J .line 3 iget-wide p2, p1, Lcom/google/android/exoplayer2/Timeline$Window;->defaultPositionUs:J cmp-long v0, p2, p4 if-eqz v0, :cond_2 .line 4 iget-wide v0, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource$ClippingTimeline;->startUs:J invoke-static {p2, p3, v0, v1}, Ljava/lang/Math;->max(JJ)J move-result-wide p2 iput-wide p2, p1, Lcom/google/android/exoplayer2/Timeline$Window;->defaultPositionUs:J .line 5 iget-wide v0, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource$ClippingTimeline;->endUs:J cmp-long v2, v0, p4 if-nez v2, :cond_1 goto :goto_1 .line 6 :cond_1 invoke-static {p2, p3, v0, v1}, Ljava/lang/Math;->min(JJ)J move-result-wide p2 :goto_1 iput-wide p2, p1, Lcom/google/android/exoplayer2/Timeline$Window;->defaultPositionUs:J .line 7 iget-wide v0, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource$ClippingTimeline;->startUs:J sub-long/2addr p2, v0 iput-wide p2, p1, Lcom/google/android/exoplayer2/Timeline$Window;->defaultPositionUs:J .line 8 :cond_2 iget-wide p2, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource$ClippingTimeline;->startUs:J invoke-static {p2, p3}, Lcom/google/android/exoplayer2/C;->usToMs(J)J move-result-wide p2 .line 9 iget-wide v0, p1, Lcom/google/android/exoplayer2/Timeline$Window;->presentationStartTimeMs:J cmp-long v2, v0, p4 if-eqz v2, :cond_3 add-long/2addr v0, p2 .line 10 iput-wide v0, p1, Lcom/google/android/exoplayer2/Timeline$Window;->presentationStartTimeMs:J .line 11 :cond_3 iget-wide v0, p1, Lcom/google/android/exoplayer2/Timeline$Window;->windowStartTimeMs:J cmp-long p4, v0, p4 if-eqz p4, :cond_4 add-long/2addr v0, p2 .line 12 iput-wide v0, p1, Lcom/google/android/exoplayer2/Timeline$Window;->windowStartTimeMs:J :cond_4 return-object p1 .end method .method public getWindowCount()I .locals 1 const/4 v0, 0x1 return v0 .end method