e.smali
.class public abstract Lcom/tencent/tmediacodec/b/e;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/tencent/tmediacodec/b/b;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/tencent/tmediacodec/b/e$b;,
Lcom/tencent/tmediacodec/b/e$a;
}
.end annotation
# static fields
.field private static final j:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Landroid/view/Surface;",
"Lcom/tencent/tmediacodec/b/e;",
">;"
}
.end annotation
.end field
# instance fields
.field private A:Z
.field private B:Z
.field public a:Lcom/tencent/tmediacodec/b/e$b;
.field public b:Z
.field public c:Z
.field public d:Z
.field public final e:Lcom/tencent/tmediacodec/b/d;
.field protected f:Landroid/view/Surface;
.field protected final g:Lcom/tencent/tmediacodec/b/a;
.field protected final h:Ljava/lang/String;
.field public i:I
.field private final k:Ljava/lang/String;
.field private final l:I
.field private final m:Ljava/util/HashSet;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashSet<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private final n:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Ljava/lang/Long;",
">;"
}
.end annotation
.end field
.field private final o:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Landroid/graphics/SurfaceTexture;",
">;"
}
.end annotation
.end field
.field private final p:[I
.field private final q:Landroid/media/MediaCodec;
.field private r:Ljava/lang/String;
.field private s:Z
.field private t:Lcom/tencent/tmediacodec/b/e$a;
.field private u:Landroid/media/MediaCodecInfo$CodecCapabilities;
.field private v:J
.field private w:Lcom/tencent/tmediacodec/a/a;
.field private x:Z
.field private y:Lcom/tencent/tmediacodec/d/a$b;
.field private z:Z
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 64
new-instance v0, Ljava/util/concurrent/ConcurrentHashMap;
invoke-direct {v0}, Ljava/util/concurrent/ConcurrentHashMap;-><init>()V
sput-object v0, Lcom/tencent/tmediacodec/b/e;->j:Ljava/util/Map;
return-void
.end method
.method public constructor <init>(Landroid/media/MediaCodec;Lcom/tencent/tmediacodec/b/d;)V
.registers 9
.line 127
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 66
sget-object v0, Lcom/tencent/tmediacodec/b/e$b;->a:Lcom/tencent/tmediacodec/b/e$b;
iput-object v0, p0, Lcom/tencent/tmediacodec/b/e;->a:Lcom/tencent/tmediacodec/b/e$b;
.line 81
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "ReuseCodecWrapper["
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string 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
iput-object v0, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
.line 84
new-instance v1, Ljava/util/HashSet;
invoke-direct {v1}, Ljava/util/HashSet;-><init>()V
iput-object v1, p0, Lcom/tencent/tmediacodec/b/e;->m:Ljava/util/HashSet;
.line 85
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
iput-object v1, p0, Lcom/tencent/tmediacodec/b/e;->n:Ljava/util/ArrayList;
.line 86
new-instance v1, Ljava/util/LinkedHashSet;
invoke-direct {v1}, Ljava/util/LinkedHashSet;-><init>()V
iput-object v1, p0, Lcom/tencent/tmediacodec/b/e;->o:Ljava/util/Set;
const/4 v1, 0x2
new-array v1, v1, [I
.line 89
iput-object v1, p0, Lcom/tencent/tmediacodec/b/e;->p:[I
const-string v1, ""
.line 94
iput-object v1, p0, Lcom/tencent/tmediacodec/b/e;->r:Ljava/lang/String;
.line 97
sget-object v1, Lcom/tencent/tmediacodec/b/e$a;->a:Lcom/tencent/tmediacodec/b/e$a;
iput-object v1, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
.line 107
sget-object v1, Lcom/tencent/tmediacodec/d/a$b;->a:Lcom/tencent/tmediacodec/d/a$b;
iput-object v1, p0, Lcom/tencent/tmediacodec/b/e;->y:Lcom/tencent/tmediacodec/d/a$b;
const/4 v1, 0x0
.line 111
iput-boolean v1, p0, Lcom/tencent/tmediacodec/b/e;->A:Z
.line 112
iput-boolean v1, p0, Lcom/tencent/tmediacodec/b/e;->B:Z
.line 114
iput v1, p0, Lcom/tencent/tmediacodec/b/e;->i:I
.line 128
iput-object p1, p0, Lcom/tencent/tmediacodec/b/e;->q:Landroid/media/MediaCodec;
.line 129
iput-object p2, p0, Lcom/tencent/tmediacodec/b/e;->e:Lcom/tencent/tmediacodec/b/d;
.line 131
new-instance v2, Lcom/tencent/tmediacodec/b/a;
iget v3, p2, Lcom/tencent/tmediacodec/b/d;->g:I
iget v4, p2, Lcom/tencent/tmediacodec/b/d;->h:I
iget v5, p2, Lcom/tencent/tmediacodec/b/d;->i:I
invoke-direct {v2, v3, v4, v5}, Lcom/tencent/tmediacodec/b/a;-><init>(III)V
iput-object v2, p0, Lcom/tencent/tmediacodec/b/e;->g:Lcom/tencent/tmediacodec/b/a;
.line 132
invoke-static {p1}, Lcom/tencent/tmediacodec/f/c;->a(Landroid/media/MediaCodec;)Ljava/lang/String;
move-result-object v2
iput-object v2, p0, Lcom/tencent/tmediacodec/b/e;->h:Ljava/lang/String;
.line 2097
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result v3
const/16 v4, 0x19
if-gt v3, v4, :cond_9f
const-string v3, "OMX.Exynos.avc.dec.secure"
invoke-virtual {v3, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_9f
sget-object v3, Landroid/os/Build;->MODEL:Ljava/lang/String;
const-string v4, "SM-T585"
.line 2098
invoke-virtual {v3, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v3
if-nez v3, :cond_9c
sget-object v3, Landroid/os/Build;->MODEL:Ljava/lang/String;
const-string v4, "SM-A510"
invoke-virtual {v3, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v3
if-nez v3, :cond_9c
sget-object v3, Landroid/os/Build;->MODEL:Ljava/lang/String;
const-string v4, "SM-A520"
.line 2099
invoke-virtual {v3, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v3
if-nez v3, :cond_9c
sget-object v3, Landroid/os/Build;->MODEL:Ljava/lang/String;
const-string v4, "SM-J700"
invoke-virtual {v3, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_9f
.line 2101
:cond_9c
sget v2, Lcom/tencent/tmediacodec/d/a$a;->c:I
goto :goto_e4
.line 2102
:cond_9f
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result v3
const/16 v4, 0x18
if-ge v3, v4, :cond_e2
const-string v3, "OMX.Nvidia.h264.decode"
.line 2103
invoke-virtual {v3, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_b7
const-string v3, "OMX.Nvidia.h264.decode.secure"
invoke-virtual {v3, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_e2
:cond_b7
sget-object v2, Landroid/os/Build;->DEVICE:Ljava/lang/String;
const-string v3, "flounder"
.line 2104
invoke-virtual {v3, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_df
sget-object v2, Landroid/os/Build;->DEVICE:Ljava/lang/String;
const-string v3, "flounder_lte"
invoke-virtual {v3, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_df
sget-object v2, Landroid/os/Build;->DEVICE:Ljava/lang/String;
const-string v3, "grouper"
.line 2105
invoke-virtual {v3, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_df
sget-object v2, Landroid/os/Build;->DEVICE:Ljava/lang/String;
const-string v3, "tilapia"
invoke-virtual {v3, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_e2
.line 2107
:cond_df
sget v2, Lcom/tencent/tmediacodec/d/a$a;->b:I
goto :goto_e4
.line 2109
:cond_e2
sget v2, Lcom/tencent/tmediacodec/d/a$a;->a:I
.line 133
:goto_e4
iput v2, p0, Lcom/tencent/tmediacodec/b/e;->l:I
.line 135
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result v2
const/16 v3, 0x12
const/4 v4, 0x1
if-lt v2, v3, :cond_11a
.line 138
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result v2
const/16 v3, 0x1d
if-ne v2, v3, :cond_fe
iget v2, p2, Lcom/tencent/tmediacodec/b/d;->d:I
if-nez v2, :cond_fc
goto :goto_fe
:cond_fc
move v2, v1
goto :goto_ff
:cond_fe
:goto_fe
move v2, v4
.line 139
:goto_ff
invoke-static {v2}, Ljava/lang/String;->valueOf(Z)Ljava/lang/String;
move-result-object v3
const-string v5, "canCallGetCodecInfo:"
invoke-virtual {v5, v3}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-static {v0, v3}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
if-eqz v2, :cond_11a
.line 142
invoke-virtual {p1}, Landroid/media/MediaCodec;->getCodecInfo()Landroid/media/MediaCodecInfo;
move-result-object p1
iget-object p2, p2, Lcom/tencent/tmediacodec/b/d;->j:Ljava/lang/String;
invoke-virtual {p1, p2}, Landroid/media/MediaCodecInfo;->getCapabilitiesForType(Ljava/lang/String;)Landroid/media/MediaCodecInfo$CodecCapabilities;
move-result-object p1
iput-object p1, p0, Lcom/tencent/tmediacodec/b/e;->u:Landroid/media/MediaCodecInfo$CodecCapabilities;
.line 146
:cond_11a
iget-object p1, p0, Lcom/tencent/tmediacodec/b/e;->u:Landroid/media/MediaCodecInfo$CodecCapabilities;
if-eqz p1, :cond_126
invoke-static {p1}, Lcom/tencent/tmediacodec/f/c;->a(Landroid/media/MediaCodecInfo$CodecCapabilities;)Z
move-result p1
if-eqz p1, :cond_126
move p1, v4
goto :goto_127
:cond_126
move p1, v1
:goto_127
iput-boolean p1, p0, Lcom/tencent/tmediacodec/b/e;->c:Z
.line 147
iget-object p1, p0, Lcom/tencent/tmediacodec/b/e;->u:Landroid/media/MediaCodecInfo$CodecCapabilities;
if-eqz p1, :cond_134
invoke-static {p1}, Lcom/tencent/tmediacodec/f/c;->b(Landroid/media/MediaCodecInfo$CodecCapabilities;)Z
move-result p1
if-eqz p1, :cond_134
move v1, v4
:cond_134
iput-boolean v1, p0, Lcom/tencent/tmediacodec/b/e;->d:Z
return-void
.end method
.method public static a(Landroid/media/MediaCodec;Ljava/lang/String;Lcom/tencent/tmediacodec/b/d;)Lcom/tencent/tmediacodec/b/b;
.registers 3
.line 118
invoke-static {p1}, Lcom/tencent/tmediacodec/f/c;->a(Ljava/lang/String;)Z
move-result p1
if-eqz p1, :cond_c
new-instance p1, Lcom/tencent/tmediacodec/b/f;
invoke-direct {p1, p0, p2}, Lcom/tencent/tmediacodec/b/f;-><init>(Landroid/media/MediaCodec;Lcom/tencent/tmediacodec/b/d;)V
return-object p1
:cond_c
new-instance p1, Lcom/tencent/tmediacodec/b/c;
invoke-direct {p1, p0}, Lcom/tencent/tmediacodec/b/c;-><init>(Landroid/media/MediaCodec;)V
return-object p1
.end method
.method static synthetic a(Lcom/tencent/tmediacodec/b/e;)Ljava/lang/String;
.registers 1
.line 56
iget-object p0, p0, Lcom/tencent/tmediacodec/b/e;->r:Ljava/lang/String;
return-object p0
.end method
.method private a(II)V
.registers 6
.line 1041
iget-boolean v0, p0, Lcom/tencent/tmediacodec/b/e;->B:Z
if-nez v0, :cond_4b
invoke-direct {p0, p1, p2}, Lcom/tencent/tmediacodec/b/e;->b(II)Z
move-result p2
if-eqz p2, :cond_4b
const/4 p2, 0x1
.line 1042
iput-boolean p2, p0, Lcom/tencent/tmediacodec/b/e;->B:Z
.line 1044
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, ", trackDecodeApi state:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, " surfaceState:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->f:Landroid/view/Surface;
const/4 v2, 0x0
if-eqz v1, :cond_32
.line 1045
invoke-virtual {v1}, Landroid/view/Surface;->isValid()Z
move-result v1
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v1
goto :goto_33
:cond_32
move-object v1, v2
:goto_33
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
if-nez p1, :cond_43
const p1, 0x9c42
.line 1048
invoke-direct {p0, p1, v0, v2}, Lcom/tencent/tmediacodec/b/e;->a(ILjava/lang/String;Ljava/lang/Throwable;)V
return-void
:cond_43
if-ne p1, p2, :cond_4b
const p1, 0xea62
.line 1050
invoke-direct {p0, p1, v0, v2}, Lcom/tencent/tmediacodec/b/e;->a(ILjava/lang/String;Ljava/lang/Throwable;)V
:cond_4b
return-void
.end method
.method private a(ILjava/lang/String;Ljava/lang/Throwable;)V
.registers 10
.line 336
iget-object v5, p0, Lcom/tencent/tmediacodec/b/e;->f:Landroid/view/Surface;
const/4 v4, 0x0
move-object v0, p0
move v1, p1
move-object v2, p2
move-object v3, p3
invoke-direct/range {v0 .. v5}, Lcom/tencent/tmediacodec/b/e;->a(ILjava/lang/String;Ljava/lang/Throwable;ZLandroid/view/Surface;)V
return-void
.end method
.method private a(ILjava/lang/String;Ljava/lang/Throwable;ZLandroid/view/Surface;)V
.registers 8
const/4 v0, 0x1
.line 341
iput-boolean v0, p0, Lcom/tencent/tmediacodec/b/e;->A:Z
if-nez p3, :cond_8
const-string v0, ""
goto :goto_c
.line 343
:cond_8
invoke-virtual {p3}, Ljava/lang/Throwable;->getLocalizedMessage()Ljava/lang/String;
move-result-object v0
.line 344
:goto_c
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p2, " handleCoreAPIException exception:"
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
if-eqz p4, :cond_29
.line 348
invoke-static {p5}, Lcom/tencent/tmediacodec/b/e;->b(Landroid/view/Surface;)I
move-result p4
if-eqz p4, :cond_29
move p1, p4
.line 352
:cond_29
new-instance p4, Lorg/json/JSONObject;
invoke-direct {p4}, Lorg/json/JSONObject;-><init>()V
:try_start_2e
const-string p5, "errorCode"
.line 354
invoke-virtual {p4, p5, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string p5, "exceptionMsg"
.line 355
invoke-virtual {p4, p5, p2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 357
iget-object p5, p0, Lcom/tencent/tmediacodec/b/e;->w:Lcom/tencent/tmediacodec/a/a;
if-eqz p5, :cond_48
.line 358
invoke-virtual {p4}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object p4
invoke-interface {p5, p4}, Lcom/tencent/tmediacodec/a/a;->a(Ljava/lang/String;)V
:try_end_43
.catch Lorg/json/JSONException; {:try_start_2e .. :try_end_43} :catch_44
goto :goto_48
:catch_44
move-exception p4
.line 361
invoke-virtual {p4}, Lorg/json/JSONException;->printStackTrace()V
.line 364
:cond_48
:goto_48
iget-object p4, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
new-instance p5, Ljava/lang/StringBuilder;
const-string v0, "hasReused:"
invoke-direct {p5, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-boolean v0, p0, Lcom/tencent/tmediacodec/b/e;->x:Z
invoke-virtual {p5, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v0, " errorCode:"
invoke-virtual {p5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, ", "
invoke-virtual {p5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-static {p4, p2, p3}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 366
invoke-direct {p0, p1}, Lcom/tencent/tmediacodec/b/e;->b(I)V
return-void
.end method
.method private a(Landroid/view/Surface;)V
.registers 8
.line 168
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v0
if-eqz v0, :cond_29
.line 169
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, ", oldSurface:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/tencent/tmediacodec/b/e;->f:Landroid/view/Surface;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, " CodecWrapperSetSurface surface:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/tencent/tmediacodec/f/a;->c(Ljava/lang/String;Ljava/lang/String;)V
.line 171
:cond_29
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->r:Ljava/lang/String;
invoke-static {v0}, Lcom/tencent/tmediacodec/hook/a;->a(Ljava/lang/String;)V
.line 174
new-instance v0, Ljava/util/HashSet;
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->r:Ljava/lang/String;
invoke-static {v1}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object v1
invoke-direct {v0, v1}, Ljava/util/HashSet;-><init>(Ljava/util/Collection;)V
invoke-direct {p0, v0}, Lcom/tencent/tmediacodec/b/e;->a(Ljava/util/Set;)V
.line 2220
iput-object p1, p0, Lcom/tencent/tmediacodec/b/e;->f:Landroid/view/Surface;
const-string v0, ""
.line 2222
iput-object v0, p0, Lcom/tencent/tmediacodec/b/e;->r:Ljava/lang/String;
if-eqz p1, :cond_4a
.line 2224
invoke-static {p1}, Lcom/tencent/tmediacodec/f/c;->a(Landroid/view/Surface;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/tencent/tmediacodec/b/e;->r:Ljava/lang/String;
.line 178
:cond_4a
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->r:Ljava/lang/String;
invoke-direct {p0, v0}, Lcom/tencent/tmediacodec/b/e;->a(Ljava/lang/String;)V
if-eqz p1, :cond_db
.line 2243
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v0
if-eqz v0, :cond_7e
.line 2244
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, " checkSurfaceBinding size:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v2, Lcom/tencent/tmediacodec/b/e;->j:Ljava/util/Map;
invoke-interface {v2}, Ljava/util/Map;->size()I
move-result v3
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, " mSurfaceMap:"
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 2246
:cond_7e
sget-object v0, Lcom/tencent/tmediacodec/b/e;->j:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_ce
.line 2247
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/tencent/tmediacodec/b/e;
if-eqz v1, :cond_94
.line 3164
iget-boolean v2, v1, Lcom/tencent/tmediacodec/b/e;->s:Z
if-eqz v2, :cond_94
const/4 v2, 0x1
goto :goto_95
:cond_94
const/4 v2, 0x0
.line 2250
:goto_95
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v3
if-eqz v3, :cond_c9
.line 2251
iget-object v3, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v4, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v5, ", surface:"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v5, " has been used by "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v5, " isReleaseCalled:"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v5, ", ignore but we can release it..."
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v3, v4}, Lcom/tencent/tmediacodec/f/a;->e(Ljava/lang/String;Ljava/lang/String;)V
:cond_c9
if-eqz v2, :cond_ce
.line 2256
invoke-virtual {v1}, Lcom/tencent/tmediacodec/b/e;->h()V
.line 3193
:cond_ce
invoke-interface {v0, p1, p0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 3201
iget-object p1, p0, Lcom/tencent/tmediacodec/b/e;->r:Ljava/lang/String;
new-instance v0, Lcom/tencent/tmediacodec/b/e$1;
invoke-direct {v0, p0}, Lcom/tencent/tmediacodec/b/e$1;-><init>(Lcom/tencent/tmediacodec/b/e;)V
invoke-static {p1, v0}, Lcom/tencent/tmediacodec/hook/a;->a(Ljava/lang/String;Lcom/tencent/tmediacodec/hook/b;)V
:cond_db
return-void
.end method
.method static synthetic a(Lcom/tencent/tmediacodec/b/e;Ljava/util/List;)V
.registers 2
.line 56
invoke-direct {p0, p1}, Lcom/tencent/tmediacodec/b/e;->a(Ljava/util/List;)V
return-void
.end method
.method private final a(Ljava/lang/String;)V
.registers 5
.line 268
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v0
if-eqz v0, :cond_1f
.line 269
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, ", removeStoreSurfaceTexture nameSurfaceTexture:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
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 v1
invoke-static {v0, v1}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 271
:cond_1f
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->o:Ljava/util/Set;
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
.line 273
:cond_25
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_3c
.line 274
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1, p1}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_25
.line 275
invoke-interface {v0}, Ljava/util/Iterator;->remove()V
:cond_3c
return-void
.end method
.method private a(Ljava/util/List;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Landroid/graphics/SurfaceTexture;",
">;)V"
}
.end annotation
.line 405
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v0
if-eqz v0, :cond_1f
.line 406
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, ", releaseSurfaceTexture toReleaseSet:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 409
:cond_1f
new-instance v0, Ljava/util/LinkedHashSet;
invoke-direct {v0}, Ljava/util/LinkedHashSet;-><init>()V
.line 410
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_28
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_3f
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/graphics/SurfaceTexture;
.line 411
invoke-static {v1}, Lcom/tencent/tmediacodec/hook/a;->a(Landroid/graphics/SurfaceTexture;)V
.line 412
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
goto :goto_28
.line 415
:cond_3f
invoke-direct {p0, v0}, Lcom/tencent/tmediacodec/b/e;->a(Ljava/util/Set;)V
return-void
.end method
.method private a(Ljava/util/Set;)V
.registers 3
.line 283
invoke-static {}, Ljava/util/Collections;->emptySet()Ljava/util/Set;
move-result-object v0
invoke-direct {p0, p1, v0}, Lcom/tencent/tmediacodec/b/e;->a(Ljava/util/Set;Ljava/util/Set;)V
return-void
.end method
.method private a(Ljava/util/Set;Ljava/util/Set;)V
.registers 7
.line 287
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v0
if-eqz v0, :cond_27
.line 288
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, ", removeSurfaceBinding toReleaseNameSet:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, " toReleaseCodecSet:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 291
:cond_27
sget-object v0, Lcom/tencent/tmediacodec/b/e;->j:Ljava/util/Map;
invoke-interface {v0}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
.line 293
:cond_31
:goto_31
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_64
.line 294
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/Map$Entry;
.line 295
invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/view/Surface;
invoke-static {v2}, Lcom/tencent/tmediacodec/f/c;->a(Landroid/view/Surface;)Ljava/lang/String;
move-result-object v2
.line 298
invoke-interface {p1, v2}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_5a
invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
invoke-interface {p2, v1}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_58
goto :goto_5a
:cond_58
const/4 v1, 0x0
goto :goto_5b
:cond_5a
:goto_5a
const/4 v1, 0x1
:goto_5b
if-eqz v1, :cond_31
.line 301
invoke-interface {v0}, Ljava/util/Iterator;->remove()V
.line 3313
invoke-static {v2}, Lcom/tencent/tmediacodec/hook/a;->a(Ljava/lang/String;)V
goto :goto_31
:cond_64
return-void
.end method
.method private a(Z)V
.registers 5
.line 385
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v0
if-eqz v0, :cond_21
.line 386
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, ", releaseStoreSurfaceTexture mStoreToRelease:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/tencent/tmediacodec/b/e;->o:Ljava/util/Set;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 389
:cond_21
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->o:Ljava/util/Set;
invoke-interface {v0}, Ljava/util/Set;->isEmpty()Z
move-result v0
if-nez v0, :cond_43
.line 390
new-instance v0, Ljava/util/ArrayList;
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->o:Ljava/util/Set;
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
.line 391
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->o:Ljava/util/Set;
invoke-interface {v1}, Ljava/util/Set;->clear()V
if-eqz p1, :cond_40
.line 393
new-instance p1, Lcom/tencent/tmediacodec/b/e$2;
invoke-direct {p1, p0, v0}, Lcom/tencent/tmediacodec/b/e$2;-><init>(Lcom/tencent/tmediacodec/b/e;Ljava/util/List;)V
invoke-static {p1}, Lcom/tencent/tmediacodec/f/d;->b(Ljava/lang/Runnable;)V
return-void
.line 399
:cond_40
invoke-direct {p0, v0}, Lcom/tencent/tmediacodec/b/e;->a(Ljava/util/List;)V
:cond_43
return-void
.end method
.method private static b(Landroid/view/Surface;)I
.registers 1
if-nez p0, :cond_5
const/16 p0, 0x2713
return p0
.line 1104
:cond_5
invoke-virtual {p0}, Landroid/view/Surface;->isValid()Z
move-result p0
if-nez p0, :cond_e
const/16 p0, 0x2714
return p0
:cond_e
const/4 p0, 0x0
return p0
.end method
.method static synthetic b(Lcom/tencent/tmediacodec/b/e;)Ljava/util/Set;
.registers 1
.line 56
iget-object p0, p0, Lcom/tencent/tmediacodec/b/e;->o:Ljava/util/Set;
return-object p0
.end method
.method private b(I)V
.registers 5
const v0, 0x9c40
if-ge p1, v0, :cond_7
const/4 v0, 0x1
goto :goto_8
:cond_7
const/4 v0, 0x0
:goto_8
if-eqz v0, :cond_26
.line 374
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, " releaseCodecWhenError, errorCode:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
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
invoke-static {v0, p1}, Lcom/tencent/tmediacodec/f/a;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 376
invoke-virtual {p0}, Lcom/tencent/tmediacodec/b/e;->f()V
:cond_26
return-void
.end method
.method private b(II)Z
.registers 6
const/4 v0, 0x0
const/4 v1, -0x1
if-ne p2, v1, :cond_14
.line 1057
iget-object p2, p0, Lcom/tencent/tmediacodec/b/e;->p:[I
aget v1, p2, p1
const/4 v2, 0x1
add-int/2addr v1, v2
aput v1, p2, p1
.line 1058
aget p1, p2, p1
const/16 p2, 0x64
if-le p1, p2, :cond_13
return v2
:cond_13
return v0
.line 1060
:cond_14
iget-object p2, p0, Lcom/tencent/tmediacodec/b/e;->p:[I
aput v0, p2, p1
return v0
.end method
.method static synthetic c(Lcom/tencent/tmediacodec/b/e;)Ljava/lang/String;
.registers 1
.line 56
iget-object p0, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
return-object p0
.end method
.method static synthetic d(Lcom/tencent/tmediacodec/b/e;)Landroid/media/MediaCodec;
.registers 1
.line 56
iget-object p0, p0, Lcom/tencent/tmediacodec/b/e;->q:Landroid/media/MediaCodec;
return-object p0
.end method
.method static synthetic e(Lcom/tencent/tmediacodec/b/e;)V
.registers 2
const/4 v0, 0x0
.line 56
invoke-direct {p0, v0}, Lcom/tencent/tmediacodec/b/e;->a(Z)V
return-void
.end method
.method static synthetic f(Lcom/tencent/tmediacodec/b/e;)Lcom/tencent/tmediacodec/a/a;
.registers 1
.line 56
iget-object p0, p0, Lcom/tencent/tmediacodec/b/e;->w:Lcom/tencent/tmediacodec/a/a;
return-object p0
.end method
.method private k()Z
.registers 5
.line 151
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Thread;->getId()J
move-result-wide v0
iget-wide v2, p0, Lcom/tencent/tmediacodec/b/e;->v:J
cmp-long v0, v0, v2
if-eqz v0, :cond_10
const/4 v0, 0x1
return v0
:cond_10
const/4 v0, 0x0
return v0
.end method
.method private l()V
.registers 6
.line 885
invoke-direct {p0}, Lcom/tencent/tmediacodec/b/e;->k()Z
move-result v0
if-eqz v0, :cond_d
.line 886
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
const-string v1, "call method flush for isNotMyThread..."
invoke-static {v0, v1}, Lcom/tencent/tmediacodec/f/a;->d(Ljava/lang/String;Ljava/lang/String;)V
:cond_d
const/4 v0, 0x0
.line 892
:try_start_e
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v1
if-eqz v1, :cond_2f
.line 893
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, ", flush state:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 894
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
invoke-static {v1, v0}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 896
:cond_2f
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->q:Landroid/media/MediaCodec;
invoke-virtual {v1}, Landroid/media/MediaCodec;->flush()V
.line 897
sget-object v1, Lcom/tencent/tmediacodec/b/e$a;->d:Lcom/tencent/tmediacodec/b/e$a;
iput-object v1, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
:try_end_38
.catchall {:try_start_e .. :try_end_38} :catchall_39
return-void
:catchall_39
move-exception v1
const/4 v2, 0x0
.line 901
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result v3
const/16 v4, 0x15
if-lt v3, v4, :cond_4c
instance-of v3, v1, Landroid/media/MediaCodec$CodecException;
if-nez v3, :cond_48
goto :goto_4c
:cond_48
const v2, 0x15f91
goto :goto_53
.line 903
:cond_4c
:goto_4c
instance-of v3, v1, Ljava/lang/IllegalStateException;
if-eqz v3, :cond_53
const v2, 0x15f90
.line 907
:cond_53
:goto_53
invoke-direct {p0, v2, v0, v1}, Lcom/tencent/tmediacodec/b/e;->a(ILjava/lang/String;Ljava/lang/Throwable;)V
.line 908
throw v1
.end method
# virtual methods
.method public final a(Landroid/media/MediaCodec$BufferInfo;J)I
.registers 6
.line 848
invoke-direct {p0}, Lcom/tencent/tmediacodec/b/e;->k()Z
move-result v0
if-eqz v0, :cond_f
.line 849
iget-object p1, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
const-string p2, "ignore call method dequeueOutputBuffer for isNotMyThread"
invoke-static {p1, p2}, Lcom/tencent/tmediacodec/f/a;->d(Ljava/lang/String;Ljava/lang/String;)V
const/4 p1, -0x1
return p1
:cond_f
const/4 v0, 0x0
.line 855
:try_start_10
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->q:Landroid/media/MediaCodec;
invoke-virtual {v1, p1, p2, p3}, Landroid/media/MediaCodec;->dequeueOutputBuffer(Landroid/media/MediaCodec$BufferInfo;J)I
move-result p1
.line 857
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result p2
if-eqz p2, :cond_39
.line 858
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p3, ", dequeueOutputBuffer outIndex:"
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 859
instance-of p2, p0, Lcom/tencent/tmediacodec/b/f;
if-eqz p2, :cond_39
.line 860
iget-object p2, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
invoke-static {p2, v0}, Lcom/tencent/tmediacodec/f/a;->a(Ljava/lang/String;Ljava/lang/String;)V
.line 864
:cond_39
iget-object p2, p0, Lcom/tencent/tmediacodec/b/e;->m:Ljava/util/HashSet;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p3
invoke-virtual {p2, p3}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
.line 865
sget-object p2, Lcom/tencent/tmediacodec/b/e$b;->d:Lcom/tencent/tmediacodec/b/e$b;
iput-object p2, p0, Lcom/tencent/tmediacodec/b/e;->a:Lcom/tencent/tmediacodec/b/e$b;
const/4 p2, 0x1
.line 866
invoke-direct {p0, p2, p1}, Lcom/tencent/tmediacodec/b/e;->a(II)V
:try_end_4a
.catchall {:try_start_10 .. :try_end_4a} :catchall_4b
return p1
:catchall_4b
move-exception p1
const/4 p2, 0x0
.line 872
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result p3
const/16 v1, 0x15
if-lt p3, v1, :cond_5e
instance-of p3, p1, Landroid/media/MediaCodec$CodecException;
if-nez p3, :cond_5a
goto :goto_5e
:cond_5a
const p2, 0xea61
goto :goto_65
.line 874
:cond_5e
:goto_5e
instance-of p3, p1, Ljava/lang/IllegalStateException;
if-eqz p3, :cond_65
const p2, 0xea60
.line 878
:cond_65
:goto_65
invoke-direct {p0, p2, v0, p1}, Lcom/tencent/tmediacodec/b/e;->a(ILjava/lang/String;Ljava/lang/Throwable;)V
.line 879
throw p1
.end method
.method public final a()Landroid/media/MediaCodec;
.registers 2
.line 424
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->q:Landroid/media/MediaCodec;
return-object v0
.end method
.method public final a(Lcom/tencent/tmediacodec/b/d;)Lcom/tencent/tmediacodec/d/a$b;
.registers 2
.line 233
invoke-virtual {p0, p1}, Lcom/tencent/tmediacodec/b/e;->b(Lcom/tencent/tmediacodec/b/d;)Lcom/tencent/tmediacodec/d/a$b;
move-result-object p1
iput-object p1, p0, Lcom/tencent/tmediacodec/b/e;->y:Lcom/tencent/tmediacodec/d/a$b;
return-object p1
.end method
.method public final a(I)V
.registers 6
.line 914
invoke-direct {p0}, Lcom/tencent/tmediacodec/b/e;->k()Z
move-result v0
if-eqz v0, :cond_e
.line 915
iget-object p1, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
const-string v0, "ignore call method releaseOutputBuffer for isNotMyThread"
invoke-static {p1, v0}, Lcom/tencent/tmediacodec/f/a;->d(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_e
const/4 v0, 0x0
.line 921
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v1
if-eqz v1, :cond_2b
.line 922
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, ", releaseOutputBuffer render:true"
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 923
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
invoke-static {v1, v0}, Lcom/tencent/tmediacodec/f/a;->a(Ljava/lang/String;Ljava/lang/String;)V
.line 926
:cond_2b
:try_start_2b
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->m:Ljava/util/HashSet;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z
.line 927
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->q:Landroid/media/MediaCodec;
const/4 v2, 0x1
invoke-virtual {v1, p1, v2}, Landroid/media/MediaCodec;->releaseOutputBuffer(IZ)V
:try_end_3a
.catchall {:try_start_2b .. :try_end_3a} :catchall_3b
goto :goto_73
:catchall_3b
move-exception p1
.line 929
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
sget-object v2, Lcom/tencent/tmediacodec/b/e$a;->d:Lcom/tencent/tmediacodec/b/e$a;
if-eq v1, v2, :cond_58
.line 930
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v3, ", releaseOutputBuffer failed, ignore e:"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v1, v2, p1}, Lcom/tencent/tmediacodec/f/a;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_58
const/4 v1, 0x0
.line 935
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result v2
const/16 v3, 0x15
if-lt v2, v3, :cond_69
instance-of v2, p1, Landroid/media/MediaCodec$CodecException;
if-eqz v2, :cond_69
const v1, 0x11172
goto :goto_70
.line 937
:cond_69
instance-of v2, p1, Ljava/lang/IllegalStateException;
if-eqz v2, :cond_70
const v1, 0x11171
.line 941
:cond_70
:goto_70
invoke-direct {p0, v1, v0, p1}, Lcom/tencent/tmediacodec/b/e;->a(ILjava/lang/String;Ljava/lang/Throwable;)V
.line 944
:goto_73
sget-object p1, Lcom/tencent/tmediacodec/b/e$b;->e:Lcom/tencent/tmediacodec/b/e$b;
iput-object p1, p0, Lcom/tencent/tmediacodec/b/e;->a:Lcom/tencent/tmediacodec/b/e$b;
return-void
.end method
.method public final a(IIJI)V
.registers 16
.line 782
invoke-direct {p0}, Lcom/tencent/tmediacodec/b/e;->k()Z
move-result v0
if-eqz v0, :cond_e
.line 783
iget-object p1, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
const-string p2, "ignore call method queueInputBuffer for isNotMyThread"
invoke-static {p1, p2}, Lcom/tencent/tmediacodec/f/a;->d(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_e
const/4 v0, 0x0
.line 787
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v1
if-eqz v1, :cond_5f
.line 788
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, ", queueInputBuffer index:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, " offset:0 size:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, " presentationTimeUs:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p3, p4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const/16 v1, 0x20
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const-string v1, "flags:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, " state:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, " decodeState:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->a:Lcom/tencent/tmediacodec/b/e$b;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 791
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
invoke-static {v1, v0}, Lcom/tencent/tmediacodec/f/a;->a(Ljava/lang/String;Ljava/lang/String;)V
.line 795
:cond_5f
:try_start_5f
iget-boolean v1, p0, Lcom/tencent/tmediacodec/b/e;->x:Z
if-eqz v1, :cond_95
.line 5820
sget-object v1, Lcom/tencent/tmediacodec/b/e$4;->a:[I
iget-object v2, p0, Lcom/tencent/tmediacodec/b/e;->y:Lcom/tencent/tmediacodec/d/a$b;
invoke-virtual {v2}, Lcom/tencent/tmediacodec/d/a$b;->ordinal()I
move-result v2
aget v1, v1, v2
const/4 v2, 0x1
if-eq v1, v2, :cond_8d
const/4 v2, 0x2
if-eq v1, v2, :cond_82
const/4 v2, 0x3
if-eq v1, v2, :cond_77
goto :goto_9f
.line 5830
:cond_77
iget-object v3, p0, Lcom/tencent/tmediacodec/b/e;->q:Landroid/media/MediaCodec;
const/4 v5, 0x0
move v4, p1
move v6, p2
move-wide v7, p3
move v9, p5
invoke-virtual/range {v3 .. v9}, Landroid/media/MediaCodec;->queueInputBuffer(IIIJI)V
goto :goto_9f
.line 5843
:cond_82
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->q:Landroid/media/MediaCodec;
const/4 v3, 0x0
move v2, p1
move v4, p2
move-wide v5, p3
move v7, p5
invoke-virtual/range {v1 .. v7}, Landroid/media/MediaCodec;->queueInputBuffer(IIIJI)V
goto :goto_9f
.line 5822
:cond_8d
iget-object p1, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
const-string p2, "queueInputBufferForAdaptation error for KEEP_CODEC_RESULT_NO"
invoke-static {p1, p2}, Lcom/tencent/tmediacodec/f/a;->d(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_9f
.line 798
:cond_95
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->q:Landroid/media/MediaCodec;
const/4 v3, 0x0
move v2, p1
move v4, p2
move-wide v5, p3
move v7, p5
invoke-virtual/range {v1 .. v7}, Landroid/media/MediaCodec;->queueInputBuffer(IIIJI)V
.line 801
:goto_9f
sget-object p1, Lcom/tencent/tmediacodec/b/e$b;->c:Lcom/tencent/tmediacodec/b/e$b;
iput-object p1, p0, Lcom/tencent/tmediacodec/b/e;->a:Lcom/tencent/tmediacodec/b/e$b;
:try_end_a3
.catchall {:try_start_5f .. :try_end_a3} :catchall_a4
return-void
:catchall_a4
move-exception p1
const/4 p2, 0x0
.line 805
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result p3
const/16 p4, 0x15
if-lt p3, p4, :cond_b7
instance-of p3, p1, Landroid/media/MediaCodec$CodecException;
if-nez p3, :cond_b3
goto :goto_b7
:cond_b3
const p2, 0xc351
goto :goto_c6
.line 807
:cond_b7
:goto_b7
instance-of p3, p1, Ljava/lang/IllegalStateException;
if-nez p3, :cond_c3
.line 809
instance-of p3, p1, Landroid/media/MediaCodec$CryptoException;
if-eqz p3, :cond_c6
const p2, 0xc352
goto :goto_c6
:cond_c3
const p2, 0xc350
.line 813
:cond_c6
:goto_c6
invoke-direct {p0, p2, v0, p1}, Lcom/tencent/tmediacodec/b/e;->a(ILjava/lang/String;Ljava/lang/Throwable;)V
.line 814
throw p1
.end method
.method public final a(Landroid/media/MediaFormat;Landroid/view/Surface;)V
.registers 14
.line 429
invoke-direct {p0}, Lcom/tencent/tmediacodec/b/e;->k()Z
move-result v0
if-eqz v0, :cond_e
.line 430
iget-object p1, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
const-string p2, "ignore call method configure for isNotMyThread"
invoke-static {p1, p2}, Lcom/tencent/tmediacodec/f/a;->d(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_e
const/4 v0, 0x1
.line 433
iput-boolean v0, p0, Lcom/tencent/tmediacodec/b/e;->z:Z
const/4 v1, 0x0
.line 436
:try_start_12
iput-boolean v1, p0, Lcom/tencent/tmediacodec/b/e;->s:Z
.line 438
iget-object v2, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
sget-object v3, Lcom/tencent/tmediacodec/b/e$a;->a:Lcom/tencent/tmediacodec/b/e$a;
:try_end_18
.catchall {:try_start_12 .. :try_end_18} :catchall_111
const/4 v4, 0x0
if-ne v2, v3, :cond_88
.line 3484
:try_start_1b
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v0
if-eqz v0, :cond_5f
.line 3485
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, ", realConfigure mediaFormat:"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, " surface:"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, " crypto:"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, " flags:0 state:"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, " mHasConfigureCalled\uff1a"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-boolean v2, p0, Lcom/tencent/tmediacodec/b/e;->z:Z
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
:try_end_59
.catchall {:try_start_1b .. :try_end_59} :catchall_70
.line 3488
:try_start_59
iget-object v2, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
invoke-static {v2, v0}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_60
:cond_5f
move-object v0, v4
.line 3491
:goto_60
iget-object v2, p0, Lcom/tencent/tmediacodec/b/e;->q:Landroid/media/MediaCodec;
invoke-virtual {v2, p1, p2, v4, v1}, Landroid/media/MediaCodec;->configure(Landroid/media/MediaFormat;Landroid/view/Surface;Landroid/media/MediaCrypto;I)V
.line 3492
invoke-direct {p0, p2}, Lcom/tencent/tmediacodec/b/e;->a(Landroid/view/Surface;)V
.line 3493
sget-object p1, Lcom/tencent/tmediacodec/b/e$a;->b:Lcom/tencent/tmediacodec/b/e$a;
iput-object p1, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
:try_end_6c
.catchall {:try_start_59 .. :try_end_6c} :catchall_6d
return-void
:catchall_6d
move-exception p1
move-object v7, v0
goto :goto_72
:catchall_70
move-exception p1
move-object v7, v4
.line 3497
:goto_72
:try_start_72
instance-of v0, p1, Ljava/lang/IllegalStateException;
if-nez v0, :cond_7d
.line 3499
instance-of v0, p1, Landroid/media/MediaCodec$CryptoException;
if-eqz v0, :cond_7f
const/16 v1, 0x2711
goto :goto_7f
:cond_7d
const/16 v1, 0x2710
:cond_7f
:goto_7f
move v6, v1
const/4 v9, 0x1
move-object v5, p0
move-object v8, p1
move-object v10, p2
.line 3502
invoke-direct/range {v5 .. v10}, Lcom/tencent/tmediacodec/b/e;->a(ILjava/lang/String;Ljava/lang/Throwable;ZLandroid/view/Surface;)V
.line 3503
throw p1
:cond_88
if-eqz p2, :cond_110
.line 4065
iget-object p1, p0, Lcom/tencent/tmediacodec/b/e;->p:[I
aput v1, p1, v1
.line 4066
aput v1, p1, v0
.line 4610
iget-object p1, p0, Lcom/tencent/tmediacodec/b/e;->f:Landroid/view/Surface;
if-ne p1, p2, :cond_bf
.line 4611
iget-object p1, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, ", innerSetOutputSurface error surface:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p2, " is same, stack:"
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
new-instance p2, Ljava/lang/Throwable;
invoke-direct {p2}, Ljava/lang/Throwable;-><init>()V
.line 4613
invoke-static {p2}, Landroid/util/Log;->getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object p2
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
.line 4611
invoke-static {p1, p2}, Lcom/tencent/tmediacodec/f/a;->d(Ljava/lang/String;Ljava/lang/String;)V
return-void
.line 4618
:cond_bf
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result p1
if-eqz p1, :cond_ed
.line 4619
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, " configure, call innerSetOutputSurface surface:"
invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, " decodeState:"
invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/tencent/tmediacodec/b/e;->a:Lcom/tencent/tmediacodec/b/e$b;
invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, " callByInner:true"
invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
.line 4622
iget-object p1, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
invoke-static {p1, v4}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
:try_end_ed
.catchall {:try_start_72 .. :try_end_ed} :catchall_111
:cond_ed
move-object v2, v4
.line 4626
:try_start_ee
invoke-direct {p0, p2}, Lcom/tencent/tmediacodec/b/e;->a(Landroid/view/Surface;)V
.line 4627
iget-object p1, p0, Lcom/tencent/tmediacodec/b/e;->q:Landroid/media/MediaCodec;
invoke-virtual {p1, p2}, Landroid/media/MediaCodec;->setOutputSurface(Landroid/view/Surface;)V
.line 5381
invoke-direct {p0, v0}, Lcom/tencent/tmediacodec/b/e;->a(Z)V
:try_end_f9
.catchall {:try_start_ee .. :try_end_f9} :catchall_fa
return-void
:catchall_fa
move-exception p1
.line 4632
:try_start_fb
instance-of v0, p1, Ljava/lang/IllegalStateException;
if-nez v0, :cond_106
.line 4634
instance-of v0, p1, Ljava/lang/IllegalArgumentException;
if-eqz v0, :cond_108
const/16 v1, 0x7531
goto :goto_108
:cond_106
const/16 v1, 0x7530
:cond_108
:goto_108
const/4 v4, 0x1
move-object v0, p0
move-object v3, p1
move-object v5, p2
.line 4638
invoke-direct/range {v0 .. v5}, Lcom/tencent/tmediacodec/b/e;->a(ILjava/lang/String;Ljava/lang/Throwable;ZLandroid/view/Surface;)V
.line 4639
throw p1
:try_end_110
.catchall {:try_start_fb .. :try_end_110} :catchall_111
:cond_110
return-void
:catchall_111
move-exception p1
.line 445
throw p1
.end method
.method public final a(Lcom/tencent/tmediacodec/a/a;)V
.registers 2
.line 419
iput-object p1, p0, Lcom/tencent/tmediacodec/b/e;->w:Lcom/tencent/tmediacodec/a/a;
return-void
.end method
.method public abstract b(Lcom/tencent/tmediacodec/b/d;)Lcom/tencent/tmediacodec/d/a$b;
.end method
.method public final b()V
.registers 5
.line 321
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Thread;->getId()J
move-result-wide v0
.line 322
iget-object v2, p0, Lcom/tencent/tmediacodec/b/e;->n:Ljava/util/ArrayList;
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_15
return-void
.line 327
:cond_15
iput-wide v0, p0, Lcom/tencent/tmediacodec/b/e;->v:J
.line 328
iget-object v2, p0, Lcom/tencent/tmediacodec/b/e;->n:Ljava/util/ArrayList;
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 330
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->n:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
const/16 v1, 0x64
if-le v0, v1, :cond_30
.line 331
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->n:Ljava/util/ArrayList;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
:cond_30
return-void
.end method
.method public final c()V
.registers 4
const/4 v0, 0x0
.line 6036
iput-boolean v0, p0, Lcom/tencent/tmediacodec/b/e;->B:Z
.line 6037
iput v0, p0, Lcom/tencent/tmediacodec/b/e;->i:I
.line 983
invoke-static {}, Lcom/tencent/tmediacodec/a;->b()Z
move-result v0
if-eqz v0, :cond_1e
.line 984
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
sget-object v1, Lcom/tencent/tmediacodec/b/e$a;->e:Lcom/tencent/tmediacodec/b/e$a;
if-ne v0, v1, :cond_27
.line 986
:try_start_11
invoke-direct {p0}, Lcom/tencent/tmediacodec/b/e;->l()V
:try_end_14
.catch Ljava/lang/IllegalStateException; {:try_start_11 .. :try_end_14} :catch_15
goto :goto_27
:catch_15
move-exception v0
.line 988
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
const-string v2, "flush failed in prepareToReUse"
invoke-static {v1, v2, v0}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_27
.line 992
:cond_1e
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
sget-object v1, Lcom/tencent/tmediacodec/b/e$a;->d:Lcom/tencent/tmediacodec/b/e$a;
if-eq v0, v1, :cond_27
.line 993
invoke-direct {p0}, Lcom/tencent/tmediacodec/b/e;->l()V
:cond_27
:goto_27
const/4 v0, 0x1
.line 997
iput-boolean v0, p0, Lcom/tencent/tmediacodec/b/e;->x:Z
return-void
.end method
.method public final d()V
.registers 6
.line 546
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
sget-object v1, Lcom/tencent/tmediacodec/b/e$a;->b:Lcom/tencent/tmediacodec/b/e$a;
if-eq v0, v1, :cond_1c
.line 547
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "start ignore:"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v2, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_1c
const/4 v0, 0x0
.line 553
:try_start_1d
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v1
if-eqz v1, :cond_3e
.line 554
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, ", start state:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 555
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
invoke-static {v1, v0}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 557
:cond_3e
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
sget-object v2, Lcom/tencent/tmediacodec/b/e$a;->b:Lcom/tencent/tmediacodec/b/e$a;
if-ne v1, v2, :cond_4d
.line 558
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->q:Landroid/media/MediaCodec;
invoke-virtual {v1}, Landroid/media/MediaCodec;->start()V
.line 559
sget-object v1, Lcom/tencent/tmediacodec/b/e$a;->e:Lcom/tencent/tmediacodec/b/e$a;
iput-object v1, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
:try_end_4d
.catchall {:try_start_1d .. :try_end_4d} :catchall_4e
:cond_4d
return-void
:catchall_4e
move-exception v1
const/4 v2, 0x0
.line 564
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result v3
const/16 v4, 0x15
if-lt v3, v4, :cond_60
instance-of v3, v1, Landroid/media/MediaCodec$CodecException;
if-nez v3, :cond_5d
goto :goto_60
:cond_5d
const/16 v2, 0x4e21
goto :goto_66
.line 566
:cond_60
:goto_60
instance-of v3, v1, Ljava/lang/IllegalStateException;
if-eqz v3, :cond_66
const/16 v2, 0x4e20
.line 570
:cond_66
:goto_66
invoke-direct {p0, v2, v0, v1}, Lcom/tencent/tmediacodec/b/e;->a(ILjava/lang/String;Ljava/lang/Throwable;)V
.line 571
throw v1
.end method
.method public final e()V
.registers 4
.line 649
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v0
if-eqz v0, :cond_1c
.line 650
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, ", stop"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 652
:cond_1c
invoke-virtual {p0}, Lcom/tencent/tmediacodec/b/e;->i()Z
move-result v0
if-nez v0, :cond_55
.line 653
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v0
if-eqz v0, :cond_3e
.line 654
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, ", codec real stop"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 658
:cond_3e
:try_start_3e
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->q:Landroid/media/MediaCodec;
invoke-virtual {v0}, Landroid/media/MediaCodec;->stop()V
:try_end_43
.catch Ljava/lang/IllegalStateException; {:try_start_3e .. :try_end_43} :catch_48
.line 668
sget-object v0, Lcom/tencent/tmediacodec/b/e$a;->a:Lcom/tencent/tmediacodec/b/e$a;
iput-object v0, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
goto :goto_55
:catch_48
move-exception v0
.line 660
sget-object v1, Lcom/tencent/tmediacodec/b/e$a;->a:Lcom/tencent/tmediacodec/b/e$a;
iput-object v1, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
.line 664
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
const-string v2, "stop failed"
invoke-static {v1, v2, v0}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 665
throw v0
:cond_55
:goto_55
return-void
.end method
.method public final f()V
.registers 4
.line 674
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v0
if-eqz v0, :cond_3c
.line 675
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, " call release mHoldBufferOutIndex:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/tencent/tmediacodec/b/e;->m:Ljava/util/HashSet;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, " mReleaseCalled:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-boolean v2, p0, Lcom/tencent/tmediacodec/b/e;->s:Z
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v2, " stack:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
new-instance v2, Ljava/lang/Throwable;
invoke-direct {v2}, Ljava/lang/Throwable;-><init>()V
.line 676
invoke-static {v2}, Landroid/util/Log;->getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 675
invoke-static {v0, v1}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
:cond_3c
const/4 v0, 0x1
.line 678
iput-boolean v0, p0, Lcom/tencent/tmediacodec/b/e;->s:Z
const/4 v0, 0x0
.line 679
iput-boolean v0, p0, Lcom/tencent/tmediacodec/b/e;->z:Z
.line 680
invoke-virtual {p0}, Lcom/tencent/tmediacodec/b/e;->i()Z
move-result v0
if-eqz v0, :cond_5c
.line 683
:try_start_48
invoke-direct {p0}, Lcom/tencent/tmediacodec/b/e;->l()V
:try_end_4b
.catch Ljava/lang/IllegalStateException; {:try_start_48 .. :try_end_4b} :catch_4c
goto :goto_54
:catch_4c
move-exception v0
.line 685
iget-object v1, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
const-string v2, "flush failed for not in the Executing state."
invoke-static {v1, v2, v0}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 687
:goto_54
invoke-static {}, Lcom/tencent/tmediacodec/a;->a()Lcom/tencent/tmediacodec/a;
move-result-object v0
invoke-virtual {v0, p0}, Lcom/tencent/tmediacodec/a;->b(Lcom/tencent/tmediacodec/b/b;)V
return-void
.line 689
:cond_5c
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v0
if-eqz v0, :cond_77
.line 690
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Don\'t not keep the codec, release it ..., mErrorHappened:"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-boolean v2, p0, Lcom/tencent/tmediacodec/b/e;->A:Z
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/tencent/tmediacodec/f/a;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 692
:cond_77
invoke-static {}, Lcom/tencent/tmediacodec/a;->a()Lcom/tencent/tmediacodec/a;
move-result-object v0
invoke-virtual {v0, p0}, Lcom/tencent/tmediacodec/a;->a(Lcom/tencent/tmediacodec/b/b;)V
.line 693
invoke-virtual {p0}, Lcom/tencent/tmediacodec/b/e;->h()V
.line 694
sget-object v0, Lcom/tencent/tmediacodec/b/e$a;->g:Lcom/tencent/tmediacodec/b/e$a;
iput-object v0, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
return-void
.end method
.method public final g()I
.registers 6
.line 745
invoke-direct {p0}, Lcom/tencent/tmediacodec/b/e;->k()Z
move-result v0
if-eqz v0, :cond_f
.line 746
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
const-string v1, "ignore call method dequeueInputBuffer for isNotMyThread"
invoke-static {v0, v1}, Lcom/tencent/tmediacodec/f/a;->d(Ljava/lang/String;Ljava/lang/String;)V
const/4 v0, -0x1
return v0
:cond_f
const/4 v0, 0x0
const/4 v1, 0x0
.line 753
:try_start_11
iget-object v2, p0, Lcom/tencent/tmediacodec/b/e;->q:Landroid/media/MediaCodec;
const-wide/16 v3, 0x2710
invoke-virtual {v2, v3, v4}, Landroid/media/MediaCodec;->dequeueInputBuffer(J)I
move-result v2
.line 755
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v3
if-eqz v3, :cond_4c
.line 756
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v4, ", dequeueInputBuffer state:"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v4, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v4, " decodeState:"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v4, p0, Lcom/tencent/tmediacodec/b/e;->a:Lcom/tencent/tmediacodec/b/e$b;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v4, " , result="
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 758
iget-object v3, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
invoke-static {v3, v0}, Lcom/tencent/tmediacodec/f/a;->a(Ljava/lang/String;Ljava/lang/String;)V
.line 761
:cond_4c
sget-object v3, Lcom/tencent/tmediacodec/b/e$b;->b:Lcom/tencent/tmediacodec/b/e$b;
iput-object v3, p0, Lcom/tencent/tmediacodec/b/e;->a:Lcom/tencent/tmediacodec/b/e$b;
.line 762
sget-object v3, Lcom/tencent/tmediacodec/b/e$a;->e:Lcom/tencent/tmediacodec/b/e$a;
iput-object v3, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
.line 763
invoke-direct {p0, v1, v2}, Lcom/tencent/tmediacodec/b/e;->a(II)V
:try_end_57
.catchall {:try_start_11 .. :try_end_57} :catchall_58
return v2
:catchall_58
move-exception v2
.line 769
instance-of v3, v2, Ljava/lang/IllegalStateException;
if-nez v3, :cond_65
.line 771
instance-of v3, v2, Ljava/lang/IllegalArgumentException;
if-eqz v3, :cond_68
const v1, 0x9c41
goto :goto_68
:cond_65
const v1, 0x9c40
.line 775
:cond_68
:goto_68
invoke-direct {p0, v1, v0, v2}, Lcom/tencent/tmediacodec/b/e;->a(ILjava/lang/String;Ljava/lang/Throwable;)V
.line 776
throw v2
.end method
.method public final h()V
.registers 5
.line 702
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, ", recycle isRecycled:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-boolean v2, p0, Lcom/tencent/tmediacodec/b/e;->b:Z
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v2, " mSurfaceMap.size:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v2, Lcom/tencent/tmediacodec/b/e;->j:Ljava/util/Map;
.line 703
invoke-interface {v2}, Ljava/util/Map;->size()I
move-result v3
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, "...... stack:"
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
new-instance v3, Ljava/lang/Throwable;
invoke-direct {v3}, Ljava/lang/Throwable;-><init>()V
.line 704
invoke-static {v3}, Landroid/util/Log;->getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 702
invoke-static {v0, v1}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 707
iget-boolean v0, p0, Lcom/tencent/tmediacodec/b/e;->b:Z
if-eqz v0, :cond_46
.line 708
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->k:Ljava/lang/String;
const-string v1, "ignore recycle for has isRecycled is true."
invoke-static {v0, v1}, Lcom/tencent/tmediacodec/f/a;->d(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_46
const/4 v0, 0x0
.line 712
iput-boolean v0, p0, Lcom/tencent/tmediacodec/b/e;->z:Z
const/4 v0, 0x1
.line 713
iput-boolean v0, p0, Lcom/tencent/tmediacodec/b/e;->b:Z
.line 715
invoke-static {}, Ljava/util/Collections;->emptySet()Ljava/util/Set;
move-result-object v0
invoke-static {p0}, Ljava/util/Collections;->singleton(Ljava/lang/Object;)Ljava/util/Set;
move-result-object v1
invoke-direct {p0, v0, v1}, Lcom/tencent/tmediacodec/b/e;->a(Ljava/util/Set;Ljava/util/Set;)V
.line 717
new-instance v0, Lcom/tencent/tmediacodec/b/e$3;
invoke-direct {v0, p0}, Lcom/tencent/tmediacodec/b/e$3;-><init>(Lcom/tencent/tmediacodec/b/e;)V
invoke-static {v0}, Lcom/tencent/tmediacodec/f/d;->a(Ljava/lang/Runnable;)V
.line 740
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->f:Landroid/view/Surface;
invoke-interface {v2, v0}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 741
sget-object v0, Lcom/tencent/tmediacodec/b/e$a;->a:Lcom/tencent/tmediacodec/b/e$a;
iput-object v0, p0, Lcom/tencent/tmediacodec/b/e;->t:Lcom/tencent/tmediacodec/b/e$a;
return-void
.end method
.method public i()Z
.registers 4
.line 1001
invoke-static {}, Lcom/tencent/tmediacodec/a;->b()Z
move-result v0
const/4 v1, 0x1
const/4 v2, 0x0
if-eqz v0, :cond_1e
.line 1002
iget-boolean v0, p0, Lcom/tencent/tmediacodec/b/e;->A:Z
if-nez v0, :cond_1d
invoke-static {}, Lcom/tencent/tmediacodec/a;->a()Lcom/tencent/tmediacodec/a;
move-result-object v0
.line 6105
iget-boolean v0, v0, Lcom/tencent/tmediacodec/a;->b:Z
if-eqz v0, :cond_1d
.line 1003
invoke-static {}, Lcom/tencent/tmediacodec/a;->a()Lcom/tencent/tmediacodec/a;
move-result-object v0
.line 6118
iget-boolean v0, v0, Lcom/tencent/tmediacodec/a;->e:Z
if-eqz v0, :cond_1d
return v1
:cond_1d
return v2
.line 1005
:cond_1e
iget-boolean v0, p0, Lcom/tencent/tmediacodec/b/e;->A:Z
if-nez v0, :cond_2b
invoke-static {}, Lcom/tencent/tmediacodec/a;->a()Lcom/tencent/tmediacodec/a;
move-result-object v0
.line 7105
iget-boolean v0, v0, Lcom/tencent/tmediacodec/a;->b:Z
if-eqz v0, :cond_2b
return v1
:cond_2b
return v2
.end method
.method public final j()Ljava/lang/String;
.registers 2
.line 1032
iget-object v0, p0, Lcom/tencent/tmediacodec/b/e;->h:Ljava/lang/String;
return-object v0
.end method
.method public toString()Ljava/lang/String;
.registers 3
.line 1010
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-super {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, " mReleaseCalled:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-boolean v1, p0, Lcom/tencent/tmediacodec/b/e;->s:Z
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v1, " isRecycled:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-boolean v1, p0, Lcom/tencent/tmediacodec/b/e;->b:Z
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method