.class public Lcom/google/android/exoplayer2/mediacodec/MediaCodecRenderer$DecoderInitializationException; .super Ljava/lang/Exception; .source "MediaCodecRenderer.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/google/android/exoplayer2/mediacodec/MediaCodecRenderer; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x9 name = "DecoderInitializationException" .end annotation # static fields .field private static final CUSTOM_ERROR_CODE_BASE:I = -0xc350 .field private static final DECODER_QUERY_ERROR:I = -0xc34e .field private static final NO_SUITABLE_DECODER_ERROR:I = -0xc34f # instance fields .field public final decoderName:Ljava/lang/String; .field public final diagnosticInfo:Ljava/lang/String; .field public final mimeType:Ljava/lang/String; .field public final secureDecoderRequired:Z # direct methods .method public constructor (Lcom/google/android/exoplayer2/Format;Ljava/lang/Throwable;ZI)V .locals 2 .line 1 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "Decoder init failed: [" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, p4}, 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, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p0, v0, p2}, Ljava/lang/Exception;->(Ljava/lang/String;Ljava/lang/Throwable;)V .line 2 iget-object p1, p1, Lcom/google/android/exoplayer2/Format;->sampleMimeType:Ljava/lang/String; iput-object p1, p0, Lcom/google/android/exoplayer2/mediacodec/MediaCodecRenderer$DecoderInitializationException;->mimeType:Ljava/lang/String; .line 3 iput-boolean p3, p0, Lcom/google/android/exoplayer2/mediacodec/MediaCodecRenderer$DecoderInitializationException;->secureDecoderRequired:Z const/4 p1, 0x0 .line 4 iput-object p1, p0, Lcom/google/android/exoplayer2/mediacodec/MediaCodecRenderer$DecoderInitializationException;->decoderName:Ljava/lang/String; .line 5 invoke-static {p4}, Lcom/google/android/exoplayer2/mediacodec/MediaCodecRenderer$DecoderInitializationException;->buildCustomDiagnosticInfo(I)Ljava/lang/String; move-result-object p1 iput-object p1, p0, Lcom/google/android/exoplayer2/mediacodec/MediaCodecRenderer$DecoderInitializationException;->diagnosticInfo:Ljava/lang/String; return-void .end method .method public constructor (Lcom/google/android/exoplayer2/Format;Ljava/lang/Throwable;ZLjava/lang/String;)V .locals 2 .line 6 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "Decoder init failed: " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, ", " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p0, v0, p2}, Ljava/lang/Exception;->(Ljava/lang/String;Ljava/lang/Throwable;)V .line 7 iget-object p1, p1, Lcom/google/android/exoplayer2/Format;->sampleMimeType:Ljava/lang/String; iput-object p1, p0, Lcom/google/android/exoplayer2/mediacodec/MediaCodecRenderer$DecoderInitializationException;->mimeType:Ljava/lang/String; .line 8 iput-boolean p3, p0, Lcom/google/android/exoplayer2/mediacodec/MediaCodecRenderer$DecoderInitializationException;->secureDecoderRequired:Z .line 9 iput-object p4, p0, Lcom/google/android/exoplayer2/mediacodec/MediaCodecRenderer$DecoderInitializationException;->decoderName:Ljava/lang/String; .line 10 sget p1, Lcom/google/android/exoplayer2/util/Util;->SDK_INT:I const/16 p3, 0x15 if-lt p1, p3, :cond_0 invoke-static {p2}, Lcom/google/android/exoplayer2/mediacodec/MediaCodecRenderer$DecoderInitializationException;->getDiagnosticInfoV21(Ljava/lang/Throwable;)Ljava/lang/String; move-result-object p1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 iput-object p1, p0, Lcom/google/android/exoplayer2/mediacodec/MediaCodecRenderer$DecoderInitializationException;->diagnosticInfo:Ljava/lang/String; return-void .end method .method private static buildCustomDiagnosticInfo(I)Ljava/lang/String; .locals 2 if-gez p0, :cond_0 const-string v0, "neg_" goto :goto_0 :cond_0 const-string v0, "" :goto_0 const-string v1, "com.google.android.exoplayer.MediaCodecTrackRenderer_" .line 1 invoke-static {v1, v0}, Landroid/support/v4/media/e;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-static {p0}, Ljava/lang/Math;->abs(I)I move-result p0 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method private static getDiagnosticInfoV21(Ljava/lang/Throwable;)Ljava/lang/String; .locals 1 .annotation build Landroid/annotation/TargetApi; value = 0x15 .end annotation .line 1 instance-of v0, p0, Landroid/media/MediaCodec$CodecException; if-eqz v0, :cond_0 .line 2 check-cast p0, Landroid/media/MediaCodec$CodecException; invoke-virtual {p0}, Landroid/media/MediaCodec$CodecException;->getDiagnosticInfo()Ljava/lang/String; move-result-object p0 return-object p0 :cond_0 const/4 p0, 0x0 return-object p0 .end method