LoopingMediaSource.smali
.class public final Lcom/google/android/exoplayer2/source/LoopingMediaSource;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/google/android/exoplayer2/source/MediaSource;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/source/LoopingMediaSource$InfinitelyLoopingTimeline;,
Lcom/google/android/exoplayer2/source/LoopingMediaSource$LoopingTimeline;
}
.end annotation
# instance fields
.field private childPeriodCount:I
.field private final childSource:Lcom/google/android/exoplayer2/source/MediaSource;
.field private final loopCount:I
# direct methods
.method public constructor <init>(Lcom/google/android/exoplayer2/source/MediaSource;)V
.registers 3
const v0, 0x7fffffff
.line 47
invoke-direct {p0, p1, v0}, Lcom/google/android/exoplayer2/source/LoopingMediaSource;-><init>(Lcom/google/android/exoplayer2/source/MediaSource;I)V
return-void
.end method
.method public constructor <init>(Lcom/google/android/exoplayer2/source/MediaSource;I)V
.registers 4
.line 56
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
if-lez p2, :cond_7
const/4 v0, 0x1
goto :goto_8
:cond_7
const/4 v0, 0x0
.line 57
:goto_8
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkArgument(Z)V
.line 58
iput-object p1, p0, Lcom/google/android/exoplayer2/source/LoopingMediaSource;->childSource:Lcom/google/android/exoplayer2/source/MediaSource;
.line 59
iput p2, p0, Lcom/google/android/exoplayer2/source/LoopingMediaSource;->loopCount:I
return-void
.end method
.method static synthetic access$002(Lcom/google/android/exoplayer2/source/LoopingMediaSource;I)I
.registers 2
.line 33
iput p1, p0, Lcom/google/android/exoplayer2/source/LoopingMediaSource;->childPeriodCount:I
return p1
.end method
.method static synthetic access$100(Lcom/google/android/exoplayer2/source/LoopingMediaSource;)I
.registers 1
.line 33
iget p0, p0, Lcom/google/android/exoplayer2/source/LoopingMediaSource;->loopCount:I
return p0
.end method
# virtual methods
.method public final createPeriod(Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;Lcom/google/android/exoplayer2/upstream/Allocator;)Lcom/google/android/exoplayer2/source/MediaPeriod;
.registers 6
.line 82
iget v0, p0, Lcom/google/android/exoplayer2/source/LoopingMediaSource;->loopCount:I
const v1, 0x7fffffff
if-eq v0, v1, :cond_17
iget-object v0, p0, Lcom/google/android/exoplayer2/source/LoopingMediaSource;->childSource:Lcom/google/android/exoplayer2/source/MediaSource;
iget v1, p1, Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;->periodIndex:I
iget v2, p0, Lcom/google/android/exoplayer2/source/LoopingMediaSource;->childPeriodCount:I
rem-int/2addr v1, v2
.line 83
invoke-virtual {p1, v1}, Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;->copyWithPeriodIndex(I)Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
move-result-object p1
invoke-interface {v0, p1, p2}, Lcom/google/android/exoplayer2/source/MediaSource;->createPeriod(Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;Lcom/google/android/exoplayer2/upstream/Allocator;)Lcom/google/android/exoplayer2/source/MediaPeriod;
move-result-object p1
return-object p1
:cond_17
iget-object v0, p0, Lcom/google/android/exoplayer2/source/LoopingMediaSource;->childSource:Lcom/google/android/exoplayer2/source/MediaSource;
.line 85
invoke-interface {v0, p1, p2}, Lcom/google/android/exoplayer2/source/MediaSource;->createPeriod(Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;Lcom/google/android/exoplayer2/upstream/Allocator;)Lcom/google/android/exoplayer2/source/MediaPeriod;
move-result-object p1
return-object p1
.end method
.method public final maybeThrowSourceInfoRefreshError()V
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 77
iget-object v0, p0, Lcom/google/android/exoplayer2/source/LoopingMediaSource;->childSource:Lcom/google/android/exoplayer2/source/MediaSource;
invoke-interface {v0}, Lcom/google/android/exoplayer2/source/MediaSource;->maybeThrowSourceInfoRefreshError()V
return-void
.end method
.method public final prepareSource(Lcom/google/android/exoplayer2/ExoPlayer;ZLcom/google/android/exoplayer2/source/MediaSource$Listener;)V
.registers 5
.line 64
iget-object p2, p0, Lcom/google/android/exoplayer2/source/LoopingMediaSource;->childSource:Lcom/google/android/exoplayer2/source/MediaSource;
new-instance v0, Lcom/google/android/exoplayer2/source/LoopingMediaSource$1;
invoke-direct {v0, p0, p3}, Lcom/google/android/exoplayer2/source/LoopingMediaSource$1;-><init>(Lcom/google/android/exoplayer2/source/LoopingMediaSource;Lcom/google/android/exoplayer2/source/MediaSource$Listener;)V
const/4 p3, 0x0
invoke-interface {p2, p1, p3, v0}, Lcom/google/android/exoplayer2/source/MediaSource;->prepareSource(Lcom/google/android/exoplayer2/ExoPlayer;ZLcom/google/android/exoplayer2/source/MediaSource$Listener;)V
return-void
.end method
.method public final releasePeriod(Lcom/google/android/exoplayer2/source/MediaPeriod;)V
.registers 3
.line 90
iget-object v0, p0, Lcom/google/android/exoplayer2/source/LoopingMediaSource;->childSource:Lcom/google/android/exoplayer2/source/MediaSource;
invoke-interface {v0, p1}, Lcom/google/android/exoplayer2/source/MediaSource;->releasePeriod(Lcom/google/android/exoplayer2/source/MediaPeriod;)V
return-void
.end method
.method public final releaseSource()V
.registers 2
.line 95
iget-object v0, p0, Lcom/google/android/exoplayer2/source/LoopingMediaSource;->childSource:Lcom/google/android/exoplayer2/source/MediaSource;
invoke-interface {v0}, Lcom/google/android/exoplayer2/source/MediaSource;->releaseSource()V
return-void
.end method