h.smali
.class public final Lcom/google/android/exoplayer2/extractor/h;
.super Ljava/lang/Object;
.source "DefaultExtractorsFactory.java"
# interfaces
.implements Lcom/google/android/exoplayer2/extractor/p;
# static fields
.field private static final a:[I
.field private static final b:Ljava/lang/reflect/Constructor;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/reflect/Constructor<",
"+",
"Lcom/google/android/exoplayer2/extractor/j;",
">;"
}
.end annotation
.end field
# instance fields
.field private c:Z
.field private d:I
.field private e:I
.field private f:I
.field private g:I
.field private h:I
.field private i:I
.field private j:I
.field private k:I
.field private l:I
# direct methods
.method static constructor <clinit>()V
.registers 6
const/16 v0, 0xd
.line 1
new-array v0, v0, [I
fill-array-data v0, :array_4c
sput-object v0, Lcom/google/android/exoplayer2/extractor/h;->a:[I
const/4 v0, 0x0
.line 2
:try_start_a
sget-object v1, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
:try_end_c
.catch Ljava/lang/ClassNotFoundException; {:try_start_a .. :try_end_c} :catch_48
.catch Ljava/lang/Exception; {:try_start_a .. :try_end_c} :catch_3f
const-string v2, "com.google.android.exoplayer2.ext.flac.FlacLibrary"
.line 3
:try_start_e
invoke-static {v2}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v2
const-string v3, "isAvailable"
const/4 v4, 0x0
new-array v5, v4, [Ljava/lang/Class;
.line 4
invoke-virtual {v2, v3, v5}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v2
new-array v3, v4, [Ljava/lang/Object;
.line 5
invoke-virtual {v2, v0, v3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
.line 6
invoke-virtual {v1, v2}, Ljava/lang/Boolean;->equals(Ljava/lang/Object;)Z
move-result v1
:try_end_25
.catch Ljava/lang/ClassNotFoundException; {:try_start_e .. :try_end_25} :catch_48
.catch Ljava/lang/Exception; {:try_start_e .. :try_end_25} :catch_3f
if-eqz v1, :cond_48
const-string v1, "com.google.android.exoplayer2.ext.flac.FlacExtractor"
.line 7
:try_start_29
invoke-static {v1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
const-class v2, Lcom/google/android/exoplayer2/extractor/j;
.line 8
invoke-virtual {v1, v2}, Ljava/lang/Class;->asSubclass(Ljava/lang/Class;)Ljava/lang/Class;
move-result-object v1
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Class;
sget-object v3, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v3, v2, v4
.line 9
invoke-virtual {v1, v2}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v0
:try_end_3e
.catch Ljava/lang/ClassNotFoundException; {:try_start_29 .. :try_end_3e} :catch_48
.catch Ljava/lang/Exception; {:try_start_29 .. :try_end_3e} :catch_3f
goto :goto_48
:catch_3f
move-exception v0
.line 10
new-instance v1, Ljava/lang/RuntimeException;
const-string v2, "Error instantiating FLAC extension"
invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
.line 11
:catch_48
:cond_48
:goto_48
sput-object v0, Lcom/google/android/exoplayer2/extractor/h;->b:Ljava/lang/reflect/Constructor;
return-void
nop
:array_4c
.array-data 4
0x5
0x4
0xc
0x8
0x3
0xa
0x9
0xb
0x6
0x2
0x0
0x1
0x7
.end array-data
.end method
.method public constructor <init>()V
.registers 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x1
.line 2
iput v0, p0, Lcom/google/android/exoplayer2/extractor/h;->k:I
return-void
.end method
.method private a(ILjava/util/List;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/extractor/j;",
">;)V"
}
.end annotation
packed-switch p1, :pswitch_data_c6
goto/16 :goto_c5
.line 10
:pswitch_5
new-instance p1, Lcom/google/android/exoplayer2/extractor/h/b;
invoke-direct {p1}, Lcom/google/android/exoplayer2/extractor/h/b;-><init>()V
invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto/16 :goto_c5
.line 11
:pswitch_f
new-instance p1, Lcom/google/android/exoplayer2/extractor/g/J;
iget v0, p0, Lcom/google/android/exoplayer2/extractor/h;->k:I
iget v1, p0, Lcom/google/android/exoplayer2/extractor/h;->l:I
invoke-direct {p1, v0, v1}, Lcom/google/android/exoplayer2/extractor/g/J;-><init>(II)V
invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto/16 :goto_c5
.line 12
:pswitch_1d
new-instance p1, Lcom/google/android/exoplayer2/extractor/g/D;
invoke-direct {p1}, Lcom/google/android/exoplayer2/extractor/g/D;-><init>()V
invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto/16 :goto_c5
.line 13
:pswitch_27
new-instance p1, Lcom/google/android/exoplayer2/extractor/e/e;
invoke-direct {p1}, Lcom/google/android/exoplayer2/extractor/e/e;-><init>()V
invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto/16 :goto_c5
.line 14
:pswitch_31
new-instance p1, Lcom/google/android/exoplayer2/extractor/mp4/j;
iget v0, p0, Lcom/google/android/exoplayer2/extractor/h;->i:I
invoke-direct {p1, v0}, Lcom/google/android/exoplayer2/extractor/mp4/j;-><init>(I)V
invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 15
new-instance p1, Lcom/google/android/exoplayer2/extractor/mp4/m;
iget v0, p0, Lcom/google/android/exoplayer2/extractor/h;->h:I
invoke-direct {p1, v0}, Lcom/google/android/exoplayer2/extractor/mp4/m;-><init>(I)V
invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto/16 :goto_c5
.line 16
:pswitch_47
new-instance p1, Lcom/google/android/exoplayer2/extractor/d/f;
iget v0, p0, Lcom/google/android/exoplayer2/extractor/h;->j:I
.line 17
iget-boolean v1, p0, Lcom/google/android/exoplayer2/extractor/h;->c:Z
or-int/2addr v0, v1
.line 18
invoke-direct {p1, v0}, Lcom/google/android/exoplayer2/extractor/d/f;-><init>(I)V
.line 19
invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto/16 :goto_c5
.line 20
:pswitch_56
new-instance p1, Lcom/google/android/exoplayer2/extractor/c/g;
iget v0, p0, Lcom/google/android/exoplayer2/extractor/h;->g:I
invoke-direct {p1, v0}, Lcom/google/android/exoplayer2/extractor/c/g;-><init>(I)V
invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_c5
.line 21
:pswitch_61
new-instance p1, Lcom/google/android/exoplayer2/extractor/flv/c;
invoke-direct {p1}, Lcom/google/android/exoplayer2/extractor/flv/c;-><init>()V
invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_c5
.line 22
:pswitch_6a
sget-object p1, Lcom/google/android/exoplayer2/extractor/h;->b:Ljava/lang/reflect/Constructor;
if-eqz p1, :cond_8d
const/4 v0, 0x1
.line 23
:try_start_6f
new-array v0, v0, [Ljava/lang/Object;
const/4 v1, 0x0
iget v2, p0, Lcom/google/android/exoplayer2/extractor/h;->f:I
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
aput-object v2, v0, v1
invoke-virtual {p1, v0}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/android/exoplayer2/extractor/j;
invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:try_end_83
.catch Ljava/lang/Exception; {:try_start_6f .. :try_end_83} :catch_84
goto :goto_c5
:catch_84
move-exception p1
.line 24
new-instance p2, Ljava/lang/IllegalStateException;
const-string v0, "Unexpected error creating FLAC extractor"
invoke-direct {p2, v0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p2
.line 25
:cond_8d
new-instance p1, Lcom/google/android/exoplayer2/extractor/b/e;
iget v0, p0, Lcom/google/android/exoplayer2/extractor/h;->f:I
invoke-direct {p1, v0}, Lcom/google/android/exoplayer2/extractor/b/e;-><init>(I)V
invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_c5
.line 26
:pswitch_98
new-instance p1, Lcom/google/android/exoplayer2/extractor/a/b;
iget v0, p0, Lcom/google/android/exoplayer2/extractor/h;->e:I
.line 27
iget-boolean v1, p0, Lcom/google/android/exoplayer2/extractor/h;->c:Z
or-int/2addr v0, v1
.line 28
invoke-direct {p1, v0}, Lcom/google/android/exoplayer2/extractor/a/b;-><init>(I)V
.line 29
invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_c5
.line 30
:pswitch_a6
new-instance p1, Lcom/google/android/exoplayer2/extractor/g/j;
iget v0, p0, Lcom/google/android/exoplayer2/extractor/h;->d:I
.line 31
iget-boolean v1, p0, Lcom/google/android/exoplayer2/extractor/h;->c:Z
or-int/2addr v0, v1
.line 32
invoke-direct {p1, v0}, Lcom/google/android/exoplayer2/extractor/g/j;-><init>(I)V
.line 33
invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_c5
.line 34
:pswitch_b4
new-instance p1, Lcom/google/android/exoplayer2/extractor/g/h;
invoke-direct {p1}, Lcom/google/android/exoplayer2/extractor/g/h;-><init>()V
invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_c5
.line 35
:pswitch_bd
new-instance p1, Lcom/google/android/exoplayer2/extractor/g/f;
invoke-direct {p1}, Lcom/google/android/exoplayer2/extractor/g/f;-><init>()V
invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:goto_c5
return-void
:pswitch_data_c6
.packed-switch 0x0
:pswitch_bd
:pswitch_b4
:pswitch_a6
:pswitch_98
:pswitch_6a
:pswitch_61
:pswitch_56
:pswitch_47
:pswitch_31
:pswitch_27
:pswitch_1d
:pswitch_f
:pswitch_5
.end packed-switch
.end method
# virtual methods
.method public declared-synchronized a()[Lcom/google/android/exoplayer2/extractor/j;
.registers 3
monitor-enter p0
.line 1
:try_start_1
sget-object v0, Landroid/net/Uri;->EMPTY:Landroid/net/Uri;
new-instance v1, Ljava/util/HashMap;
invoke-direct {v1}, Ljava/util/HashMap;-><init>()V
invoke-virtual {p0, v0, v1}, Lcom/google/android/exoplayer2/extractor/h;->a(Landroid/net/Uri;Ljava/util/Map;)[Lcom/google/android/exoplayer2/extractor/j;
move-result-object v0
:try_end_c
.catchall {:try_start_1 .. :try_end_c} :catchall_e
monitor-exit p0
return-object v0
:catchall_e
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized a(Landroid/net/Uri;Ljava/util/Map;)[Lcom/google/android/exoplayer2/extractor/j;
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/net/Uri;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/util/List<",
"Ljava/lang/String;",
">;>;)[",
"Lcom/google/android/exoplayer2/extractor/j;"
}
.end annotation
monitor-enter p0
.line 2
:try_start_1
new-instance v0, Ljava/util/ArrayList;
const/16 v1, 0xe
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
.line 3
invoke-static {p2}, Lcom/google/android/exoplayer2/util/m;->a(Ljava/util/Map;)I
move-result p2
const/4 v1, -0x1
if-eq p2, v1, :cond_12
.line 4
invoke-direct {p0, p2, v0}, Lcom/google/android/exoplayer2/extractor/h;->a(ILjava/util/List;)V
.line 5
:cond_12
invoke-static {p1}, Lcom/google/android/exoplayer2/util/m;->a(Landroid/net/Uri;)I
move-result p1
if-eq p1, v1, :cond_1d
if-eq p1, p2, :cond_1d
.line 6
invoke-direct {p0, p1, v0}, Lcom/google/android/exoplayer2/extractor/h;->a(ILjava/util/List;)V
.line 7
:cond_1d
sget-object v1, Lcom/google/android/exoplayer2/extractor/h;->a:[I
array-length v2, v1
const/4 v3, 0x0
:goto_21
if-ge v3, v2, :cond_2f
aget v4, v1, v3
if-eq v4, p2, :cond_2c
if-eq v4, p1, :cond_2c
.line 8
invoke-direct {p0, v4, v0}, Lcom/google/android/exoplayer2/extractor/h;->a(ILjava/util/List;)V
:cond_2c
add-int/lit8 v3, v3, 0x1
goto :goto_21
.line 9
:cond_2f
invoke-interface {v0}, Ljava/util/List;->size()I
move-result p1
new-array p1, p1, [Lcom/google/android/exoplayer2/extractor/j;
invoke-interface {v0, p1}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object p1
check-cast p1, [Lcom/google/android/exoplayer2/extractor/j;
:try_end_3b
.catchall {:try_start_1 .. :try_end_3b} :catchall_3d
monitor-exit p0
return-object p1
:catchall_3d
move-exception p1
monitor-exit p0
goto :goto_41
:goto_40
throw p1
:goto_41
goto :goto_40
.end method