VideoDecoderUtils$1.smali 
.class Lio/agora/base/internal/video/VideoDecoderUtils$1;
.super Ljava/lang/Object;
.source "VideoDecoderUtils.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
    value = Lio/agora/base/internal/video/VideoDecoderUtils;->findCodecForType(Lio/agora/base/internal/video/VideoCodecType;)Landroid/media/MediaCodecInfo;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x0
    name = null
.end annotation
# instance fields
.field final synthetic val$countDownLatch:Ljava/util/concurrent/CountDownLatch;
.field final synthetic val$result:[Landroid/media/MediaCodecInfo;
.field final synthetic val$type:Lio/agora/base/internal/video/VideoCodecType;
# direct methods
.method constructor <init>(Lio/agora/base/internal/video/VideoCodecType;[Landroid/media/MediaCodecInfo;Ljava/util/concurrent/CountDownLatch;)V
    .registers 4
    .line 61
    iput-object p1, p0, Lio/agora/base/internal/video/VideoDecoderUtils$1;->val$type:Lio/agora/base/internal/video/VideoCodecType;
    iput-object p2, p0, Lio/agora/base/internal/video/VideoDecoderUtils$1;->val$result:[Landroid/media/MediaCodecInfo;
    iput-object p3, p0, Lio/agora/base/internal/video/VideoDecoderUtils$1;->val$countDownLatch:Ljava/util/concurrent/CountDownLatch;
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V
    return-void
.end method
# virtual methods
.method public run()V
    .registers 7
    const-string v0, "HardwareVideoDecoderUtils"
    const/4 v1, 0x0
    move v2, v1
    .line 64
    :goto_4
    invoke-static {}, Landroid/media/MediaCodecList;->getCodecCount()I
    move-result v3
    if-ge v2, v3, :cond_47
    const/4 v3, 0x0
    .line 67
    :try_start_b
    invoke-static {v2}, Landroid/media/MediaCodecList;->getCodecInfoAt(I)Landroid/media/MediaCodecInfo;
    move-result-object v3
    :try_end_f
    .catch Ljava/lang/IllegalArgumentException; {:try_start_b .. :try_end_f} :catch_10
    goto :goto_16
    :catch_10
    move-exception v4
    const-string v5, "Cannot retrieve encoder codec info"
    .line 69
    invoke-static {v0, v5, v4}, Lio/agora/base/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
    :goto_16
    if-eqz v3, :cond_44
    .line 71
    invoke-virtual {v3}, Landroid/media/MediaCodecInfo;->isEncoder()Z
    move-result v4
    if-eqz v4, :cond_1f
    goto :goto_44
    .line 74
    :cond_1f
    iget-object v4, p0, Lio/agora/base/internal/video/VideoDecoderUtils$1;->val$type:Lio/agora/base/internal/video/VideoCodecType;
    invoke-static {v3, v4}, Lio/agora/base/internal/video/VideoDecoderUtils;->isSupportedCodec(Landroid/media/MediaCodecInfo;Lio/agora/base/internal/video/VideoCodecType;)Z
    move-result v4
    if-eqz v4, :cond_44
    .line 75
    new-instance v2, Ljava/lang/StringBuilder;
    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
    const-string v4, "found available decodec: "
    invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v3}, Landroid/media/MediaCodecInfo;->getName()Ljava/lang/String;
    move-result-object v4
    invoke-virtual {v2, v4}, 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 {v0, v2}, Lio/agora/base/internal/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
    .line 76
    iget-object v0, p0, Lio/agora/base/internal/video/VideoDecoderUtils$1;->val$result:[Landroid/media/MediaCodecInfo;
    aput-object v3, v0, v1
    goto :goto_47
    :cond_44
    :goto_44
    add-int/lit8 v2, v2, 0x1
    goto :goto_4
    .line 80
    :cond_47
    :goto_47
    # getter for: Lio/agora/base/internal/video/VideoDecoderUtils;->codecByTypeCache:Ljava/util/HashMap;
    invoke-static {}, Lio/agora/base/internal/video/VideoDecoderUtils;->access$000()Ljava/util/HashMap;
    move-result-object v0
    iget-object v2, p0, Lio/agora/base/internal/video/VideoDecoderUtils$1;->val$type:Lio/agora/base/internal/video/VideoCodecType;
    iget-object v3, p0, Lio/agora/base/internal/video/VideoDecoderUtils$1;->val$result:[Landroid/media/MediaCodecInfo;
    aget-object v1, v3, v1
    invoke-virtual {v0, v2, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    .line 81
    iget-object v0, p0, Lio/agora/base/internal/video/VideoDecoderUtils$1;->val$countDownLatch:Ljava/util/concurrent/CountDownLatch;
    invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
    return-void
.end method