b.smali

.class public final Lcom/google/android/exoplayer2/video/spherical/b;
.super Lcom/google/android/exoplayer2/f;
.source "SourceFile"


# instance fields
.field public final a:Lcom/google/android/exoplayer2/decoder/g;

.field public final b:Lcom/google/android/exoplayer2/util/y;

.field public c:J

.field public d:Lcom/google/android/exoplayer2/video/spherical/a;

.field public e:J


# direct methods
.method public constructor <init>()V
    .registers 3

    const/4 v0, 0x6

    .line 1
    invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/f;-><init>(I)V

    .line 2
    new-instance v0, Lcom/google/android/exoplayer2/decoder/g;

    const/4 v1, 0x1

    invoke-direct {v0, v1}, Lcom/google/android/exoplayer2/decoder/g;-><init>(I)V

    iput-object v0, p0, Lcom/google/android/exoplayer2/video/spherical/b;->a:Lcom/google/android/exoplayer2/decoder/g;

    .line 3
    new-instance v0, Lcom/google/android/exoplayer2/util/y;

    invoke-direct {v0}, Lcom/google/android/exoplayer2/util/y;-><init>()V

    iput-object v0, p0, Lcom/google/android/exoplayer2/video/spherical/b;->b:Lcom/google/android/exoplayer2/util/y;

    return-void
.end method


# virtual methods
.method public final getName()Ljava/lang/String;
    .registers 2

    const-string v0, "CameraMotionRenderer"

    return-object v0
.end method

.method public final handleMessage(ILjava/lang/Object;)V
    .registers 4
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/google/android/exoplayer2/o;
        }
    .end annotation

    const/16 v0, 0x8

    if-ne p1, v0, :cond_9

    .line 1
    check-cast p2, Lcom/google/android/exoplayer2/video/spherical/a;

    iput-object p2, p0, Lcom/google/android/exoplayer2/video/spherical/b;->d:Lcom/google/android/exoplayer2/video/spherical/a;

    goto :goto_c

    .line 2
    :cond_9
    invoke-super {p0, p1, p2}, Lcom/google/android/exoplayer2/f;->handleMessage(ILjava/lang/Object;)V

    :goto_c
    return-void
.end method

.method public final isEnded()Z
    .registers 2

    invoke-virtual {p0}, Lcom/google/android/exoplayer2/f;->hasReadStreamToEnd()Z

    move-result v0

    return v0
.end method

.method public final isReady()Z
    .registers 2

    const/4 v0, 0x1

    return v0
.end method

.method public final onDisabled()V
    .registers 2

    .line 1
    iget-object v0, p0, Lcom/google/android/exoplayer2/video/spherical/b;->d:Lcom/google/android/exoplayer2/video/spherical/a;

    if-eqz v0, :cond_7

    .line 2
    invoke-interface {v0}, Lcom/google/android/exoplayer2/video/spherical/a;->c()V

    :cond_7
    return-void
.end method

.method public final onPositionReset(JZ)V
    .registers 4

    const-wide/high16 p1, -0x8000000000000000L

    .line 1
    iput-wide p1, p0, Lcom/google/android/exoplayer2/video/spherical/b;->e:J

    .line 2
    iget-object p1, p0, Lcom/google/android/exoplayer2/video/spherical/b;->d:Lcom/google/android/exoplayer2/video/spherical/a;

    if-eqz p1, :cond_b

    .line 3
    invoke-interface {p1}, Lcom/google/android/exoplayer2/video/spherical/a;->c()V

    :cond_b
    return-void
.end method

