f.smali
.class public abstract Lf/b/b/b/l1/f;
.super Lf/b/b/b/t;
.source ""
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lf/b/b/b/l1/f$a;
}
.end annotation
# static fields
.field private static final y0:[B
# instance fields
.field private A:Lf/b/b/b/f0;
.field private B:Lf/b/b/b/f0;
.field private C:Lf/b/b/b/i1/p;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lf/b/b/b/i1/p<",
"Lf/b/b/b/i1/w;",
">;"
}
.end annotation
.end field
.field private D:Lf/b/b/b/i1/p;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lf/b/b/b/i1/p<",
"Lf/b/b/b/i1/w;",
">;"
}
.end annotation
.end field
.field private E:Landroid/media/MediaCrypto;
.field private F:Z
.field private G:J
.field private H:F
.field private I:Landroid/media/MediaCodec;
.field private J:Lf/b/b/b/f0;
.field private K:F
.field private L:Ljava/util/ArrayDeque;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayDeque<",
"Lf/b/b/b/l1/e;",
">;"
}
.end annotation
.end field
.field private M:Lf/b/b/b/l1/f$a;
.field private N:Lf/b/b/b/l1/e;
.field private O:I
.field private P:Z
.field private Q:Z
.field private R:Z
.field private S:Z
.field private T:Z
.field private U:Z
.field private V:Z
.field private W:Z
.field private X:Z
.field private Y:Z
.field private Z:[Ljava/nio/ByteBuffer;
.field private a0:[Ljava/nio/ByteBuffer;
.field private b0:J
.field private c0:I
.field private d0:I
.field private e0:Ljava/nio/ByteBuffer;
.field private f0:Z
.field private g0:Z
.field private h0:Z
.field private i0:I
.field private j0:I
.field private k0:I
.field private l0:Z
.field private m0:Z
.field private n0:Z
.field private o0:J
.field private final p:Lf/b/b/b/l1/g;
.field private p0:J
.field private final q:Lf/b/b/b/i1/r;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lf/b/b/b/i1/r<",
"Lf/b/b/b/i1/w;",
">;"
}
.end annotation
.end field
.field private q0:Z
.field private final r:Z
.field private r0:Z
.field private final s:Z
.field private s0:Z
.field private final t:F
.field private t0:Z
.field private final u:Lf/b/b/b/h1/e;
.field private u0:Z
.field private final v:Lf/b/b/b/h1/e;
.field private v0:Z
.field private final w:Lf/b/b/b/s1/i0;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lf/b/b/b/s1/i0<",
"Lf/b/b/b/f0;",
">;"
}
.end annotation
.end field
.field private w0:Z
.field private final x:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Ljava/lang/Long;",
">;"
}
.end annotation
.end field
.field protected x0:Lf/b/b/b/h1/d;
.field private final y:Landroid/media/MediaCodec$BufferInfo;
.field private z:Z
# direct methods
.method static constructor <clinit>()V
.registers 1
const/16 v0, 0x26
new-array v0, v0, [B
fill-array-data v0, :array_a
sput-object v0, Lf/b/b/b/l1/f;->y0:[B
return-void
:array_a
.array-data 1
0x0t
0x0t
0x1t
0x67t
0x42t
-0x40t
0xbt
-0x26t
0x25t
-0x70t
0x0t
0x0t
0x1t
0x68t
-0x32t
0xft
0x13t
0x20t
0x0t
0x0t
0x1t
0x65t
-0x78t
-0x7ct
0xdt
-0x32t
0x71t
0x18t
-0x60t
0x0t
0x2ft
-0x41t
0x1ct
0x31t
-0x3dt
0x27t
0x5dt
0x78t
.end array-data
.end method
.method public constructor <init>(ILf/b/b/b/l1/g;Lf/b/b/b/i1/r;ZZF)V
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Lf/b/b/b/l1/g;",
"Lf/b/b/b/i1/r<",
"Lf/b/b/b/i1/w;",
">;ZZF)V"
}
.end annotation
invoke-direct {p0, p1}, Lf/b/b/b/t;-><init>(I)V
invoke-static {p2}, Lf/b/b/b/s1/e;->e(Ljava/lang/Object;)Ljava/lang/Object;
check-cast p2, Lf/b/b/b/l1/g;
iput-object p2, p0, Lf/b/b/b/l1/f;->p:Lf/b/b/b/l1/g;
iput-object p3, p0, Lf/b/b/b/l1/f;->q:Lf/b/b/b/i1/r;
iput-boolean p4, p0, Lf/b/b/b/l1/f;->r:Z
iput-boolean p5, p0, Lf/b/b/b/l1/f;->s:Z
iput p6, p0, Lf/b/b/b/l1/f;->t:F
new-instance p1, Lf/b/b/b/h1/e;
const/4 p2, 0x0
invoke-direct {p1, p2}, Lf/b/b/b/h1/e;-><init>(I)V
iput-object p1, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
invoke-static {}, Lf/b/b/b/h1/e;->j()Lf/b/b/b/h1/e;
move-result-object p1
iput-object p1, p0, Lf/b/b/b/l1/f;->v:Lf/b/b/b/h1/e;
new-instance p1, Lf/b/b/b/s1/i0;
invoke-direct {p1}, Lf/b/b/b/s1/i0;-><init>()V
iput-object p1, p0, Lf/b/b/b/l1/f;->w:Lf/b/b/b/s1/i0;
new-instance p1, Ljava/util/ArrayList;
invoke-direct {p1}, Ljava/util/ArrayList;-><init>()V
iput-object p1, p0, Lf/b/b/b/l1/f;->x:Ljava/util/ArrayList;
new-instance p1, Landroid/media/MediaCodec$BufferInfo;
invoke-direct {p1}, Landroid/media/MediaCodec$BufferInfo;-><init>()V
iput-object p1, p0, Lf/b/b/b/l1/f;->y:Landroid/media/MediaCodec$BufferInfo;
iput p2, p0, Lf/b/b/b/l1/f;->i0:I
iput p2, p0, Lf/b/b/b/l1/f;->j0:I
iput p2, p0, Lf/b/b/b/l1/f;->k0:I
const/high16 p1, -0x40800000 # -1.0f
iput p1, p0, Lf/b/b/b/l1/f;->K:F
const/high16 p1, 0x3f800000 # 1.0f
iput p1, p0, Lf/b/b/b/l1/f;->H:F
const-wide p1, -0x7fffffffffffffffL # -4.9E-324
iput-wide p1, p0, Lf/b/b/b/l1/f;->G:J
return-void
.end method
.method private C0()V
.registers 4
iget v0, p0, Lf/b/b/b/l1/f;->k0:I
const/4 v1, 0x1
if-eq v0, v1, :cond_19
const/4 v2, 0x2
if-eq v0, v2, :cond_15
const/4 v2, 0x3
if-eq v0, v2, :cond_11
iput-boolean v1, p0, Lf/b/b/b/l1/f;->r0:Z
invoke-virtual {p0}, Lf/b/b/b/l1/f;->J0()V
goto :goto_1c
:cond_11
invoke-direct {p0}, Lf/b/b/b/l1/f;->H0()V
goto :goto_1c
:cond_15
invoke-direct {p0}, Lf/b/b/b/l1/f;->V0()V
goto :goto_1c
:cond_19
invoke-virtual {p0}, Lf/b/b/b/l1/f;->b0()Z
:goto_1c
return-void
.end method
.method private E0()V
.registers 3
sget v0, Lf/b/b/b/s1/m0;->a:I
const/16 v1, 0x15
if-ge v0, v1, :cond_e
iget-object v0, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
invoke-virtual {v0}, Landroid/media/MediaCodec;->getOutputBuffers()[Ljava/nio/ByteBuffer;
move-result-object v0
iput-object v0, p0, Lf/b/b/b/l1/f;->a0:[Ljava/nio/ByteBuffer;
:cond_e
return-void
.end method
.method private F0()V
.registers 5
const/4 v0, 0x1
iput-boolean v0, p0, Lf/b/b/b/l1/f;->n0:Z
iget-object v1, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
invoke-virtual {v1}, Landroid/media/MediaCodec;->getOutputFormat()Landroid/media/MediaFormat;
move-result-object v1
iget v2, p0, Lf/b/b/b/l1/f;->O:I
if-eqz v2, :cond_22
const-string v2, "width"
invoke-virtual {v1, v2}, Landroid/media/MediaFormat;->getInteger(Ljava/lang/String;)I
move-result v2
const/16 v3, 0x20
if-ne v2, v3, :cond_22
const-string v2, "height"
invoke-virtual {v1, v2}, Landroid/media/MediaFormat;->getInteger(Ljava/lang/String;)I
move-result v2
if-ne v2, v3, :cond_22
iput-boolean v0, p0, Lf/b/b/b/l1/f;->X:Z
return-void
:cond_22
iget-boolean v2, p0, Lf/b/b/b/l1/f;->V:Z
if-eqz v2, :cond_2b
const-string v2, "channel-count"
invoke-virtual {v1, v2, v0}, Landroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
:cond_2b
iget-object v0, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
invoke-virtual {p0, v0, v1}, Lf/b/b/b/l1/f;->z0(Landroid/media/MediaCodec;Landroid/media/MediaFormat;)V
return-void
.end method
.method private G0(Z)Z
.registers 5
invoke-virtual {p0}, Lf/b/b/b/t;->w()Lf/b/b/b/g0;
move-result-object v0
iget-object v1, p0, Lf/b/b/b/l1/f;->v:Lf/b/b/b/h1/e;
invoke-virtual {v1}, Lf/b/b/b/h1/e;->clear()V
iget-object v1, p0, Lf/b/b/b/l1/f;->v:Lf/b/b/b/h1/e;
invoke-virtual {p0, v0, v1, p1}, Lf/b/b/b/t;->I(Lf/b/b/b/g0;Lf/b/b/b/h1/e;Z)I
move-result p1
const/4 v1, 0x1
const/4 v2, -0x5
if-ne p1, v2, :cond_17
invoke-virtual {p0, v0}, Lf/b/b/b/l1/f;->y0(Lf/b/b/b/g0;)V
return v1
:cond_17
const/4 v0, -0x4
if-ne p1, v0, :cond_27
iget-object p1, p0, Lf/b/b/b/l1/f;->v:Lf/b/b/b/h1/e;
invoke-virtual {p1}, Lf/b/b/b/h1/a;->isEndOfStream()Z
move-result p1
if-eqz p1, :cond_27
iput-boolean v1, p0, Lf/b/b/b/l1/f;->q0:Z
invoke-direct {p0}, Lf/b/b/b/l1/f;->C0()V
:cond_27
const/4 p1, 0x0
return p1
.end method
.method private H0()V
.registers 1
invoke-virtual {p0}, Lf/b/b/b/l1/f;->I0()V
invoke-virtual {p0}, Lf/b/b/b/l1/f;->u0()V
return-void
.end method
.method private K0()V
.registers 3
sget v0, Lf/b/b/b/s1/m0;->a:I
const/16 v1, 0x15
if-ge v0, v1, :cond_b
const/4 v0, 0x0
iput-object v0, p0, Lf/b/b/b/l1/f;->Z:[Ljava/nio/ByteBuffer;
iput-object v0, p0, Lf/b/b/b/l1/f;->a0:[Ljava/nio/ByteBuffer;
:cond_b
return-void
.end method
.method private L0()V
.registers 3
const/4 v0, -0x1
iput v0, p0, Lf/b/b/b/l1/f;->c0:I
iget-object v0, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
const/4 v1, 0x0
iput-object v1, v0, Lf/b/b/b/h1/e;->f:Ljava/nio/ByteBuffer;
return-void
.end method
.method private M(Ljava/lang/String;)I
.registers 5
sget v0, Lf/b/b/b/s1/m0;->a:I
const/16 v1, 0x19
if-gt v0, v1, :cond_32
const-string v1, "OMX.Exynos.avc.dec.secure"
invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_32
sget-object v1, Lf/b/b/b/s1/m0;->d:Ljava/lang/String;
const-string v2, "SM-T585"
invoke-virtual {v1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v2
if-nez v2, :cond_30
const-string v2, "SM-A510"
invoke-virtual {v1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v2
if-nez v2, :cond_30
const-string v2, "SM-A520"
invoke-virtual {v1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v2
if-nez v2, :cond_30
const-string v2, "SM-J700"
invoke-virtual {v1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_32
:cond_30
const/4 p1, 0x2
return p1
:cond_32
const/16 v1, 0x18
if-ge v0, v1, :cond_6a
const-string v0, "OMX.Nvidia.h264.decode"
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_46
const-string v0, "OMX.Nvidia.h264.decode.secure"
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_6a
:cond_46
sget-object p1, Lf/b/b/b/s1/m0;->b:Ljava/lang/String;
const-string v0, "flounder"
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_68
const-string v0, "flounder_lte"
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_68
const-string v0, "grouper"
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_68
const-string v0, "tilapia"
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_6a
:cond_68
const/4 p1, 0x1
return p1
:cond_6a
const/4 p1, 0x0
return p1
.end method
.method private M0()V
.registers 2
const/4 v0, -0x1
iput v0, p0, Lf/b/b/b/l1/f;->d0:I
const/4 v0, 0x0
iput-object v0, p0, Lf/b/b/b/l1/f;->e0:Ljava/nio/ByteBuffer;
return-void
.end method
.method private static N(Ljava/lang/String;Lf/b/b/b/f0;)Z
.registers 4
sget v0, Lf/b/b/b/s1/m0;->a:I
const/16 v1, 0x15
if-ge v0, v1, :cond_18
iget-object p1, p1, Lf/b/b/b/f0;->o:Ljava/util/List;
invoke-interface {p1}, Ljava/util/List;->isEmpty()Z
move-result p1
if-eqz p1, :cond_18
const-string p1, "OMX.MTK.VIDEO.DECODER.AVC"
invoke-virtual {p1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_18
const/4 p0, 0x1
goto :goto_19
:cond_18
const/4 p0, 0x0
:goto_19
return p0
.end method
.method private N0(Lf/b/b/b/i1/p;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lf/b/b/b/i1/p<",
"Lf/b/b/b/i1/w;",
">;)V"
}
.end annotation
iget-object v0, p0, Lf/b/b/b/l1/f;->C:Lf/b/b/b/i1/p;
invoke-static {v0, p1}, Lf/b/b/b/i1/o;->a(Lf/b/b/b/i1/p;Lf/b/b/b/i1/p;)V
iput-object p1, p0, Lf/b/b/b/l1/f;->C:Lf/b/b/b/i1/p;
return-void
.end method
.method private static O(Ljava/lang/String;)Z
.registers 3
sget v0, Lf/b/b/b/s1/m0;->a:I
const/16 v1, 0x17
if-gt v0, v1, :cond_e
const-string v1, "OMX.google.vorbis.decoder"
invoke-virtual {v1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_34
:cond_e
const/16 v1, 0x13
if-gt v0, v1, :cond_36
sget-object v0, Lf/b/b/b/s1/m0;->b:Ljava/lang/String;
const-string v1, "hb2000"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_24
const-string v1, "stvm8"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_36
:cond_24
const-string v0, "OMX.amlogic.avc.decoder.awesome"
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_34
const-string v0, "OMX.amlogic.avc.decoder.awesome.secure"
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_36
:cond_34
const/4 p0, 0x1
goto :goto_37
:cond_36
const/4 p0, 0x0
:goto_37
return p0
.end method
.method private static P(Ljava/lang/String;)Z
.registers 3
sget v0, Lf/b/b/b/s1/m0;->a:I
const/16 v1, 0x15
if-ne v0, v1, :cond_10
const-string v0, "OMX.google.aac.decoder"
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_10
const/4 p0, 0x1
goto :goto_11
:cond_10
const/4 p0, 0x0
:goto_11
return p0
.end method
.method private P0(Lf/b/b/b/i1/p;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lf/b/b/b/i1/p<",
"Lf/b/b/b/i1/w;",
">;)V"
}
.end annotation
iget-object v0, p0, Lf/b/b/b/l1/f;->D:Lf/b/b/b/i1/p;
invoke-static {v0, p1}, Lf/b/b/b/i1/o;->a(Lf/b/b/b/i1/p;Lf/b/b/b/i1/p;)V
iput-object p1, p0, Lf/b/b/b/l1/f;->D:Lf/b/b/b/i1/p;
return-void
.end method
.method private static Q(Lf/b/b/b/l1/e;)Z
.registers 4
iget-object v0, p0, Lf/b/b/b/l1/e;->a:Ljava/lang/String;
sget v1, Lf/b/b/b/s1/m0;->a:I
const/16 v2, 0x19
if-gt v1, v2, :cond_10
const-string v2, "OMX.rk.video_decoder.avc"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_34
:cond_10
const/16 v2, 0x11
if-gt v1, v2, :cond_1c
const-string v1, "OMX.allwinner.video.decoder.avc"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_34
:cond_1c
sget-object v0, Lf/b/b/b/s1/m0;->c:Ljava/lang/String;
const-string v1, "Amazon"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_36
sget-object v0, Lf/b/b/b/s1/m0;->d:Ljava/lang/String;
const-string v1, "AFTS"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_36
iget-boolean p0, p0, Lf/b/b/b/l1/e;->f:Z
if-eqz p0, :cond_36
:cond_34
const/4 p0, 0x1
goto :goto_37
:cond_36
const/4 p0, 0x0
:goto_37
return p0
.end method
.method private Q0(J)Z
.registers 8
iget-wide v0, p0, Lf/b/b/b/l1/f;->G:J
const-wide v2, -0x7fffffffffffffffL # -4.9E-324
cmp-long v4, v0, v2
if-eqz v4, :cond_19
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v0
sub-long/2addr v0, p1
iget-wide p1, p0, Lf/b/b/b/l1/f;->G:J
cmp-long v2, v0, p1
if-gez v2, :cond_17
goto :goto_19
:cond_17
const/4 p1, 0x0
goto :goto_1a
:cond_19
:goto_19
const/4 p1, 0x1
:goto_1a
return p1
.end method
.method private static R(Ljava/lang/String;)Z
.registers 3
sget v0, Lf/b/b/b/s1/m0;->a:I
const/16 v1, 0x12
if-lt v0, v1, :cond_39
if-ne v0, v1, :cond_18
const-string v1, "OMX.SEC.avc.dec"
invoke-virtual {v1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_39
const-string v1, "OMX.SEC.avc.dec.secure"
invoke-virtual {v1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_39
:cond_18
const/16 v1, 0x13
if-ne v0, v1, :cond_37
sget-object v0, Lf/b/b/b/s1/m0;->d:Ljava/lang/String;
const-string v1, "SM-G800"
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_37
const-string v0, "OMX.Exynos.avc.dec"
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_39
const-string v0, "OMX.Exynos.avc.dec.secure"
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_37
goto :goto_39
:cond_37
const/4 p0, 0x0
goto :goto_3a
:cond_39
:goto_39
const/4 p0, 0x1
:goto_3a
return p0
.end method
.method private static S(Ljava/lang/String;Lf/b/b/b/f0;)Z
.registers 5
sget v0, Lf/b/b/b/s1/m0;->a:I
const/4 v1, 0x1
const/16 v2, 0x12
if-gt v0, v2, :cond_14
iget p1, p1, Lf/b/b/b/f0;->z:I
if-ne p1, v1, :cond_14
const-string p1, "OMX.MTK.AUDIO.DECODER.MP3"
invoke-virtual {p1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_14
goto :goto_15
:cond_14
const/4 v1, 0x0
:goto_15
return v1
.end method
.method private S0(Z)Z
.registers 5
iget-object v0, p0, Lf/b/b/b/l1/f;->C:Lf/b/b/b/i1/p;
const/4 v1, 0x0
if-eqz v0, :cond_2d
if-nez p1, :cond_12
iget-boolean p1, p0, Lf/b/b/b/l1/f;->r:Z
if-nez p1, :cond_2d
invoke-interface {v0}, Lf/b/b/b/i1/p;->b()Z
move-result p1
if-eqz p1, :cond_12
goto :goto_2d
:cond_12
iget-object p1, p0, Lf/b/b/b/l1/f;->C:Lf/b/b/b/i1/p;
invoke-interface {p1}, Lf/b/b/b/i1/p;->getState()I
move-result p1
const/4 v0, 0x1
if-eq p1, v0, :cond_20
const/4 v2, 0x4
if-eq p1, v2, :cond_1f
const/4 v1, 0x1
:cond_1f
return v1
:cond_20
iget-object p1, p0, Lf/b/b/b/l1/f;->C:Lf/b/b/b/i1/p;
invoke-interface {p1}, Lf/b/b/b/i1/p;->e()Lf/b/b/b/i1/p$a;
move-result-object p1
iget-object v0, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
invoke-virtual {p0, p1, v0}, Lf/b/b/b/t;->u(Ljava/lang/Exception;Lf/b/b/b/f0;)Lf/b/b/b/a0;
move-result-object p1
throw p1
:cond_2d
:goto_2d
return v1
.end method
.method private static T(Ljava/lang/String;)Z
.registers 3
sget-object v0, Lf/b/b/b/s1/m0;->d:Ljava/lang/String;
const-string v1, "SM-T230"
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_14
const-string v0, "OMX.MARVELL.VIDEO.HW.CODA7542DECODER"
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_14
const/4 p0, 0x1
goto :goto_15
:cond_14
const/4 p0, 0x0
:goto_15
return p0
.end method
.method private static U(Ljava/lang/String;)Z
.registers 3
sget v0, Lf/b/b/b/s1/m0;->a:I
const/16 v1, 0x1d
if-ne v0, v1, :cond_10
const-string v0, "c2.android.aac.decoder"
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_10
const/4 p0, 0x1
goto :goto_11
:cond_10
const/4 p0, 0x0
:goto_11
return p0
.end method
.method private U0()V
.registers 5
sget v0, Lf/b/b/b/s1/m0;->a:I
const/16 v1, 0x17
if-ge v0, v1, :cond_7
return-void
:cond_7
iget v0, p0, Lf/b/b/b/l1/f;->H:F
iget-object v1, p0, Lf/b/b/b/l1/f;->J:Lf/b/b/b/f0;
invoke-virtual {p0}, Lf/b/b/b/t;->y()[Lf/b/b/b/f0;
move-result-object v2
invoke-virtual {p0, v0, v1, v2}, Lf/b/b/b/l1/f;->i0(FLf/b/b/b/f0;[Lf/b/b/b/f0;)F
move-result v0
iget v1, p0, Lf/b/b/b/l1/f;->K:F
cmpl-float v2, v1, v0
if-nez v2, :cond_1a
goto :goto_3f
:cond_1a
const/high16 v2, -0x40800000 # -1.0f
cmpl-float v3, v0, v2
if-nez v3, :cond_24
invoke-direct {p0}, Lf/b/b/b/l1/f;->X()V
goto :goto_3f
:cond_24
cmpl-float v1, v1, v2
if-nez v1, :cond_2e
iget v1, p0, Lf/b/b/b/l1/f;->t:F
cmpl-float v1, v0, v1
if-lez v1, :cond_3f
:cond_2e
new-instance v1, Landroid/os/Bundle;
invoke-direct {v1}, Landroid/os/Bundle;-><init>()V
const-string v2, "operating-rate"
invoke-virtual {v1, v2, v0}, Landroid/os/Bundle;->putFloat(Ljava/lang/String;F)V
iget-object v2, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
invoke-virtual {v2, v1}, Landroid/media/MediaCodec;->setParameters(Landroid/os/Bundle;)V
iput v0, p0, Lf/b/b/b/l1/f;->K:F
:cond_3f
:goto_3f
return-void
.end method
.method private V0()V
.registers 4
.annotation build Landroid/annotation/TargetApi;
value = 0x17
.end annotation
iget-object v0, p0, Lf/b/b/b/l1/f;->D:Lf/b/b/b/i1/p;
invoke-interface {v0}, Lf/b/b/b/i1/p;->d()Lf/b/b/b/i1/u;
move-result-object v0
check-cast v0, Lf/b/b/b/i1/w;
if-nez v0, :cond_e
invoke-direct {p0}, Lf/b/b/b/l1/f;->H0()V
return-void
:cond_e
sget-object v1, Lf/b/b/b/u;->e:Ljava/util/UUID;
iget-object v2, v0, Lf/b/b/b/i1/w;->a:Ljava/util/UUID;
invoke-virtual {v1, v2}, Ljava/util/UUID;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1c
invoke-direct {p0}, Lf/b/b/b/l1/f;->H0()V
return-void
:cond_1c
invoke-virtual {p0}, Lf/b/b/b/l1/f;->b0()Z
move-result v1
if-eqz v1, :cond_23
return-void
:cond_23
:try_start_23
iget-object v1, p0, Lf/b/b/b/l1/f;->E:Landroid/media/MediaCrypto;
iget-object v0, v0, Lf/b/b/b/i1/w;->b:[B
invoke-virtual {v1, v0}, Landroid/media/MediaCrypto;->setMediaDrmSession([B)V
:try_end_2a
.catch Landroid/media/MediaCryptoException; {:try_start_23 .. :try_end_2a} :catch_35
iget-object v0, p0, Lf/b/b/b/l1/f;->D:Lf/b/b/b/i1/p;
invoke-direct {p0, v0}, Lf/b/b/b/l1/f;->N0(Lf/b/b/b/i1/p;)V
const/4 v0, 0x0
iput v0, p0, Lf/b/b/b/l1/f;->j0:I
iput v0, p0, Lf/b/b/b/l1/f;->k0:I
return-void
:catch_35
move-exception v0
iget-object v1, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
invoke-virtual {p0, v0, v1}, Lf/b/b/b/t;->u(Ljava/lang/Exception;Lf/b/b/b/f0;)Lf/b/b/b/a0;
move-result-object v0
throw v0
.end method
.method private W()V
.registers 2
iget-boolean v0, p0, Lf/b/b/b/l1/f;->l0:Z
if-eqz v0, :cond_9
const/4 v0, 0x1
iput v0, p0, Lf/b/b/b/l1/f;->j0:I
iput v0, p0, Lf/b/b/b/l1/f;->k0:I
:cond_9
return-void
.end method
.method private X()V
.registers 2
iget-boolean v0, p0, Lf/b/b/b/l1/f;->l0:Z
if-eqz v0, :cond_b
const/4 v0, 0x1
iput v0, p0, Lf/b/b/b/l1/f;->j0:I
const/4 v0, 0x3
iput v0, p0, Lf/b/b/b/l1/f;->k0:I
goto :goto_e
:cond_b
invoke-direct {p0}, Lf/b/b/b/l1/f;->H0()V
:goto_e
return-void
.end method
.method private Y()V
.registers 3
sget v0, Lf/b/b/b/s1/m0;->a:I
const/16 v1, 0x17
if-ge v0, v1, :cond_a
invoke-direct {p0}, Lf/b/b/b/l1/f;->X()V
return-void
:cond_a
iget-boolean v0, p0, Lf/b/b/b/l1/f;->l0:Z
if-eqz v0, :cond_15
const/4 v0, 0x1
iput v0, p0, Lf/b/b/b/l1/f;->j0:I
const/4 v0, 0x2
iput v0, p0, Lf/b/b/b/l1/f;->k0:I
goto :goto_18
:cond_15
invoke-direct {p0}, Lf/b/b/b/l1/f;->V0()V
:goto_18
return-void
.end method
.method private Z(JJ)Z
.registers 23
move-object/from16 v14, p0
invoke-direct/range {p0 .. p0}, Lf/b/b/b/l1/f;->p0()Z
move-result v0
const/4 v15, 0x1
const/4 v13, 0x0
if-nez v0, :cond_ad
iget-boolean v0, v14, Lf/b/b/b/l1/f;->U:Z
if-eqz v0, :cond_2b
iget-boolean v0, v14, Lf/b/b/b/l1/f;->m0:Z
if-eqz v0, :cond_2b
:try_start_12
iget-object v0, v14, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
iget-object v1, v14, Lf/b/b/b/l1/f;->y:Landroid/media/MediaCodec$BufferInfo;
invoke-virtual/range {p0 .. p0}, Lf/b/b/b/l1/f;->k0()J
move-result-wide v2
invoke-virtual {v0, v1, v2, v3}, Landroid/media/MediaCodec;->dequeueOutputBuffer(Landroid/media/MediaCodec$BufferInfo;J)I
move-result v0
:try_end_1e
.catch Ljava/lang/IllegalStateException; {:try_start_12 .. :try_end_1e} :catch_1f
goto :goto_37
:catch_1f
nop
invoke-direct/range {p0 .. p0}, Lf/b/b/b/l1/f;->C0()V
iget-boolean v0, v14, Lf/b/b/b/l1/f;->r0:Z
if-eqz v0, :cond_2a
invoke-virtual/range {p0 .. p0}, Lf/b/b/b/l1/f;->I0()V
:cond_2a
return v13
:cond_2b
iget-object v0, v14, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
iget-object v1, v14, Lf/b/b/b/l1/f;->y:Landroid/media/MediaCodec$BufferInfo;
invoke-virtual/range {p0 .. p0}, Lf/b/b/b/l1/f;->k0()J
move-result-wide v2
invoke-virtual {v0, v1, v2, v3}, Landroid/media/MediaCodec;->dequeueOutputBuffer(Landroid/media/MediaCodec$BufferInfo;J)I
move-result v0
:goto_37
if-gez v0, :cond_58
const/4 v1, -0x2
if-ne v0, v1, :cond_40
invoke-direct/range {p0 .. p0}, Lf/b/b/b/l1/f;->F0()V
return v15
:cond_40
const/4 v1, -0x3
if-ne v0, v1, :cond_47
invoke-direct/range {p0 .. p0}, Lf/b/b/b/l1/f;->E0()V
return v15
:cond_47
iget-boolean v0, v14, Lf/b/b/b/l1/f;->Y:Z
if-eqz v0, :cond_57
iget-boolean v0, v14, Lf/b/b/b/l1/f;->q0:Z
if-nez v0, :cond_54
iget v0, v14, Lf/b/b/b/l1/f;->j0:I
const/4 v1, 0x2
if-ne v0, v1, :cond_57
:cond_54
invoke-direct/range {p0 .. p0}, Lf/b/b/b/l1/f;->C0()V
:cond_57
return v13
:cond_58
iget-boolean v1, v14, Lf/b/b/b/l1/f;->X:Z
if-eqz v1, :cond_64
iput-boolean v13, v14, Lf/b/b/b/l1/f;->X:Z
iget-object v1, v14, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
invoke-virtual {v1, v0, v13}, Landroid/media/MediaCodec;->releaseOutputBuffer(IZ)V
return v15
:cond_64
iget-object v1, v14, Lf/b/b/b/l1/f;->y:Landroid/media/MediaCodec$BufferInfo;
iget v2, v1, Landroid/media/MediaCodec$BufferInfo;->size:I
if-nez v2, :cond_74
iget v1, v1, Landroid/media/MediaCodec$BufferInfo;->flags:I
and-int/lit8 v1, v1, 0x4
if-eqz v1, :cond_74
invoke-direct/range {p0 .. p0}, Lf/b/b/b/l1/f;->C0()V
return v13
:cond_74
iput v0, v14, Lf/b/b/b/l1/f;->d0:I
invoke-direct {v14, v0}, Lf/b/b/b/l1/f;->n0(I)Ljava/nio/ByteBuffer;
move-result-object v0
iput-object v0, v14, Lf/b/b/b/l1/f;->e0:Ljava/nio/ByteBuffer;
if-eqz v0, :cond_91
iget-object v1, v14, Lf/b/b/b/l1/f;->y:Landroid/media/MediaCodec$BufferInfo;
iget v1, v1, Landroid/media/MediaCodec$BufferInfo;->offset:I
invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
iget-object v0, v14, Lf/b/b/b/l1/f;->e0:Ljava/nio/ByteBuffer;
iget-object v1, v14, Lf/b/b/b/l1/f;->y:Landroid/media/MediaCodec$BufferInfo;
iget v2, v1, Landroid/media/MediaCodec$BufferInfo;->offset:I
iget v1, v1, Landroid/media/MediaCodec$BufferInfo;->size:I
add-int/2addr v2, v1
invoke-virtual {v0, v2}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
:cond_91
iget-object v0, v14, Lf/b/b/b/l1/f;->y:Landroid/media/MediaCodec$BufferInfo;
iget-wide v0, v0, Landroid/media/MediaCodec$BufferInfo;->presentationTimeUs:J
invoke-direct {v14, v0, v1}, Lf/b/b/b/l1/f;->r0(J)Z
move-result v0
iput-boolean v0, v14, Lf/b/b/b/l1/f;->f0:Z
iget-wide v0, v14, Lf/b/b/b/l1/f;->p0:J
iget-object v2, v14, Lf/b/b/b/l1/f;->y:Landroid/media/MediaCodec$BufferInfo;
iget-wide v2, v2, Landroid/media/MediaCodec$BufferInfo;->presentationTimeUs:J
cmp-long v4, v0, v2
if-nez v4, :cond_a7
const/4 v0, 0x1
goto :goto_a8
:cond_a7
const/4 v0, 0x0
:goto_a8
iput-boolean v0, v14, Lf/b/b/b/l1/f;->g0:Z
invoke-virtual {v14, v2, v3}, Lf/b/b/b/l1/f;->W0(J)Lf/b/b/b/f0;
:cond_ad
iget-boolean v0, v14, Lf/b/b/b/l1/f;->U:Z
if-eqz v0, :cond_e7
iget-boolean v0, v14, Lf/b/b/b/l1/f;->m0:Z
if-eqz v0, :cond_e7
:try_start_b5
iget-object v5, v14, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
iget-object v6, v14, Lf/b/b/b/l1/f;->e0:Ljava/nio/ByteBuffer;
iget v7, v14, Lf/b/b/b/l1/f;->d0:I
iget-object v0, v14, Lf/b/b/b/l1/f;->y:Landroid/media/MediaCodec$BufferInfo;
iget v8, v0, Landroid/media/MediaCodec$BufferInfo;->flags:I
iget-wide v9, v0, Landroid/media/MediaCodec$BufferInfo;->presentationTimeUs:J
iget-boolean v11, v14, Lf/b/b/b/l1/f;->f0:Z
iget-boolean v12, v14, Lf/b/b/b/l1/f;->g0:Z
iget-object v3, v14, Lf/b/b/b/l1/f;->B:Lf/b/b/b/f0;
:try_end_c7
.catch Ljava/lang/IllegalStateException; {:try_start_b5 .. :try_end_c7} :catch_da
move-object/from16 v0, p0
move-wide/from16 v1, p1
move-object/from16 v16, v3
move-wide/from16 v3, p3
const/16 v17, 0x0
move-object/from16 v13, v16
:try_start_d3
invoke-virtual/range {v0 .. v13}, Lf/b/b/b/l1/f;->D0(JJLandroid/media/MediaCodec;Ljava/nio/ByteBuffer;IIJZZLf/b/b/b/f0;)Z
move-result v0
:try_end_d7
.catch Ljava/lang/IllegalStateException; {:try_start_d3 .. :try_end_d7} :catch_d8
goto :goto_105
:catch_d8
nop
goto :goto_dc
:catch_da
const/16 v17, 0x0
:goto_dc
invoke-direct/range {p0 .. p0}, Lf/b/b/b/l1/f;->C0()V
iget-boolean v0, v14, Lf/b/b/b/l1/f;->r0:Z
if-eqz v0, :cond_e6
invoke-virtual/range {p0 .. p0}, Lf/b/b/b/l1/f;->I0()V
:cond_e6
return v17
:cond_e7
const/16 v17, 0x0
iget-object v5, v14, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
iget-object v6, v14, Lf/b/b/b/l1/f;->e0:Ljava/nio/ByteBuffer;
iget v7, v14, Lf/b/b/b/l1/f;->d0:I
iget-object v0, v14, Lf/b/b/b/l1/f;->y:Landroid/media/MediaCodec$BufferInfo;
iget v8, v0, Landroid/media/MediaCodec$BufferInfo;->flags:I
iget-wide v9, v0, Landroid/media/MediaCodec$BufferInfo;->presentationTimeUs:J
iget-boolean v11, v14, Lf/b/b/b/l1/f;->f0:Z
iget-boolean v12, v14, Lf/b/b/b/l1/f;->g0:Z
iget-object v13, v14, Lf/b/b/b/l1/f;->B:Lf/b/b/b/f0;
move-object/from16 v0, p0
move-wide/from16 v1, p1
move-wide/from16 v3, p3
invoke-virtual/range {v0 .. v13}, Lf/b/b/b/l1/f;->D0(JJLandroid/media/MediaCodec;Ljava/nio/ByteBuffer;IIJZZLf/b/b/b/f0;)Z
move-result v0
:goto_105
if-eqz v0, :cond_122
iget-object v0, v14, Lf/b/b/b/l1/f;->y:Landroid/media/MediaCodec$BufferInfo;
iget-wide v0, v0, Landroid/media/MediaCodec$BufferInfo;->presentationTimeUs:J
invoke-virtual {v14, v0, v1}, Lf/b/b/b/l1/f;->A0(J)V
iget-object v0, v14, Lf/b/b/b/l1/f;->y:Landroid/media/MediaCodec$BufferInfo;
iget v0, v0, Landroid/media/MediaCodec$BufferInfo;->flags:I
and-int/lit8 v0, v0, 0x4
if-eqz v0, :cond_118
const/4 v13, 0x1
goto :goto_119
:cond_118
const/4 v13, 0x0
:goto_119
invoke-direct/range {p0 .. p0}, Lf/b/b/b/l1/f;->M0()V
if-nez v13, :cond_11f
return v15
:cond_11f
invoke-direct/range {p0 .. p0}, Lf/b/b/b/l1/f;->C0()V
:cond_122
return v17
.end method
.method private a0()Z
.registers 15
iget-object v0, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
const/4 v1, 0x0
if-eqz v0, :cond_1c4
iget v2, p0, Lf/b/b/b/l1/f;->j0:I
const/4 v3, 0x2
if-eq v2, v3, :cond_1c4
iget-boolean v2, p0, Lf/b/b/b/l1/f;->q0:Z
if-eqz v2, :cond_10
goto/16 :goto_1c4
:cond_10
iget v2, p0, Lf/b/b/b/l1/f;->c0:I
if-gez v2, :cond_2c
const-wide/16 v4, 0x0
invoke-virtual {v0, v4, v5}, Landroid/media/MediaCodec;->dequeueInputBuffer(J)I
move-result v0
iput v0, p0, Lf/b/b/b/l1/f;->c0:I
if-gez v0, :cond_1f
return v1
:cond_1f
iget-object v2, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
invoke-direct {p0, v0}, Lf/b/b/b/l1/f;->m0(I)Ljava/nio/ByteBuffer;
move-result-object v0
iput-object v0, v2, Lf/b/b/b/h1/e;->f:Ljava/nio/ByteBuffer;
iget-object v0, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
invoke-virtual {v0}, Lf/b/b/b/h1/e;->clear()V
:cond_2c
iget v0, p0, Lf/b/b/b/l1/f;->j0:I
const/4 v2, 0x1
if-ne v0, v2, :cond_4a
iget-boolean v0, p0, Lf/b/b/b/l1/f;->Y:Z
if-eqz v0, :cond_36
goto :goto_47
:cond_36
iput-boolean v2, p0, Lf/b/b/b/l1/f;->m0:Z
iget-object v4, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
iget v5, p0, Lf/b/b/b/l1/f;->c0:I
const/4 v6, 0x0
const/4 v7, 0x0
const-wide/16 v8, 0x0
const/4 v10, 0x4
invoke-virtual/range {v4 .. v10}, Landroid/media/MediaCodec;->queueInputBuffer(IIIJI)V
invoke-direct {p0}, Lf/b/b/b/l1/f;->L0()V
:goto_47
iput v3, p0, Lf/b/b/b/l1/f;->j0:I
return v1
:cond_4a
iget-boolean v0, p0, Lf/b/b/b/l1/f;->W:Z
if-eqz v0, :cond_6b
iput-boolean v1, p0, Lf/b/b/b/l1/f;->W:Z
iget-object v0, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
iget-object v0, v0, Lf/b/b/b/h1/e;->f:Ljava/nio/ByteBuffer;
sget-object v1, Lf/b/b/b/l1/f;->y0:[B
invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->put([B)Ljava/nio/ByteBuffer;
iget-object v3, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
iget v4, p0, Lf/b/b/b/l1/f;->c0:I
const/4 v5, 0x0
array-length v6, v1
const-wide/16 v7, 0x0
const/4 v9, 0x0
invoke-virtual/range {v3 .. v9}, Landroid/media/MediaCodec;->queueInputBuffer(IIIJI)V
invoke-direct {p0}, Lf/b/b/b/l1/f;->L0()V
iput-boolean v2, p0, Lf/b/b/b/l1/f;->l0:Z
return v2
:cond_6b
invoke-virtual {p0}, Lf/b/b/b/t;->w()Lf/b/b/b/g0;
move-result-object v0
iget-boolean v4, p0, Lf/b/b/b/l1/f;->s0:Z
if-eqz v4, :cond_76
const/4 v4, -0x4
const/4 v5, 0x0
goto :goto_ac
:cond_76
iget v4, p0, Lf/b/b/b/l1/f;->i0:I
if-ne v4, v2, :cond_9b
const/4 v4, 0x0
:goto_7b
iget-object v5, p0, Lf/b/b/b/l1/f;->J:Lf/b/b/b/f0;
iget-object v5, v5, Lf/b/b/b/f0;->o:Ljava/util/List;
invoke-interface {v5}, Ljava/util/List;->size()I
move-result v5
if-ge v4, v5, :cond_99
iget-object v5, p0, Lf/b/b/b/l1/f;->J:Lf/b/b/b/f0;
iget-object v5, v5, Lf/b/b/b/f0;->o:Ljava/util/List;
invoke-interface {v5, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v5
check-cast v5, [B
iget-object v6, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
iget-object v6, v6, Lf/b/b/b/h1/e;->f:Ljava/nio/ByteBuffer;
invoke-virtual {v6, v5}, Ljava/nio/ByteBuffer;->put([B)Ljava/nio/ByteBuffer;
add-int/lit8 v4, v4, 0x1
goto :goto_7b
:cond_99
iput v3, p0, Lf/b/b/b/l1/f;->i0:I
:cond_9b
iget-object v4, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
iget-object v4, v4, Lf/b/b/b/h1/e;->f:Ljava/nio/ByteBuffer;
invoke-virtual {v4}, Ljava/nio/ByteBuffer;->position()I
move-result v4
iget-object v5, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
invoke-virtual {p0, v0, v5, v1}, Lf/b/b/b/t;->I(Lf/b/b/b/g0;Lf/b/b/b/h1/e;Z)I
move-result v5
move v13, v5
move v5, v4
move v4, v13
:goto_ac
invoke-virtual {p0}, Lf/b/b/b/t;->e()Z
move-result v6
if-eqz v6, :cond_b6
iget-wide v6, p0, Lf/b/b/b/l1/f;->o0:J
iput-wide v6, p0, Lf/b/b/b/l1/f;->p0:J
:cond_b6
const/4 v6, -0x3
if-ne v4, v6, :cond_ba
return v1
:cond_ba
const/4 v6, -0x5
if-ne v4, v6, :cond_cc
iget v1, p0, Lf/b/b/b/l1/f;->i0:I
if-ne v1, v3, :cond_c8
iget-object v1, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
invoke-virtual {v1}, Lf/b/b/b/h1/e;->clear()V
iput v2, p0, Lf/b/b/b/l1/f;->i0:I
:cond_c8
invoke-virtual {p0, v0}, Lf/b/b/b/l1/f;->y0(Lf/b/b/b/g0;)V
return v2
:cond_cc
iget-object v0, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
invoke-virtual {v0}, Lf/b/b/b/h1/a;->isEndOfStream()Z
move-result v0
if-eqz v0, :cond_108
iget v0, p0, Lf/b/b/b/l1/f;->i0:I
if-ne v0, v3, :cond_df
iget-object v0, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
invoke-virtual {v0}, Lf/b/b/b/h1/e;->clear()V
iput v2, p0, Lf/b/b/b/l1/f;->i0:I
:cond_df
iput-boolean v2, p0, Lf/b/b/b/l1/f;->q0:Z
iget-boolean v0, p0, Lf/b/b/b/l1/f;->l0:Z
if-nez v0, :cond_e9
invoke-direct {p0}, Lf/b/b/b/l1/f;->C0()V
return v1
:cond_e9
:try_start_e9
iget-boolean v0, p0, Lf/b/b/b/l1/f;->Y:Z
if-eqz v0, :cond_ee
goto :goto_ff
:cond_ee
iput-boolean v2, p0, Lf/b/b/b/l1/f;->m0:Z
iget-object v3, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
iget v4, p0, Lf/b/b/b/l1/f;->c0:I
const/4 v5, 0x0
const/4 v6, 0x0
const-wide/16 v7, 0x0
const/4 v9, 0x4
invoke-virtual/range {v3 .. v9}, Landroid/media/MediaCodec;->queueInputBuffer(IIIJI)V
invoke-direct {p0}, Lf/b/b/b/l1/f;->L0()V
:try_end_ff
.catch Landroid/media/MediaCodec$CryptoException; {:try_start_e9 .. :try_end_ff} :catch_100
:goto_ff
return v1
:catch_100
move-exception v0
iget-object v1, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
invoke-virtual {p0, v0, v1}, Lf/b/b/b/t;->u(Ljava/lang/Exception;Lf/b/b/b/f0;)Lf/b/b/b/a0;
move-result-object v0
throw v0
:cond_108
iget-boolean v0, p0, Lf/b/b/b/l1/f;->t0:Z
if-eqz v0, :cond_120
iget-object v0, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
invoke-virtual {v0}, Lf/b/b/b/h1/a;->isKeyFrame()Z
move-result v0
if-nez v0, :cond_120
iget-object v0, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
invoke-virtual {v0}, Lf/b/b/b/h1/e;->clear()V
iget v0, p0, Lf/b/b/b/l1/f;->i0:I
if-ne v0, v3, :cond_11f
iput v2, p0, Lf/b/b/b/l1/f;->i0:I
:cond_11f
return v2
:cond_120
iput-boolean v1, p0, Lf/b/b/b/l1/f;->t0:Z
iget-object v0, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
invoke-virtual {v0}, Lf/b/b/b/h1/e;->h()Z
move-result v0
invoke-direct {p0, v0}, Lf/b/b/b/l1/f;->S0(Z)Z
move-result v3
iput-boolean v3, p0, Lf/b/b/b/l1/f;->s0:Z
if-eqz v3, :cond_131
return v1
:cond_131
iget-boolean v3, p0, Lf/b/b/b/l1/f;->Q:Z
if-eqz v3, :cond_14b
if-nez v0, :cond_14b
iget-object v3, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
iget-object v3, v3, Lf/b/b/b/h1/e;->f:Ljava/nio/ByteBuffer;
invoke-static {v3}, Lf/b/b/b/s1/v;->b(Ljava/nio/ByteBuffer;)V
iget-object v3, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
iget-object v3, v3, Lf/b/b/b/h1/e;->f:Ljava/nio/ByteBuffer;
invoke-virtual {v3}, Ljava/nio/ByteBuffer;->position()I
move-result v3
if-nez v3, :cond_149
return v2
:cond_149
iput-boolean v1, p0, Lf/b/b/b/l1/f;->Q:Z
:cond_14b
:try_start_14b
iget-object v3, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
iget-wide v10, v3, Lf/b/b/b/h1/e;->h:J
invoke-virtual {v3}, Lf/b/b/b/h1/a;->isDecodeOnly()Z
move-result v3
if-eqz v3, :cond_15e
iget-object v3, p0, Lf/b/b/b/l1/f;->x:Ljava/util/ArrayList;
invoke-static {v10, v11}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_15e
iget-boolean v3, p0, Lf/b/b/b/l1/f;->u0:Z
if-eqz v3, :cond_16b
iget-object v3, p0, Lf/b/b/b/l1/f;->w:Lf/b/b/b/s1/i0;
iget-object v4, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
invoke-virtual {v3, v10, v11, v4}, Lf/b/b/b/s1/i0;->a(JLjava/lang/Object;)V
iput-boolean v1, p0, Lf/b/b/b/l1/f;->u0:Z
:cond_16b
iget-wide v3, p0, Lf/b/b/b/l1/f;->o0:J
invoke-static {v3, v4, v10, v11}, Ljava/lang/Math;->max(JJ)J
move-result-wide v3
iput-wide v3, p0, Lf/b/b/b/l1/f;->o0:J
iget-object v3, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
invoke-virtual {v3}, Lf/b/b/b/h1/e;->g()V
iget-object v3, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
invoke-virtual {v3}, Lf/b/b/b/h1/a;->hasSupplementalData()Z
move-result v3
if-eqz v3, :cond_185
iget-object v3, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
invoke-virtual {p0, v3}, Lf/b/b/b/l1/f;->o0(Lf/b/b/b/h1/e;)V
:cond_185
iget-object v3, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
invoke-virtual {p0, v3}, Lf/b/b/b/l1/f;->B0(Lf/b/b/b/h1/e;)V
if-eqz v0, :cond_19c
iget-object v0, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
invoke-static {v0, v5}, Lf/b/b/b/l1/f;->l0(Lf/b/b/b/h1/e;I)Landroid/media/MediaCodec$CryptoInfo;
move-result-object v9
iget-object v6, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
iget v7, p0, Lf/b/b/b/l1/f;->c0:I
const/4 v8, 0x0
const/4 v12, 0x0
invoke-virtual/range {v6 .. v12}, Landroid/media/MediaCodec;->queueSecureInputBuffer(IILandroid/media/MediaCodec$CryptoInfo;JI)V
goto :goto_1ad
:cond_19c
iget-object v6, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
iget v7, p0, Lf/b/b/b/l1/f;->c0:I
const/4 v8, 0x0
iget-object v0, p0, Lf/b/b/b/l1/f;->u:Lf/b/b/b/h1/e;
iget-object v0, v0, Lf/b/b/b/h1/e;->f:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->limit()I
move-result v9
const/4 v12, 0x0
invoke-virtual/range {v6 .. v12}, Landroid/media/MediaCodec;->queueInputBuffer(IIIJI)V
:goto_1ad
invoke-direct {p0}, Lf/b/b/b/l1/f;->L0()V
iput-boolean v2, p0, Lf/b/b/b/l1/f;->l0:Z
iput v1, p0, Lf/b/b/b/l1/f;->i0:I
iget-object v0, p0, Lf/b/b/b/l1/f;->x0:Lf/b/b/b/h1/d;
iget v1, v0, Lf/b/b/b/h1/d;->c:I
add-int/2addr v1, v2
iput v1, v0, Lf/b/b/b/h1/d;->c:I
:try_end_1bb
.catch Landroid/media/MediaCodec$CryptoException; {:try_start_14b .. :try_end_1bb} :catch_1bc
return v2
:catch_1bc
move-exception v0
iget-object v1, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
invoke-virtual {p0, v0, v1}, Lf/b/b/b/t;->u(Ljava/lang/Exception;Lf/b/b/b/f0;)Lf/b/b/b/a0;
move-result-object v0
throw v0
:cond_1c4
:goto_1c4
return v1
.end method
.method private d0(Z)Ljava/util/List;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(Z)",
"Ljava/util/List<",
"Lf/b/b/b/l1/e;",
">;"
}
.end annotation
iget-object v0, p0, Lf/b/b/b/l1/f;->p:Lf/b/b/b/l1/g;
iget-object v1, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
invoke-virtual {p0, v0, v1, p1}, Lf/b/b/b/l1/f;->j0(Lf/b/b/b/l1/g;Lf/b/b/b/f0;Z)Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v1
if-eqz v1, :cond_5d
if-eqz p1, :cond_5d
iget-object p1, p0, Lf/b/b/b/l1/f;->p:Lf/b/b/b/l1/g;
iget-object v0, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
const/4 v1, 0x0
invoke-virtual {p0, p1, v0, v1}, Lf/b/b/b/l1/f;->j0(Lf/b/b/b/l1/g;Lf/b/b/b/f0;Z)Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result p1
if-nez p1, :cond_5d
iget-object p1, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
iget-object p1, p1, Lf/b/b/b/f0;->m:Ljava/lang/String;
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v2
add-int/lit8 v2, v2, 0x63
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/String;->length()I
move-result v3
add-int/2addr v2, v3
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3, v2}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v2, "Drm session requires secure decoder for "
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, ", but no secure decoder available. Trying to proceed with "
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, "."
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string v1, "MediaCodecRenderer"
invoke-static {v1, p1}, Lf/b/b/b/s1/r;->h(Ljava/lang/String;Ljava/lang/String;)V
:cond_5d
return-object v0
.end method
.method private f0(Landroid/media/MediaCodec;)V
.registers 4
sget v0, Lf/b/b/b/s1/m0;->a:I
const/16 v1, 0x15
if-ge v0, v1, :cond_12
invoke-virtual {p1}, Landroid/media/MediaCodec;->getInputBuffers()[Ljava/nio/ByteBuffer;
move-result-object v0
iput-object v0, p0, Lf/b/b/b/l1/f;->Z:[Ljava/nio/ByteBuffer;
invoke-virtual {p1}, Landroid/media/MediaCodec;->getOutputBuffers()[Ljava/nio/ByteBuffer;
move-result-object p1
iput-object p1, p0, Lf/b/b/b/l1/f;->a0:[Ljava/nio/ByteBuffer;
:cond_12
return-void
.end method
.method private static l0(Lf/b/b/b/h1/e;I)Landroid/media/MediaCodec$CryptoInfo;
.registers 5
iget-object p0, p0, Lf/b/b/b/h1/e;->e:Lf/b/b/b/h1/b;
invoke-virtual {p0}, Lf/b/b/b/h1/b;->a()Landroid/media/MediaCodec$CryptoInfo;
move-result-object p0
if-nez p1, :cond_9
return-object p0
:cond_9
iget-object v0, p0, Landroid/media/MediaCodec$CryptoInfo;->numBytesOfClearData:[I
if-nez v0, :cond_12
const/4 v0, 0x1
new-array v0, v0, [I
iput-object v0, p0, Landroid/media/MediaCodec$CryptoInfo;->numBytesOfClearData:[I
:cond_12
iget-object v0, p0, Landroid/media/MediaCodec$CryptoInfo;->numBytesOfClearData:[I
const/4 v1, 0x0
aget v2, v0, v1
add-int/2addr v2, p1
aput v2, v0, v1
return-object p0
.end method
.method private m0(I)Ljava/nio/ByteBuffer;
.registers 4
sget v0, Lf/b/b/b/s1/m0;->a:I
const/16 v1, 0x15
if-lt v0, v1, :cond_d
iget-object v0, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
invoke-virtual {v0, p1}, Landroid/media/MediaCodec;->getInputBuffer(I)Ljava/nio/ByteBuffer;
move-result-object p1
return-object p1
:cond_d
iget-object v0, p0, Lf/b/b/b/l1/f;->Z:[Ljava/nio/ByteBuffer;
aget-object p1, v0, p1
return-object p1
.end method
.method private n0(I)Ljava/nio/ByteBuffer;
.registers 4
sget v0, Lf/b/b/b/s1/m0;->a:I
const/16 v1, 0x15
if-lt v0, v1, :cond_d
iget-object v0, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
invoke-virtual {v0, p1}, Landroid/media/MediaCodec;->getOutputBuffer(I)Ljava/nio/ByteBuffer;
move-result-object p1
return-object p1
:cond_d
iget-object v0, p0, Lf/b/b/b/l1/f;->a0:[Ljava/nio/ByteBuffer;
aget-object p1, v0, p1
return-object p1
.end method
.method private p0()Z
.registers 2
iget v0, p0, Lf/b/b/b/l1/f;->d0:I
if-ltz v0, :cond_6
const/4 v0, 0x1
goto :goto_7
:cond_6
const/4 v0, 0x0
:goto_7
return v0
.end method
.method private q0(Lf/b/b/b/l1/e;Landroid/media/MediaCrypto;)V
.registers 19
move-object/from16 v7, p0
move-object/from16 v0, p1
iget-object v8, v0, Lf/b/b/b/l1/e;->a:Ljava/lang/String;
sget v1, Lf/b/b/b/s1/m0;->a:I
const/high16 v2, -0x40800000 # -1.0f
const/16 v3, 0x17
if-ge v1, v3, :cond_11
const/high16 v1, -0x40800000 # -1.0f
goto :goto_1d
:cond_11
iget v1, v7, Lf/b/b/b/l1/f;->H:F
iget-object v3, v7, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
invoke-virtual/range {p0 .. p0}, Lf/b/b/b/t;->y()[Lf/b/b/b/f0;
move-result-object v4
invoke-virtual {v7, v1, v3, v4}, Lf/b/b/b/l1/f;->i0(FLf/b/b/b/f0;[Lf/b/b/b/f0;)F
move-result v1
:goto_1d
iget v3, v7, Lf/b/b/b/l1/f;->t:F
cmpg-float v3, v1, v3
if-gtz v3, :cond_26
const/high16 v9, -0x40800000 # -1.0f
goto :goto_27
:cond_26
move v9, v1
:goto_27
const/4 v1, 0x0
:try_start_28
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v10
const-string v2, "createCodec:"
invoke-static {v8}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/String;->length()I
move-result v4
if-eqz v4, :cond_3d
invoke-virtual {v2, v3}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
goto :goto_43
:cond_3d
new-instance v3, Ljava/lang/String;
invoke-direct {v3, v2}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
move-object v2, v3
:goto_43
invoke-static {v2}, Lf/b/b/b/s1/k0;->a(Ljava/lang/String;)V
invoke-static {v8}, Landroid/media/MediaCodec;->createByCodecName(Ljava/lang/String;)Landroid/media/MediaCodec;
move-result-object v12
:try_end_4a
.catch Ljava/lang/Exception; {:try_start_28 .. :try_end_4a} :catch_110
:try_start_4a
invoke-static {}, Lf/b/b/b/s1/k0;->c()V
const-string v1, "configureCodec"
invoke-static {v1}, Lf/b/b/b/s1/k0;->a(Ljava/lang/String;)V
iget-object v4, v7, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
move-object/from16 v1, p0
move-object/from16 v2, p1
move-object v3, v12
move-object/from16 v5, p2
move v6, v9
invoke-virtual/range {v1 .. v6}, Lf/b/b/b/l1/f;->V(Lf/b/b/b/l1/e;Landroid/media/MediaCodec;Lf/b/b/b/f0;Landroid/media/MediaCrypto;F)V
invoke-static {}, Lf/b/b/b/s1/k0;->c()V
const-string v1, "startCodec"
invoke-static {v1}, Lf/b/b/b/s1/k0;->a(Ljava/lang/String;)V
invoke-virtual {v12}, Landroid/media/MediaCodec;->start()V
invoke-static {}, Lf/b/b/b/s1/k0;->c()V
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v3
invoke-direct {v7, v12}, Lf/b/b/b/l1/f;->f0(Landroid/media/MediaCodec;)V
:try_end_74
.catch Ljava/lang/Exception; {:try_start_4a .. :try_end_74} :catch_10d
iput-object v12, v7, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
iput-object v0, v7, Lf/b/b/b/l1/f;->N:Lf/b/b/b/l1/e;
iput v9, v7, Lf/b/b/b/l1/f;->K:F
iget-object v1, v7, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
iput-object v1, v7, Lf/b/b/b/l1/f;->J:Lf/b/b/b/f0;
invoke-direct {v7, v8}, Lf/b/b/b/l1/f;->M(Ljava/lang/String;)I
move-result v1
iput v1, v7, Lf/b/b/b/l1/f;->O:I
invoke-static {v8}, Lf/b/b/b/l1/f;->T(Ljava/lang/String;)Z
move-result v1
iput-boolean v1, v7, Lf/b/b/b/l1/f;->P:Z
iget-object v1, v7, Lf/b/b/b/l1/f;->J:Lf/b/b/b/f0;
invoke-static {v8, v1}, Lf/b/b/b/l1/f;->N(Ljava/lang/String;Lf/b/b/b/f0;)Z
move-result v1
iput-boolean v1, v7, Lf/b/b/b/l1/f;->Q:Z
invoke-static {v8}, Lf/b/b/b/l1/f;->R(Ljava/lang/String;)Z
move-result v1
iput-boolean v1, v7, Lf/b/b/b/l1/f;->R:Z
invoke-static {v8}, Lf/b/b/b/l1/f;->U(Ljava/lang/String;)Z
move-result v1
iput-boolean v1, v7, Lf/b/b/b/l1/f;->S:Z
invoke-static {v8}, Lf/b/b/b/l1/f;->O(Ljava/lang/String;)Z
move-result v1
iput-boolean v1, v7, Lf/b/b/b/l1/f;->T:Z
invoke-static {v8}, Lf/b/b/b/l1/f;->P(Ljava/lang/String;)Z
move-result v1
iput-boolean v1, v7, Lf/b/b/b/l1/f;->U:Z
iget-object v1, v7, Lf/b/b/b/l1/f;->J:Lf/b/b/b/f0;
invoke-static {v8, v1}, Lf/b/b/b/l1/f;->S(Ljava/lang/String;Lf/b/b/b/f0;)Z
move-result v1
iput-boolean v1, v7, Lf/b/b/b/l1/f;->V:Z
invoke-static/range {p1 .. p1}, Lf/b/b/b/l1/f;->Q(Lf/b/b/b/l1/e;)Z
move-result v0
const/4 v1, 0x1
const/4 v2, 0x0
if-nez v0, :cond_c3
invoke-virtual/range {p0 .. p0}, Lf/b/b/b/l1/f;->h0()Z
move-result v0
if-eqz v0, :cond_c1
goto :goto_c3
:cond_c1
const/4 v0, 0x0
goto :goto_c4
:cond_c3
:goto_c3
const/4 v0, 0x1
:goto_c4
iput-boolean v0, v7, Lf/b/b/b/l1/f;->Y:Z
invoke-direct/range {p0 .. p0}, Lf/b/b/b/l1/f;->L0()V
invoke-direct/range {p0 .. p0}, Lf/b/b/b/l1/f;->M0()V
invoke-virtual/range {p0 .. p0}, Lf/b/b/b/t;->getState()I
move-result v0
const/4 v5, 0x2
const-wide v12, -0x7fffffffffffffffL # -4.9E-324
if-ne v0, v5, :cond_e0
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v5
const-wide/16 v14, 0x3e8
add-long/2addr v5, v14
goto :goto_e1
:cond_e0
move-wide v5, v12
:goto_e1
iput-wide v5, v7, Lf/b/b/b/l1/f;->b0:J
iput-boolean v2, v7, Lf/b/b/b/l1/f;->h0:Z
iput v2, v7, Lf/b/b/b/l1/f;->i0:I
iput-boolean v2, v7, Lf/b/b/b/l1/f;->m0:Z
iput-boolean v2, v7, Lf/b/b/b/l1/f;->l0:Z
iput-wide v12, v7, Lf/b/b/b/l1/f;->o0:J
iput-wide v12, v7, Lf/b/b/b/l1/f;->p0:J
iput v2, v7, Lf/b/b/b/l1/f;->j0:I
iput v2, v7, Lf/b/b/b/l1/f;->k0:I
iput-boolean v2, v7, Lf/b/b/b/l1/f;->W:Z
iput-boolean v2, v7, Lf/b/b/b/l1/f;->X:Z
iput-boolean v2, v7, Lf/b/b/b/l1/f;->f0:Z
iput-boolean v2, v7, Lf/b/b/b/l1/f;->g0:Z
iput-boolean v1, v7, Lf/b/b/b/l1/f;->t0:Z
iget-object v0, v7, Lf/b/b/b/l1/f;->x0:Lf/b/b/b/h1/d;
iget v2, v0, Lf/b/b/b/h1/d;->a:I
add-int/2addr v2, v1
iput v2, v0, Lf/b/b/b/h1/d;->a:I
sub-long v5, v3, v10
move-object/from16 v1, p0
move-object v2, v8
invoke-virtual/range {v1 .. v6}, Lf/b/b/b/l1/f;->x0(Ljava/lang/String;JJ)V
return-void
:catch_10d
move-exception v0
move-object v1, v12
goto :goto_111
:catch_110
move-exception v0
:goto_111
if-eqz v1, :cond_119
invoke-direct/range {p0 .. p0}, Lf/b/b/b/l1/f;->K0()V
invoke-virtual {v1}, Landroid/media/MediaCodec;->release()V
:cond_119
throw v0
.end method
.method private r0(J)Z
.registers 9
iget-object v0, p0, Lf/b/b/b/l1/f;->x:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x0
:goto_8
if-ge v2, v0, :cond_24
iget-object v3, p0, Lf/b/b/b/l1/f;->x:Ljava/util/ArrayList;
invoke-virtual {v3, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Long;
invoke-virtual {v3}, Ljava/lang/Long;->longValue()J
move-result-wide v3
cmp-long v5, v3, p1
if-nez v5, :cond_21
iget-object p1, p0, Lf/b/b/b/l1/f;->x:Ljava/util/ArrayList;
invoke-virtual {p1, v2}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
const/4 p1, 0x1
return p1
:cond_21
add-int/lit8 v2, v2, 0x1
goto :goto_8
:cond_24
return v1
.end method
.method private static s0(Ljava/lang/IllegalStateException;)Z
.registers 4
sget v0, Lf/b/b/b/s1/m0;->a:I
const/4 v1, 0x1
const/16 v2, 0x15
if-lt v0, v2, :cond_e
invoke-static {p0}, Lf/b/b/b/l1/f;->t0(Ljava/lang/IllegalStateException;)Z
move-result v0
if-eqz v0, :cond_e
return v1
:cond_e
invoke-virtual {p0}, Ljava/lang/IllegalStateException;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object p0
array-length v0, p0
const/4 v2, 0x0
if-lez v0, :cond_25
aget-object p0, p0, v2
invoke-virtual {p0}, Ljava/lang/StackTraceElement;->getClassName()Ljava/lang/String;
move-result-object p0
const-string v0, "android.media.MediaCodec"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_25
goto :goto_26
:cond_25
const/4 v1, 0x0
:goto_26
return v1
.end method
.method private static t0(Ljava/lang/IllegalStateException;)Z
.registers 1
.annotation build Landroid/annotation/TargetApi;
value = 0x15
.end annotation
instance-of p0, p0, Landroid/media/MediaCodec$CodecException;
return p0
.end method
.method private v0(Landroid/media/MediaCrypto;Z)V
.registers 9
iget-object v0, p0, Lf/b/b/b/l1/f;->L:Ljava/util/ArrayDeque;
const/4 v1, 0x0
if-nez v0, :cond_39
:try_start_5
invoke-direct {p0, p2}, Lf/b/b/b/l1/f;->d0(Z)Ljava/util/List;
move-result-object v0
new-instance v2, Ljava/util/ArrayDeque;
invoke-direct {v2}, Ljava/util/ArrayDeque;-><init>()V
iput-object v2, p0, Lf/b/b/b/l1/f;->L:Ljava/util/ArrayDeque;
iget-boolean v3, p0, Lf/b/b/b/l1/f;->s:Z
if-eqz v3, :cond_18
invoke-virtual {v2, v0}, Ljava/util/ArrayDeque;->addAll(Ljava/util/Collection;)Z
goto :goto_2a
:cond_18
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v2
if-nez v2, :cond_2a
iget-object v2, p0, Lf/b/b/b/l1/f;->L:Ljava/util/ArrayDeque;
const/4 v3, 0x0
invoke-interface {v0, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lf/b/b/b/l1/e;
invoke-virtual {v2, v0}, Ljava/util/ArrayDeque;->add(Ljava/lang/Object;)Z
:cond_2a
:goto_2a
iput-object v1, p0, Lf/b/b/b/l1/f;->M:Lf/b/b/b/l1/f$a;
:try_end_2c
.catch Lf/b/b/b/l1/h$c; {:try_start_5 .. :try_end_2c} :catch_2d
goto :goto_39
:catch_2d
move-exception p1
new-instance v0, Lf/b/b/b/l1/f$a;
iget-object v1, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
const v2, -0xc34e
invoke-direct {v0, v1, p1, p2, v2}, Lf/b/b/b/l1/f$a;-><init>(Lf/b/b/b/f0;Ljava/lang/Throwable;ZI)V
throw v0
:cond_39
:goto_39
iget-object v0, p0, Lf/b/b/b/l1/f;->L:Ljava/util/ArrayDeque;
invoke-virtual {v0}, Ljava/util/ArrayDeque;->isEmpty()Z
move-result v0
if-nez v0, :cond_a7
:goto_41
iget-object v0, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
if-nez v0, :cond_a4
iget-object v0, p0, Lf/b/b/b/l1/f;->L:Ljava/util/ArrayDeque;
invoke-virtual {v0}, Ljava/util/ArrayDeque;->peekFirst()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lf/b/b/b/l1/e;
invoke-virtual {p0, v0}, Lf/b/b/b/l1/f;->R0(Lf/b/b/b/l1/e;)Z
move-result v2
if-nez v2, :cond_54
return-void
:cond_54
:try_start_54
invoke-direct {p0, v0, p1}, Lf/b/b/b/l1/f;->q0(Lf/b/b/b/l1/e;Landroid/media/MediaCrypto;)V
:try_end_57
.catch Ljava/lang/Exception; {:try_start_54 .. :try_end_57} :catch_58
goto :goto_41
:catch_58
move-exception v2
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v4
add-int/lit8 v4, v4, 0x1e
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5, v4}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v4, "Failed to initialize decoder: "
invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
const-string v4, "MediaCodecRenderer"
invoke-static {v4, v3, v2}, Lf/b/b/b/s1/r;->i(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
iget-object v3, p0, Lf/b/b/b/l1/f;->L:Ljava/util/ArrayDeque;
invoke-virtual {v3}, Ljava/util/ArrayDeque;->removeFirst()Ljava/lang/Object;
new-instance v3, Lf/b/b/b/l1/f$a;
iget-object v4, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
invoke-direct {v3, v4, v2, p2, v0}, Lf/b/b/b/l1/f$a;-><init>(Lf/b/b/b/f0;Ljava/lang/Throwable;ZLf/b/b/b/l1/e;)V
iget-object v0, p0, Lf/b/b/b/l1/f;->M:Lf/b/b/b/l1/f$a;
if-nez v0, :cond_90
iput-object v3, p0, Lf/b/b/b/l1/f;->M:Lf/b/b/b/l1/f$a;
goto :goto_98
:cond_90
iget-object v0, p0, Lf/b/b/b/l1/f;->M:Lf/b/b/b/l1/f$a;
invoke-static {v0, v3}, Lf/b/b/b/l1/f$a;->e(Lf/b/b/b/l1/f$a;Lf/b/b/b/l1/f$a;)Lf/b/b/b/l1/f$a;
move-result-object v0
iput-object v0, p0, Lf/b/b/b/l1/f;->M:Lf/b/b/b/l1/f$a;
:goto_98
iget-object v0, p0, Lf/b/b/b/l1/f;->L:Ljava/util/ArrayDeque;
invoke-virtual {v0}, Ljava/util/ArrayDeque;->isEmpty()Z
move-result v0
if-nez v0, :cond_a1
goto :goto_41
:cond_a1
iget-object p1, p0, Lf/b/b/b/l1/f;->M:Lf/b/b/b/l1/f$a;
throw p1
:cond_a4
iput-object v1, p0, Lf/b/b/b/l1/f;->L:Ljava/util/ArrayDeque;
return-void
:cond_a7
new-instance p1, Lf/b/b/b/l1/f$a;
iget-object v0, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
const v2, -0xc34f
invoke-direct {p1, v0, v1, p2, v2}, Lf/b/b/b/l1/f$a;-><init>(Lf/b/b/b/f0;Ljava/lang/Throwable;ZI)V
goto :goto_b3
:goto_b2
throw p1
:goto_b3
goto :goto_b2
.end method
.method private static w0(Lf/b/b/b/i1/p;Lf/b/b/b/f0;)Z
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lf/b/b/b/i1/p<",
"Lf/b/b/b/i1/w;",
">;",
"Lf/b/b/b/f0;",
")Z"
}
.end annotation
invoke-interface {p0}, Lf/b/b/b/i1/p;->d()Lf/b/b/b/i1/u;
move-result-object p0
check-cast p0, Lf/b/b/b/i1/w;
const/4 v0, 0x1
if-nez p0, :cond_a
return v0
:cond_a
iget-boolean v1, p0, Lf/b/b/b/i1/w;->c:Z
if-eqz v1, :cond_10
const/4 p0, 0x0
return p0
:cond_10
:try_start_10
new-instance v1, Landroid/media/MediaCrypto;
iget-object v2, p0, Lf/b/b/b/i1/w;->a:Ljava/util/UUID;
iget-object p0, p0, Lf/b/b/b/i1/w;->b:[B
invoke-direct {v1, v2, p0}, Landroid/media/MediaCrypto;-><init>(Ljava/util/UUID;[B)V
:try_end_19
.catch Landroid/media/MediaCryptoException; {:try_start_10 .. :try_end_19} :catch_28
:try_start_19
iget-object p0, p1, Lf/b/b/b/f0;->m:Ljava/lang/String;
invoke-virtual {v1, p0}, Landroid/media/MediaCrypto;->requiresSecureDecoderComponent(Ljava/lang/String;)Z
move-result p0
:try_end_1f
.catchall {:try_start_19 .. :try_end_1f} :catchall_23
invoke-virtual {v1}, Landroid/media/MediaCrypto;->release()V
return p0
:catchall_23
move-exception p0
invoke-virtual {v1}, Landroid/media/MediaCrypto;->release()V
throw p0
:catch_28
return v0
.end method
# virtual methods
.method protected abstract A0(J)V
.end method
.method protected B()V
.registers 2
const/4 v0, 0x0
iput-object v0, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
iget-object v0, p0, Lf/b/b/b/l1/f;->D:Lf/b/b/b/i1/p;
if-nez v0, :cond_10
iget-object v0, p0, Lf/b/b/b/l1/f;->C:Lf/b/b/b/i1/p;
if-eqz v0, :cond_c
goto :goto_10
:cond_c
invoke-virtual {p0}, Lf/b/b/b/l1/f;->c0()Z
goto :goto_13
:cond_10
:goto_10
invoke-virtual {p0}, Lf/b/b/b/l1/f;->E()V
:goto_13
return-void
.end method
.method protected abstract B0(Lf/b/b/b/h1/e;)V
.end method
.method protected C(Z)V
.registers 3
iget-object p1, p0, Lf/b/b/b/l1/f;->q:Lf/b/b/b/i1/r;
if-eqz p1, :cond_e
iget-boolean v0, p0, Lf/b/b/b/l1/f;->z:Z
if-nez v0, :cond_e
const/4 v0, 0x1
iput-boolean v0, p0, Lf/b/b/b/l1/f;->z:Z
invoke-interface {p1}, Lf/b/b/b/i1/r;->a()V
:cond_e
new-instance p1, Lf/b/b/b/h1/d;
invoke-direct {p1}, Lf/b/b/b/h1/d;-><init>()V
iput-object p1, p0, Lf/b/b/b/l1/f;->x0:Lf/b/b/b/h1/d;
return-void
.end method
.method protected D(JZ)V
.registers 4
const/4 p1, 0x0
iput-boolean p1, p0, Lf/b/b/b/l1/f;->q0:Z
iput-boolean p1, p0, Lf/b/b/b/l1/f;->r0:Z
iput-boolean p1, p0, Lf/b/b/b/l1/f;->w0:Z
invoke-virtual {p0}, Lf/b/b/b/l1/f;->b0()Z
iget-object p1, p0, Lf/b/b/b/l1/f;->w:Lf/b/b/b/s1/i0;
invoke-virtual {p1}, Lf/b/b/b/s1/i0;->c()V
return-void
.end method
.method protected abstract D0(JJLandroid/media/MediaCodec;Ljava/nio/ByteBuffer;IIJZZLf/b/b/b/f0;)Z
.end method
.method protected E()V
.registers 3
const/4 v0, 0x0
:try_start_1
invoke-virtual {p0}, Lf/b/b/b/l1/f;->I0()V
:try_end_4
.catchall {:try_start_1 .. :try_end_4} :catchall_16
invoke-direct {p0, v0}, Lf/b/b/b/l1/f;->P0(Lf/b/b/b/i1/p;)V
iget-object v0, p0, Lf/b/b/b/l1/f;->q:Lf/b/b/b/i1/r;
if-eqz v0, :cond_15
iget-boolean v1, p0, Lf/b/b/b/l1/f;->z:Z
if-eqz v1, :cond_15
const/4 v1, 0x0
iput-boolean v1, p0, Lf/b/b/b/l1/f;->z:Z
invoke-interface {v0}, Lf/b/b/b/i1/r;->release()V
:cond_15
return-void
:catchall_16
move-exception v1
invoke-direct {p0, v0}, Lf/b/b/b/l1/f;->P0(Lf/b/b/b/i1/p;)V
throw v1
.end method
.method protected F()V
.registers 1
return-void
.end method
.method protected G()V
.registers 1
return-void
.end method
.method protected I0()V
.registers 6
const/4 v0, 0x0
iput-object v0, p0, Lf/b/b/b/l1/f;->L:Ljava/util/ArrayDeque;
iput-object v0, p0, Lf/b/b/b/l1/f;->N:Lf/b/b/b/l1/e;
iput-object v0, p0, Lf/b/b/b/l1/f;->J:Lf/b/b/b/f0;
const/4 v1, 0x0
iput-boolean v1, p0, Lf/b/b/b/l1/f;->n0:Z
invoke-direct {p0}, Lf/b/b/b/l1/f;->L0()V
invoke-direct {p0}, Lf/b/b/b/l1/f;->M0()V
invoke-direct {p0}, Lf/b/b/b/l1/f;->K0()V
iput-boolean v1, p0, Lf/b/b/b/l1/f;->s0:Z
const-wide v2, -0x7fffffffffffffffL # -4.9E-324
iput-wide v2, p0, Lf/b/b/b/l1/f;->b0:J
iget-object v4, p0, Lf/b/b/b/l1/f;->x:Ljava/util/ArrayList;
invoke-virtual {v4}, Ljava/util/ArrayList;->clear()V
iput-wide v2, p0, Lf/b/b/b/l1/f;->o0:J
iput-wide v2, p0, Lf/b/b/b/l1/f;->p0:J
:try_start_25
iget-object v2, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
if-eqz v2, :cond_45
iget-object v3, p0, Lf/b/b/b/l1/f;->x0:Lf/b/b/b/h1/d;
iget v4, v3, Lf/b/b/b/h1/d;->b:I
add-int/lit8 v4, v4, 0x1
iput v4, v3, Lf/b/b/b/h1/d;->b:I
:try_end_31
.catchall {:try_start_25 .. :try_end_31} :catchall_5f
:try_start_31
iget-boolean v3, p0, Lf/b/b/b/l1/f;->v0:Z
if-nez v3, :cond_38
invoke-virtual {v2}, Landroid/media/MediaCodec;->stop()V
:try_end_38
.catchall {:try_start_31 .. :try_end_38} :catchall_3e
:cond_38
:try_start_38
iget-object v2, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
invoke-virtual {v2}, Landroid/media/MediaCodec;->release()V
goto :goto_45
:catchall_3e
move-exception v2
iget-object v3, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
invoke-virtual {v3}, Landroid/media/MediaCodec;->release()V
throw v2
:try_end_45
.catchall {:try_start_38 .. :try_end_45} :catchall_5f
:cond_45
:goto_45
iput-object v0, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
:try_start_47
iget-object v2, p0, Lf/b/b/b/l1/f;->E:Landroid/media/MediaCrypto;
if-eqz v2, :cond_4e
invoke-virtual {v2}, Landroid/media/MediaCrypto;->release()V
:try_end_4e
.catchall {:try_start_47 .. :try_end_4e} :catchall_56
:cond_4e
iput-object v0, p0, Lf/b/b/b/l1/f;->E:Landroid/media/MediaCrypto;
iput-boolean v1, p0, Lf/b/b/b/l1/f;->F:Z
invoke-direct {p0, v0}, Lf/b/b/b/l1/f;->N0(Lf/b/b/b/i1/p;)V
return-void
:catchall_56
move-exception v2
iput-object v0, p0, Lf/b/b/b/l1/f;->E:Landroid/media/MediaCrypto;
iput-boolean v1, p0, Lf/b/b/b/l1/f;->F:Z
invoke-direct {p0, v0}, Lf/b/b/b/l1/f;->N0(Lf/b/b/b/i1/p;)V
throw v2
:catchall_5f
move-exception v2
iput-object v0, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
:try_start_62
iget-object v3, p0, Lf/b/b/b/l1/f;->E:Landroid/media/MediaCrypto;
if-eqz v3, :cond_69
invoke-virtual {v3}, Landroid/media/MediaCrypto;->release()V
:try_end_69
.catchall {:try_start_62 .. :try_end_69} :catchall_71
:cond_69
iput-object v0, p0, Lf/b/b/b/l1/f;->E:Landroid/media/MediaCrypto;
iput-boolean v1, p0, Lf/b/b/b/l1/f;->F:Z
invoke-direct {p0, v0}, Lf/b/b/b/l1/f;->N0(Lf/b/b/b/i1/p;)V
throw v2
:catchall_71
move-exception v2
iput-object v0, p0, Lf/b/b/b/l1/f;->E:Landroid/media/MediaCrypto;
iput-boolean v1, p0, Lf/b/b/b/l1/f;->F:Z
invoke-direct {p0, v0}, Lf/b/b/b/l1/f;->N0(Lf/b/b/b/i1/p;)V
throw v2
.end method
.method protected J0()V
.registers 1
return-void
.end method
.method protected abstract L(Landroid/media/MediaCodec;Lf/b/b/b/l1/e;Lf/b/b/b/f0;Lf/b/b/b/f0;)I
.end method
.method protected final O0()V
.registers 2
const/4 v0, 0x1
iput-boolean v0, p0, Lf/b/b/b/l1/f;->w0:Z
return-void
.end method
.method protected R0(Lf/b/b/b/l1/e;)Z
.registers 2
const/4 p1, 0x1
return p1
.end method
.method protected abstract T0(Lf/b/b/b/l1/g;Lf/b/b/b/i1/r;Lf/b/b/b/f0;)I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lf/b/b/b/l1/g;",
"Lf/b/b/b/i1/r<",
"Lf/b/b/b/i1/w;",
">;",
"Lf/b/b/b/f0;",
")I"
}
.end annotation
.end method
.method protected abstract V(Lf/b/b/b/l1/e;Landroid/media/MediaCodec;Lf/b/b/b/f0;Landroid/media/MediaCrypto;F)V
.end method
.method protected final W0(J)Lf/b/b/b/f0;
.registers 4
iget-object v0, p0, Lf/b/b/b/l1/f;->w:Lf/b/b/b/s1/i0;
invoke-virtual {v0, p1, p2}, Lf/b/b/b/s1/i0;->i(J)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lf/b/b/b/f0;
if-eqz p1, :cond_c
iput-object p1, p0, Lf/b/b/b/l1/f;->B:Lf/b/b/b/f0;
:cond_c
return-object p1
.end method
.method public final a(Lf/b/b/b/f0;)I
.registers 4
:try_start_0
iget-object v0, p0, Lf/b/b/b/l1/f;->p:Lf/b/b/b/l1/g;
iget-object v1, p0, Lf/b/b/b/l1/f;->q:Lf/b/b/b/i1/r;
invoke-virtual {p0, v0, v1, p1}, Lf/b/b/b/l1/f;->T0(Lf/b/b/b/l1/g;Lf/b/b/b/i1/r;Lf/b/b/b/f0;)I
move-result p1
:try_end_8
.catch Lf/b/b/b/l1/h$c; {:try_start_0 .. :try_end_8} :catch_9
return p1
:catch_9
move-exception v0
invoke-virtual {p0, v0, p1}, Lf/b/b/b/t;->u(Ljava/lang/Exception;Lf/b/b/b/f0;)Lf/b/b/b/a0;
move-result-object p1
throw p1
.end method
.method public b()Z
.registers 2
iget-boolean v0, p0, Lf/b/b/b/l1/f;->r0:Z
return v0
.end method
.method protected final b0()Z
.registers 2
invoke-virtual {p0}, Lf/b/b/b/l1/f;->c0()Z
move-result v0
if-eqz v0, :cond_9
invoke-virtual {p0}, Lf/b/b/b/l1/f;->u0()V
:cond_9
return v0
.end method
.method protected c0()Z
.registers 6
iget-object v0, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
const/4 v1, 0x0
if-nez v0, :cond_6
return v1
:cond_6
iget v2, p0, Lf/b/b/b/l1/f;->k0:I
const/4 v3, 0x3
const/4 v4, 0x1
if-eq v2, v3, :cond_53
iget-boolean v2, p0, Lf/b/b/b/l1/f;->R:Z
if-nez v2, :cond_53
iget-boolean v2, p0, Lf/b/b/b/l1/f;->S:Z
if-eqz v2, :cond_18
iget-boolean v2, p0, Lf/b/b/b/l1/f;->n0:Z
if-eqz v2, :cond_53
:cond_18
iget-boolean v2, p0, Lf/b/b/b/l1/f;->T:Z
if-eqz v2, :cond_21
iget-boolean v2, p0, Lf/b/b/b/l1/f;->m0:Z
if-eqz v2, :cond_21
goto :goto_53
:cond_21
invoke-virtual {v0}, Landroid/media/MediaCodec;->flush()V
invoke-direct {p0}, Lf/b/b/b/l1/f;->L0()V
invoke-direct {p0}, Lf/b/b/b/l1/f;->M0()V
const-wide v2, -0x7fffffffffffffffL # -4.9E-324
iput-wide v2, p0, Lf/b/b/b/l1/f;->b0:J
iput-boolean v1, p0, Lf/b/b/b/l1/f;->m0:Z
iput-boolean v1, p0, Lf/b/b/b/l1/f;->l0:Z
iput-boolean v4, p0, Lf/b/b/b/l1/f;->t0:Z
iput-boolean v1, p0, Lf/b/b/b/l1/f;->W:Z
iput-boolean v1, p0, Lf/b/b/b/l1/f;->X:Z
iput-boolean v1, p0, Lf/b/b/b/l1/f;->f0:Z
iput-boolean v1, p0, Lf/b/b/b/l1/f;->g0:Z
iput-boolean v1, p0, Lf/b/b/b/l1/f;->s0:Z
iget-object v0, p0, Lf/b/b/b/l1/f;->x:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
iput-wide v2, p0, Lf/b/b/b/l1/f;->o0:J
iput-wide v2, p0, Lf/b/b/b/l1/f;->p0:J
iput v1, p0, Lf/b/b/b/l1/f;->j0:I
iput v1, p0, Lf/b/b/b/l1/f;->k0:I
iget-boolean v0, p0, Lf/b/b/b/l1/f;->h0:Z
iput v0, p0, Lf/b/b/b/l1/f;->i0:I
return v1
:cond_53
:goto_53
invoke-virtual {p0}, Lf/b/b/b/l1/f;->I0()V
return v4
.end method
.method protected final e0()Landroid/media/MediaCodec;
.registers 2
iget-object v0, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
return-object v0
.end method
.method protected final g0()Lf/b/b/b/l1/e;
.registers 2
iget-object v0, p0, Lf/b/b/b/l1/f;->N:Lf/b/b/b/l1/e;
return-object v0
.end method
.method protected h0()Z
.registers 2
const/4 v0, 0x0
return v0
.end method
.method protected abstract i0(FLf/b/b/b/f0;[Lf/b/b/b/f0;)F
.end method
.method public isReady()Z
.registers 6
iget-object v0, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
if-eqz v0, :cond_2b
iget-boolean v0, p0, Lf/b/b/b/l1/f;->s0:Z
if-nez v0, :cond_2b
invoke-virtual {p0}, Lf/b/b/b/t;->A()Z
move-result v0
if-nez v0, :cond_29
invoke-direct {p0}, Lf/b/b/b/l1/f;->p0()Z
move-result v0
if-nez v0, :cond_29
iget-wide v0, p0, Lf/b/b/b/l1/f;->b0:J
const-wide v2, -0x7fffffffffffffffL # -4.9E-324
cmp-long v4, v0, v2
if-eqz v4, :cond_2b
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v0
iget-wide v2, p0, Lf/b/b/b/l1/f;->b0:J
cmp-long v4, v0, v2
if-gez v4, :cond_2b
:cond_29
const/4 v0, 0x1
goto :goto_2c
:cond_2b
const/4 v0, 0x0
:goto_2c
return v0
.end method
.method public final j()I
.registers 2
const/16 v0, 0x8
return v0
.end method
.method protected abstract j0(Lf/b/b/b/l1/g;Lf/b/b/b/f0;Z)Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lf/b/b/b/l1/g;",
"Lf/b/b/b/f0;",
"Z)",
"Ljava/util/List<",
"Lf/b/b/b/l1/e;",
">;"
}
.end annotation
.end method
.method public k(JJ)V
.registers 8
iget-boolean v0, p0, Lf/b/b/b/l1/f;->w0:Z
const/4 v1, 0x0
if-eqz v0, :cond_a
iput-boolean v1, p0, Lf/b/b/b/l1/f;->w0:Z
invoke-direct {p0}, Lf/b/b/b/l1/f;->C0()V
:cond_a
:try_start_a
iget-boolean v0, p0, Lf/b/b/b/l1/f;->r0:Z
if-eqz v0, :cond_12
invoke-virtual {p0}, Lf/b/b/b/l1/f;->J0()V
return-void
:cond_12
iget-object v0, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
if-nez v0, :cond_1e
const/4 v0, 0x1
invoke-direct {p0, v0}, Lf/b/b/b/l1/f;->G0(Z)Z
move-result v0
if-nez v0, :cond_1e
return-void
:cond_1e
invoke-virtual {p0}, Lf/b/b/b/l1/f;->u0()V
iget-object v0, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
if-eqz v0, :cond_46
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v0
const-string v2, "drainAndFeed"
invoke-static {v2}, Lf/b/b/b/s1/k0;->a(Ljava/lang/String;)V
:goto_2e
invoke-direct {p0, p1, p2, p3, p4}, Lf/b/b/b/l1/f;->Z(JJ)Z
move-result v2
if-eqz v2, :cond_35
goto :goto_2e
:cond_35
:goto_35
invoke-direct {p0}, Lf/b/b/b/l1/f;->a0()Z
move-result p1
if-eqz p1, :cond_42
invoke-direct {p0, v0, v1}, Lf/b/b/b/l1/f;->Q0(J)Z
move-result p1
if-eqz p1, :cond_42
goto :goto_35
:cond_42
invoke-static {}, Lf/b/b/b/s1/k0;->c()V
goto :goto_54
:cond_46
iget-object p3, p0, Lf/b/b/b/l1/f;->x0:Lf/b/b/b/h1/d;
iget p4, p3, Lf/b/b/b/h1/d;->d:I
invoke-virtual {p0, p1, p2}, Lf/b/b/b/t;->J(J)I
move-result p1
add-int/2addr p4, p1
iput p4, p3, Lf/b/b/b/h1/d;->d:I
invoke-direct {p0, v1}, Lf/b/b/b/l1/f;->G0(Z)Z
:goto_54
iget-object p1, p0, Lf/b/b/b/l1/f;->x0:Lf/b/b/b/h1/d;
invoke-virtual {p1}, Lf/b/b/b/h1/d;->a()V
:try_end_59
.catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_59} :catch_5a
return-void
:catch_5a
move-exception p1
invoke-static {p1}, Lf/b/b/b/l1/f;->s0(Ljava/lang/IllegalStateException;)Z
move-result p2
if-eqz p2, :cond_68
iget-object p2, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
invoke-virtual {p0, p1, p2}, Lf/b/b/b/t;->u(Ljava/lang/Exception;Lf/b/b/b/f0;)Lf/b/b/b/a0;
move-result-object p1
throw p1
:cond_68
goto :goto_6a
:goto_69
throw p1
:goto_6a
goto :goto_69
.end method
.method protected k0()J
.registers 3
const-wide/16 v0, 0x0
return-wide v0
.end method
.method public final n(F)V
.registers 3
iput p1, p0, Lf/b/b/b/l1/f;->H:F
iget-object p1, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
if-eqz p1, :cond_14
iget p1, p0, Lf/b/b/b/l1/f;->k0:I
const/4 v0, 0x3
if-eq p1, v0, :cond_14
invoke-virtual {p0}, Lf/b/b/b/t;->getState()I
move-result p1
if-eqz p1, :cond_14
invoke-direct {p0}, Lf/b/b/b/l1/f;->U0()V
:cond_14
return-void
.end method
.method protected o0(Lf/b/b/b/h1/e;)V
.registers 2
return-void
.end method
.method protected final u0()V
.registers 7
iget-object v0, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
if-nez v0, :cond_7e
iget-object v0, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
if-nez v0, :cond_a
goto/16 :goto_7e
:cond_a
iget-object v0, p0, Lf/b/b/b/l1/f;->D:Lf/b/b/b/i1/p;
invoke-direct {p0, v0}, Lf/b/b/b/l1/f;->N0(Lf/b/b/b/i1/p;)V
iget-object v0, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
iget-object v0, v0, Lf/b/b/b/f0;->m:Ljava/lang/String;
iget-object v1, p0, Lf/b/b/b/l1/f;->C:Lf/b/b/b/i1/p;
if-eqz v1, :cond_6e
iget-object v2, p0, Lf/b/b/b/l1/f;->E:Landroid/media/MediaCrypto;
const/4 v3, 0x1
if-nez v2, :cond_51
invoke-interface {v1}, Lf/b/b/b/i1/p;->d()Lf/b/b/b/i1/u;
move-result-object v1
check-cast v1, Lf/b/b/b/i1/w;
if-nez v1, :cond_2e
iget-object v0, p0, Lf/b/b/b/l1/f;->C:Lf/b/b/b/i1/p;
invoke-interface {v0}, Lf/b/b/b/i1/p;->e()Lf/b/b/b/i1/p$a;
move-result-object v0
if-eqz v0, :cond_2d
goto :goto_51
:cond_2d
return-void
:cond_2e
:try_start_2e
new-instance v2, Landroid/media/MediaCrypto;
iget-object v4, v1, Lf/b/b/b/i1/w;->a:Ljava/util/UUID;
iget-object v5, v1, Lf/b/b/b/i1/w;->b:[B
invoke-direct {v2, v4, v5}, Landroid/media/MediaCrypto;-><init>(Ljava/util/UUID;[B)V
iput-object v2, p0, Lf/b/b/b/l1/f;->E:Landroid/media/MediaCrypto;
:try_end_39
.catch Landroid/media/MediaCryptoException; {:try_start_2e .. :try_end_39} :catch_49
iget-boolean v1, v1, Lf/b/b/b/i1/w;->c:Z
if-nez v1, :cond_45
invoke-virtual {v2, v0}, Landroid/media/MediaCrypto;->requiresSecureDecoderComponent(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_45
const/4 v0, 0x1
goto :goto_46
:cond_45
const/4 v0, 0x0
:goto_46
iput-boolean v0, p0, Lf/b/b/b/l1/f;->F:Z
goto :goto_51
:catch_49
move-exception v0
iget-object v1, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
invoke-virtual {p0, v0, v1}, Lf/b/b/b/t;->u(Ljava/lang/Exception;Lf/b/b/b/f0;)Lf/b/b/b/a0;
move-result-object v0
throw v0
:cond_51
:goto_51
sget-boolean v0, Lf/b/b/b/i1/w;->d:Z
if-eqz v0, :cond_6e
iget-object v0, p0, Lf/b/b/b/l1/f;->C:Lf/b/b/b/i1/p;
invoke-interface {v0}, Lf/b/b/b/i1/p;->getState()I
move-result v0
if-eq v0, v3, :cond_61
const/4 v1, 0x4
if-eq v0, v1, :cond_6e
return-void
:cond_61
iget-object v0, p0, Lf/b/b/b/l1/f;->C:Lf/b/b/b/i1/p;
invoke-interface {v0}, Lf/b/b/b/i1/p;->e()Lf/b/b/b/i1/p$a;
move-result-object v0
iget-object v1, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
invoke-virtual {p0, v0, v1}, Lf/b/b/b/t;->u(Ljava/lang/Exception;Lf/b/b/b/f0;)Lf/b/b/b/a0;
move-result-object v0
throw v0
:cond_6e
:try_start_6e
iget-object v0, p0, Lf/b/b/b/l1/f;->E:Landroid/media/MediaCrypto;
iget-boolean v1, p0, Lf/b/b/b/l1/f;->F:Z
invoke-direct {p0, v0, v1}, Lf/b/b/b/l1/f;->v0(Landroid/media/MediaCrypto;Z)V
:try_end_75
.catch Lf/b/b/b/l1/f$a; {:try_start_6e .. :try_end_75} :catch_76
return-void
:catch_76
move-exception v0
iget-object v1, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
invoke-virtual {p0, v0, v1}, Lf/b/b/b/t;->u(Ljava/lang/Exception;Lf/b/b/b/f0;)Lf/b/b/b/a0;
move-result-object v0
throw v0
:cond_7e
:goto_7e
return-void
.end method
.method protected abstract x0(Ljava/lang/String;JJ)V
.end method
.method protected y0(Lf/b/b/b/g0;)V
.registers 6
const/4 v0, 0x1
iput-boolean v0, p0, Lf/b/b/b/l1/f;->u0:Z
iget-object v1, p1, Lf/b/b/b/g0;->c:Lf/b/b/b/f0;
invoke-static {v1}, Lf/b/b/b/s1/e;->e(Ljava/lang/Object;)Ljava/lang/Object;
check-cast v1, Lf/b/b/b/f0;
iget-boolean v2, p1, Lf/b/b/b/g0;->a:Z
if-eqz v2, :cond_14
iget-object p1, p1, Lf/b/b/b/g0;->b:Lf/b/b/b/i1/p;
invoke-direct {p0, p1}, Lf/b/b/b/l1/f;->P0(Lf/b/b/b/i1/p;)V
goto :goto_20
:cond_14
iget-object p1, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
iget-object v2, p0, Lf/b/b/b/l1/f;->q:Lf/b/b/b/i1/r;
iget-object v3, p0, Lf/b/b/b/l1/f;->D:Lf/b/b/b/i1/p;
invoke-virtual {p0, p1, v1, v2, v3}, Lf/b/b/b/t;->z(Lf/b/b/b/f0;Lf/b/b/b/f0;Lf/b/b/b/i1/r;Lf/b/b/b/i1/p;)Lf/b/b/b/i1/p;
move-result-object p1
iput-object p1, p0, Lf/b/b/b/l1/f;->D:Lf/b/b/b/i1/p;
:goto_20
iput-object v1, p0, Lf/b/b/b/l1/f;->A:Lf/b/b/b/f0;
iget-object p1, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
if-nez p1, :cond_2a
invoke-virtual {p0}, Lf/b/b/b/l1/f;->u0()V
return-void
:cond_2a
iget-object p1, p0, Lf/b/b/b/l1/f;->D:Lf/b/b/b/i1/p;
if-nez p1, :cond_32
iget-object v2, p0, Lf/b/b/b/l1/f;->C:Lf/b/b/b/i1/p;
if-nez v2, :cond_54
:cond_32
if-eqz p1, :cond_38
iget-object v2, p0, Lf/b/b/b/l1/f;->C:Lf/b/b/b/i1/p;
if-eqz v2, :cond_54
:cond_38
iget-object v2, p0, Lf/b/b/b/l1/f;->C:Lf/b/b/b/i1/p;
if-eq p1, v2, :cond_48
iget-object v2, p0, Lf/b/b/b/l1/f;->N:Lf/b/b/b/l1/e;
iget-boolean v2, v2, Lf/b/b/b/l1/e;->f:Z
if-nez v2, :cond_48
invoke-static {p1, v1}, Lf/b/b/b/l1/f;->w0(Lf/b/b/b/i1/p;Lf/b/b/b/f0;)Z
move-result p1
if-nez p1, :cond_54
:cond_48
sget p1, Lf/b/b/b/s1/m0;->a:I
const/16 v2, 0x17
if-ge p1, v2, :cond_58
iget-object p1, p0, Lf/b/b/b/l1/f;->D:Lf/b/b/b/i1/p;
iget-object v2, p0, Lf/b/b/b/l1/f;->C:Lf/b/b/b/i1/p;
if-eq p1, v2, :cond_58
:cond_54
invoke-direct {p0}, Lf/b/b/b/l1/f;->X()V
return-void
:cond_58
iget-object p1, p0, Lf/b/b/b/l1/f;->I:Landroid/media/MediaCodec;
iget-object v2, p0, Lf/b/b/b/l1/f;->N:Lf/b/b/b/l1/e;
iget-object v3, p0, Lf/b/b/b/l1/f;->J:Lf/b/b/b/f0;
invoke-virtual {p0, p1, v2, v3, v1}, Lf/b/b/b/l1/f;->L(Landroid/media/MediaCodec;Lf/b/b/b/l1/e;Lf/b/b/b/f0;Lf/b/b/b/f0;)I
move-result p1
if-eqz p1, :cond_be
if-eq p1, v0, :cond_ab
const/4 v2, 0x2
if-eq p1, v2, :cond_7e
const/4 v0, 0x3
if-ne p1, v0, :cond_78
iput-object v1, p0, Lf/b/b/b/l1/f;->J:Lf/b/b/b/f0;
invoke-direct {p0}, Lf/b/b/b/l1/f;->U0()V
iget-object p1, p0, Lf/b/b/b/l1/f;->D:Lf/b/b/b/i1/p;
iget-object v0, p0, Lf/b/b/b/l1/f;->C:Lf/b/b/b/i1/p;
if-eq p1, v0, :cond_c1
goto :goto_b6
:cond_78
new-instance p1, Ljava/lang/IllegalStateException;
invoke-direct {p1}, Ljava/lang/IllegalStateException;-><init>()V
throw p1
:cond_7e
iget-boolean p1, p0, Lf/b/b/b/l1/f;->P:Z
if-eqz p1, :cond_83
goto :goto_be
:cond_83
iput-boolean v0, p0, Lf/b/b/b/l1/f;->h0:Z
iput v0, p0, Lf/b/b/b/l1/f;->i0:I
iget p1, p0, Lf/b/b/b/l1/f;->O:I
if-eq p1, v2, :cond_9d
if-ne p1, v0, :cond_9c
iget p1, v1, Lf/b/b/b/f0;->r:I
iget-object v2, p0, Lf/b/b/b/l1/f;->J:Lf/b/b/b/f0;
iget v3, v2, Lf/b/b/b/f0;->r:I
if-ne p1, v3, :cond_9c
iget p1, v1, Lf/b/b/b/f0;->s:I
iget v2, v2, Lf/b/b/b/f0;->s:I
if-ne p1, v2, :cond_9c
goto :goto_9d
:cond_9c
const/4 v0, 0x0
:cond_9d
:goto_9d
iput-boolean v0, p0, Lf/b/b/b/l1/f;->W:Z
iput-object v1, p0, Lf/b/b/b/l1/f;->J:Lf/b/b/b/f0;
invoke-direct {p0}, Lf/b/b/b/l1/f;->U0()V
iget-object p1, p0, Lf/b/b/b/l1/f;->D:Lf/b/b/b/i1/p;
iget-object v0, p0, Lf/b/b/b/l1/f;->C:Lf/b/b/b/i1/p;
if-eq p1, v0, :cond_c1
goto :goto_b6
:cond_ab
iput-object v1, p0, Lf/b/b/b/l1/f;->J:Lf/b/b/b/f0;
invoke-direct {p0}, Lf/b/b/b/l1/f;->U0()V
iget-object p1, p0, Lf/b/b/b/l1/f;->D:Lf/b/b/b/i1/p;
iget-object v0, p0, Lf/b/b/b/l1/f;->C:Lf/b/b/b/i1/p;
if-eq p1, v0, :cond_ba
:goto_b6
invoke-direct {p0}, Lf/b/b/b/l1/f;->Y()V
goto :goto_c1
:cond_ba
invoke-direct {p0}, Lf/b/b/b/l1/f;->W()V
goto :goto_c1
:cond_be
:goto_be
invoke-direct {p0}, Lf/b/b/b/l1/f;->X()V
:cond_c1
:goto_c1
return-void
.end method
.method protected abstract z0(Landroid/media/MediaCodec;Landroid/media/MediaFormat;)V
.end method