t.smali
.class public final Lcom/tencent/liteav/videoconsumer/decoder/t;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/graphics/SurfaceTexture$OnFrameAvailableListener;
.implements Lcom/tencent/liteav/videoconsumer/decoder/aw;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/tencent/liteav/videoconsumer/decoder/t$a;
}
.end annotation
# instance fields
.field private a:Ljava/lang/String;
.field private final b:Lcom/tencent/liteav/base/util/Size;
.field private final c:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;
.field private final d:Lcom/tencent/liteav/base/b/b;
.field private volatile e:Lcom/tencent/liteav/base/util/CustomHandler;
.field private f:Lcom/tencent/tmediacodec/b;
.field private g:Lcom/tencent/liteav/videoconsumer/decoder/ax;
.field private final h:Landroid/media/MediaCodec$BufferInfo;
.field private i:Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;
.field private j:Z
.field private k:Lcom/tencent/liteav/videobase/egl/EGLCore;
.field private l:I
.field private m:Lcom/tencent/liteav/videobase/frame/l;
.field private n:Landroid/graphics/SurfaceTexture;
.field private o:Landroid/view/Surface;
.field private p:Lcom/tencent/liteav/videoconsumer/decoder/VideoDecoderDef$ConsumerScene;
.field private q:Z
.field private final r:Lcom/tencent/liteav/videoconsumer/decoder/s;
.field private s:Z
.field private t:Lcom/tencent/liteav/videobase/frame/j;
.field private u:Lcom/tencent/liteav/videobase/frame/e;
.field private final v:Lcom/tencent/liteav/videobase/utils/h;
.field private final w:Z
.field private final x:Z
.field private y:J
.field private final z:Lcom/tencent/tmediacodec/a/a;
# direct methods
.method private constructor <init>(Landroid/media/MediaFormat;Lcom/tencent/liteav/base/util/Size;Ljava/lang/String;ZZLorg/json/JSONArray;Lcom/tencent/liteav/videobase/videobase/IVideoReporter;)V
.registers 10
.line 161
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-string v0, "HardwareVideoDecoder"
.line 65
iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
.line 73
new-instance v0, Lcom/tencent/liteav/base/b/b;
invoke-direct {v0}, Lcom/tencent/liteav/base/b/b;-><init>()V
iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->d:Lcom/tencent/liteav/base/b/b;
const/4 v0, 0x0
.line 76
iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->f:Lcom/tencent/tmediacodec/b;
.line 78
new-instance v1, Landroid/media/MediaCodec$BufferInfo;
invoke-direct {v1}, Landroid/media/MediaCodec$BufferInfo;-><init>()V
iput-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->h:Landroid/media/MediaCodec$BufferInfo;
.line 79
iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->i:Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;
const/4 v0, 0x1
.line 82
iput-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->j:Z
const/4 v0, -0x1
.line 85
iput v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->l:I
.line 89
sget-object v0, Lcom/tencent/liteav/videoconsumer/decoder/VideoDecoderDef$ConsumerScene;->a:Lcom/tencent/liteav/videoconsumer/decoder/VideoDecoderDef$ConsumerScene;
iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->p:Lcom/tencent/liteav/videoconsumer/decoder/VideoDecoderDef$ConsumerScene;
const/4 v0, 0x0
.line 90
iput-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->q:Z
.line 91
new-instance v1, Lcom/tencent/liteav/videoconsumer/decoder/s;
invoke-direct {v1}, Lcom/tencent/liteav/videoconsumer/decoder/s;-><init>()V
iput-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->r:Lcom/tencent/liteav/videoconsumer/decoder/s;
.line 92
iput-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->s:Z
const-wide/16 v0, 0x0
.line 98
iput-wide v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->y:J
.line 100
new-instance v0, Lcom/tencent/liteav/videoconsumer/decoder/t$1;
invoke-direct {v0, p0}, Lcom/tencent/liteav/videoconsumer/decoder/t$1;-><init>(Lcom/tencent/liteav/videoconsumer/decoder/t;)V
iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->z:Lcom/tencent/tmediacodec/a/a;
.line 162
new-instance v0, Lcom/tencent/liteav/base/util/Size;
invoke-direct {v0, p2}, Lcom/tencent/liteav/base/util/Size;-><init>(Lcom/tencent/liteav/base/util/Size;)V
iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->b:Lcom/tencent/liteav/base/util/Size;
.line 163
iput-object p7, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->c:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;
.line 164
new-instance p2, Lcom/tencent/liteav/videobase/utils/h;
invoke-direct {p2}, Lcom/tencent/liteav/videobase/utils/h;-><init>()V
.line 1056
iput-object p1, p2, Lcom/tencent/liteav/videobase/utils/h;->a:Landroid/media/MediaFormat;
.line 1062
iput-object p6, p2, Lcom/tencent/liteav/videobase/utils/h;->b:Lorg/json/JSONArray;
.line 1077
iput-object p3, p2, Lcom/tencent/liteav/videobase/utils/h;->e:Ljava/lang/String;
.line 169
invoke-virtual {v0}, Lcom/tencent/liteav/base/util/Size;->getWidth()I
move-result p3
.line 2067
iput p3, p2, Lcom/tencent/liteav/videobase/utils/h;->c:I
.line 170
invoke-virtual {v0}, Lcom/tencent/liteav/base/util/Size;->getHeight()I
move-result p3
.line 2072
iput p3, p2, Lcom/tencent/liteav/videobase/utils/h;->d:I
.line 170
iput-object p2, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->v:Lcom/tencent/liteav/videobase/utils/h;
.line 171
iput-boolean p4, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->w:Z
.line 172
iput-boolean p5, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->x:Z
.line 173
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
iget-object p3, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p3, "_"
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result p3
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
iput-object p2, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
.line 174
new-instance p3, Ljava/lang/StringBuilder;
const-string p5, "create decoder isLowLatencyEnabled:"
invoke-direct {p3, p5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string p4, ", format: "
invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p1, " , params: "
invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3, p6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p2, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public constructor <init>(Landroid/media/MediaFormat;ZZLorg/json/JSONArray;Lcom/tencent/liteav/videobase/videobase/IVideoReporter;)V
.registers 14
.line 152
new-instance v2, Lcom/tencent/liteav/base/util/Size;
const-string/jumbo v0, "width"
.line 153
invoke-virtual {p1, v0}, Landroid/media/MediaFormat;->getInteger(Ljava/lang/String;)I
move-result v0
const-string v1, "height"
.line 154
invoke-virtual {p1, v1}, Landroid/media/MediaFormat;->getInteger(Ljava/lang/String;)I
move-result v1
invoke-direct {v2, v0, v1}, Lcom/tencent/liteav/base/util/Size;-><init>(II)V
const-string v0, "mime"
.line 155
invoke-virtual {p1, v0}, Landroid/media/MediaFormat;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
move-object v0, p0
move-object v1, p1
move v4, p2
move v5, p3
move-object v6, p4
move-object v7, p5
.line 152
invoke-direct/range {v0 .. v7}, Lcom/tencent/liteav/videoconsumer/decoder/t;-><init>(Landroid/media/MediaFormat;Lcom/tencent/liteav/base/util/Size;Ljava/lang/String;ZZLorg/json/JSONArray;Lcom/tencent/liteav/videobase/videobase/IVideoReporter;)V
return-void
.end method
.method public constructor <init>(Lcom/tencent/liteav/base/util/Size;ZZZLorg/json/JSONArray;Lcom/tencent/liteav/videobase/videobase/IVideoReporter;)V
.registers 15
if-eqz p2, :cond_5
const-string p2, "video/hevc"
goto :goto_7
:cond_5
const-string p2, "video/avc"
:goto_7
move-object v3, p2
const/4 v1, 0x0
move-object v0, p0
move-object v2, p1
move v4, p3
move v5, p4
move-object v6, p5
move-object v7, p6
.line 145
invoke-direct/range {v0 .. v7}, Lcom/tencent/liteav/videoconsumer/decoder/t;-><init>(Landroid/media/MediaFormat;Lcom/tencent/liteav/base/util/Size;Ljava/lang/String;ZZLorg/json/JSONArray;Lcom/tencent/liteav/videobase/videobase/IVideoReporter;)V
return-void
.end method
.method static synthetic a(Lcom/tencent/liteav/videoconsumer/decoder/t;)Ljava/lang/String;
.registers 1
.line 63
iget-object p0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
return-object p0
.end method
.method private a()V
.registers 13
.line 345
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->f:Lcom/tencent/tmediacodec/b;
if-nez v0, :cond_f
.line 346
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v1, "MediaCodec is stopped."
invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 347
invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/decoder/t;->e()V
return-void
.line 352
:cond_f
:try_start_f
iget-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->j:Z
if-eqz v0, :cond_19
invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/decoder/t;->b()Z
move-result v0
if-nez v0, :cond_f
.line 355
:cond_19
monitor-enter p0
:try_end_1a
.catch Ljava/lang/Exception; {:try_start_f .. :try_end_1a} :catch_195
.line 356
:try_start_1a
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->i:Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;
.line 357
monitor-exit p0
:try_end_1d
.catchall {:try_start_1a .. :try_end_1d} :catchall_192
if-eqz v0, :cond_191
const/4 v1, 0x0
const/4 v2, 0x1
const/4 v3, 0x0
if-eqz v0, :cond_178
.line 21449
:try_start_24
iget-boolean v4, v0, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->isEosFrame:Z
if-nez v4, :cond_36
iget-object v4, v0, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->data:Ljava/nio/ByteBuffer;
if-eqz v4, :cond_178
iget-object v4, v0, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->data:Ljava/nio/ByteBuffer;
.line 21450
invoke-virtual {v4}, Ljava/nio/ByteBuffer;->remaining()I
move-result v4
if-nez v4, :cond_36
goto/16 :goto_178
.line 21455
:cond_36
iget-object v4, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->f:Lcom/tencent/tmediacodec/b;
.line 22258
iget-object v5, v4, Lcom/tencent/tmediacodec/b;->c:Lcom/tencent/tmediacodec/b/b;
if-eqz v5, :cond_49
.line 22259
iget-object v4, v4, Lcom/tencent/tmediacodec/b;->c:Lcom/tencent/tmediacodec/b/b;
invoke-interface {v4}, Lcom/tencent/tmediacodec/b/b;->a()Landroid/media/MediaCodec;
move-result-object v4
if-eqz v4, :cond_49
.line 22261
invoke-virtual {v4}, Landroid/media/MediaCodec;->getInputBuffers()[Ljava/nio/ByteBuffer;
move-result-object v4
goto :goto_4a
:cond_49
move-object v4, v1
.line 21456
:goto_4a
invoke-static {v4}, Lcom/tencent/liteav/videobase/utils/c;->a([Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :cond_5a
.line 21457
iget-object v2, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v4, "get invalid input buffers."
invoke-static {v2, v4}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
:goto_57
move v2, v3
goto/16 :goto_17f
.line 21461
:cond_5a
iget-object v5, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->f:Lcom/tencent/tmediacodec/b;
.line 22310
iget-object v6, v5, Lcom/tencent/tmediacodec/b;->c:Lcom/tencent/tmediacodec/b/b;
if-eqz v6, :cond_67
iget-object v5, v5, Lcom/tencent/tmediacodec/b;->c:Lcom/tencent/tmediacodec/b/b;
invoke-interface {v5}, Lcom/tencent/tmediacodec/b/b;->g()I
move-result v5
goto :goto_69
:cond_67
const/16 v5, -0x3e8
:goto_69
move v7, v5
if-gez v7, :cond_6d
goto :goto_57
.line 21465
:cond_6d
iget-boolean v5, v0, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->isEosFrame:Z
if-nez v5, :cond_167
.line 22481
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->isIDRFrame()Z
move-result v5
if-eqz v5, :cond_14b
iget-object v5, v0, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->codecType:Lcom/tencent/liteav/videobase/common/CodecType;
sget-object v6, Lcom/tencent/liteav/videobase/common/CodecType;->b:Lcom/tencent/liteav/videobase/common/CodecType;
if-ne v5, v6, :cond_14b
iget-boolean v5, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->q:Z
if-eqz v5, :cond_14b
iget-object v5, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->p:Lcom/tencent/liteav/videoconsumer/decoder/VideoDecoderDef$ConsumerScene;
sget-object v6, Lcom/tencent/liteav/videoconsumer/decoder/VideoDecoderDef$ConsumerScene;->c:Lcom/tencent/liteav/videoconsumer/decoder/VideoDecoderDef$ConsumerScene;
if-eq v5, v6, :cond_89
goto/16 :goto_14b
.line 22485
:cond_89
iget-object v5, v0, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->data:Ljava/nio/ByteBuffer;
invoke-virtual {v5}, Ljava/nio/ByteBuffer;->remaining()I
move-result v5
invoke-static {v5}, Lcom/tencent/liteav/videobase/utils/j;->a(I)[B
move-result-object v5
if-eqz v5, :cond_14b
.line 22489
iget-object v6, v0, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->data:Ljava/nio/ByteBuffer;
invoke-virtual {v6, v5}, Ljava/nio/ByteBuffer;->get([B)Ljava/nio/ByteBuffer;
.line 22490
iget-object v6, v0, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->data:Ljava/nio/ByteBuffer;
invoke-virtual {v6}, Ljava/nio/ByteBuffer;->rewind()Ljava/nio/Buffer;
new-array v6, v2, [I
const/4 v8, -0x1
aput v8, v6, v3
move v8, v3
:cond_a5
add-int/lit8 v9, v8, 0x4
.line 22522
array-length v10, v5
if-ge v9, v10, :cond_bd
.line 22523
invoke-static {v5}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
move-result-object v9
invoke-static {v8, v9}, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->getNextNALHeaderPos(ILjava/nio/ByteBuffer;)I
move-result v8
if-ltz v8, :cond_bd
.line 22527
aget-byte v9, v5, v8
and-int/lit8 v9, v9, 0x1f
const/4 v10, 0x7
if-ne v9, v10, :cond_a5
aput v8, v6, v3
.line 22532
:cond_bd
aget v8, v6, v3
if-gez v8, :cond_c3
move-object v9, v1
goto :goto_101
.line 22535
:cond_c3
array-length v8, v5
aget v9, v6, v3
sub-int/2addr v8, v9
.line 22536
aget v9, v6, v3
:goto_c9
add-int/lit8 v10, v9, 0x3
array-length v11, v5
if-ge v10, v11, :cond_fa
.line 22537
aget-byte v11, v5, v9
if-nez v11, :cond_de
add-int/lit8 v11, v9, 0x1
aget-byte v11, v5, v11
if-nez v11, :cond_de
add-int/lit8 v11, v9, 0x2
aget-byte v11, v5, v11
if-eq v11, v2, :cond_f2
:cond_de
aget-byte v11, v5, v9
if-nez v11, :cond_f7
add-int/lit8 v11, v9, 0x1
aget-byte v11, v5, v11
if-nez v11, :cond_f7
add-int/lit8 v11, v9, 0x2
aget-byte v11, v5, v11
if-nez v11, :cond_f7
aget-byte v10, v5, v10
if-ne v10, v2, :cond_f7
.line 22540
:cond_f2
aget v8, v6, v3
sub-int v8, v9, v8
goto :goto_fa
:cond_f7
add-int/lit8 v9, v9, 0x1
goto :goto_c9
.line 22544
:cond_fa
:goto_fa
new-array v9, v8, [B
.line 22545
aget v10, v6, v3
invoke-static {v5, v10, v9, v3, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
:goto_101
if-eqz v9, :cond_14b
.line 22493
aget v8, v6, v3
:try_end_105
.catch Ljava/lang/Exception; {:try_start_24 .. :try_end_105} :catch_195
if-gez v8, :cond_108
goto :goto_14b
.line 22498
:cond_108
:try_start_108
iget-object v8, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->r:Lcom/tencent/liteav/videoconsumer/decoder/s;
invoke-virtual {v8, v9}, Lcom/tencent/liteav/videoconsumer/decoder/s;->a([B)[B
move-result-object v8
:try_end_10e
.catch Ljava/lang/Exception; {:try_start_108 .. :try_end_10e} :catch_10f
goto :goto_118
:catch_10f
move-exception v8
.line 22500
:try_start_110
iget-object v10, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v11, "modify dec buffer error "
invoke-static {v10, v11, v8}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
move-object v8, v1
:goto_118
if-eqz v8, :cond_14b
.line 22505
array-length v10, v5
array-length v11, v9
sub-int/2addr v10, v11
array-length v11, v8
add-int/2addr v10, v11
.line 22506
invoke-static {v10}, Lcom/tencent/liteav/videobase/utils/j;->b(I)Ljava/nio/ByteBuffer;
move-result-object v10
if-eqz v10, :cond_14b
.line 22510
iput-object v10, v0, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->data:Ljava/nio/ByteBuffer;
.line 22511
aget v10, v6, v3
if-lez v10, :cond_132
.line 22512
iget-object v10, v0, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->data:Ljava/nio/ByteBuffer;
aget v11, v6, v3
invoke-virtual {v10, v5, v3, v11}, Ljava/nio/ByteBuffer;->put([BII)Ljava/nio/ByteBuffer;
.line 22514
:cond_132
iget-object v10, v0, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->data:Ljava/nio/ByteBuffer;
invoke-virtual {v10, v8}, Ljava/nio/ByteBuffer;->put([B)Ljava/nio/ByteBuffer;
.line 22515
iget-object v8, v0, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->data:Ljava/nio/ByteBuffer;
aget v10, v6, v3
array-length v11, v9
add-int/2addr v10, v11
array-length v11, v5
aget v3, v6, v3
sub-int/2addr v11, v3
array-length v3, v9
sub-int/2addr v11, v3
invoke-virtual {v8, v5, v10, v11}, Ljava/nio/ByteBuffer;->put([BII)Ljava/nio/ByteBuffer;
.line 22517
iget-object v3, v0, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->data:Ljava/nio/ByteBuffer;
invoke-virtual {v3}, Ljava/nio/ByteBuffer;->rewind()Ljava/nio/Buffer;
.line 21467
:cond_14b
:goto_14b
iget-object v3, v0, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->data:Ljava/nio/ByteBuffer;
invoke-virtual {v3}, Ljava/nio/ByteBuffer;->remaining()I
move-result v8
.line 21468
aget-object v3, v4, v7
iget-object v4, v0, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->data:Ljava/nio/ByteBuffer;
invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;->put(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
.line 21469
iget-object v6, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->f:Lcom/tencent/tmediacodec/b;
sget-object v3, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
iget-wide v4, v0, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->pts:J
.line 21470
invoke-virtual {v3, v4, v5}, Ljava/util/concurrent/TimeUnit;->toMicros(J)J
move-result-wide v9
const/4 v11, 0x0
.line 21469
invoke-virtual/range {v6 .. v11}, Lcom/tencent/tmediacodec/b;->a(IIJI)V
goto :goto_17f
.line 21472
:cond_167
iget-object v3, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v4, "feedDataToMediaCodec BUFFER_FLAG_END_OF_STREAM"
invoke-static {v3, v4}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 21473
iget-object v6, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->f:Lcom/tencent/tmediacodec/b;
const/4 v8, 0x0
const-wide/16 v9, 0x0
const/4 v11, 0x4
invoke-virtual/range {v6 .. v11}, Lcom/tencent/tmediacodec/b;->a(IIJI)V
goto :goto_17f
.line 21451
:cond_178
:goto_178
iget-object v3, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v4, "receive empty buffer."
invoke-static {v3, v4}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V
:goto_17f
if-nez v2, :cond_182
goto :goto_191
.line 364
:cond_182
monitor-enter p0
:try_end_183
.catch Ljava/lang/Exception; {:try_start_110 .. :try_end_183} :catch_195
.line 365
:try_start_183
iget-object v2, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->i:Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;
if-ne v2, v0, :cond_189
.line 366
iput-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->i:Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;
.line 368
:cond_189
monitor-exit p0
:try_end_18a
.catchall {:try_start_183 .. :try_end_18a} :catchall_18e
.line 369
:try_start_18a
invoke-static {v0}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a(Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;)V
:try_end_18d
.catch Ljava/lang/Exception; {:try_start_18a .. :try_end_18d} :catch_195
return-void
:catchall_18e
move-exception v0
.line 368
:try_start_18f
monitor-exit p0
:try_end_190
.catchall {:try_start_18f .. :try_end_190} :catchall_18e
:try_start_190
throw v0
:try_end_191
.catch Ljava/lang/Exception; {:try_start_190 .. :try_end_191} :catch_195
:cond_191
:goto_191
return-void
:catchall_192
move-exception v0
.line 357
:try_start_193
monitor-exit p0
:try_end_194
.catchall {:try_start_193 .. :try_end_194} :catchall_192
:try_start_194
throw v0
:try_end_195
.catch Ljava/lang/Exception; {:try_start_194 .. :try_end_195} :catch_195
:catch_195
move-exception v0
.line 371
iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v2, "decode failed."
invoke-static {v1, v2, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 372
sget-object v1, Lcom/tencent/liteav/videobase/videobase/h$c;->n:Lcom/tencent/liteav/videobase/videobase/h$c;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "VideoDecode: decode error, restart decoder message:"
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 373
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 372
invoke-direct {p0, v1, v0}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a(Lcom/tencent/liteav/videobase/videobase/h$c;Ljava/lang/String;)V
return-void
.end method
.method private static a(Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;)V
.registers 1
if-nez p0, :cond_3
return-void
.line 590
:cond_3
invoke-virtual {p0}, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->release()V
return-void
.end method
.method private a(Lcom/tencent/liteav/videobase/videobase/h$c;Ljava/lang/String;)V
.registers 4
.line 769
invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/decoder/t;->e()V
.line 770
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->c:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;
invoke-interface {v0, p1, p2}, Lcom/tencent/liteav/videobase/videobase/IVideoReporter;->notifyWarning(Lcom/tencent/liteav/videobase/videobase/h$c;Ljava/lang/String;)V
.line 771
iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->g:Lcom/tencent/liteav/videoconsumer/decoder/ax;
if-eqz p1, :cond_f
.line 772
invoke-virtual {p1}, Lcom/tencent/liteav/videoconsumer/decoder/ax;->i()V
:cond_f
return-void
.end method
.method static synthetic a(Lcom/tencent/liteav/videoconsumer/decoder/t;Landroid/graphics/SurfaceTexture;)V
.registers 15
.line 664
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->n:Landroid/graphics/SurfaceTexture;
if-eqz v0, :cond_145
if-eq p1, v0, :cond_8
goto/16 :goto_145
.line 668
:cond_8
invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/decoder/t;->f()Z
const/4 v0, 0x0
.line 672
:try_start_c
iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->m:Lcom/tencent/liteav/videobase/frame/l;
invoke-virtual {v1}, Lcom/tencent/liteav/videobase/frame/l;->a()Lcom/tencent/liteav/videobase/frame/k;
move-result-object v1
check-cast v1, Lcom/tencent/liteav/videobase/frame/l$b;
:try_end_14
.catch Ljava/lang/InterruptedException; {:try_start_c .. :try_end_14} :catch_15
goto :goto_1d
.line 675
:catch_15
iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v2, "textureholderpool obtain interrupted."
invoke-static {v1, v2}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V
move-object v1, v0
:goto_1d
const v2, 0x8d65
.line 677
iget v3, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->l:I
iget-object v4, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->b:Lcom/tencent/liteav/base/util/Size;
iget v4, v4, Lcom/tencent/liteav/base/util/Size;->width:I
iget-object v5, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->b:Lcom/tencent/liteav/base/util/Size;
iget v5, v5, Lcom/tencent/liteav/base/util/Size;->height:I
invoke-virtual {v1, v2, v3, v4, v5}, Lcom/tencent/liteav/videobase/frame/l$b;->a(IIII)V
.line 679
iget-object v2, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->k:Lcom/tencent/liteav/videobase/egl/EGLCore;
invoke-virtual {v2}, Lcom/tencent/liteav/videobase/egl/EGLCore;->getEglContext()Ljava/lang/Object;
move-result-object v2
invoke-virtual {v1, v2}, Lcom/tencent/liteav/videobase/frame/l$b;->a(Ljava/lang/Object;)Lcom/tencent/liteav/videobase/frame/PixelFrame;
move-result-object v2
.line 680
invoke-virtual {v2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getMatrix()[F
move-result-object v3
if-nez v3, :cond_44
const/16 v3, 0x10
new-array v3, v3, [F
.line 681
invoke-virtual {v2, v3}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->setMatrix([F)V
:cond_44
const/4 v3, 0x0
.line 685
:try_start_45
invoke-virtual {p1}, Landroid/graphics/SurfaceTexture;->updateTexImage()V
.line 686
invoke-virtual {v2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getMatrix()[F
move-result-object v4
invoke-virtual {p1, v4}, Landroid/graphics/SurfaceTexture;->getTransformMatrix([F)V
:try_end_4f
.catch Ljava/lang/Exception; {:try_start_45 .. :try_end_4f} :catch_50
goto :goto_6a
:catch_50
move-exception v4
.line 689
iget-object v5, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->d:Lcom/tencent/liteav/base/b/b;
const-string v6, "updateImage"
invoke-virtual {v5, v6}, Lcom/tencent/liteav/base/b/b;->a(Ljava/lang/String;)Lcom/tencent/liteav/base/b/a;
move-result-object v5
iget-object v6, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
invoke-static {v4}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
const-string v7, "updateTexImage exception: "
invoke-virtual {v7, v4}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
new-array v7, v3, [Ljava/lang/Object;
invoke-static {v5, v6, v4, v7}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Lcom/tencent/liteav/base/b/a;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
:goto_6a
const/4 v4, 0x1
.line 691
iput-boolean v4, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->j:Z
.line 693
sget-object v5, Ljava/util/concurrent/TimeUnit;->NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {p1}, Landroid/graphics/SurfaceTexture;->getTimestamp()J
move-result-wide v6
invoke-virtual {v5, v6, v7}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide v5
const-wide/16 v7, 0x0
cmp-long p1, v5, v7
if-nez p1, :cond_87
.line 697
sget-object p1, Ljava/util/concurrent/TimeUnit;->MICROSECONDS:Ljava/util/concurrent/TimeUnit;
iget-object v5, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->h:Landroid/media/MediaCodec$BufferInfo;
iget-wide v5, v5, Landroid/media/MediaCodec$BufferInfo;->presentationTimeUs:J
invoke-virtual {p1, v5, v6}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide v5
.line 700
:cond_87
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result p1
const/16 v9, 0x16
if-gt p1, v9, :cond_ed
.line 22727
invoke-virtual {v2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getWidth()I
move-result p1
.line 22728
invoke-virtual {v2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getHeight()I
move-result v9
.line 22730
iget-object v10, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->t:Lcom/tencent/liteav/videobase/frame/j;
if-eqz v10, :cond_b3
.line 23163
new-instance v11, Lcom/tencent/liteav/base/util/Size;
iget v12, v10, Lcom/tencent/liteav/videobase/frame/j;->a:I
iget v10, v10, Lcom/tencent/liteav/videobase/frame/j;->b:I
invoke-direct {v11, v12, v10}, Lcom/tencent/liteav/base/util/Size;-><init>(II)V
.line 22732
iget v10, v11, Lcom/tencent/liteav/base/util/Size;->width:I
if-ne v10, p1, :cond_ac
iget v10, v11, Lcom/tencent/liteav/base/util/Size;->height:I
if-eq v10, v9, :cond_b3
.line 22733
:cond_ac
iget-object v10, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->t:Lcom/tencent/liteav/videobase/frame/j;
invoke-virtual {v10}, Lcom/tencent/liteav/videobase/frame/j;->a()V
.line 22734
iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->t:Lcom/tencent/liteav/videobase/frame/j;
.line 22738
:cond_b3
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->t:Lcom/tencent/liteav/videobase/frame/j;
if-nez v0, :cond_be
.line 22739
new-instance v0, Lcom/tencent/liteav/videobase/frame/j;
invoke-direct {v0, p1, v9}, Lcom/tencent/liteav/videobase/frame/j;-><init>(II)V
iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->t:Lcom/tencent/liteav/videobase/frame/j;
.line 22742
:cond_be
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->u:Lcom/tencent/liteav/videobase/frame/e;
if-nez v0, :cond_c9
.line 22743
new-instance v0, Lcom/tencent/liteav/videobase/frame/e;
invoke-direct {v0}, Lcom/tencent/liteav/videobase/frame/e;-><init>()V
iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->u:Lcom/tencent/liteav/videobase/frame/e;
.line 22746
:cond_c9
invoke-static {v3, v3, p1, v9}, Lcom/tencent/liteav/videobase/utils/OpenGlUtils;->glViewport(IIII)V
.line 22747
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->u:Lcom/tencent/liteav/videobase/frame/e;
invoke-virtual {v0, p1, v9}, Lcom/tencent/liteav/videobase/frame/e;->a(II)Lcom/tencent/liteav/videobase/frame/d;
move-result-object p1
.line 22748
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->t:Lcom/tencent/liteav/videobase/frame/j;
sget-object v9, Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;->a:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;
invoke-virtual {v0, v2, v9, p1}, Lcom/tencent/liteav/videobase/frame/j;->a(Lcom/tencent/liteav/videobase/frame/PixelFrame;Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;Lcom/tencent/liteav/videobase/frame/d;)V
.line 22749
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->k:Lcom/tencent/liteav/videobase/egl/EGLCore;
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/egl/EGLCore;->getEglContext()Ljava/lang/Object;
move-result-object v0
invoke-virtual {p1, v0}, Lcom/tencent/liteav/videobase/frame/d;->a(Ljava/lang/Object;)Lcom/tencent/liteav/videobase/frame/PixelFrame;
move-result-object v0
.line 22750
invoke-static {}, Landroid/opengl/GLES20;->glFinish()V
.line 22751
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/d;->release()V
.line 22752
invoke-virtual {v2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->release()V
move-object v2, v0
.line 704
:cond_ed
invoke-virtual {v2, v5, v6}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->setTimestamp(J)V
.line 705
iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->g:Lcom/tencent/liteav/videoconsumer/decoder/ax;
invoke-virtual {p1, v2, v5, v6}, Lcom/tencent/liteav/videoconsumer/decoder/ax;->a(Lcom/tencent/liteav/videobase/frame/PixelFrame;J)V
.line 706
invoke-virtual {v1}, Lcom/tencent/liteav/videobase/frame/l$b;->release()V
.line 707
invoke-virtual {v2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->release()V
.line 23422
:try_start_fb
iget-wide v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->y:J
const-wide/16 v5, 0x1e
rem-long/2addr v0, v5
cmp-long p1, v0, v7
if-nez p1, :cond_105
goto :goto_106
:cond_105
move v4, v3
:goto_106
if-eqz v4, :cond_138
.line 711
invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/decoder/t;->b()Z
move-result p1
if-eqz p1, :cond_138
.line 712
iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v0, "drain more frame success"
invoke-static {p1, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->d(Ljava/lang/String;Ljava/lang/String;)V
:try_end_115
.catch Ljava/lang/Exception; {:try_start_fb .. :try_end_115} :catch_116
goto :goto_138
:catch_116
move-exception p1
.line 715
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->d:Lcom/tencent/liteav/base/b/b;
const-string v1, "drainDecodedFrame"
invoke-virtual {v0, v1}, Lcom/tencent/liteav/base/b/b;->a(Ljava/lang/String;)Lcom/tencent/liteav/base/b/a;
move-result-object v0
iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
new-instance v2, Ljava/lang/StringBuilder;
const-string v4, "exception from drain decoded frame, message:"
invoke-direct {v2, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 716
invoke-virtual {p1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object p1
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
new-array v2, v3, [Ljava/lang/Object;
.line 715
invoke-static {v0, v1, p1, v2}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Lcom/tencent/liteav/base/b/a;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 719
:cond_138
:goto_138
iget-boolean p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->s:Z
if-eqz p1, :cond_145
.line 23572
iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->g:Lcom/tencent/liteav/videoconsumer/decoder/ax;
if-eqz p1, :cond_143
.line 23573
invoke-virtual {p1}, Lcom/tencent/liteav/videoconsumer/decoder/ax;->j()V
.line 721
:cond_143
iput-boolean v3, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->s:Z
:cond_145
:goto_145
return-void
.end method
.method static synthetic a(Lcom/tencent/liteav/videoconsumer/decoder/t;Lcom/tencent/liteav/videoconsumer/consumer/VideoConsumerServerConfig;)V
.registers 2
if-nez p1, :cond_3
return-void
.line 609
:cond_3
iget-boolean p1, p1, Lcom/tencent/liteav/videoconsumer/consumer/VideoConsumerServerConfig;->enableVui:Z
iput-boolean p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->q:Z
return-void
.end method
.method static synthetic a(Lcom/tencent/liteav/videoconsumer/decoder/t;Lcom/tencent/liteav/videoconsumer/decoder/VideoDecoderDef$ConsumerScene;)V
.registers 2
.line 196
iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->p:Lcom/tencent/liteav/videoconsumer/decoder/VideoDecoderDef$ConsumerScene;
return-void
.end method
.method static synthetic a(Lcom/tencent/liteav/videoconsumer/decoder/t;Ljava/lang/Object;Lcom/tencent/liteav/videoconsumer/decoder/ax;)V
.registers 5
.line 24205
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v1, "Start internal"
invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 24206
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->k:Lcom/tencent/liteav/videobase/egl/EGLCore;
if-eqz v0, :cond_13
.line 24207
iget-object p0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string p1, "Decoder already started."
invoke-static {p0, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V
return-void
.line 24211
:cond_13
iput-object p2, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->g:Lcom/tencent/liteav/videoconsumer/decoder/ax;
.line 24212
invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_81
.line 24216
new-instance p1, Lcom/tencent/liteav/videoconsumer/decoder/t$a;
const/4 p2, 0x0
invoke-direct {p1, p2}, Lcom/tencent/liteav/videoconsumer/decoder/t$a;-><init>(B)V
.line 24219
iget-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->w:Z
iget-boolean v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->x:Z
.line 24220
invoke-direct {p0, p1, v0, v1}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a(Lcom/tencent/liteav/videoconsumer/decoder/t$a;ZZ)Z
move-result v0
if-nez v0, :cond_65
.line 24221
invoke-direct {p0, p1, p2, p2}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a(Lcom/tencent/liteav/videoconsumer/decoder/t$a;ZZ)Z
move-result v1
if-eqz v1, :cond_32
goto :goto_65
.line 24229
:cond_32
iget-object p2, p1, Lcom/tencent/liteav/videoconsumer/decoder/t$a;->b:Lcom/tencent/liteav/videobase/videobase/h$c;
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "decoder config fail, message:"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v1, p1, Lcom/tencent/liteav/videoconsumer/decoder/t$a;->c:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, " exception:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p1, Lcom/tencent/liteav/videoconsumer/decoder/t$a;->d:Ljava/lang/Exception;
.line 24231
invoke-virtual {v1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 24229
invoke-direct {p0, p2, v0}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a(Lcom/tencent/liteav/videobase/videobase/h$c;Ljava/lang/String;)V
.line 24232
iget-object p0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->c:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;
sget-object p2, Lcom/tencent/liteav/videobase/videobase/i;->H:Lcom/tencent/liteav/videobase/videobase/i;
iget-object p1, p1, Lcom/tencent/liteav/videoconsumer/decoder/t$a;->b:Lcom/tencent/liteav/videobase/videobase/h$c;
.line 25213
iget p1, p1, Lcom/tencent/liteav/videobase/videobase/h$c;->mValue:I
.line 24233
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
.line 24232
invoke-interface {p0, p2, p1}, Lcom/tencent/liteav/videobase/videobase/IVideoReporter;->updateStatus(Lcom/tencent/liteav/videobase/videobase/i;Ljava/lang/Object;)V
goto :goto_81
.line 24222
:cond_65
:goto_65
iget-object p1, p1, Lcom/tencent/liteav/videoconsumer/decoder/t$a;->a:Lcom/tencent/tmediacodec/b;
iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->f:Lcom/tencent/tmediacodec/b;
.line 24223
iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->g:Lcom/tencent/liteav/videoconsumer/decoder/ax;
if-eqz p1, :cond_77
.line 24224
iget-boolean v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->w:Z
if-eqz v1, :cond_74
if-eqz v0, :cond_74
const/4 p2, 0x1
:cond_74
invoke-virtual {p1, p2}, Lcom/tencent/liteav/videoconsumer/decoder/ax;->a(Z)V
.line 24226
:cond_77
iget-object p0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->c:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;
sget-object p1, Lcom/tencent/liteav/videobase/videobase/h$b;->F:Lcom/tencent/liteav/videobase/videobase/h$b;
const/4 p2, 0x0
const-string v0, "Start decoder success"
invoke-interface {p0, p1, p2, v0}, Lcom/tencent/liteav/videobase/videobase/IVideoReporter;->notifyEvent(Lcom/tencent/liteav/videobase/videobase/h$b;Ljava/lang/Object;Ljava/lang/String;)V
:cond_81
:goto_81
return-void
.end method
.method private a(Lcom/tencent/tmediacodec/b;)V
.registers 8
const-string v0, "release MediaCodec failed."
const-string v1, "mediaCodec release"
if-eqz p1, :cond_53
.line 315
:try_start_6
iget-object v2, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v3, "mediaCodec stop"
invoke-static {v2, v3}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 316
invoke-virtual {p1}, Lcom/tencent/tmediacodec/b;->a()V
:try_end_10
.catch Ljava/lang/Exception; {:try_start_6 .. :try_end_10} :catch_22
.catchall {:try_start_6 .. :try_end_10} :catchall_20
.line 321
:try_start_10
iget-object v2, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
invoke-static {v2, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 322
invoke-virtual {p1}, Lcom/tencent/tmediacodec/b;->b()V
:try_end_18
.catch Ljava/lang/Exception; {:try_start_10 .. :try_end_18} :catch_19
return-void
:catch_19
move-exception p1
.line 324
iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
invoke-static {v1, v0, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
:catchall_20
move-exception v2
goto :goto_43
:catch_22
move-exception v2
.line 318
:try_start_23
iget-object v3, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
new-instance v4, Ljava/lang/StringBuilder;
const-string v5, "Stop MediaCodec failed."
invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v3, v2}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
:try_end_3a
.catchall {:try_start_23 .. :try_end_3a} :catchall_20
.line 321
:try_start_3a
iget-object v2, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
invoke-static {v2, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 322
invoke-virtual {p1}, Lcom/tencent/tmediacodec/b;->b()V
:try_end_42
.catch Ljava/lang/Exception; {:try_start_3a .. :try_end_42} :catch_19
return-void
.line 321
:goto_43
:try_start_43
iget-object v3, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
invoke-static {v3, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 322
invoke-virtual {p1}, Lcom/tencent/tmediacodec/b;->b()V
:try_end_4b
.catch Ljava/lang/Exception; {:try_start_43 .. :try_end_4b} :catch_4c
goto :goto_52
:catch_4c
move-exception p1
.line 324
iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
invoke-static {v1, v0, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 326
:goto_52
throw v2
:cond_53
return-void
.end method
.method private a(Ljava/lang/Runnable;)V
.registers 5
.line 777
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->e:Lcom/tencent/liteav/base/util/CustomHandler;
if-eqz v0, :cond_15
.line 780
invoke-virtual {v0}, Landroid/os/Handler;->getLooper()Landroid/os/Looper;
move-result-object v1
invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
move-result-object v2
if-ne v1, v2, :cond_12
.line 781
invoke-interface {p1}, Ljava/lang/Runnable;->run()V
return-void
.line 783
:cond_12
invoke-virtual {v0, p1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
:cond_15
return-void
.end method
.method private a(Lcom/tencent/liteav/videoconsumer/decoder/t$a;ZZ)Z
.registers 21
move-object/from16 v1, p0
move-object/from16 v2, p1
.line 276
iget-object v0, v1, Lcom/tencent/liteav/videoconsumer/decoder/t;->v:Lcom/tencent/liteav/videobase/utils/h;
move/from16 v3, p2
.line 5082
iput-boolean v3, v0, Lcom/tencent/liteav/videobase/utils/h;->f:Z
.line 277
iget-object v0, v1, Lcom/tencent/liteav/videoconsumer/decoder/t;->v:Lcom/tencent/liteav/videobase/utils/h;
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/utils/h;->a()Landroid/media/MediaFormat;
move-result-object v3
.line 278
iget-object v0, v1, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
invoke-static {v3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
const-string v5, "mediaFormat:"
invoke-virtual {v5, v4}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
invoke-static {v0, v4}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
const/4 v4, 0x0
:try_start_20
const-string v0, "mime"
.line 281
invoke-virtual {v3, v0}, Landroid/media/MediaFormat;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 6052
new-instance v6, Lcom/tencent/tmediacodec/b;
sget-object v7, Lcom/tencent/tmediacodec/b$a;->b:Lcom/tencent/tmediacodec/b$a;
invoke-direct {v6, v0, v7}, Lcom/tencent/tmediacodec/b;-><init>(Ljava/lang/String;Lcom/tencent/tmediacodec/b$a;)V
.line 282
iput-object v6, v2, Lcom/tencent/liteav/videoconsumer/decoder/t$a;->a:Lcom/tencent/tmediacodec/b;
.line 283
iget-object v0, v2, Lcom/tencent/liteav/videoconsumer/decoder/t$a;->a:Lcom/tencent/tmediacodec/b;
move/from16 v6, p3
.line 6088
iput-boolean v6, v0, Lcom/tencent/tmediacodec/b;->f:Z
.line 284
iget-object v0, v2, Lcom/tencent/liteav/videoconsumer/decoder/t$a;->a:Lcom/tencent/tmediacodec/b;
iget-object v6, v1, Lcom/tencent/liteav/videoconsumer/decoder/t;->z:Lcom/tencent/tmediacodec/a/a;
.line 7080
iput-object v6, v0, Lcom/tencent/tmediacodec/b;->d:Lcom/tencent/tmediacodec/a/a;
.line 285
iget-object v6, v2, Lcom/tencent/liteav/videoconsumer/decoder/t$a;->a:Lcom/tencent/tmediacodec/b;
iget-object v0, v1, Lcom/tencent/liteav/videoconsumer/decoder/t;->o:Landroid/view/Surface;
.line 7097
iget-boolean v7, v6, Lcom/tencent/tmediacodec/b;->g:Z
:try_end_41
.catch Ljava/lang/Exception; {:try_start_20 .. :try_end_41} :catch_382
const-string v8, ""
const-string v9, "TMediaCodec"
const/4 v10, 0x1
if-eqz v7, :cond_7e
.line 7098
:try_start_48
new-instance v6, Ljava/lang/StringBuilder;
const-string v7, "configure ignored, mediaFormat:"
invoke-direct {v6, v7}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v3, " surface:"
invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v0, " crypto:"
invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v0, " flags:0 stack:"
invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
new-instance v0, Ljava/lang/Throwable;
invoke-direct {v0}, Ljava/lang/Throwable;-><init>()V
.line 7099
invoke-static {v0}, Landroid/util/Log;->getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 7098
invoke-static {v9, v0}, Lcom/tencent/tmediacodec/f/a;->d(Ljava/lang/String;Ljava/lang/String;)V
move-object/from16 v16, v8
goto/16 :goto_304
.line 7102
:cond_7e
iput-boolean v10, v6, Lcom/tencent/tmediacodec/b;->g:Z
.line 7143
invoke-static {}, Lcom/tencent/tmediacodec/a;->a()Lcom/tencent/tmediacodec/a;
move-result-object v7
.line 8105
iget-boolean v7, v7, Lcom/tencent/tmediacodec/a;->b:Z
.line 9092
iget-boolean v11, v6, Lcom/tencent/tmediacodec/b;->f:Z
.line 10076
iget-object v12, v6, Lcom/tencent/tmediacodec/b;->h:Ljava/lang/String;
invoke-static {v12}, Lcom/tencent/tmediacodec/f/c;->a(Ljava/lang/String;)Z
move-result v12
if-eqz v7, :cond_94
if-eqz v11, :cond_94
move v13, v10
goto :goto_95
:cond_94
const/4 v13, 0x0
.line 7202
:goto_95
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result v14
const/16 v15, 0x17
if-lt v14, v15, :cond_a5
invoke-static {}, Lcom/tencent/tmediacodec/f/c;->a()Z
move-result v14
if-nez v14, :cond_a5
move v14, v10
goto :goto_a6
:cond_a5
const/4 v14, 0x0
.line 7204
:goto_a6
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v15
:try_end_aa
.catch Ljava/lang/Exception; {:try_start_48 .. :try_end_aa} :catch_382
const-string v4, "TCodecManager"
if-eqz v15, :cond_ec
.line 7205
:try_start_ae
new-instance v15, Ljava/lang/StringBuilder;
const-string v5, "reuseEnable getCodec isVideo:"
invoke-direct {v15, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v15, v12}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v5, " reuseEnable:"
invoke-virtual {v15, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const/16 v5, 0x20
invoke-virtual {v15, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const-string v5, "globalReuseEnable:"
invoke-virtual {v15, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v15, v7}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v5, " mediaCodecReuseEnable:"
invoke-virtual {v15, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v15, v11}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v5, " canUseSetOutputSurfaceAPI:"
invoke-virtual {v15, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v15, v14}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v5, " ,surface:"
invoke-virtual {v15, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v15, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v4, v5}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
:cond_ec
if-eqz v13, :cond_f6
if-eqz v12, :cond_f6
if-eqz v14, :cond_f6
if-eqz v0, :cond_f6
move v5, v10
goto :goto_f7
:cond_f6
const/4 v5, 0x0
.line 7143
:goto_f7
iput-boolean v5, v6, Lcom/tencent/tmediacodec/b;->a:Z
.line 7145
iget-object v5, v6, Lcom/tencent/tmediacodec/b;->e:Lcom/tencent/tmediacodec/e/a;
.line 11039
iput-object v8, v5, Lcom/tencent/tmediacodec/e/a;->f:Ljava/lang/String;
.line 11040
iget-object v7, v5, Lcom/tencent/tmediacodec/e/a;->a:Ljava/util/Map;
invoke-interface {v7}, Ljava/util/Map;->clear()V
.line 11041
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v11
iput-wide v11, v5, Lcom/tencent/tmediacodec/e/a;->b:J
.line 7146
iget-object v5, v6, Lcom/tencent/tmediacodec/b;->e:Lcom/tencent/tmediacodec/e/a;
.line 11045
iget-object v7, v5, Lcom/tencent/tmediacodec/e/a;->a:Ljava/util/Map;
const-string v11, "createCodec"
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v12
iget-wide v14, v5, Lcom/tencent/tmediacodec/e/a;->b:J
sub-long/2addr v12, v14
invoke-static {v12, v13}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v5
invoke-interface {v7, v11, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 7147
iget-object v5, v6, Lcom/tencent/tmediacodec/b;->e:Lcom/tencent/tmediacodec/e/a;
iget-boolean v7, v6, Lcom/tencent/tmediacodec/b;->a:Z
.line 12035
iput-boolean v7, v5, Lcom/tencent/tmediacodec/e/a;->d:Z
.line 11050
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v11
iput-wide v11, v5, Lcom/tencent/tmediacodec/e/a;->b:J
:try_end_128
.catch Ljava/lang/Exception; {:try_start_ae .. :try_end_128} :catch_382
.line 7105
:try_start_128
invoke-static {}, Lcom/tencent/tmediacodec/a;->a()Lcom/tencent/tmediacodec/a;
move-result-object v5
.line 12136
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v7
if-eqz v7, :cond_149
.line 12137
new-instance v7, Ljava/lang/StringBuilder;
const-string v11, "configureStart videoPoolInfo:"
invoke-direct {v7, v11}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v11, v5, Lcom/tencent/tmediacodec/a;->d:Lcom/tencent/tmediacodec/c/a;
invoke-virtual {v11}, Lcom/tencent/tmediacodec/c/a;->a()Ljava/lang/String;
move-result-object v11
invoke-virtual {v7, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-static {v4, v7}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 12139
:cond_149
iput-boolean v10, v5, Lcom/tencent/tmediacodec/a;->c:Z
.line 12140
iput-boolean v10, v5, Lcom/tencent/tmediacodec/a;->e:Z
.line 13076
iget-object v7, v6, Lcom/tencent/tmediacodec/b;->h:Ljava/lang/String;
invoke-static {v7}, Lcom/tencent/tmediacodec/f/c;->a(Ljava/lang/String;)Z
move-result v7
.line 12216
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v11
if-eqz v11, :cond_174
.line 12217
new-instance v11, Ljava/lang/StringBuilder;
const-string v12, "getCodec isVideo:"
invoke-direct {v11, v12}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v11, v7}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v12, " codecFinalReuseEnable:"
invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-boolean v12, v6, Lcom/tencent/tmediacodec/b;->a:Z
invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v11
invoke-static {v4, v11}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 12221
:cond_174
iget-boolean v11, v6, Lcom/tencent/tmediacodec/b;->a:Z
:try_end_176
.catch Ljava/io/IOException; {:try_start_128 .. :try_end_176} :catch_2d1
.catch Ljava/lang/Exception; {:try_start_128 .. :try_end_176} :catch_382
const-string v12, "CodecWrapperManager"
if-nez v11, :cond_1a1
const/4 v11, 0x0
.line 12222
:try_start_17b
iput-boolean v11, v6, Lcom/tencent/tmediacodec/b;->b:Z
.line 12223
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v7
if-eqz v7, :cond_19c
.line 12224
new-instance v7, Ljava/lang/StringBuilder;
const-string v11, "getCodec return DirectCodecWrapper for mediaFormat:"
invoke-direct {v7, v11}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v7, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v11, " codecFinalReuseEnable:false surface:"
invoke-virtual {v7, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-static {v4, v7}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 12227
:cond_19c
invoke-static {v3, v6}, Lcom/tencent/tmediacodec/a;->a(Landroid/media/MediaFormat;Lcom/tencent/tmediacodec/b;)Lcom/tencent/tmediacodec/b/b;
move-result-object v7
goto :goto_1b2
:cond_1a1
if-nez v7, :cond_1b6
.line 12230
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v7
if-eqz v7, :cond_1ae
const-string v7, "getCodec isn\'t video mediaformat, return direct"
.line 12231
invoke-static {v4, v7}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 12233
:cond_1ae
invoke-static {v3, v6}, Lcom/tencent/tmediacodec/a;->a(Landroid/media/MediaFormat;Lcom/tencent/tmediacodec/b;)Lcom/tencent/tmediacodec/b/b;
move-result-object v7
:goto_1b2
move-object/from16 v16, v8
goto/16 :goto_275
.line 12236
:cond_1b6
invoke-static {v3}, Lcom/tencent/tmediacodec/b/d;->a(Landroid/media/MediaFormat;)Lcom/tencent/tmediacodec/b/d;
move-result-object v11
.line 13316
iget-object v13, v5, Lcom/tencent/tmediacodec/a;->d:Lcom/tencent/tmediacodec/c/a;
.line 14083
iget-object v13, v13, Lcom/tencent/tmediacodec/c/a;->a:Lcom/tencent/tmediacodec/c/b;
.line 14105
invoke-virtual {v13, v11}, Lcom/tencent/tmediacodec/c/b;->a(Lcom/tencent/tmediacodec/b/d;)Lcom/tencent/tmediacodec/b/e;
move-result-object v14
.line 14107
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v15
if-eqz v15, :cond_1da
const-string v15, "CodecWrapperPool"
const-string v10, "obtain codecWrapper:"
:try_end_1cc
.catch Ljava/io/IOException; {:try_start_17b .. :try_end_1cc} :catch_2d1
.catch Ljava/lang/Exception; {:try_start_17b .. :try_end_1cc} :catch_382
move-object/from16 v16, v8
.line 14108
:try_start_1ce
invoke-static {v14}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v8
invoke-virtual {v10, v8}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
invoke-static {v15, v8}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_1dc
:cond_1da
move-object/from16 v16, v8
:goto_1dc
if-eqz v14, :cond_1e4
.line 14111
iget-object v8, v13, Lcom/tencent/tmediacodec/c/b;->b:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v8, v14}, Ljava/util/concurrent/CopyOnWriteArraySet;->remove(Ljava/lang/Object;)Z
goto :goto_1e5
:cond_1e4
const/4 v14, 0x0
.line 14084
:goto_1e5
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v8
if-eqz v8, :cond_1f8
const-string v8, "obtainCodecWrapper codecWrapper:"
.line 14085
invoke-static {v14}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v10
invoke-virtual {v8, v10}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
invoke-static {v12, v8}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 12239
:cond_1f8
iget-object v8, v11, Lcom/tencent/tmediacodec/b/d;->a:Ljava/util/ArrayList;
invoke-static {v8}, Lcom/tencent/tmediacodec/b/d;->a(Ljava/util/ArrayList;)V
if-eqz v14, :cond_258
.line 12242
invoke-interface {v14, v11}, Lcom/tencent/tmediacodec/b/b;->a(Lcom/tencent/tmediacodec/b/d;)Lcom/tencent/tmediacodec/d/a$b;
move-result-object v8
.line 12243
sget-object v10, Lcom/tencent/tmediacodec/d/a$b;->d:Lcom/tencent/tmediacodec/d/a$b;
:try_end_205
.catch Ljava/io/IOException; {:try_start_1ce .. :try_end_205} :catch_2cf
.catch Ljava/lang/Exception; {:try_start_1ce .. :try_end_205} :catch_382
const-string v11, " reuseType:"
if-eq v8, v10, :cond_230
:try_start_209
sget-object v10, Lcom/tencent/tmediacodec/d/a$b;->c:Lcom/tencent/tmediacodec/d/a$b;
if-ne v8, v10, :cond_20e
goto :goto_230
.line 12254
:cond_20e
sget-object v10, Lcom/tencent/tmediacodec/d/a$b;->a:Lcom/tencent/tmediacodec/d/a$b;
if-ne v8, v10, :cond_258
.line 12255
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v10
if-eqz v10, :cond_258
.line 12256
new-instance v10, Ljava/lang/StringBuilder;
const-string v13, "getCodec not reuse, isVideo:"
invoke-direct {v10, v13}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v10, v7}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v10, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
invoke-static {v4, v8}, Lcom/tencent/tmediacodec/f/a;->d(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_258
.line 12245
:cond_230
:goto_230
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v10
if-eqz v10, :cond_24d
.line 12246
new-instance v10, Ljava/lang/StringBuilder;
const-string v13, "getCodec reuse, isVideo:"
invoke-direct {v10, v13}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v10, v7}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v10, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-static {v4, v7}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 12248
:cond_24d
invoke-interface {v14}, Lcom/tencent/tmediacodec/b/b;->b()V
.line 12249
invoke-interface {v14}, Lcom/tencent/tmediacodec/b/b;->c()V
const/4 v7, 0x1
.line 12250
iput-boolean v7, v6, Lcom/tencent/tmediacodec/b;->b:Z
move-object v7, v14
goto :goto_275
.line 12261
:cond_258
:goto_258
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v8
if-eqz v8, :cond_26b
const-string v8, "getCodec not reuse, for can\'t find reUseAble CodecWrapper. isVideo:"
.line 12262
invoke-static {v7}, Ljava/lang/String;->valueOf(Z)Ljava/lang/String;
move-result-object v7
invoke-virtual {v8, v7}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v7
invoke-static {v4, v7}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
:cond_26b
const/4 v7, 0x0
.line 12265
iput-boolean v7, v6, Lcom/tencent/tmediacodec/b;->b:Z
.line 12266
invoke-static {v3, v6}, Lcom/tencent/tmediacodec/a;->b(Landroid/media/MediaFormat;Lcom/tencent/tmediacodec/b;)Lcom/tencent/tmediacodec/b/b;
move-result-object v7
.line 12267
invoke-interface {v7}, Lcom/tencent/tmediacodec/b/b;->b()V
.line 15105
:goto_275
iget-boolean v8, v5, Lcom/tencent/tmediacodec/a;->b:Z
if-eqz v8, :cond_2a7
.line 14321
instance-of v8, v7, Lcom/tencent/tmediacodec/b/f;
if-eqz v8, :cond_2a7
.line 14322
iget-object v8, v5, Lcom/tencent/tmediacodec/a;->d:Lcom/tencent/tmediacodec/c/a;
move-object v10, v7
check-cast v10, Lcom/tencent/tmediacodec/b/e;
.line 16028
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v11
if-eqz v11, :cond_295
const-string v11, "transToRunning codecWrapper:"
.line 16029
invoke-static {v10}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v13
invoke-virtual {v11, v13}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v11
invoke-static {v12, v11}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 16032
:cond_295
iget-object v11, v8, Lcom/tencent/tmediacodec/c/a;->a:Lcom/tencent/tmediacodec/c/b;
invoke-virtual {v11, v10}, Lcom/tencent/tmediacodec/c/b;->b(Lcom/tencent/tmediacodec/b/e;)V
.line 16033
iget-object v11, v8, Lcom/tencent/tmediacodec/c/a;->b:Lcom/tencent/tmediacodec/c/b;
invoke-virtual {v11, v10}, Lcom/tencent/tmediacodec/c/b;->a(Lcom/tencent/tmediacodec/b/e;)V
.line 16035
new-instance v11, Lcom/tencent/tmediacodec/c/a$1;
invoke-direct {v11, v8, v10}, Lcom/tencent/tmediacodec/c/a$1;-><init>(Lcom/tencent/tmediacodec/c/a;Lcom/tencent/tmediacodec/b/e;)V
invoke-static {v11}, Lcom/tencent/tmediacodec/f/d;->c(Ljava/lang/Runnable;)V
.line 16084
:cond_2a7
iget-object v8, v6, Lcom/tencent/tmediacodec/b;->d:Lcom/tencent/tmediacodec/a/a;
.line 12144
invoke-interface {v7, v8}, Lcom/tencent/tmediacodec/b/b;->a(Lcom/tencent/tmediacodec/a/a;)V
.line 12145
invoke-interface {v7, v3, v0}, Lcom/tencent/tmediacodec/b/b;->a(Landroid/media/MediaFormat;Landroid/view/Surface;)V
.line 12147
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v0
if-eqz v0, :cond_2cc
.line 12148
new-instance v0, Ljava/lang/StringBuilder;
const-string v8, "configureEnd videoPoolInfo:"
invoke-direct {v0, v8}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v5, v5, Lcom/tencent/tmediacodec/a;->d:Lcom/tencent/tmediacodec/c/a;
invoke-virtual {v5}, Lcom/tencent/tmediacodec/c/a;->a()Ljava/lang/String;
move-result-object v5
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v4, v0}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 7105
:cond_2cc
iput-object v7, v6, Lcom/tencent/tmediacodec/b;->c:Lcom/tencent/tmediacodec/b/b;
:try_end_2ce
.catch Ljava/io/IOException; {:try_start_209 .. :try_end_2ce} :catch_2cf
.catch Ljava/lang/Exception; {:try_start_209 .. :try_end_2ce} :catch_382
goto :goto_2e1
:catch_2cf
move-exception v0
goto :goto_2d4
:catch_2d1
move-exception v0
move-object/from16 v16, v8
:goto_2d4
:try_start_2d4
const-string v4, "createCodec mediaFormat:"
.line 7107
invoke-static {v3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v4, v3}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-static {v9, v3, v0}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 16151
:goto_2e1
iget-object v0, v6, Lcom/tencent/tmediacodec/b;->e:Lcom/tencent/tmediacodec/e/a;
iget-boolean v3, v6, Lcom/tencent/tmediacodec/b;->b:Z
.line 18030
iput-boolean v3, v0, Lcom/tencent/tmediacodec/e/a;->c:Z
const/4 v3, 0x1
.line 18031
iput-boolean v3, v0, Lcom/tencent/tmediacodec/e/a;->e:Z
.line 17055
iget-object v3, v0, Lcom/tencent/tmediacodec/e/a;->a:Ljava/util/Map;
const-string v4, "configCodec"
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v7
iget-wide v10, v0, Lcom/tencent/tmediacodec/e/a;->b:J
sub-long/2addr v7, v10
invoke-static {v7, v8}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
invoke-interface {v3, v4, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 16153
new-instance v0, Lcom/tencent/tmediacodec/b$1;
invoke-direct {v0, v6}, Lcom/tencent/tmediacodec/b$1;-><init>(Lcom/tencent/tmediacodec/b;)V
invoke-static {v0}, Lcom/tencent/tmediacodec/f/d;->c(Ljava/lang/Runnable;)V
.line 286
:goto_304
iget-object v0, v2, Lcom/tencent/liteav/videoconsumer/decoder/t$a;->a:Lcom/tencent/tmediacodec/b;
.line 18363
iget-object v3, v0, Lcom/tencent/tmediacodec/b;->c:Lcom/tencent/tmediacodec/b/b;
if-eqz v3, :cond_316
.line 18364
iget-object v0, v0, Lcom/tencent/tmediacodec/b;->c:Lcom/tencent/tmediacodec/b/b;
invoke-interface {v0}, Lcom/tencent/tmediacodec/b/b;->a()Landroid/media/MediaCodec;
move-result-object v0
if-eqz v0, :cond_316
const/4 v3, 0x1
.line 18366
invoke-virtual {v0, v3}, Landroid/media/MediaCodec;->setVideoScalingMode(I)V
.line 288
:cond_316
iget-object v0, v2, Lcom/tencent/liteav/videoconsumer/decoder/t$a;->a:Lcom/tencent/tmediacodec/b;
.line 19131
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v3
if-eqz v3, :cond_331
.line 19132
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "start codecWrapper:"
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v4, v0, Lcom/tencent/tmediacodec/b;->c:Lcom/tencent/tmediacodec/b/b;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v9, v3}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 19168
:cond_331
iget-object v3, v0, Lcom/tencent/tmediacodec/b;->e:Lcom/tencent/tmediacodec/e/a;
.line 20059
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
iput-wide v4, v3, Lcom/tencent/tmediacodec/e/a;->b:J
.line 19135
iget-object v3, v0, Lcom/tencent/tmediacodec/b;->c:Lcom/tencent/tmediacodec/b/b;
if-eqz v3, :cond_342
.line 19136
iget-object v3, v0, Lcom/tencent/tmediacodec/b;->c:Lcom/tencent/tmediacodec/b/b;
invoke-interface {v3}, Lcom/tencent/tmediacodec/b/b;->d()V
.line 20172
:cond_342
iget-object v3, v0, Lcom/tencent/tmediacodec/b;->e:Lcom/tencent/tmediacodec/e/a;
.line 21063
iget-object v4, v3, Lcom/tencent/tmediacodec/e/a;->a:Ljava/util/Map;
const-string v5, "startCodec"
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v6
iget-wide v8, v3, Lcom/tencent/tmediacodec/e/a;->b:J
sub-long/2addr v6, v8
invoke-static {v6, v7}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v3
invoke-interface {v4, v5, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 20174
new-instance v3, Lcom/tencent/tmediacodec/b$2;
invoke-direct {v3, v0}, Lcom/tencent/tmediacodec/b$2;-><init>(Lcom/tencent/tmediacodec/b;)V
invoke-static {v3}, Lcom/tencent/tmediacodec/f/d;->c(Ljava/lang/Runnable;)V
.line 289
iget-object v0, v1, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v3, "Start MediaCodec(%s) success."
const/4 v4, 0x1
new-array v5, v4, [Ljava/lang/Object;
iget-object v4, v2, Lcom/tencent/liteav/videoconsumer/decoder/t$a;->a:Lcom/tencent/tmediacodec/b;
.line 21232
iget-object v6, v4, Lcom/tencent/tmediacodec/b;->c:Lcom/tencent/tmediacodec/b/b;
if-eqz v6, :cond_378
.line 21233
iget-object v4, v4, Lcom/tencent/tmediacodec/b;->c:Lcom/tencent/tmediacodec/b/b;
invoke-interface {v4}, Lcom/tencent/tmediacodec/b/b;->a()Landroid/media/MediaCodec;
move-result-object v4
if-eqz v4, :cond_378
.line 21235
invoke-virtual {v4}, Landroid/media/MediaCodec;->getName()Ljava/lang/String;
move-result-object v8
goto :goto_37a
:cond_378
move-object/from16 v8, v16
:goto_37a
const/4 v4, 0x0
aput-object v8, v5, v4
.line 289
invoke-static {v0, v3, v5}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
:try_end_380
.catch Ljava/lang/Exception; {:try_start_2d4 .. :try_end_380} :catch_382
const/4 v2, 0x1
return v2
:catch_382
move-exception v0
.line 293
iget-object v3, v1, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v4, "Start MediaCodec failed."
invoke-static {v3, v4, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 294
iget-object v3, v2, Lcom/tencent/liteav/videoconsumer/decoder/t$a;->a:Lcom/tencent/tmediacodec/b;
invoke-direct {v1, v3}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a(Lcom/tencent/tmediacodec/b;)V
const/4 v3, 0x0
.line 295
iput-object v3, v2, Lcom/tencent/liteav/videoconsumer/decoder/t$a;->a:Lcom/tencent/tmediacodec/b;
.line 296
sget-object v3, Lcom/tencent/liteav/videobase/videobase/h$c;->m:Lcom/tencent/liteav/videobase/videobase/h$c;
.line 298
instance-of v4, v0, Ljava/lang/IllegalArgumentException;
if-eqz v4, :cond_39d
.line 299
sget-object v3, Lcom/tencent/liteav/videobase/videobase/h$c;->i:Lcom/tencent/liteav/videobase/videobase/h$c;
const-string v4, "VideoDecode: illegal argument, Start decoder failed"
goto :goto_3a8
.line 301
:cond_39d
instance-of v4, v0, Ljava/lang/IllegalStateException;
if-eqz v4, :cond_3a6
.line 302
sget-object v3, Lcom/tencent/liteav/videobase/videobase/h$c;->j:Lcom/tencent/liteav/videobase/videobase/h$c;
const-string v4, "VideoDecode: illegal state, Start decoder failed"
goto :goto_3a8
:cond_3a6
const-string v4, "VideoDecode: Start decoder failed"
.line 305
:goto_3a8
iput-object v3, v2, Lcom/tencent/liteav/videoconsumer/decoder/t$a;->b:Lcom/tencent/liteav/videobase/videobase/h$c;
.line 306
iput-object v4, v2, Lcom/tencent/liteav/videoconsumer/decoder/t$a;->c:Ljava/lang/String;
.line 307
iput-object v0, v2, Lcom/tencent/liteav/videoconsumer/decoder/t$a;->d:Ljava/lang/Exception;
const/4 v2, 0x0
return v2
.end method
.method private a(Ljava/lang/Object;)Z
.registers 7
const-string v0, "initGL"
.line 238
new-instance v1, Lcom/tencent/liteav/videobase/egl/EGLCore;
invoke-direct {v1}, Lcom/tencent/liteav/videobase/egl/EGLCore;-><init>()V
iput-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->k:Lcom/tencent/liteav/videobase/egl/EGLCore;
const/4 v2, 0x0
const/16 v3, 0x80
const/4 v4, 0x0
.line 240
:try_start_d
invoke-virtual {v1, p1, v2, v3, v3}, Lcom/tencent/liteav/videobase/egl/EGLCore;->initialize(Ljava/lang/Object;Landroid/view/Surface;II)V
.line 242
iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->k:Lcom/tencent/liteav/videobase/egl/EGLCore;
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/egl/EGLCore;->makeCurrent()V
:try_end_15
.catch Lcom/tencent/liteav/videobase/egl/f; {:try_start_d .. :try_end_15} :catch_7f
.line 253
invoke-static {}, Lcom/tencent/liteav/videobase/utils/OpenGlUtils;->generateTextureOES()I
move-result p1
iput p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->l:I
.line 254
new-instance p1, Lcom/tencent/liteav/videobase/frame/l;
invoke-direct {p1}, Lcom/tencent/liteav/videobase/frame/l;-><init>()V
iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->m:Lcom/tencent/liteav/videobase/frame/l;
.line 256
:try_start_22
new-instance p1, Landroid/graphics/SurfaceTexture;
iget v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->l:I
invoke-direct {p1, v1}, Landroid/graphics/SurfaceTexture;-><init>(I)V
iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->n:Landroid/graphics/SurfaceTexture;
.line 257
new-instance p1, Landroid/view/Surface;
iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->n:Landroid/graphics/SurfaceTexture;
invoke-direct {p1, v1}, Landroid/view/Surface;-><init>(Landroid/graphics/SurfaceTexture;)V
iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->o:Landroid/view/Surface;
.line 258
iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->n:Landroid/graphics/SurfaceTexture;
invoke-virtual {p1, p0}, Landroid/graphics/SurfaceTexture;->setOnFrameAvailableListener(Landroid/graphics/SurfaceTexture$OnFrameAvailableListener;)V
:try_end_39
.catch Landroid/view/Surface$OutOfResourcesException; {:try_start_22 .. :try_end_39} :catch_4a
.line 270
iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->d:Lcom/tencent/liteav/base/b/b;
invoke-virtual {p1, v0}, Lcom/tencent/liteav/base/b/b;->a(Ljava/lang/String;)Lcom/tencent/liteav/base/b/a;
move-result-object p1
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
new-array v1, v4, [Ljava/lang/Object;
const-string v2, "initialize gl components"
invoke-static {p1, v0, v2, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Lcom/tencent/liteav/base/b/a;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
const/4 p1, 0x1
return p1
:catch_4a
move-exception p1
.line 260
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->d:Lcom/tencent/liteav/base/b/b;
const-string v1, "surface"
invoke-virtual {v0, v1}, Lcom/tencent/liteav/base/b/b;->a(Ljava/lang/String;)Lcom/tencent/liteav/base/b/a;
move-result-object v0
iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v2, "create SurfaceTexture failed."
invoke-static {v0, v1, v2, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Lcom/tencent/liteav/base/b/a;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 261
sget-object v0, Lcom/tencent/liteav/videobase/videobase/h$c;->k:Lcom/tencent/liteav/videobase/videobase/h$c;
.line 263
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "VideoDecode: insufficient resource, Start decoder failed:"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 264
invoke-virtual {p1}, Landroid/view/Surface$OutOfResourcesException;->getMessage()Ljava/lang/String;
move-result-object p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 263
invoke-direct {p0, v0, p1}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a(Lcom/tencent/liteav/videobase/videobase/h$c;Ljava/lang/String;)V
.line 265
iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->c:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;
sget-object v1, Lcom/tencent/liteav/videobase/videobase/i;->H:Lcom/tencent/liteav/videobase/videobase/i;
.line 4213
iget v0, v0, Lcom/tencent/liteav/videobase/videobase/h$c;->mValue:I
.line 266
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
.line 265
invoke-interface {p1, v1, v0}, Lcom/tencent/liteav/videobase/videobase/IVideoReporter;->updateStatus(Lcom/tencent/liteav/videobase/videobase/i;Ljava/lang/Object;)V
return v4
:catch_7f
move-exception p1
.line 244
iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->d:Lcom/tencent/liteav/base/b/b;
invoke-virtual {v1, v0}, Lcom/tencent/liteav/base/b/b;->a(Ljava/lang/String;)Lcom/tencent/liteav/base/b/a;
move-result-object v0
iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v2, "create EGLCore failed."
invoke-static {v0, v1, v2, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Lcom/tencent/liteav/base/b/a;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 245
sget-object v0, Lcom/tencent/liteav/videobase/videobase/h$c;->h:Lcom/tencent/liteav/videobase/videobase/h$c;
.line 246
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "VideoDecode: create EGLCore failed errorCode:"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 3031
iget p1, p1, Lcom/tencent/liteav/videobase/egl/f;->mErrorCode:I
.line 247
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 246
invoke-direct {p0, v0, p1}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a(Lcom/tencent/liteav/videobase/videobase/h$c;Ljava/lang/String;)V
.line 248
iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->c:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;
sget-object v1, Lcom/tencent/liteav/videobase/videobase/i;->H:Lcom/tencent/liteav/videobase/videobase/i;
.line 3213
iget v0, v0, Lcom/tencent/liteav/videobase/videobase/h$c;->mValue:I
.line 249
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
.line 248
invoke-interface {p1, v1, v0}, Lcom/tencent/liteav/videobase/videobase/IVideoReporter;->updateStatus(Lcom/tencent/liteav/videobase/videobase/i;Ljava/lang/Object;)V
return v4
.end method
.method static synthetic b(Lcom/tencent/liteav/videoconsumer/decoder/t;)Lcom/tencent/liteav/videobase/videobase/IVideoReporter;
.registers 1
.line 63
iget-object p0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->c:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;
return-object p0
.end method
.method private b()Z
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
const/4 v0, 0x0
move v1, v0
:goto_2
const/4 v2, 0x3
if-ge v1, v2, :cond_62
.line 389
iget-object v2, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->f:Lcom/tencent/tmediacodec/b;
iget-object v3, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->h:Landroid/media/MediaCodec$BufferInfo;
sget-object v4, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
const-wide/16 v5, 0xa
.line 390
invoke-virtual {v4, v5, v6}, Ljava/util/concurrent/TimeUnit;->toMicros(J)J
move-result-wide v4
invoke-virtual {v2, v3, v4, v5}, Lcom/tencent/tmediacodec/b;->a(Landroid/media/MediaCodec$BufferInfo;J)I
move-result v2
const/4 v3, -0x1
if-ne v2, v3, :cond_19
return v0
:cond_19
const/4 v3, -0x3
if-ne v2, v3, :cond_24
.line 395
iget-object v2, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v3, "on output buffers changed"
invoke-static {v2, v3}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_2a
:cond_24
const/4 v3, -0x2
if-ne v2, v3, :cond_2d
.line 397
invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/decoder/t;->d()V
:goto_2a
add-int/lit8 v1, v1, 0x1
goto :goto_2
:cond_2d
const/4 v1, 0x1
if-ltz v2, :cond_53
.line 399
iput-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->j:Z
.line 400
iget-wide v3, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->y:J
const-wide/16 v5, 0x1
add-long/2addr v3, v5
iput-wide v3, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->y:J
.line 401
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->f:Lcom/tencent/tmediacodec/b;
invoke-virtual {v0, v2}, Lcom/tencent/tmediacodec/b;->a(I)V
.line 402
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->h:Landroid/media/MediaCodec$BufferInfo;
iget v0, v0, Landroid/media/MediaCodec$BufferInfo;->flags:I
and-int/lit8 v0, v0, 0x4
if-eqz v0, :cond_52
.line 403
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v2, "meet end of stream."
invoke-static {v0, v2}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 404
invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/decoder/t;->c()V
.line 409
iput-boolean v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->j:Z
:cond_52
return v1
.line 413
:cond_53
iget-object v3, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
new-array v1, v1, [Ljava/lang/Object;
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
aput-object v2, v1, v0
const-string v2, "dequeueOutputBuffer get invalid index: %d"
invoke-static {v3, v2, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->d(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
:cond_62
return v0
.end method
.method private c()V
.registers 2
.line 426
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->g:Lcom/tencent/liteav/videoconsumer/decoder/ax;
if-eqz v0, :cond_7
.line 427
invoke-virtual {v0}, Lcom/tencent/liteav/videoconsumer/decoder/ax;->k()V
:cond_7
return-void
.end method
.method static synthetic c(Lcom/tencent/liteav/videoconsumer/decoder/t;)V
.registers 1
invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a()V
return-void
.end method
.method private d()V
.registers 9
.line 432
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->f:Lcom/tencent/tmediacodec/b;
invoke-virtual {v0}, Lcom/tencent/tmediacodec/b;->c()Landroid/media/MediaFormat;
move-result-object v0
.line 433
iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
const-string v3, "decode output format changed: "
invoke-virtual {v3, v2}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-static {v1, v2}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
const-string v1, "crop-right"
.line 436
invoke-virtual {v0, v1}, Landroid/media/MediaFormat;->getInteger(Ljava/lang/String;)I
move-result v1
const-string v2, "crop-left"
invoke-virtual {v0, v2}, Landroid/media/MediaFormat;->getInteger(Ljava/lang/String;)I
move-result v2
sub-int/2addr v1, v2
invoke-static {v1}, Ljava/lang/Math;->abs(I)I
move-result v1
const/4 v2, 0x1
add-int/2addr v1, v2
const-string v3, "crop-bottom"
.line 439
invoke-virtual {v0, v3}, Landroid/media/MediaFormat;->getInteger(Ljava/lang/String;)I
move-result v3
const-string v4, "crop-top"
invoke-virtual {v0, v4}, Landroid/media/MediaFormat;->getInteger(Ljava/lang/String;)I
move-result v4
sub-int/2addr v3, v4
invoke-static {v3}, Ljava/lang/Math;->abs(I)I
move-result v3
add-int/2addr v3, v2
const-string/jumbo v4, "width"
.line 442
invoke-virtual {v0, v4}, Landroid/media/MediaFormat;->getInteger(Ljava/lang/String;)I
move-result v4
const-string v5, "height"
.line 443
invoke-virtual {v0, v5}, Landroid/media/MediaFormat;->getInteger(Ljava/lang/String;)I
move-result v0
.line 444
iget-object v5, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const/4 v6, 0x4
new-array v6, v6, [Ljava/lang/Object;
.line 445
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const/4 v7, 0x0
aput-object v1, v6, v7
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
aput-object v1, v6, v2
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const/4 v2, 0x2
aput-object v1, v6, v2
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
const/4 v1, 0x3
aput-object v0, v6, v1
const-string v0, "cropWidth: %d, cropHeight: %d, frameWidth: %d, frameHeight: %d"
.line 444
invoke-static {v5, v0, v6}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
return-void
.end method
.method static synthetic d(Lcom/tencent/liteav/videoconsumer/decoder/t;)V
.registers 1
invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a()V
return-void
.end method
.method private e()V
.registers 3
.line 579
monitor-enter p0
.line 580
:try_start_1
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->i:Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;
const/4 v1, 0x0
.line 581
iput-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->i:Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;
.line 582
monitor-exit p0
:try_end_7
.catchall {:try_start_1 .. :try_end_7} :catchall_b
.line 583
invoke-static {v0}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a(Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;)V
return-void
:catchall_b
move-exception v0
.line 582
:try_start_c
monitor-exit p0
:try_end_d
.catchall {:try_start_c .. :try_end_d} :catchall_b
throw v0
.end method
.method static synthetic e(Lcom/tencent/liteav/videoconsumer/decoder/t;)V
.registers 4
.line 25614
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v1, "Stop internal"
invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 25615
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->f:Lcom/tencent/tmediacodec/b;
const/4 v1, 0x0
if-eqz v0, :cond_11
.line 25616
invoke-direct {p0, v0}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a(Lcom/tencent/tmediacodec/b;)V
.line 25617
iput-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->f:Lcom/tencent/tmediacodec/b;
.line 25619
:cond_11
invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/decoder/t;->e()V
.line 25626
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v2, "uninitialize gl components"
invoke-static {v0, v2}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 25627
invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/decoder/t;->f()Z
move-result v0
if-eqz v0, :cond_5b
.line 25630
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->m:Lcom/tencent/liteav/videobase/frame/l;
if-eqz v0, :cond_28
.line 25631
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/l;->b()V
.line 25633
:cond_28
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->o:Landroid/view/Surface;
if-eqz v0, :cond_31
.line 25634
invoke-virtual {v0}, Landroid/view/Surface;->release()V
.line 25635
iput-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->o:Landroid/view/Surface;
.line 25637
:cond_31
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->n:Landroid/graphics/SurfaceTexture;
if-eqz v0, :cond_3a
.line 25638
invoke-virtual {v0}, Landroid/graphics/SurfaceTexture;->release()V
.line 25639
iput-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->n:Landroid/graphics/SurfaceTexture;
.line 25642
:cond_3a
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->u:Lcom/tencent/liteav/videobase/frame/e;
if-eqz v0, :cond_43
.line 25643
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/e;->b()V
.line 25644
iput-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->u:Lcom/tencent/liteav/videobase/frame/e;
.line 25647
:cond_43
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->t:Lcom/tencent/liteav/videobase/frame/j;
if-eqz v0, :cond_4c
.line 25648
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/j;->a()V
.line 25649
iput-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->t:Lcom/tencent/liteav/videobase/frame/j;
.line 25652
:cond_4c
iget v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->l:I
invoke-static {v0}, Lcom/tencent/liteav/videobase/utils/OpenGlUtils;->deleteTexture(I)V
const/4 v0, -0x1
.line 25653
iput v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->l:I
.line 25655
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->k:Lcom/tencent/liteav/videobase/egl/EGLCore;
invoke-static {v0}, Lcom/tencent/liteav/videobase/egl/EGLCore;->destroy(Lcom/tencent/liteav/videobase/egl/EGLCore;)V
.line 25656
iput-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->k:Lcom/tencent/liteav/videobase/egl/EGLCore;
:cond_5b
const/4 v0, 0x1
.line 25621
iput-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->j:Z
const-wide/16 v0, 0x0
.line 25622
iput-wide v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->y:J
return-void
.end method
.method private f()Z
.registers 5
.line 758
:try_start_0
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->k:Lcom/tencent/liteav/videobase/egl/EGLCore;
if-eqz v0, :cond_7
.line 759
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/egl/EGLCore;->makeCurrent()V
:try_end_7
.catch Lcom/tencent/liteav/videobase/egl/f; {:try_start_0 .. :try_end_7} :catch_9
:cond_7
const/4 v0, 0x1
return v0
:catch_9
move-exception v0
.line 763
iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->d:Lcom/tencent/liteav/base/b/b;
const-string v2, "makeCurrent"
invoke-virtual {v1, v2}, Lcom/tencent/liteav/base/b/b;->a(Ljava/lang/String;)Lcom/tencent/liteav/base/b/a;
move-result-object v1
iget-object v2, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v3, "makeCurrent failed."
invoke-static {v1, v2, v3, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Lcom/tencent/liteav/base/b/a;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
const/4 v0, 0x0
return v0
.end method
# virtual methods
.method public final decode(Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;)Z
.registers 3
.line 332
monitor-enter p0
.line 333
:try_start_1
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->i:Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;
if-nez v0, :cond_14
if-nez p1, :cond_8
goto :goto_14
.line 338
:cond_8
iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->i:Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;
.line 339
invoke-static {p0}, Lcom/tencent/liteav/videoconsumer/decoder/x;->a(Lcom/tencent/liteav/videoconsumer/decoder/t;)Ljava/lang/Runnable;
move-result-object p1
invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a(Ljava/lang/Runnable;)V
const/4 p1, 0x1
.line 340
monitor-exit p0
return p1
.line 334
:cond_14
:goto_14
invoke-static {p0}, Lcom/tencent/liteav/videoconsumer/decoder/w;->a(Lcom/tencent/liteav/videoconsumer/decoder/t;)Ljava/lang/Runnable;
move-result-object p1
invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a(Ljava/lang/Runnable;)V
const/4 p1, 0x0
.line 335
monitor-exit p0
return p1
:catchall_1e
move-exception p1
.line 341
monitor-exit p0
:try_end_20
.catchall {:try_start_1 .. :try_end_20} :catchall_1e
throw p1
.end method
.method public final getDecoderType()Lcom/tencent/liteav/videoconsumer/decoder/aw$a;
.registers 2
.line 600
sget-object v0, Lcom/tencent/liteav/videoconsumer/decoder/aw$a;->b:Lcom/tencent/liteav/videoconsumer/decoder/aw$a;
return-object v0
.end method
.method public final initialize()V
.registers 4
.line 181
new-instance v0, Landroid/os/HandlerThread;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "HardwareVideoDecoder_"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/HandlerThread;-><init>(Ljava/lang/String;)V
.line 182
invoke-virtual {v0}, Landroid/os/HandlerThread;->start()V
.line 183
new-instance v1, Lcom/tencent/liteav/base/util/CustomHandler;
invoke-virtual {v0}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;
move-result-object v0
invoke-direct {v1, v0}, Lcom/tencent/liteav/base/util/CustomHandler;-><init>(Landroid/os/Looper;)V
iput-object v1, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->e:Lcom/tencent/liteav/base/util/CustomHandler;
return-void
.end method
.method public final onFrameAvailable(Landroid/graphics/SurfaceTexture;)V
.registers 2
.line 662
invoke-static {p0, p1}, Lcom/tencent/liteav/videoconsumer/decoder/aa;->a(Lcom/tencent/liteav/videoconsumer/decoder/t;Landroid/graphics/SurfaceTexture;)Ljava/lang/Runnable;
move-result-object p1
invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a(Ljava/lang/Runnable;)V
return-void
.end method
.method public final setScene(Lcom/tencent/liteav/videoconsumer/decoder/VideoDecoderDef$ConsumerScene;)V
.registers 2
.line 196
invoke-static {p0, p1}, Lcom/tencent/liteav/videoconsumer/decoder/u;->a(Lcom/tencent/liteav/videoconsumer/decoder/t;Lcom/tencent/liteav/videoconsumer/decoder/VideoDecoderDef$ConsumerScene;)Ljava/lang/Runnable;
move-result-object p1
invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a(Ljava/lang/Runnable;)V
return-void
.end method
.method public final setServerConfig(Lcom/tencent/liteav/videoconsumer/consumer/VideoConsumerServerConfig;)V
.registers 2
.line 605
invoke-static {p0, p1}, Lcom/tencent/liteav/videoconsumer/decoder/z;->a(Lcom/tencent/liteav/videoconsumer/decoder/t;Lcom/tencent/liteav/videoconsumer/consumer/VideoConsumerServerConfig;)Ljava/lang/Runnable;
move-result-object p1
invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a(Ljava/lang/Runnable;)V
return-void
.end method
.method public final start(Ljava/lang/Object;Lcom/tencent/liteav/videoconsumer/decoder/ax;)V
.registers 3
.line 201
invoke-static {p0, p1, p2}, Lcom/tencent/liteav/videoconsumer/decoder/v;->a(Lcom/tencent/liteav/videoconsumer/decoder/t;Ljava/lang/Object;Lcom/tencent/liteav/videoconsumer/decoder/ax;)Ljava/lang/Runnable;
move-result-object p1
invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a(Ljava/lang/Runnable;)V
return-void
.end method
.method public final stop()V
.registers 2
.line 595
invoke-static {p0}, Lcom/tencent/liteav/videoconsumer/decoder/y;->a(Lcom/tencent/liteav/videoconsumer/decoder/t;)Ljava/lang/Runnable;
move-result-object v0
invoke-direct {p0, v0}, Lcom/tencent/liteav/videoconsumer/decoder/t;->a(Ljava/lang/Runnable;)V
return-void
.end method
.method public final uninitialize()V
.registers 3
.line 188
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->e:Lcom/tencent/liteav/base/util/CustomHandler;
if-eqz v0, :cond_10
.line 189
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->a:Ljava/lang/String;
const-string v1, "uninitialize quitLooper"
invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 190
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/t;->e:Lcom/tencent/liteav/base/util/CustomHandler;
invoke-virtual {v0}, Lcom/tencent/liteav/base/util/CustomHandler;->quitLooper()V
:cond_10
return-void
.end method