.method public final onStreamChanged([Lcom/google/android/exoplayer2/d1;JJ)V
    .registers 6

    iput-wide p4, p0, Lcom/google/android/exoplayer2/video/spherical/b;->c:J

    return-void
.end method

.method public final render(JJ)V
    .registers 9

    .line 1
    :cond_0
    :goto_0
    invoke-virtual {p0}, Lcom/google/android/exoplayer2/f;->hasReadStreamToEnd()Z

    move-result p3

    if-nez p3, :cond_8f

    iget-wide p3, p0, Lcom/google/android/exoplayer2/video/spherical/b;->e:J

    const-wide/32 v0, 0x186a0

    add-long/2addr v0, p1

    cmp-long v2, p3, v0

    if-gez v2, :cond_8f

    .line 2
    iget-object p3, p0, Lcom/google/android/exoplayer2/video/spherical/b;->a:Lcom/google/android/exoplayer2/decoder/g;

    invoke-virtual {p3}, Lcom/google/android/exoplayer2/decoder/g;->clear()V

    .line 3
    invoke-virtual {p0}, Lcom/google/android/exoplayer2/f;->getFormatHolder()Lcom/google/android/exoplayer2/e1;

    move-result-object p3

    .line 4
    iget-object p4, p0, Lcom/google/android/exoplayer2/video/spherical/b;->a:Lcom/google/android/exoplayer2/decoder/g;

    const/4 v0, 0x0

    invoke-virtual {p0, p3, p4, v0}, Lcom/google/android/exoplayer2/f;->readSource(Lcom/google/android/exoplayer2/e1;Lcom/google/android/exoplayer2/decoder/g;I)I

    move-result p3

    const/4 p4, -0x4

    if-ne p3, p4, :cond_8f

    .line 5
    iget-object p3, p0, Lcom/google/android/exoplayer2/video/spherical/b;->a:Lcom/google/android/exoplayer2/decoder/g;

    invoke-virtual {p3}, Lcom/google/android/exoplayer2/decoder/a;->isEndOfStream()Z

    move-result p3

    if-eqz p3, :cond_2c

    goto :goto_8f

    .line 6
    :cond_2c
    iget-object p3, p0, Lcom/google/android/exoplayer2/video/spherical/b;->a:Lcom/google/android/exoplayer2/decoder/g;

    iget-wide v1, p3, Lcom/google/android/exoplayer2/decoder/g;->timeUs:J

    iput-wide v1, p0, Lcom/google/android/exoplayer2/video/spherical/b;->e:J

    .line 7
    iget-object p4, p0, Lcom/google/android/exoplayer2/video/spherical/b;->d:Lcom/google/android/exoplayer2/video/spherical/a;

    if-eqz p4, :cond_0

    invoke-virtual {p3}, Lcom/google/android/exoplayer2/decoder/a;->isDecodeOnly()Z

    move-result p3

    if-eqz p3, :cond_3d

    goto :goto_0

    .line 8
    :cond_3d
    iget-object p3, p0, Lcom/google/android/exoplayer2/video/spherical/b;->a:Lcom/google/android/exoplayer2/decoder/g;

    invoke-virtual {p3}, Lcom/google/android/exoplayer2/decoder/g;->flip()V

    .line 9
    iget-object p3, p0, Lcom/google/android/exoplayer2/video/spherical/b;->a:Lcom/google/android/exoplayer2/decoder/g;

    iget-object p3, p3, Lcom/google/android/exoplayer2/decoder/g;->data:Ljava/nio/ByteBuffer;

    sget p4, Lcom/google/android/exoplayer2/util/k0;->a:I

    .line 10
    invoke-virtual {p3}, Ljava/nio/Buffer;->remaining()I

    move-result p4

    const/16 v1, 0x10

    if-eq p4, v1, :cond_52

    const/4 p3, 0x0

    goto :goto_7f

    .line 11
    :cond_52
    iget-object p4, p0, Lcom/google/android/exoplayer2/video/spherical/b;->b:Lcom/google/android/exoplayer2/util/y;

    invoke-virtual {p3}, Ljava/nio/ByteBuffer;->array()[B

    move-result-object v1

    invoke-virtual {p3}, Ljava/nio/Buffer;->limit()I

    move-result v2

    invoke-virtual {p4, v1, v2}, Lcom/google/android/exoplayer2/util/y;->C([BI)V

    .line 12
    iget-object p4, p0, Lcom/google/android/exoplayer2/video/spherical/b;->b:Lcom/google/android/exoplayer2/util/y;

    invoke-virtual {p3}, Ljava/nio/ByteBuffer;->arrayOffset()I

    move-result p3

    add-int/lit8 p3, p3, 0x4

    invoke-virtual {p4, p3}, Lcom/google/android/exoplayer2/util/y;->E(I)V

    const/4 p3, 0x3

    new-array p4, p3, [F

    :goto_6d
    if-ge v0, p3, :cond_7e

    .line 13
    iget-object v1, p0, Lcom/google/android/exoplayer2/video/spherical/b;->b:Lcom/google/android/exoplayer2/util/y;

    invoke-virtual {v1}, Lcom/google/android/exoplayer2/util/y;->h()I

    move-result v1

    invoke-static {v1}, Ljava/lang/Float;->intBitsToFloat(I)F

    move-result v1

    aput v1, p4, v0

    add-int/lit8 v0, v0, 0x1

    goto :goto_6d

    :cond_7e
    move-object p3, p4

    :goto_7f
    if-nez p3, :cond_83

    goto/16 :goto_0

    .line 14
    :cond_83
    iget-object p4, p0, Lcom/google/android/exoplayer2/video/spherical/b;->d:Lcom/google/android/exoplayer2/video/spherical/a;

    iget-wide v0, p0, Lcom/google/android/exoplayer2/video/spherical/b;->e:J

    iget-wide v2, p0, Lcom/google/android/exoplayer2/video/spherical/b;->c:J

    sub-long/2addr v0, v2

    invoke-interface {p4, v0, v1, p3}, Lcom/google/android/exoplayer2/video/spherical/a;->a(J[F)V

    goto/16 :goto_0

    :cond_8f
    :goto_8f
    return-void
.end method

.method public final supportsFormat(Lcom/google/android/exoplayer2/d1;)I
    .registers 3

    .line 1
    iget-object p1, p1, Lcom/google/android/exoplayer2/d1;->l:Ljava/lang/String;

    const-string v0, "application/x-camera-motion"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result p1

    const/4 v0, 0x0

    if-eqz p1, :cond_11

    const/4 p1, 0x4

    .line 2
    invoke-static {p1, v0, v0}, Landroidx/biometric/i0;->a(III)I

    move-result p1

    goto :goto_15

    .line 3
    :cond_11
    invoke-static {v0, v0, v0}, Landroidx/biometric/i0;->a(III)I

    move-result p1

    :goto_15
    return p1
.end method