t.smali

.class public final Lcom/google/android/exoplayer2/mediacodec/t;
.super Ljava/lang/Object;
.source "SourceFile"

# interfaces
.implements Lcom/google/android/exoplayer2/mediacodec/l;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/google/android/exoplayer2/mediacodec/t$a;
    }
.end annotation


# instance fields
.field public final a:Landroid/media/MediaCodec;

.field public b:[Ljava/nio/ByteBuffer;

.field public c:[Ljava/nio/ByteBuffer;


# direct methods
.method public constructor <init>(Landroid/media/MediaCodec;)V
    .registers 4

    .line 1
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 2
    iput-object p1, p0, Lcom/google/android/exoplayer2/mediacodec/t;->a:Landroid/media/MediaCodec;

    .line 3
    sget v0, Lcom/google/android/exoplayer2/util/k0;->a:I

    const/16 v1, 0x15

    if-ge v0, v1, :cond_17

    .line 4
    invoke-virtual {p1}, Landroid/media/MediaCodec;->getInputBuffers()[Ljava/nio/ByteBuffer;

    move-result-object v0

    iput-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->b:[Ljava/nio/ByteBuffer;

    .line 5
    invoke-virtual {p1}, Landroid/media/MediaCodec;->getOutputBuffers()[Ljava/nio/ByteBuffer;

    move-result-object p1

    iput-object p1, p0, Lcom/google/android/exoplayer2/mediacodec/t;->c:[Ljava/nio/ByteBuffer;

    :cond_17
    return-void
.end method


# virtual methods
.method public final a(I)V
    .registers 3

    iget-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->a:Landroid/media/MediaCodec;

    invoke-virtual {v0, p1}, Landroid/media/MediaCodec;->setVideoScalingMode(I)V

    return-void
.end method

.method public final b()V
    .registers 1

    return-void
.end method

.method public final c(IJ)V
    .registers 5

    iget-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->a:Landroid/media/MediaCodec;

    invoke-virtual {v0, p1, p2, p3}, Landroid/media/MediaCodec;->releaseOutputBuffer(IJ)V

    return-void
.end method

.method public final d(Landroid/media/MediaCodec$BufferInfo;)I
    .registers 6

    .line 1
    :cond_0
    iget-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->a:Landroid/media/MediaCodec;

    const-wide/16 v1, 0x0

    invoke-virtual {v0, p1, v1, v2}, Landroid/media/MediaCodec;->dequeueOutputBuffer(Landroid/media/MediaCodec$BufferInfo;J)I

    move-result v0

    const/4 v1, -0x3

    if-ne v0, v1, :cond_19

    .line 2
    sget v2, Lcom/google/android/exoplayer2/util/k0;->a:I

    const/16 v3, 0x15

    if-ge v2, v3, :cond_19

    .line 3
    iget-object v2, p0, Lcom/google/android/exoplayer2/mediacodec/t;->a:Landroid/media/MediaCodec;

    invoke-virtual {v2}, Landroid/media/MediaCodec;->getOutputBuffers()[Ljava/nio/ByteBuffer;

    move-result-object v2

    iput-object v2, p0, Lcom/google/android/exoplayer2/mediacodec/t;->c:[Ljava/nio/ByteBuffer;

    :cond_19
    if-eq v0, v1, :cond_0

    return v0
.end method

.method public final e(ILcom/google/android/exoplayer2/decoder/c;J)V
    .registers 12

    .line 1
    iget-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->a:Landroid/media/MediaCodec;

    .line 2
    iget-object v3, p2, Lcom/google/android/exoplayer2/decoder/c;->i:Landroid/media/MediaCodec$CryptoInfo;

    const/4 v2, 0x0

    const/4 v6, 0x0

    move v1, p1

    move-wide v4, p3

    .line 3
    invoke-virtual/range {v0 .. v6}, Landroid/media/MediaCodec;->queueSecureInputBuffer(IILandroid/media/MediaCodec$CryptoInfo;JI)V

    return-void
.end method

.method public final f(IIJI)V
    .registers 13

    iget-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->a:Landroid/media/MediaCodec;

    const/4 v2, 0x0

    move v1, p1

    move v3, p2

    move-wide v4, p3

    move v6, p5

    invoke-virtual/range {v0 .. v6}, Landroid/media/MediaCodec;->queueInputBuffer(IIIJI)V

    return-void
.end method

.method public final flush()V
    .registers 2

    iget-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->a:Landroid/media/MediaCodec;

    invoke-virtual {v0}, Landroid/media/MediaCodec;->flush()V

    return-void
.end method

.method public final g(Lcom/google/android/exoplayer2/mediacodec/l$c;Landroid/os/Handler;)V
    .registers 5

    iget-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->a:Landroid/media/MediaCodec;

    new-instance v1, Lcom/google/android/exoplayer2/mediacodec/s;

    invoke-direct {v1, p0, p1}, Lcom/google/android/exoplayer2/mediacodec/s;-><init>(Lcom/google/android/exoplayer2/mediacodec/t;Lcom/google/android/exoplayer2/mediacodec/l$c;)V

    invoke-virtual {v0, v1, p2}, Landroid/media/MediaCodec;->setOnFrameRenderedListener(Landroid/media/MediaCodec$OnFrameRenderedListener;Landroid/os/Handler;)V

    return-void
.end method

.method public final getOutputFormat()Landroid/media/MediaFormat;
    .registers 2

    iget-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->a:Landroid/media/MediaCodec;

    invoke-virtual {v0}, Landroid/media/MediaCodec;->getOutputFormat()Landroid/media/MediaFormat;

    move-result-object v0

    return-object v0
.end method

.method public final h(I)Ljava/nio/ByteBuffer;
    .registers 4

    .line 1
    sget v0, Lcom/google/android/exoplayer2/util/k0;->a:I

    const/16 v1, 0x15

    if-lt v0, v1, :cond_d

    .line 2
    iget-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->a:Landroid/media/MediaCodec;

    invoke-virtual {v0, p1}, Landroid/media/MediaCodec;->getInputBuffer(I)Ljava/nio/ByteBuffer;

    move-result-object p1

    return-object p1

    .line 3
    :cond_d
    iget-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->b:[Ljava/nio/ByteBuffer;

    aget-object p1, v0, p1

    return-object p1
.end method

.method public final i(Landroid/view/Surface;)V
    .registers 3

    iget-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->a:Landroid/media/MediaCodec;

    invoke-virtual {v0, p1}, Landroid/media/MediaCodec;->setOutputSurface(Landroid/view/Surface;)V

    return-void
.end method

.method public final j()I
    .registers 4

    iget-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->a:Landroid/media/MediaCodec;

    const-wide/16 v1, 0x0

    invoke-virtual {v0, v1, v2}, Landroid/media/MediaCodec;->dequeueInputBuffer(J)I

    move-result v0

    return v0
.end method

.method public final k(I)Ljava/nio/ByteBuffer;
    .registers 4

    .line 1
    sget v0, Lcom/google/android/exoplayer2/util/k0;->a:I

    const/16 v1, 0x15

    if-lt v0, v1, :cond_d

    .line 2
    iget-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->a:Landroid/media/MediaCodec;

    invoke-virtual {v0, p1}, Landroid/media/MediaCodec;->getOutputBuffer(I)Ljava/nio/ByteBuffer;

    move-result-object p1

    return-object p1

    .line 3
    :cond_d
    iget-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->c:[Ljava/nio/ByteBuffer;

    aget-object p1, v0, p1

    return-object p1
.end method

.method public final release()V
    .registers 2

    const/4 v0, 0x0

    .line 1
    iput-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->b:[Ljava/nio/ByteBuffer;

    .line 2
    iput-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->c:[Ljava/nio/ByteBuffer;

    .line 3
    iget-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->a:Landroid/media/MediaCodec;

    invoke-virtual {v0}, Landroid/media/MediaCodec;->release()V

    return-void
.end method

.method public final releaseOutputBuffer(IZ)V
    .registers 4

    iget-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->a:Landroid/media/MediaCodec;

    invoke-virtual {v0, p1, p2}, Landroid/media/MediaCodec;->releaseOutputBuffer(IZ)V

    return-void
.end method

.method public final setParameters(Landroid/os/Bundle;)V
    .registers 3

    iget-object v0, p0, Lcom/google/android/exoplayer2/mediacodec/t;->a:Landroid/media/MediaCodec;

    invoke-virtual {v0, p1}, Landroid/media/MediaCodec;->setParameters(Landroid/os/Bundle;)V

    return-void
.end method