FlacBinarySearchSeeker.smali
.class final Lcom/google/android/exoplayer2/ext/flac/FlacBinarySearchSeeker;
.super Lcom/google/android/exoplayer2/extractor/BinarySearchSeeker;
.source "FlacBinarySearchSeeker.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/ext/flac/FlacBinarySearchSeeker$FlacSeekTimestampConverter;,
Lcom/google/android/exoplayer2/ext/flac/FlacBinarySearchSeeker$FlacTimestampSeeker;
}
.end annotation
# instance fields
.field private final decoderJni:Lcom/google/android/exoplayer2/ext/flac/FlacDecoderJni;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Lcom/google/android/exoplayer2/util/FlacStreamInfo;JJLcom/google/android/exoplayer2/ext/flac/FlacDecoderJni;)V
.registers 25
.param p1, "streamInfo" # Lcom/google/android/exoplayer2/util/FlacStreamInfo;
.param p2, "firstFramePosition" # J
.param p4, "inputLength" # J
.param p6, "decoderJni" # Lcom/google/android/exoplayer2/ext/flac/FlacDecoderJni;
.line 41
move-object/from16 v0, p1
new-instance v2, Lcom/google/android/exoplayer2/ext/flac/FlacBinarySearchSeeker$FlacSeekTimestampConverter;
invoke-direct {v2, v0}, Lcom/google/android/exoplayer2/ext/flac/FlacBinarySearchSeeker$FlacSeekTimestampConverter;-><init>(Lcom/google/android/exoplayer2/util/FlacStreamInfo;)V
new-instance v3, Lcom/google/android/exoplayer2/ext/flac/FlacBinarySearchSeeker$FlacTimestampSeeker;
const/4 v1, 0x0
move-object/from16 v14, p6
invoke-direct {v3, v14, v1}, Lcom/google/android/exoplayer2/ext/flac/FlacBinarySearchSeeker$FlacTimestampSeeker;-><init>(Lcom/google/android/exoplayer2/ext/flac/FlacDecoderJni;Lcom/google/android/exoplayer2/ext/flac/FlacBinarySearchSeeker$1;)V
.line 44
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/FlacStreamInfo;->durationUs()J
move-result-wide v4
iget-wide v8, v0, Lcom/google/android/exoplayer2/util/FlacStreamInfo;->totalSamples:J
.line 49
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/FlacStreamInfo;->getApproxBytesPerFrame()J
move-result-wide v15
iget v1, v0, Lcom/google/android/exoplayer2/util/FlacStreamInfo;->minFrameSize:I
.line 50
const/4 v6, 0x1
invoke-static {v6, v1}, Ljava/lang/Math;->max(II)I
move-result v17
.line 41
const-wide/16 v6, 0x0
move-object/from16 v1, p0
move-wide/from16 v10, p2
move-wide/from16 v12, p4
move-wide v14, v15
move/from16 v16, v17
invoke-direct/range {v1 .. v16}, Lcom/google/android/exoplayer2/extractor/BinarySearchSeeker;-><init>(Lcom/google/android/exoplayer2/extractor/BinarySearchSeeker$SeekTimestampConverter;Lcom/google/android/exoplayer2/extractor/BinarySearchSeeker$TimestampSeeker;JJJJJJI)V
.line 51
invoke-static/range {p6 .. p6}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/android/exoplayer2/ext/flac/FlacDecoderJni;
move-object/from16 v2, p0
iput-object v1, v2, Lcom/google/android/exoplayer2/ext/flac/FlacBinarySearchSeeker;->decoderJni:Lcom/google/android/exoplayer2/ext/flac/FlacDecoderJni;
.line 52
return-void
.end method
# virtual methods
.method protected onSeekOperationFinished(ZJ)V
.registers 5
.param p1, "foundTargetFrame" # Z
.param p2, "resultPosition" # J
.line 56
if-nez p1, :cond_7
.line 59
iget-object v0, p0, Lcom/google/android/exoplayer2/ext/flac/FlacBinarySearchSeeker;->decoderJni:Lcom/google/android/exoplayer2/ext/flac/FlacDecoderJni;
invoke-virtual {v0, p2, p3}, Lcom/google/android/exoplayer2/ext/flac/FlacDecoderJni;->reset(J)V
.line 61
:cond_7
return-void
.end method