c.smali
.class public final Lcom/tencent/tmediacodec/f/c;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final a:[Ljava/lang/String;
.field private static b:Z
.field private static c:Z
# direct methods
.method static constructor <clinit>()V
.registers 3
const-string v0, "csd-0"
const-string v1, "csd-1"
const-string v2, "csd-2"
.line 36
filled-new-array {v0, v1, v2}, [Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/tencent/tmediacodec/f/c;->a:[Ljava/lang/String;
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 26
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static a(I)I
.registers 1
add-int/lit8 p0, p0, 0x10
add-int/lit8 p0, p0, -0x1
.line 297
div-int/lit8 p0, p0, 0x10
return p0
.end method
.method public static a(Lcom/tencent/tmediacodec/b/e;Lcom/tencent/tmediacodec/b/d;)I
.registers 4
.line 220
iget v0, p1, Lcom/tencent/tmediacodec/b/d;->i:I
const/4 v1, -0x1
if-eq v0, v1, :cond_20
const/4 p0, 0x0
move v0, p0
.line 223
:goto_7
iget-object v1, p1, Lcom/tencent/tmediacodec/b/d;->a:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
move-result v1
if-ge p0, v1, :cond_1c
.line 224
iget-object v1, p1, Lcom/tencent/tmediacodec/b/d;->a:Ljava/util/ArrayList;
invoke-virtual {v1, p0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, [B
array-length v1, v1
add-int/2addr v0, v1
add-int/lit8 p0, p0, 0x1
goto :goto_7
.line 227
:cond_1c
iget p0, p1, Lcom/tencent/tmediacodec/b/d;->i:I
add-int/2addr p0, v0
goto :goto_2c
.line 229
:cond_20
iget-object v0, p1, Lcom/tencent/tmediacodec/b/d;->j:Ljava/lang/String;
iget v1, p1, Lcom/tencent/tmediacodec/b/d;->b:I
iget p1, p1, Lcom/tencent/tmediacodec/b/d;->c:I
iget-boolean p0, p0, Lcom/tencent/tmediacodec/b/e;->d:Z
invoke-static {v0, v1, p1, p0}, Lcom/tencent/tmediacodec/f/c;->a(Ljava/lang/String;IIZ)I
move-result p0
:goto_2c
return p0
.end method
.method public static a(Ljava/lang/String;IIZ)I
.registers 9
const/4 v0, -0x1
if-eq p1, v0, :cond_a5
if-ne p2, v0, :cond_7
goto/16 :goto_a5
.line 259
:cond_7
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
move-result v1
const/4 v2, 0x4
const/4 v3, 0x3
const/4 v4, 0x2
sparse-switch v1, :sswitch_data_a6
:goto_14
move p0, v0
goto :goto_57
:sswitch_16
const-string v1, "video/x-vnd.on2.vp9"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_1f
goto :goto_14
:cond_1f
const/4 p0, 0x5
goto :goto_57
:sswitch_21
const-string v1, "video/x-vnd.on2.vp8"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_2a
goto :goto_14
:cond_2a
move p0, v2
goto :goto_57
:sswitch_2c
const-string v1, "video/avc"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_35
goto :goto_14
:cond_35
move p0, v3
goto :goto_57
:sswitch_37
const-string v1, "video/mp4v-es"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_40
goto :goto_14
:cond_40
move p0, v4
goto :goto_57
:sswitch_42
const-string v1, "video/hevc"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_4b
goto :goto_14
:cond_4b
const/4 p0, 0x1
goto :goto_57
:sswitch_4d
const-string v1, "video/3gpp"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_56
goto :goto_14
:cond_56
const/4 p0, 0x0
:goto_57
packed-switch p0, :pswitch_data_c0
return v0
.line 266
:pswitch_5b
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getModel()Ljava/lang/String;
move-result-object p0
const-string v1, "BRAVIA 4K 2015"
invoke-virtual {v1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_9c
.line 267
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getManufacturer()Ljava/lang/String;
move-result-object p0
const-string v1, "Amazon"
invoke-virtual {v1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_8e
.line 268
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getModel()Ljava/lang/String;
move-result-object p0
const-string v1, "KFSOWI"
invoke-virtual {v1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_9c
.line 269
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getModel()Ljava/lang/String;
move-result-object p0
const-string v1, "AFTS"
invoke-virtual {v1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_8e
if-eqz p3, :cond_8e
goto :goto_9c
.line 275
:cond_8e
invoke-static {p1}, Lcom/tencent/tmediacodec/f/c;->a(I)I
move-result p0
invoke-static {p2}, Lcom/tencent/tmediacodec/f/c;->a(I)I
move-result p1
mul-int/2addr p0, p1
mul-int/lit8 p0, p0, 0x10
mul-int/lit8 p1, p0, 0x10
goto :goto_a0
:cond_9c
:goto_9c
return v0
:pswitch_9d
mul-int/2addr p1, p2
goto :goto_a1
:pswitch_9f
mul-int/2addr p1, p2
:goto_a0
move v2, v4
:goto_a1
mul-int/2addr p1, v3
mul-int/2addr v2, v4
.line 293
div-int/2addr p1, v2
return p1
:cond_a5
:goto_a5
return v0
:sswitch_data_a6
.sparse-switch
-0x63306f58 -> :sswitch_4d
-0x63185e82 -> :sswitch_42
0x46cdc642 -> :sswitch_37
0x4f62373a -> :sswitch_2c
0x5f50bed8 -> :sswitch_21
0x5f50bed9 -> :sswitch_16
.end sparse-switch
:pswitch_data_c0
.packed-switch 0x0
:pswitch_9f
:pswitch_9d
:pswitch_9f
:pswitch_5b
:pswitch_9f
:pswitch_9d
.end packed-switch
.end method
.method public static a(Landroid/media/MediaCodec;)Ljava/lang/String;
.registers 3
.line 181
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result v0
const/16 v1, 0x12
if-lt v0, v1, :cond_d
.line 182
invoke-virtual {p0}, Landroid/media/MediaCodec;->getName()Ljava/lang/String;
move-result-object p0
return-object p0
:cond_d
const-string p0, "unknow-low-api-18"
return-object p0
.end method
.method public static a(Landroid/view/Surface;)Ljava/lang/String;
.registers 3
.line 191
:try_start_0
const-class v0, Landroid/view/Surface;
const-string v1, "mName"
invoke-static {v0, v1}, Lcom/tencent/tmediacodec/f/b;->a(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
const/4 v1, 0x1
.line 192
invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->setAccessible(Z)V
.line 193
invoke-virtual {v0, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
:try_end_14
.catchall {:try_start_0 .. :try_end_14} :catchall_15
return-object p0
:catchall_15
move-exception p0
const-string v0, "TUtils"
const-string v1, "getSurfaceTextureName failed"
.line 195
invoke-static {v0, v1, p0}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
const-string p0, ""
return-object p0
.end method
.method public static a(Landroid/media/MediaFormat;)Ljava/util/ArrayList;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/media/MediaFormat;",
")",
"Ljava/util/ArrayList<",
"[B>;"
}
.end annotation
.line 308
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
const/4 v1, 0x0
.line 309
:goto_6
sget-object v2, Lcom/tencent/tmediacodec/f/c;->a:[Ljava/lang/String;
array-length v3, v2
if-ge v1, v3, :cond_1d
.line 310
aget-object v2, v2, v1
invoke-virtual {p0, v2}, Landroid/media/MediaFormat;->getByteBuffer(Ljava/lang/String;)Ljava/nio/ByteBuffer;
move-result-object v2
if-eqz v2, :cond_1a
.line 312
invoke-virtual {v2}, Ljava/nio/ByteBuffer;->array()[B
move-result-object v2
invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_1a
add-int/lit8 v1, v1, 0x1
goto :goto_6
:cond_1d
return-object v0
.end method
.method public static a()Z
.registers 7
.line 325
const-class v0, Lcom/tencent/tmediacodec/f/c;
monitor-enter v0
.line 326
:try_start_3
sget-boolean v1, Lcom/tencent/tmediacodec/f/c;->b:Z
if-nez v1, :cond_8b
const-string v1, "dangal"
.line 327
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getModel()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
const/4 v2, 0x1
if-nez v1, :cond_6c
.line 332
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result v1
const/16 v3, 0x1b
if-gt v1, v3, :cond_28
const-string v1, "EML-L29"
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getModel()Ljava/lang/String;
move-result-object v4
invoke-virtual {v1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_6c
.line 336
:cond_28
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result v1
if-ge v1, v3, :cond_6e
.line 359
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getModel()Ljava/lang/String;
move-result-object v1
const/4 v3, -0x1
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
move-result v4
const v5, -0x236fe21d
const/4 v6, 0x2
if-eq v4, v5, :cond_5c
const v5, 0x1e9d52
if-eq v4, v5, :cond_52
const v5, 0x1e9d5f
if-eq v4, v5, :cond_48
goto :goto_65
:cond_48
const-string v4, "AFTN"
invoke-virtual {v1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_65
move v3, v2
goto :goto_65
:cond_52
const-string v4, "AFTA"
invoke-virtual {v1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_65
const/4 v3, 0x0
goto :goto_65
:cond_5c
const-string v4, "JSN-L21"
invoke-virtual {v1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_65
move v3, v6
:cond_65
:goto_65
if-eqz v3, :cond_6c
if-eq v3, v2, :cond_6c
if-eq v3, v6, :cond_6c
goto :goto_6e
.line 363
:cond_6c
sput-boolean v2, Lcom/tencent/tmediacodec/f/c;->c:Z
.line 371
:cond_6e
:goto_6e
invoke-static {}, Lcom/tencent/tmediacodec/f/a;->a()Z
move-result v1
if-eqz v1, :cond_89
const-string v1, "TUtils"
.line 372
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "deviceNeedsSetOutputSurfaceWorkaround:"
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
sget-boolean v4, Lcom/tencent/tmediacodec/f/c;->c:Z
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v1, v3}, Lcom/tencent/tmediacodec/f/a;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 375
:cond_89
sput-boolean v2, Lcom/tencent/tmediacodec/f/c;->b:Z
.line 377
:cond_8b
monitor-exit v0
:try_end_8c
.catchall {:try_start_3 .. :try_end_8c} :catchall_8f
.line 378
sget-boolean v0, Lcom/tencent/tmediacodec/f/c;->c:Z
return v0
:catchall_8f
move-exception v1
.line 377
:try_start_90
monitor-exit v0
:try_end_91
.catchall {:try_start_90 .. :try_end_91} :catchall_8f
throw v1
.end method
.method public static a(Landroid/media/MediaCodecInfo$CodecCapabilities;)Z
.registers 3
.line 201
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result v0
const/16 v1, 0x13
if-lt v0, v1, :cond_12
const-string v0, "adaptive-playback"
.line 1206
invoke-virtual {p0, v0}, Landroid/media/MediaCodecInfo$CodecCapabilities;->isFeatureSupported(Ljava/lang/String;)Z
move-result p0
if-eqz p0, :cond_12
const/4 p0, 0x1
return p0
:cond_12
const/4 p0, 0x0
return p0
.end method
.method public static a(Ljava/lang/String;)Z
.registers 2
const-string v0, "video"
.line 172
invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result p0
return p0
.end method
.method public static b(Landroid/media/MediaCodecInfo$CodecCapabilities;)Z
.registers 3
.line 210
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result v0
const/16 v1, 0x15
if-lt v0, v1, :cond_12
const-string v0, "secure-playback"
.line 1215
invoke-virtual {p0, v0}, Landroid/media/MediaCodecInfo$CodecCapabilities;->isFeatureSupported(Ljava/lang/String;)Z
move-result p0
if-eqz p0, :cond_12
const/4 p0, 0x1
return p0
:cond_12
const/4 p0, 0x0
return p0
.end method