ChunkSampleStream$EmbeddedSampleStream.smali
.class public final Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;
.super Ljava/lang/Object;
.source "ChunkSampleStream.java"
# interfaces
.implements Lcom/google/android/exoplayer2/source/SampleStream;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "EmbeddedSampleStream"
.end annotation
# instance fields
.field private final index:I
.field private notifiedDownstreamFormat:Z
.field public final parent:Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<",
"TT;>;"
}
.end annotation
.end field
.field private final sampleQueue:Lcom/google/android/exoplayer2/source/SampleQueue;
.field final synthetic this$0:Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;Lcom/google/android/exoplayer2/source/SampleQueue;I)V
.registers 5
.param p1, "this$0" # Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
.param p3, "sampleQueue" # Lcom/google/android/exoplayer2/source/SampleQueue;
.param p4, "index" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<",
"TT;>;",
"Lcom/google/android/exoplayer2/source/SampleQueue;",
"I)V"
}
.end annotation
.line 762
.local p0, "this":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<TT;>.EmbeddedSampleStream;"
.local p2, "parent":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<TT;>;"
iput-object p1, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->this$0:Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 763
iput-object p2, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->parent:Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
.line 764
iput-object p3, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->sampleQueue:Lcom/google/android/exoplayer2/source/SampleQueue;
.line 765
iput p4, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->index:I
.line 766
return-void
.end method
.method private maybeNotifyDownstreamFormat()V
.registers 9
.line 813
.local p0, "this":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<TT;>.EmbeddedSampleStream;"
iget-boolean v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->notifiedDownstreamFormat:Z
if-nez v0, :cond_2c
.line 814
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->this$0:Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
# getter for: Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->eventDispatcher:Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
invoke-static {v0}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->access$400(Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;)Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
move-result-object v1
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->this$0:Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
.line 815
# getter for: Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->embeddedTrackTypes:[I
invoke-static {v0}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->access$100(Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;)[I
move-result-object v0
iget v2, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->index:I
aget v2, v0, v2
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->this$0:Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
.line 816
# getter for: Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->embeddedTrackFormats:[Lcom/google/android/exoplayer2/Format;
invoke-static {v0}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->access$200(Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;)[Lcom/google/android/exoplayer2/Format;
move-result-object v0
iget v3, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->index:I
aget-object v3, v0, v3
const/4 v4, 0x0
const/4 v5, 0x0
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->this$0:Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
.line 819
# getter for: Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->lastSeekPositionUs:J
invoke-static {v0}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->access$300(Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;)J
move-result-wide v6
.line 814
invoke-virtual/range {v1 .. v7}, Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;->downstreamFormatChanged(ILcom/google/android/exoplayer2/Format;ILjava/lang/Object;J)V
.line 820
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->notifiedDownstreamFormat:Z
.line 822
:cond_2c
return-void
.end method
# virtual methods
.method public isReady()Z
.registers 2
.line 770
.local p0, "this":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<TT;>.EmbeddedSampleStream;"
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->this$0:Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
iget-boolean v0, v0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->loadingFinished:Z
if-nez v0, :cond_19
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->this$0:Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->isPendingReset()Z
move-result v0
if-nez v0, :cond_17
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->sampleQueue:Lcom/google/android/exoplayer2/source/SampleQueue;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/source/SampleQueue;->hasNextSample()Z
move-result v0
if-eqz v0, :cond_17
goto :goto_19
:cond_17
const/4 v0, 0x0
goto :goto_1a
:cond_19
:goto_19
const/4 v0, 0x1
:goto_1a
return v0
.end method
.method public maybeThrowError()V
.registers 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 794
.local p0, "this":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<TT;>.EmbeddedSampleStream;"
return-void
.end method
.method public readData(Lcom/google/android/exoplayer2/FormatHolder;Lcom/google/android/exoplayer2/decoder/DecoderInputBuffer;Z)I
.registers 12
.param p1, "formatHolder" # Lcom/google/android/exoplayer2/FormatHolder;
.param p2, "buffer" # Lcom/google/android/exoplayer2/decoder/DecoderInputBuffer;
.param p3, "formatRequired" # Z
.line 799
.local p0, "this":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<TT;>.EmbeddedSampleStream;"
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->this$0:Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->isPendingReset()Z
move-result v0
if-eqz v0, :cond_a
.line 800
const/4 v0, -0x3
return v0
.line 802
:cond_a
invoke-direct {p0}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->maybeNotifyDownstreamFormat()V
.line 803
iget-object v1, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->sampleQueue:Lcom/google/android/exoplayer2/source/SampleQueue;
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->this$0:Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
iget-boolean v5, v0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->loadingFinished:Z
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->this$0:Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
iget-wide v6, v0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->decodeOnlyUntilPositionUs:J
move-object v2, p1
move-object v3, p2
move v4, p3
invoke-virtual/range {v1 .. v7}, Lcom/google/android/exoplayer2/source/SampleQueue;->read(Lcom/google/android/exoplayer2/FormatHolder;Lcom/google/android/exoplayer2/decoder/DecoderInputBuffer;ZZJ)I
move-result v0
return v0
.end method
.method public release()V
.registers 4
.line 808
.local p0, "this":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<TT;>.EmbeddedSampleStream;"
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->this$0:Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
# getter for: Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->embeddedTracksSelected:[Z
invoke-static {v0}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->access$000(Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;)[Z
move-result-object v0
iget v1, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->index:I
aget-boolean v0, v0, v1
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
.line 809
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->this$0:Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
# getter for: Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->embeddedTracksSelected:[Z
invoke-static {v0}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->access$000(Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;)[Z
move-result-object v0
iget v1, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->index:I
const/4 v2, 0x0
aput-boolean v2, v0, v1
.line 810
return-void
.end method
.method public skipData(J)I
.registers 6
.param p1, "positionUs" # J
.line 775
.local p0, "this":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<TT;>.EmbeddedSampleStream;"
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->this$0:Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->isPendingReset()Z
move-result v0
if-eqz v0, :cond_a
.line 776
const/4 v0, 0x0
return v0
.line 778
:cond_a
invoke-direct {p0}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->maybeNotifyDownstreamFormat()V
.line 780
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->this$0:Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
iget-boolean v0, v0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->loadingFinished:Z
if-eqz v0, :cond_24
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->sampleQueue:Lcom/google/android/exoplayer2/source/SampleQueue;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/source/SampleQueue;->getLargestQueuedTimestampUs()J
move-result-wide v0
cmp-long v2, p1, v0
if-lez v2, :cond_24
.line 781
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->sampleQueue:Lcom/google/android/exoplayer2/source/SampleQueue;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/source/SampleQueue;->advanceToEnd()I
move-result v0
.local v0, "skipCount":I
goto :goto_2f
.line 783
.end local v0 # "skipCount":I
:cond_24
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->sampleQueue:Lcom/google/android/exoplayer2/source/SampleQueue;
const/4 v1, 0x1
invoke-virtual {v0, p1, p2, v1, v1}, Lcom/google/android/exoplayer2/source/SampleQueue;->advanceTo(JZZ)I
move-result v0
.line 784
.restart local v0 # "skipCount":I
const/4 v1, -0x1
if-ne v0, v1, :cond_2f
.line 785
const/4 v0, 0x0
.line 788
:cond_2f
:goto_2f
return v0
.end method