MimeTypes.smali
.class public final Lcom/google/android/exoplayer2/util/MimeTypes;
.super Ljava/lang/Object;
.source "MimeTypes.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/util/MimeTypes$CustomMimeType;,
Lcom/google/android/exoplayer2/util/MimeTypes$Mp4aObjectType;
}
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
# static fields
.field public static final APPLICATION_AIT:Ljava/lang/String; = "application/vnd.dvb.ait"
.field public static final APPLICATION_CAMERA_MOTION:Ljava/lang/String; = "application/x-camera-motion"
.field public static final APPLICATION_CEA608:Ljava/lang/String; = "application/cea-608"
.field public static final APPLICATION_CEA708:Ljava/lang/String; = "application/cea-708"
.field public static final APPLICATION_DVBSUBS:Ljava/lang/String; = "application/dvbsubs"
.field public static final APPLICATION_EMSG:Ljava/lang/String; = "application/x-emsg"
.field public static final APPLICATION_EXIF:Ljava/lang/String; = "application/x-exif"
.field public static final APPLICATION_ICY:Ljava/lang/String; = "application/x-icy"
.field public static final APPLICATION_ID3:Ljava/lang/String; = "application/id3"
.field public static final APPLICATION_M3U8:Ljava/lang/String; = "application/x-mpegURL"
.field public static final APPLICATION_MATROSKA:Ljava/lang/String; = "application/x-matroska"
.field public static final APPLICATION_MP4:Ljava/lang/String; = "application/mp4"
.field public static final APPLICATION_MP4CEA608:Ljava/lang/String; = "application/x-mp4-cea-608"
.field public static final APPLICATION_MP4VTT:Ljava/lang/String; = "application/x-mp4-vtt"
.field public static final APPLICATION_MPD:Ljava/lang/String; = "application/dash+xml"
.field public static final APPLICATION_PGS:Ljava/lang/String; = "application/pgs"
.field public static final APPLICATION_RAWCC:Ljava/lang/String; = "application/x-rawcc"
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.end field
.field public static final APPLICATION_RTSP:Ljava/lang/String; = "application/x-rtsp"
.field public static final APPLICATION_SCTE35:Ljava/lang/String; = "application/x-scte35"
.field public static final APPLICATION_SS:Ljava/lang/String; = "application/vnd.ms-sstr+xml"
.field public static final APPLICATION_SUBRIP:Ljava/lang/String; = "application/x-subrip"
.field public static final APPLICATION_TTML:Ljava/lang/String; = "application/ttml+xml"
.field public static final APPLICATION_TX3G:Ljava/lang/String; = "application/x-quicktime-tx3g"
.field public static final APPLICATION_VOBSUB:Ljava/lang/String; = "application/vobsub"
.field public static final APPLICATION_WEBM:Ljava/lang/String; = "application/webm"
.field public static final AUDIO_AAC:Ljava/lang/String; = "audio/mp4a-latm"
.field public static final AUDIO_AC3:Ljava/lang/String; = "audio/ac3"
.field public static final AUDIO_AC4:Ljava/lang/String; = "audio/ac4"
.field public static final AUDIO_ALAC:Ljava/lang/String; = "audio/alac"
.field public static final AUDIO_ALAW:Ljava/lang/String; = "audio/g711-alaw"
.field public static final AUDIO_AMR:Ljava/lang/String; = "audio/amr"
.field public static final AUDIO_AMR_NB:Ljava/lang/String; = "audio/3gpp"
.field public static final AUDIO_AMR_WB:Ljava/lang/String; = "audio/amr-wb"
.field public static final AUDIO_DTS:Ljava/lang/String; = "audio/vnd.dts"
.field public static final AUDIO_DTS_EXPRESS:Ljava/lang/String; = "audio/vnd.dts.hd;profile=lbr"
.field public static final AUDIO_DTS_HD:Ljava/lang/String; = "audio/vnd.dts.hd"
.field public static final AUDIO_DTS_X:Ljava/lang/String; = "audio/vnd.dts.uhd;profile=p2"
.field public static final AUDIO_EXOPLAYER_MIDI:Ljava/lang/String; = "audio/x-exoplayer-midi"
.field public static final AUDIO_E_AC3:Ljava/lang/String; = "audio/eac3"
.field public static final AUDIO_E_AC3_JOC:Ljava/lang/String; = "audio/eac3-joc"
.field public static final AUDIO_FLAC:Ljava/lang/String; = "audio/flac"
.field public static final AUDIO_MATROSKA:Ljava/lang/String; = "audio/x-matroska"
.field public static final AUDIO_MIDI:Ljava/lang/String; = "audio/midi"
.field public static final AUDIO_MLAW:Ljava/lang/String; = "audio/g711-mlaw"
.field public static final AUDIO_MP4:Ljava/lang/String; = "audio/mp4"
.field public static final AUDIO_MPEG:Ljava/lang/String; = "audio/mpeg"
.field public static final AUDIO_MPEGH_MHA1:Ljava/lang/String; = "audio/mha1"
.field public static final AUDIO_MPEGH_MHM1:Ljava/lang/String; = "audio/mhm1"
.field public static final AUDIO_MPEG_L1:Ljava/lang/String; = "audio/mpeg-L1"
.field public static final AUDIO_MPEG_L2:Ljava/lang/String; = "audio/mpeg-L2"
.field public static final AUDIO_MSGSM:Ljava/lang/String; = "audio/gsm"
.field public static final AUDIO_OGG:Ljava/lang/String; = "audio/ogg"
.field public static final AUDIO_OPUS:Ljava/lang/String; = "audio/opus"
.field public static final AUDIO_RAW:Ljava/lang/String; = "audio/raw"
.field public static final AUDIO_TRUEHD:Ljava/lang/String; = "audio/true-hd"
.field public static final AUDIO_UNKNOWN:Ljava/lang/String; = "audio/x-unknown"
.field public static final AUDIO_VORBIS:Ljava/lang/String; = "audio/vorbis"
.field public static final AUDIO_WAV:Ljava/lang/String; = "audio/wav"
.field public static final AUDIO_WEBM:Ljava/lang/String; = "audio/webm"
.field public static final BASE_TYPE_APPLICATION:Ljava/lang/String; = "application"
.field public static final BASE_TYPE_AUDIO:Ljava/lang/String; = "audio"
.field public static final BASE_TYPE_IMAGE:Ljava/lang/String; = "image"
.field public static final BASE_TYPE_TEXT:Ljava/lang/String; = "text"
.field public static final BASE_TYPE_VIDEO:Ljava/lang/String; = "video"
.field public static final CODEC_E_AC3_JOC:Ljava/lang/String; = "ec+3"
.field public static final IMAGE_HEIC:Ljava/lang/String; = "image/heic"
.field public static final IMAGE_HEIF:Ljava/lang/String; = "image/heif"
.field public static final IMAGE_JPEG:Ljava/lang/String; = "image/jpeg"
.field public static final IMAGE_PNG:Ljava/lang/String; = "image/png"
.field public static final IMAGE_WEBP:Ljava/lang/String; = "image/webp"
.field private static final MP4A_RFC_6381_CODEC_PATTERN:Ljava/util/regex/Pattern;
.field public static final TEXT_EXOPLAYER_CUES:Ljava/lang/String; = "text/x-exoplayer-cues"
.field public static final TEXT_SSA:Ljava/lang/String; = "text/x-ssa"
.field public static final TEXT_UNKNOWN:Ljava/lang/String; = "text/x-unknown"
.field public static final TEXT_VTT:Ljava/lang/String; = "text/vtt"
.field public static final VIDEO_AV1:Ljava/lang/String; = "video/av01"
.field public static final VIDEO_AVI:Ljava/lang/String; = "video/x-msvideo"
.field public static final VIDEO_DIVX:Ljava/lang/String; = "video/divx"
.field public static final VIDEO_DOLBY_VISION:Ljava/lang/String; = "video/dolby-vision"
.field public static final VIDEO_FLV:Ljava/lang/String; = "video/x-flv"
.field public static final VIDEO_H263:Ljava/lang/String; = "video/3gpp"
.field public static final VIDEO_H264:Ljava/lang/String; = "video/avc"
.field public static final VIDEO_H265:Ljava/lang/String; = "video/hevc"
.field public static final VIDEO_MATROSKA:Ljava/lang/String; = "video/x-matroska"
.field public static final VIDEO_MJPEG:Ljava/lang/String; = "video/mjpeg"
.field public static final VIDEO_MP2T:Ljava/lang/String; = "video/mp2t"
.field public static final VIDEO_MP4:Ljava/lang/String; = "video/mp4"
.field public static final VIDEO_MP42:Ljava/lang/String; = "video/mp42"
.field public static final VIDEO_MP43:Ljava/lang/String; = "video/mp43"
.field public static final VIDEO_MP4V:Ljava/lang/String; = "video/mp4v-es"
.field public static final VIDEO_MPEG:Ljava/lang/String; = "video/mpeg"
.field public static final VIDEO_MPEG2:Ljava/lang/String; = "video/mpeg2"
.field public static final VIDEO_OGG:Ljava/lang/String; = "video/ogg"
.field public static final VIDEO_PS:Ljava/lang/String; = "video/mp2p"
.field public static final VIDEO_RAW:Ljava/lang/String; = "video/raw"
.field public static final VIDEO_UNKNOWN:Ljava/lang/String; = "video/x-unknown"
.field public static final VIDEO_VC1:Ljava/lang/String; = "video/wvc1"
.field public static final VIDEO_VP8:Ljava/lang/String; = "video/x-vnd.on2.vp8"
.field public static final VIDEO_VP9:Ljava/lang/String; = "video/x-vnd.on2.vp9"
.field public static final VIDEO_WEBM:Ljava/lang/String; = "video/webm"
.field private static final customMimeTypes:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Lcom/google/android/exoplayer2/util/MimeTypes$CustomMimeType;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 173
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
sput-object v0, Lcom/google/android/exoplayer2/util/MimeTypes;->customMimeTypes:Ljava/util/ArrayList;
const-string v0, "^mp4a\\.([a-zA-Z0-9]{2})(?:\\.([0-9]{1,2}))?$"
.line 176
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/google/android/exoplayer2/util/MimeTypes;->MP4A_RFC_6381_CODEC_PATTERN:Ljava/util/regex/Pattern;
return-void
.end method
.method private constructor <init>()V
.registers 1
.line 681
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static allSamplesAreSyncSamples(Ljava/lang/String;Ljava/lang/String;)Z
.registers 6
const/4 v0, 0x0
if-nez p0, :cond_4
return v0
.line 253
:cond_4
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
move-result v1
const/4 v2, 0x1
const/4 v3, -0x1
sparse-switch v1, :sswitch_data_ae
goto/16 :goto_93
:sswitch_12
const-string v1, "audio/g711-mlaw"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_1c
goto/16 :goto_93
:cond_1c
const/16 v3, 0xa
goto/16 :goto_93
:sswitch_20
const-string v1, "audio/g711-alaw"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_2a
goto/16 :goto_93
:cond_2a
const/16 v3, 0x9
goto/16 :goto_93
:sswitch_2e
const-string v1, "audio/mpeg"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_38
goto/16 :goto_93
:cond_38
const/16 v3, 0x8
goto/16 :goto_93
:sswitch_3c
const-string v1, "audio/flac"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_45
goto :goto_93
:cond_45
const/4 v3, 0x7
goto :goto_93
:sswitch_47
const-string v1, "audio/eac3"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_50
goto :goto_93
:cond_50
const/4 v3, 0x6
goto :goto_93
:sswitch_52
const-string v1, "audio/raw"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_5b
goto :goto_93
:cond_5b
const/4 v3, 0x5
goto :goto_93
:sswitch_5d
const-string v1, "audio/ac3"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_66
goto :goto_93
:cond_66
const/4 v3, 0x4
goto :goto_93
:sswitch_68
const-string v1, "audio/mp4a-latm"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_71
goto :goto_93
:cond_71
const/4 v3, 0x3
goto :goto_93
:sswitch_73
const-string v1, "audio/mpeg-L2"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_7c
goto :goto_93
:cond_7c
const/4 v3, 0x2
goto :goto_93
:sswitch_7e
const-string v1, "audio/mpeg-L1"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_87
goto :goto_93
:cond_87
const/4 v3, 0x1
goto :goto_93
:sswitch_89
const-string v1, "audio/eac3-joc"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_92
goto :goto_93
:cond_92
const/4 v3, 0x0
:goto_93
packed-switch v3, :pswitch_data_dc
return v0
:pswitch_97
if-nez p1, :cond_9a
return v0
.line 269
:cond_9a
invoke-static {p1}, Lcom/google/android/exoplayer2/util/MimeTypes;->getObjectTypeFromMp4aRFC6381CodecString(Ljava/lang/String;)Lcom/google/android/exoplayer2/util/MimeTypes$Mp4aObjectType;
move-result-object p0
if-nez p0, :cond_a1
return v0
.line 273
:cond_a1
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/MimeTypes$Mp4aObjectType;->getEncoding()I
move-result p0
if-eqz p0, :cond_ac
const/16 p1, 0x10
if-eq p0, p1, :cond_ac
const/4 v0, 0x1
:cond_ac
return v0
:pswitch_ad
return v2
:sswitch_data_ae
.sparse-switch
-0x7e929daa -> :sswitch_89
-0x19cc928c -> :sswitch_7e
-0x19cc928b -> :sswitch_73
-0x3313c2e -> :sswitch_68
0xb269698 -> :sswitch_5d
0xb26d66f -> :sswitch_52
0x59ae0c65 -> :sswitch_47
0x59aeaa01 -> :sswitch_3c
0x59b1e81e -> :sswitch_2e
0x71710385 -> :sswitch_20
0x717677f9 -> :sswitch_12
.end sparse-switch
:pswitch_data_dc
.packed-switch 0x0
:pswitch_ad
:pswitch_ad
:pswitch_ad
:pswitch_97
:pswitch_ad
:pswitch_ad
:pswitch_ad
:pswitch_ad
:pswitch_ad
:pswitch_ad
:pswitch_ad
.end packed-switch
.end method
.method public static containsCodecsCorrespondingToMimeType(Ljava/lang/String;Ljava/lang/String;)Z
.registers 2
.line 315
invoke-static {p0, p1}, Lcom/google/android/exoplayer2/util/MimeTypes;->getCodecsCorrespondingToMimeType(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
if-eqz p0, :cond_8
const/4 p0, 0x1
goto :goto_9
:cond_8
const/4 p0, 0x0
:goto_9
return p0
.end method
.method public static getAudioMediaMimeType(Ljava/lang/String;)Ljava/lang/String;
.registers 6
const/4 v0, 0x0
if-nez p0, :cond_4
return-object v0
.line 359
:cond_4
invoke-static {p0}, Lcom/google/android/exoplayer2/util/Util;->splitCodecs(Ljava/lang/String;)[Ljava/lang/String;
move-result-object p0
.line 360
array-length v1, p0
const/4 v2, 0x0
:goto_a
if-ge v2, v1, :cond_1e
aget-object v3, p0, v2
.line 361
invoke-static {v3}, Lcom/google/android/exoplayer2/util/MimeTypes;->getMediaMimeType(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
if-eqz v3, :cond_1b
.line 362
invoke-static {v3}, Lcom/google/android/exoplayer2/util/MimeTypes;->isAudio(Ljava/lang/String;)Z
move-result v4
if-eqz v4, :cond_1b
return-object v3
:cond_1b
add-int/lit8 v2, v2, 0x1
goto :goto_a
:cond_1e
return-object v0
.end method
.method public static getCodecsCorrespondingToMimeType(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 8
const/4 v0, 0x0
if-eqz p0, :cond_3a
if-nez p1, :cond_6
goto :goto_3a
.line 335
:cond_6
invoke-static {p0}, Lcom/google/android/exoplayer2/util/Util;->splitCodecs(Ljava/lang/String;)[Ljava/lang/String;
move-result-object p0
.line 336
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
.line 337
array-length v2, p0
const/4 v3, 0x0
:goto_11
if-ge v3, v2, :cond_30
aget-object v4, p0, v3
.line 338
invoke-static {v4}, Lcom/google/android/exoplayer2/util/MimeTypes;->getMediaMimeType(Ljava/lang/String;)Ljava/lang/String;
move-result-object v5
invoke-virtual {p1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :cond_2d
.line 339
invoke-virtual {v1}, Ljava/lang/StringBuilder;->length()I
move-result v5
if-lez v5, :cond_2a
const-string v5, ","
.line 340
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 342
:cond_2a
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_2d
add-int/lit8 v3, v3, 0x1
goto :goto_11
.line 345
:cond_30
invoke-virtual {v1}, Ljava/lang/StringBuilder;->length()I
move-result p0
if-lez p0, :cond_3a
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
:cond_3a
:goto_3a
return-object v0
.end method
.method private static getCustomMimeTypeForCodec(Ljava/lang/String;)Ljava/lang/String;
.registers 5
.line 660
sget-object v0, Lcom/google/android/exoplayer2/util/MimeTypes;->customMimeTypes:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
const/4 v1, 0x0
:goto_7
if-ge v1, v0, :cond_1f
.line 662
sget-object v2, Lcom/google/android/exoplayer2/util/MimeTypes;->customMimeTypes:Ljava/util/ArrayList;
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/util/MimeTypes$CustomMimeType;
.line 663
iget-object v3, v2, Lcom/google/android/exoplayer2/util/MimeTypes$CustomMimeType;->codecPrefix:Ljava/lang/String;
invoke-virtual {p0, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_1c
.line 664
iget-object p0, v2, Lcom/google/android/exoplayer2/util/MimeTypes$CustomMimeType;->mimeType:Ljava/lang/String;
return-object p0
:cond_1c
add-int/lit8 v1, v1, 0x1
goto :goto_7
:cond_1f
const/4 p0, 0x0
return-object p0
.end method
.method public static getEncoding(Ljava/lang/String;Ljava/lang/String;)I
.registers 10
.line 562
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
move-result v0
const/16 v1, 0x9
const/4 v2, 0x7
const/4 v3, 0x6
const/4 v4, 0x5
const/16 v5, 0x8
const/4 v6, 0x0
const/4 v7, -0x1
sparse-switch v0, :sswitch_data_cc
goto/16 :goto_a4
:sswitch_15
const-string v0, "audio/true-hd"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_1f
goto/16 :goto_a4
:cond_1f
const/16 v7, 0xb
goto/16 :goto_a4
:sswitch_23
const-string v0, "audio/vnd.dts.hd"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_2d
goto/16 :goto_a4
:cond_2d
const/16 v7, 0xa
goto/16 :goto_a4
:sswitch_31
const-string v0, "audio/opus"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_3b
goto/16 :goto_a4
:cond_3b
const/16 v7, 0x9
goto/16 :goto_a4
:sswitch_3f
const-string v0, "audio/mpeg"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_49
goto/16 :goto_a4
:cond_49
const/16 v7, 0x8
goto/16 :goto_a4
:sswitch_4d
const-string v0, "audio/eac3"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_56
goto :goto_a4
:cond_56
const/4 v7, 0x7
goto :goto_a4
:sswitch_58
const-string v0, "audio/vnd.dts.uhd;profile=p2"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_61
goto :goto_a4
:cond_61
const/4 v7, 0x6
goto :goto_a4
:sswitch_63
const-string v0, "audio/ac4"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_6c
goto :goto_a4
:cond_6c
const/4 v7, 0x5
goto :goto_a4
:sswitch_6e
const-string v0, "audio/ac3"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_77
goto :goto_a4
:cond_77
const/4 v7, 0x4
goto :goto_a4
:sswitch_79
const-string v0, "audio/mp4a-latm"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_82
goto :goto_a4
:cond_82
const/4 v7, 0x3
goto :goto_a4
:sswitch_84
const-string v0, "audio/vnd.dts"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_8d
goto :goto_a4
:cond_8d
const/4 v7, 0x2
goto :goto_a4
:sswitch_8f
const-string v0, "audio/vnd.dts.hd;profile=lbr"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_98
goto :goto_a4
:cond_98
const/4 v7, 0x1
goto :goto_a4
:sswitch_9a
const-string v0, "audio/eac3-joc"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_a3
goto :goto_a4
:cond_a3
const/4 v7, 0x0
:goto_a4
packed-switch v7, :pswitch_data_fe
return v6
:pswitch_a8
const/16 p0, 0xe
return p0
:pswitch_ab
return v5
:pswitch_ac
const/16 p0, 0x14
return p0
:pswitch_af
return v1
:pswitch_b0
return v3
:pswitch_b1
const/16 p0, 0x1e
return p0
:pswitch_b4
const/16 p0, 0x11
return p0
:pswitch_b7
return v4
:pswitch_b8
if-nez p1, :cond_bb
return v6
.line 569
:cond_bb
invoke-static {p1}, Lcom/google/android/exoplayer2/util/MimeTypes;->getObjectTypeFromMp4aRFC6381CodecString(Ljava/lang/String;)Lcom/google/android/exoplayer2/util/MimeTypes$Mp4aObjectType;
move-result-object p0
if-nez p0, :cond_c2
return v6
.line 573
:cond_c2
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/MimeTypes$Mp4aObjectType;->getEncoding()I
move-result p0
return p0
:pswitch_c7
return v2
:pswitch_c8
return v5
:pswitch_c9
const/16 p0, 0x12
return p0
:sswitch_data_cc
.sparse-switch
-0x7e929daa -> :sswitch_9a
-0x51617051 -> :sswitch_8f
-0x41455b98 -> :sswitch_84
-0x3313c2e -> :sswitch_79
0xb269698 -> :sswitch_6e
0xb269699 -> :sswitch_63
0x20d04866 -> :sswitch_58
0x59ae0c65 -> :sswitch_4d
0x59b1e81e -> :sswitch_3f
0x59b2d2d8 -> :sswitch_31
0x59c2dc42 -> :sswitch_23
0x5cc95062 -> :sswitch_15
.end sparse-switch
:pswitch_data_fe
.packed-switch 0x0
:pswitch_c9
:pswitch_c8
:pswitch_c7
:pswitch_b8
:pswitch_b7
:pswitch_b4
:pswitch_b1
:pswitch_b0
:pswitch_af
:pswitch_ac
:pswitch_ab
:pswitch_a8
.end packed-switch
.end method
.method public static getMediaMimeType(Ljava/lang/String;)Ljava/lang/String;
.registers 3
const/4 v0, 0x0
if-nez p0, :cond_4
return-object v0
.line 402
:cond_4
invoke-virtual {p0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Lcom/google/common/base/Ascii;->toLowerCase(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
const-string v1, "avc1"
.line 403
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_1ab
const-string v1, "avc3"
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_1e
goto/16 :goto_1ab
:cond_1e
const-string v1, "hev1"
.line 405
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_1a7
const-string v1, "hvc1"
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_30
goto/16 :goto_1a7
:cond_30
const-string v1, "dvav"
.line 407
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_1a3
const-string v1, "dva1"
.line 408
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_1a3
const-string v1, "dvhe"
.line 409
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_1a3
const-string v1, "dvh1"
.line 410
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_52
goto/16 :goto_1a3
:cond_52
const-string v1, "av01"
.line 412
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_5e
const-string/jumbo p0, "video/av01"
return-object p0
:cond_5e
const-string/jumbo v1, "vp9"
.line 414
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_19f
const-string/jumbo v1, "vp09"
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_72
goto/16 :goto_19f
:cond_72
const-string/jumbo v1, "vp8"
.line 416
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_19b
const-string/jumbo v1, "vp08"
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_86
goto/16 :goto_19b
:cond_86
const-string v1, "mp4a"
.line 418
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_a7
const-string v1, "mp4a."
.line 420
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_a2
.line 421
invoke-static {p0}, Lcom/google/android/exoplayer2/util/MimeTypes;->getObjectTypeFromMp4aRFC6381CodecString(Ljava/lang/String;)Lcom/google/android/exoplayer2/util/MimeTypes$Mp4aObjectType;
move-result-object p0
if-eqz p0, :cond_a2
.line 423
iget p0, p0, Lcom/google/android/exoplayer2/util/MimeTypes$Mp4aObjectType;->objectTypeIndication:I
invoke-static {p0}, Lcom/google/android/exoplayer2/util/MimeTypes;->getMimeTypeFromMp4ObjectType(I)Ljava/lang/String;
move-result-object v0
:cond_a2
if-nez v0, :cond_a6
const-string v0, "audio/mp4a-latm"
:cond_a6
return-object v0
:cond_a7
const-string v0, "mha1"
.line 427
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_b2
const-string p0, "audio/mha1"
return-object p0
:cond_b2
const-string v0, "mhm1"
.line 429
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_bd
const-string p0, "audio/mhm1"
return-object p0
:cond_bd
const-string v0, "ac-3"
.line 431
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_198
const-string v0, "dac3"
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_cf
goto/16 :goto_198
:cond_cf
const-string v0, "ec-3"
.line 433
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_195
const-string v0, "dec3"
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_e1
goto/16 :goto_195
:cond_e1
const-string v0, "ec+3"
.line 435
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_ec
const-string p0, "audio/eac3-joc"
return-object p0
:cond_ec
const-string v0, "ac-4"
.line 437
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_192
const-string v0, "dac4"
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_fe
goto/16 :goto_192
:cond_fe
const-string v0, "dtsc"
.line 439
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_109
const-string p0, "audio/vnd.dts"
return-object p0
:cond_109
const-string v0, "dtse"
.line 441
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_114
const-string p0, "audio/vnd.dts.hd;profile=lbr"
return-object p0
:cond_114
const-string v0, "dtsh"
.line 443
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_18f
const-string v0, "dtsl"
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_125
goto :goto_18f
:cond_125
const-string v0, "dtsx"
.line 445
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_130
const-string p0, "audio/vnd.dts.uhd;profile=p2"
return-object p0
:cond_130
const-string v0, "opus"
.line 447
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_13b
const-string p0, "audio/opus"
return-object p0
:cond_13b
const-string/jumbo v0, "vorbis"
.line 449
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_147
const-string p0, "audio/vorbis"
return-object p0
:cond_147
const-string v0, "flac"
.line 451
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_152
const-string p0, "audio/flac"
return-object p0
:cond_152
const-string/jumbo v0, "stpp"
.line 453
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_15e
const-string p0, "application/ttml+xml"
return-object p0
:cond_15e
const-string/jumbo v0, "wvtt"
.line 455
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_16b
const-string/jumbo p0, "text/vtt"
return-object p0
:cond_16b
const-string v0, "cea708"
.line 457
invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_176
const-string p0, "application/cea-708"
return-object p0
:cond_176
const-string v0, "eia608"
.line 459
invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_18c
const-string v0, "cea608"
invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_187
goto :goto_18c
.line 462
:cond_187
invoke-static {p0}, Lcom/google/android/exoplayer2/util/MimeTypes;->getCustomMimeTypeForCodec(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_18c
:goto_18c
const-string p0, "application/cea-608"
return-object p0
:cond_18f
:goto_18f
const-string p0, "audio/vnd.dts.hd"
return-object p0
:cond_192
:goto_192
const-string p0, "audio/ac4"
return-object p0
:cond_195
:goto_195
const-string p0, "audio/eac3"
return-object p0
:cond_198
:goto_198
const-string p0, "audio/ac3"
return-object p0
:cond_19b
:goto_19b
const-string/jumbo p0, "video/x-vnd.on2.vp8"
return-object p0
:cond_19f
:goto_19f
const-string/jumbo p0, "video/x-vnd.on2.vp9"
return-object p0
:cond_1a3
:goto_1a3
const-string/jumbo p0, "video/dolby-vision"
return-object p0
:cond_1a7
:goto_1a7
const-string/jumbo p0, "video/hevc"
return-object p0
:cond_1ab
:goto_1ab
const-string/jumbo p0, "video/avc"
return-object p0
.end method
.method public static getMimeTypeFromMp4ObjectType(I)Ljava/lang/String;
.registers 2
const/16 v0, 0x20
if-eq p0, v0, :cond_58
const/16 v0, 0x21
if-eq p0, v0, :cond_54
const/16 v0, 0x23
if-eq p0, v0, :cond_50
const/16 v0, 0x40
if-eq p0, v0, :cond_4d
const/16 v0, 0xa3
if-eq p0, v0, :cond_49
const/16 v0, 0xb1
if-eq p0, v0, :cond_45
const/16 v0, 0xa5
if-eq p0, v0, :cond_42
const/16 v0, 0xa6
if-eq p0, v0, :cond_3f
packed-switch p0, :pswitch_data_5c
packed-switch p0, :pswitch_data_78
const/4 p0, 0x0
return-object p0
:pswitch_28
const-string p0, "audio/ac4"
return-object p0
:pswitch_2b
const-string p0, "audio/opus"
return-object p0
:pswitch_2e
const-string p0, "audio/vnd.dts.hd"
return-object p0
:pswitch_31
const-string p0, "audio/vnd.dts"
return-object p0
:pswitch_34
const-string/jumbo p0, "video/mpeg"
return-object p0
:pswitch_38
const-string p0, "audio/mpeg"
return-object p0
:pswitch_3b
const-string/jumbo p0, "video/mpeg2"
return-object p0
:cond_3f
const-string p0, "audio/eac3"
return-object p0
:cond_42
const-string p0, "audio/ac3"
return-object p0
:cond_45
const-string/jumbo p0, "video/x-vnd.on2.vp9"
return-object p0
:cond_49
const-string/jumbo p0, "video/wvc1"
return-object p0
:cond_4d
:pswitch_4d
const-string p0, "audio/mp4a-latm"
return-object p0
:cond_50
const-string/jumbo p0, "video/hevc"
return-object p0
:cond_54
const-string/jumbo p0, "video/avc"
return-object p0
:cond_58
const-string/jumbo p0, "video/mp4v-es"
return-object p0
:pswitch_data_5c
.packed-switch 0x60
:pswitch_3b
:pswitch_3b
:pswitch_3b
:pswitch_3b
:pswitch_3b
:pswitch_3b
:pswitch_4d
:pswitch_4d
:pswitch_4d
:pswitch_38
:pswitch_34
:pswitch_38
.end packed-switch
:pswitch_data_78
.packed-switch 0xa9
:pswitch_31
:pswitch_2e
:pswitch_2e
:pswitch_31
:pswitch_2b
:pswitch_28
.end packed-switch
.end method
.method static getObjectTypeFromMp4aRFC6381CodecString(Ljava/lang/String;)Lcom/google/android/exoplayer2/util/MimeTypes$Mp4aObjectType;
.registers 4
.line 705
sget-object v0, Lcom/google/android/exoplayer2/util/MimeTypes;->MP4A_RFC_6381_CODEC_PATTERN:Ljava/util/regex/Pattern;
invoke-virtual {v0, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object p0
.line 706
invoke-virtual {p0}, Ljava/util/regex/Matcher;->matches()Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_e
return-object v1
:cond_e
const/4 v0, 0x1
.line 709
invoke-virtual {p0, v0}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
const/4 v2, 0x2
.line 710
invoke-virtual {p0, v2}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object p0
const/16 v2, 0x10
.line 714
:try_start_20
invoke-static {v0, v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
move-result v0
if-eqz p0, :cond_2b
.line 716
invoke-static {p0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result p0
:try_end_2a
.catch Ljava/lang/NumberFormatException; {:try_start_20 .. :try_end_2a} :catch_31
goto :goto_2c
:cond_2b
const/4 p0, 0x0
.line 721
:goto_2c
new-instance v1, Lcom/google/android/exoplayer2/util/MimeTypes$Mp4aObjectType;
invoke-direct {v1, v0, p0}, Lcom/google/android/exoplayer2/util/MimeTypes$Mp4aObjectType;-><init>(II)V
:catch_31
return-object v1
.end method
.method public static getTextMediaMimeType(Ljava/lang/String;)Ljava/lang/String;
.registers 6
const/4 v0, 0x0
if-nez p0, :cond_4
return-object v0
.line 380
:cond_4
invoke-static {p0}, Lcom/google/android/exoplayer2/util/Util;->splitCodecs(Ljava/lang/String;)[Ljava/lang/String;
move-result-object p0
.line 381
array-length v1, p0
const/4 v2, 0x0
:goto_a
if-ge v2, v1, :cond_1e
aget-object v3, p0, v2
.line 382
invoke-static {v3}, Lcom/google/android/exoplayer2/util/MimeTypes;->getMediaMimeType(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
if-eqz v3, :cond_1b
.line 383
invoke-static {v3}, Lcom/google/android/exoplayer2/util/MimeTypes;->isText(Ljava/lang/String;)Z
move-result v4
if-eqz v4, :cond_1b
return-object v3
:cond_1b
add-int/lit8 v2, v2, 0x1
goto :goto_a
:cond_1e
return-object v0
.end method
.method private static getTopLevelType(Ljava/lang/String;)Ljava/lang/String;
.registers 4
const/4 v0, 0x0
if-nez p0, :cond_4
return-object v0
:cond_4
const/16 v1, 0x2f
.line 651
invoke-virtual {p0, v1}, Ljava/lang/String;->indexOf(I)I
move-result v1
const/4 v2, -0x1
if-ne v1, v2, :cond_e
return-object v0
:cond_e
const/4 v0, 0x0
.line 655
invoke-virtual {p0, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getTrackType(Ljava/lang/String;)I
.registers 2
.line 531
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_8
const/4 p0, -0x1
return p0
.line 533
:cond_8
invoke-static {p0}, Lcom/google/android/exoplayer2/util/MimeTypes;->isAudio(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_10
const/4 p0, 0x1
return p0
.line 535
:cond_10
invoke-static {p0}, Lcom/google/android/exoplayer2/util/MimeTypes;->isVideo(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_18
const/4 p0, 0x2
return p0
.line 537
:cond_18
invoke-static {p0}, Lcom/google/android/exoplayer2/util/MimeTypes;->isText(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_20
const/4 p0, 0x3
return p0
.line 539
:cond_20
invoke-static {p0}, Lcom/google/android/exoplayer2/util/MimeTypes;->isImage(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_28
const/4 p0, 0x4
return p0
:cond_28
const-string v0, "application/id3"
.line 541
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_50
const-string v0, "application/x-emsg"
.line 542
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_50
const-string v0, "application/x-scte35"
.line 543
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_41
goto :goto_50
:cond_41
const-string v0, "application/x-camera-motion"
.line 545
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_4b
const/4 p0, 0x6
return p0
.line 548
:cond_4b
invoke-static {p0}, Lcom/google/android/exoplayer2/util/MimeTypes;->getTrackTypeForCustomMimeType(Ljava/lang/String;)I
move-result p0
return p0
:cond_50
:goto_50
const/4 p0, 0x5
return p0
.end method
.method private static getTrackTypeForCustomMimeType(Ljava/lang/String;)I
.registers 5
.line 671
sget-object v0, Lcom/google/android/exoplayer2/util/MimeTypes;->customMimeTypes:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
const/4 v1, 0x0
:goto_7
if-ge v1, v0, :cond_1f
.line 673
sget-object v2, Lcom/google/android/exoplayer2/util/MimeTypes;->customMimeTypes:Ljava/util/ArrayList;
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/util/MimeTypes$CustomMimeType;
.line 674
iget-object v3, v2, Lcom/google/android/exoplayer2/util/MimeTypes$CustomMimeType;->mimeType:Ljava/lang/String;
invoke-virtual {p0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1c
.line 675
iget p0, v2, Lcom/google/android/exoplayer2/util/MimeTypes$CustomMimeType;->trackType:I
return p0
:cond_1c
add-int/lit8 v1, v1, 0x1
goto :goto_7
:cond_1f
const/4 p0, -0x1
return p0
.end method
.method public static getTrackTypeOfCodec(Ljava/lang/String;)I
.registers 1
.line 607
invoke-static {p0}, Lcom/google/android/exoplayer2/util/MimeTypes;->getMediaMimeType(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Lcom/google/android/exoplayer2/util/MimeTypes;->getTrackType(Ljava/lang/String;)I
move-result p0
return p0
.end method
.method public static getVideoMediaMimeType(Ljava/lang/String;)Ljava/lang/String;
.registers 6
const/4 v0, 0x0
if-nez p0, :cond_4
return-object v0
.line 294
:cond_4
invoke-static {p0}, Lcom/google/android/exoplayer2/util/Util;->splitCodecs(Ljava/lang/String;)[Ljava/lang/String;
move-result-object p0
.line 295
array-length v1, p0
const/4 v2, 0x0
:goto_a
if-ge v2, v1, :cond_1e
aget-object v3, p0, v2
.line 296
invoke-static {v3}, Lcom/google/android/exoplayer2/util/MimeTypes;->getMediaMimeType(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
if-eqz v3, :cond_1b
.line 297
invoke-static {v3}, Lcom/google/android/exoplayer2/util/MimeTypes;->isVideo(Ljava/lang/String;)Z
move-result v4
if-eqz v4, :cond_1b
return-object v3
:cond_1b
add-int/lit8 v2, v2, 0x1
goto :goto_a
:cond_1e
return-object v0
.end method
.method public static isAudio(Ljava/lang/String;)Z
.registers 2
const-string v0, "audio"
.line 203
invoke-static {p0}, Lcom/google/android/exoplayer2/util/MimeTypes;->getTopLevelType(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
return p0
.end method
.method public static isImage(Ljava/lang/String;)Z
.registers 2
const-string v0, "image"
.line 232
invoke-static {p0}, Lcom/google/android/exoplayer2/util/MimeTypes;->getTopLevelType(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
return p0
.end method
.method public static isMatroska(Ljava/lang/String;)Z
.registers 3
const/4 v0, 0x0
if-nez p0, :cond_4
return v0
:cond_4
const-string/jumbo v1, "video/webm"
.line 634
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_36
const-string v1, "audio/webm"
.line 635
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_36
const-string v1, "application/webm"
.line 636
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_36
const-string/jumbo v1, "video/x-matroska"
.line 637
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_36
const-string v1, "audio/x-matroska"
.line 638
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_36
const-string v1, "application/x-matroska"
.line 639
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result p0
if-eqz p0, :cond_37
:cond_36
const/4 v0, 0x1
:cond_37
return v0
.end method
.method public static isText(Ljava/lang/String;)Z
.registers 3
const-string/jumbo v0, "text"
.line 216
invoke-static {p0}, Lcom/google/android/exoplayer2/util/MimeTypes;->getTopLevelType(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_68
const-string v0, "application/cea-608"
.line 217
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_68
const-string v0, "application/cea-708"
.line 218
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_68
const-string v0, "application/x-mp4-cea-608"
.line 219
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_68
const-string v0, "application/x-subrip"
.line 220
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_68
const-string v0, "application/ttml+xml"
.line 221
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_68
const-string v0, "application/x-quicktime-tx3g"
.line 222
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_68
const-string v0, "application/x-mp4-vtt"
.line 223
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_68
const-string v0, "application/x-rawcc"
.line 224
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_68
const-string v0, "application/vobsub"
.line 225
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_68
const-string v0, "application/pgs"
.line 226
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_68
const-string v0, "application/dvbsubs"
.line 227
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_66
goto :goto_68
:cond_66
const/4 p0, 0x0
goto :goto_69
:cond_68
:goto_68
const/4 p0, 0x1
:goto_69
return p0
.end method
.method public static isVideo(Ljava/lang/String;)Z
.registers 2
const-string/jumbo v0, "video"
.line 208
invoke-static {p0}, Lcom/google/android/exoplayer2/util/MimeTypes;->getTopLevelType(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
return p0
.end method
.method public static normalizeMimeType(Ljava/lang/String;)Ljava/lang/String;
.registers 3
.line 617
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
move-result v0
const/4 v1, -0x1
sparse-switch v0, :sswitch_data_3a
goto :goto_2c
:sswitch_c
const-string v0, "audio/mp3"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_15
goto :goto_2c
:cond_15
const/4 v1, 0x2
goto :goto_2c
:sswitch_17
const-string v0, "audio/x-wav"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_20
goto :goto_2c
:cond_20
const/4 v1, 0x1
goto :goto_2c
:sswitch_22
const-string v0, "audio/x-flac"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_2b
goto :goto_2c
:cond_2b
const/4 v1, 0x0
:goto_2c
packed-switch v1, :pswitch_data_48
return-object p0
:pswitch_30
const-string p0, "audio/mpeg"
return-object p0
:pswitch_33
const-string p0, "audio/wav"
return-object p0
:pswitch_36
const-string p0, "audio/flac"
return-object p0
nop
:sswitch_data_3a
.sparse-switch
-0x3c11ec0a -> :sswitch_22
-0x22f81362 -> :sswitch_17
0xb26c537 -> :sswitch_c
.end sparse-switch
:pswitch_data_48
.packed-switch 0x0
:pswitch_36
:pswitch_33
:pswitch_30
.end packed-switch
.end method
.method public static registerCustomMimeType(Ljava/lang/String;Ljava/lang/String;I)V
.registers 6
.line 190
new-instance v0, Lcom/google/android/exoplayer2/util/MimeTypes$CustomMimeType;
invoke-direct {v0, p0, p1, p2}, Lcom/google/android/exoplayer2/util/MimeTypes$CustomMimeType;-><init>(Ljava/lang/String;Ljava/lang/String;I)V
.line 191
sget-object p1, Lcom/google/android/exoplayer2/util/MimeTypes;->customMimeTypes:Ljava/util/ArrayList;
invoke-virtual {p1}, Ljava/util/ArrayList;->size()I
move-result p1
const/4 p2, 0x0
:goto_c
if-ge p2, p1, :cond_25
.line 193
sget-object v1, Lcom/google/android/exoplayer2/util/MimeTypes;->customMimeTypes:Ljava/util/ArrayList;
invoke-virtual {v1, p2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/util/MimeTypes$CustomMimeType;
iget-object v2, v2, Lcom/google/android/exoplayer2/util/MimeTypes$CustomMimeType;->mimeType:Ljava/lang/String;
invoke-virtual {p0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_22
.line 194
invoke-virtual {v1, p2}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
goto :goto_25
:cond_22
add-int/lit8 p2, p2, 0x1
goto :goto_c
.line 198
:cond_25
:goto_25
sget-object p0, Lcom/google/android/exoplayer2/util/MimeTypes;->customMimeTypes:Ljava/util/ArrayList;
invoke-virtual {p0, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
return-void
.end method