FfmpegLibrary.smali
.class public final Lcom/google/android/exoplayer2/ext/ffmpeg/FfmpegLibrary;
.super Ljava/lang/Object;
.source "FfmpegLibrary.java"
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 29
const-string v0, "goog.exo.ffmpeg"
invoke-static {v0}, Lcom/google/android/exoplayer2/ExoPlayerLibraryInfo;->registerModule(Ljava/lang/String;)V
.line 30
return-void
.end method
.method private constructor <init>()V
.registers 1
.line 32
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static native ffmpegGetVersion()Ljava/lang/String;
.end method
.method private static native ffmpegHasDecoder(Ljava/lang/String;)Z
.end method
.method static getCodecName(Ljava/lang/String;I)Ljava/lang/String;
.registers 4
.param p0, "mimeType" # Ljava/lang/String;
.param p1, "encoding" # I
.line 55
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
move-result v0
sparse-switch v0, :sswitch_data_fe
:cond_7
goto/16 :goto_c3
:sswitch_9
const-string v0, "audio/true-hd"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/4 v0, 0x7
goto/16 :goto_c4
:sswitch_14
const-string v0, "audio/vnd.dts.hd"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/16 v0, 0x9
goto/16 :goto_c4
:sswitch_20
const-string v0, "audio/opus"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/16 v0, 0xb
goto/16 :goto_c4
:sswitch_2c
const-string v0, "audio/mpeg"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/4 v0, 0x1
goto/16 :goto_c4
:sswitch_37
const-string v0, "audio/flac"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/16 v0, 0xe
goto/16 :goto_c4
:sswitch_43
const-string v0, "audio/eac3"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/4 v0, 0x5
goto/16 :goto_c4
:sswitch_4e
const-string v0, "audio/alac"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/16 v0, 0xf
goto/16 :goto_c4
:sswitch_5a
const-string v0, "audio/3gpp"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/16 v0, 0xc
goto :goto_c4
:sswitch_65
const-string v0, "audio/raw"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/16 v0, 0x10
goto :goto_c4
:sswitch_70
const-string v0, "audio/ac3"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/4 v0, 0x4
goto :goto_c4
:sswitch_7a
const-string v0, "audio/mp4a-latm"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/4 v0, 0x0
goto :goto_c4
:sswitch_84
const-string v0, "audio/mpeg-L2"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/4 v0, 0x3
goto :goto_c4
:sswitch_8e
const-string v0, "audio/mpeg-L1"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/4 v0, 0x2
goto :goto_c4
:sswitch_98
const-string v0, "audio/vorbis"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/16 v0, 0xa
goto :goto_c4
:sswitch_a3
const-string v0, "audio/vnd.dts"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/16 v0, 0x8
goto :goto_c4
:sswitch_ae
const-string v0, "audio/amr-wb"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/16 v0, 0xd
goto :goto_c4
:sswitch_b9
const-string v0, "audio/eac3-joc"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/4 v0, 0x6
goto :goto_c4
:goto_c3
const/4 v0, -0x1
:goto_c4
const/4 v1, 0x0
packed-switch v0, :pswitch_data_144
.line 93
return-object v1
.line 85
:pswitch_c9
const/high16 v0, 0x10000000
if-ne p1, v0, :cond_d0
.line 86
const-string v0, "pcm_mulaw"
return-object v0
.line 87
:cond_d0
const/high16 v0, 0x20000000
if-ne p1, v0, :cond_d7
.line 88
const-string v0, "pcm_alaw"
return-object v0
.line 90
:cond_d7
return-object v1
.line 83
:pswitch_d8
const-string v0, "alac"
return-object v0
.line 81
:pswitch_db
const-string v0, "flac"
return-object v0
.line 79
:pswitch_de
const-string v0, "amrwb"
return-object v0
.line 77
:pswitch_e1
const-string v0, "amrnb"
return-object v0
.line 75
:pswitch_e4
const-string v0, "opus"
return-object v0
.line 73
:pswitch_e7
const-string/jumbo v0, "vorbis"
return-object v0
.line 71
:pswitch_eb
const-string v0, "dca"
return-object v0
.line 68
:pswitch_ee
const-string/jumbo v0, "truehd"
return-object v0
.line 66
:pswitch_f2
const-string v0, "eac3"
return-object v0
.line 63
:pswitch_f5
const-string v0, "ac3"
return-object v0
.line 61
:pswitch_f8
const-string v0, "mp3"
return-object v0
.line 57
:pswitch_fb
const-string v0, "aac"
return-object v0
:sswitch_data_fe
.sparse-switch
-0x7e929daa -> :sswitch_b9
-0x5fc6f775 -> :sswitch_ae
-0x41455b98 -> :sswitch_a3
-0x3bd43e14 -> :sswitch_98
-0x19cc928c -> :sswitch_8e
-0x19cc928b -> :sswitch_84
-0x3313c2e -> :sswitch_7a
0xb269698 -> :sswitch_70
0xb26d66f -> :sswitch_65
0x59976a2d -> :sswitch_5a
0x59ac6426 -> :sswitch_4e
0x59ae0c65 -> :sswitch_43
0x59aeaa01 -> :sswitch_37
0x59b1e81e -> :sswitch_2c
0x59b2d2d8 -> :sswitch_20
0x59c2dc42 -> :sswitch_14
0x5cc95062 -> :sswitch_9
.end sparse-switch
:pswitch_data_144
.packed-switch 0x0
:pswitch_fb
:pswitch_f8
:pswitch_f8
:pswitch_f8
:pswitch_f5
:pswitch_f2
:pswitch_f2
:pswitch_ee
:pswitch_eb
:pswitch_eb
:pswitch_e7
:pswitch_e4
:pswitch_e1
:pswitch_de
:pswitch_db
:pswitch_d8
:pswitch_c9
.end packed-switch
.end method
.method public static getVersion()Ljava/lang/String;
.registers 1
.line 36
invoke-static {}, Lcom/google/android/exoplayer2/ext/ffmpeg/FfmpegLibrary;->ffmpegGetVersion()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static supportsFormat(Ljava/lang/String;I)Z
.registers 4
.param p0, "mimeType" # Ljava/lang/String;
.param p1, "encoding" # I
.line 46
invoke-static {p0, p1}, Lcom/google/android/exoplayer2/ext/ffmpeg/FfmpegLibrary;->getCodecName(Ljava/lang/String;I)Ljava/lang/String;
move-result-object v0
.line 47
.local v0, "codecName":Ljava/lang/String;
if-eqz v0, :cond_e
invoke-static {v0}, Lcom/google/android/exoplayer2/ext/ffmpeg/FfmpegLibrary;->ffmpegHasDecoder(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_e
const/4 v1, 0x1
goto :goto_f
:cond_e
const/4 v1, 0x0
:goto_f
return v1
.end method