o.smali
.class final Lcom/google/android/exoplayer2/extractor/mp4/o;
.super Ljava/lang/Object;
.source "Sniffer.java"
# static fields
.field private static final a:[I
# direct methods
.method static constructor <clinit>()V
.registers 1
const/16 v0, 0x1c
.line 1
new-array v0, v0, [I
fill-array-data v0, :array_a
sput-object v0, Lcom/google/android/exoplayer2/extractor/mp4/o;->a:[I
return-void
:array_a
.array-data 4
0x69736f6d
0x69736f32
0x69736f33
0x69736f34
0x69736f35
0x69736f36
0x61766331
0x68766331
0x68657631
0x61763031
0x6d703431
0x6d703432
0x33673261
0x33673262
0x33677236
0x33677336
0x33676536
0x33676736
0x4d345620 # 1.89096448E8f
0x4d344120 # 1.89010432E8f
0x66347620
0x6b646469
0x4d345650
0x71742020
0x4d534e56 # 2.215704E8f
0x64627931
0x69736d6c
0x70696666
.end array-data
.end method
.method private static a(I)Z
.registers 7
ushr-int/lit8 v0, p0, 0x8
const/4 v1, 0x1
const v2, 0x336770
if-ne v0, v2, :cond_9
return v1
.line 20
:cond_9
sget-object v0, Lcom/google/android/exoplayer2/extractor/mp4/o;->a:[I
array-length v2, v0
const/4 v3, 0x0
const/4 v4, 0x0
:goto_e
if-ge v4, v2, :cond_18
aget v5, v0, v4
if-ne v5, p0, :cond_15
return v1
:cond_15
add-int/lit8 v4, v4, 0x1
goto :goto_e
:cond_18
return v3
.end method
.method public static a(Lcom/google/android/exoplayer2/extractor/k;)Z
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x1
.line 1
invoke-static {p0, v0}, Lcom/google/android/exoplayer2/extractor/mp4/o;->a(Lcom/google/android/exoplayer2/extractor/k;Z)Z
move-result p0
return p0
.end method
.method private static a(Lcom/google/android/exoplayer2/extractor/k;Z)Z
.registers 23
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
move-object/from16 v0, p0
.line 2
invoke-interface/range {p0 .. p0}, Lcom/google/android/exoplayer2/extractor/k;->getLength()J
move-result-wide v1
const-wide/16 v3, 0x1000
const-wide/16 v5, -0x1
cmp-long v7, v1, v5
if-eqz v7, :cond_14
cmp-long v7, v1, v3
if-lez v7, :cond_13
goto :goto_14
:cond_13
move-wide v3, v1
:cond_14
:goto_14
long-to-int v4, v3
.line 3
new-instance v3, Lcom/google/android/exoplayer2/util/x;
const/16 v7, 0x40
invoke-direct {v3, v7}, Lcom/google/android/exoplayer2/util/x;-><init>(I)V
const/4 v7, 0x0
move v8, v4
const/4 v4, 0x0
const/4 v9, 0x0
:goto_20
const/4 v10, 0x1
if-ge v4, v8, :cond_f2
const/16 v11, 0x8
.line 4
invoke-virtual {v3, v11}, Lcom/google/android/exoplayer2/util/x;->c(I)V
.line 5
invoke-virtual {v3}, Lcom/google/android/exoplayer2/util/x;->c()[B
move-result-object v12
invoke-interface {v0, v12, v7, v11, v10}, Lcom/google/android/exoplayer2/extractor/k;->a([BIIZ)Z
move-result v12
if-nez v12, :cond_34
goto/16 :goto_f2
.line 6
:cond_34
invoke-virtual {v3}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v12
.line 7
invoke-virtual {v3}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v14
const-wide/16 v15, 0x1
const/16 v10, 0x10
cmp-long v17, v12, v15
if-nez v17, :cond_53
.line 8
invoke-virtual {v3}, Lcom/google/android/exoplayer2/util/x;->c()[B
move-result-object v12
.line 9
invoke-interface {v0, v12, v11, v11}, Lcom/google/android/exoplayer2/extractor/k;->b([BII)V
.line 10
invoke-virtual {v3, v10}, Lcom/google/android/exoplayer2/util/x;->d(I)V
.line 11
invoke-virtual {v3}, Lcom/google/android/exoplayer2/util/x;->s()J
move-result-wide v12
goto :goto_6a
:cond_53
const-wide/16 v15, 0x0
cmp-long v10, v12, v15
if-nez v10, :cond_68
.line 12
invoke-interface/range {p0 .. p0}, Lcom/google/android/exoplayer2/extractor/k;->getLength()J
move-result-wide v15
cmp-long v10, v15, v5
if-eqz v10, :cond_68
.line 13
invoke-interface/range {p0 .. p0}, Lcom/google/android/exoplayer2/extractor/k;->b()J
move-result-wide v12
sub-long/2addr v15, v12
int-to-long v12, v11
add-long/2addr v12, v15
:cond_68
const/16 v10, 0x8
:goto_6a
int-to-long v5, v10
cmp-long v17, v12, v5
if-gez v17, :cond_70
return v7
:cond_70
add-int/2addr v4, v10
const v10, 0x6d6f6f76
if-ne v14, v10, :cond_86
long-to-int v5, v12
add-int/2addr v8, v5
const-wide/16 v15, -0x1
cmp-long v5, v1, v15
if-eqz v5, :cond_84
int-to-long v5, v8
cmp-long v10, v5, v1
if-lez v10, :cond_84
long-to-int v8, v1
:cond_84
move-wide v5, v15
goto :goto_20
:cond_86
const-wide/16 v15, -0x1
const v10, 0x6d6f6f66
if-eq v14, v10, :cond_ed
const v10, 0x6d766578
if-ne v14, v10, :cond_93
goto :goto_ed
:cond_93
move/from16 v17, v8
int-to-long v7, v4
add-long/2addr v7, v12
sub-long/2addr v7, v5
move-wide/from16 v19, v12
move/from16 v10, v17
int-to-long v11, v10
cmp-long v13, v7, v11
if-ltz v13, :cond_a2
goto :goto_f2
:cond_a2
sub-long v12, v19, v5
long-to-int v5, v12
add-int/2addr v4, v5
const v6, 0x66747970
if-ne v14, v6, :cond_e1
const/16 v6, 0x8
if-ge v5, v6, :cond_b1
const/4 v6, 0x0
return v6
:cond_b1
const/4 v6, 0x0
.line 14
invoke-virtual {v3, v5}, Lcom/google/android/exoplayer2/util/x;->c(I)V
.line 15
invoke-virtual {v3}, Lcom/google/android/exoplayer2/util/x;->c()[B
move-result-object v7
invoke-interface {v0, v7, v6, v5}, Lcom/google/android/exoplayer2/extractor/k;->b([BII)V
.line 16
div-int/lit8 v5, v5, 0x4
const/4 v7, 0x0
:goto_bf
if-ge v7, v5, :cond_d7
const/4 v8, 0x1
if-ne v7, v8, :cond_c9
const/4 v11, 0x4
.line 17
invoke-virtual {v3, v11}, Lcom/google/android/exoplayer2/util/x;->f(I)V
goto :goto_d4
.line 18
:cond_c9
invoke-virtual {v3}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v11
invoke-static {v11}, Lcom/google/android/exoplayer2/extractor/mp4/o;->a(I)Z
move-result v11
if-eqz v11, :cond_d4
goto :goto_d8
:cond_d4
:goto_d4
add-int/lit8 v7, v7, 0x1
goto :goto_bf
:cond_d7
move v8, v9
:goto_d8
if-nez v8, :cond_dd
const/16 v18, 0x0
return v18
:cond_dd
const/16 v18, 0x0
move v9, v8
goto :goto_e8
:cond_e1
const/16 v18, 0x0
if-eqz v5, :cond_e8
.line 19
invoke-interface {v0, v5}, Lcom/google/android/exoplayer2/extractor/k;->a(I)V
:cond_e8
:goto_e8
move v8, v10
move-wide v5, v15
const/4 v7, 0x0
goto/16 :goto_20
:cond_ed
:goto_ed
const/4 v8, 0x1
const/16 v18, 0x0
const/4 v0, 0x1
goto :goto_f6
:cond_f2
:goto_f2
const/4 v8, 0x1
const/16 v18, 0x0
const/4 v0, 0x0
:goto_f6
if-eqz v9, :cond_fe
move/from16 v1, p1
if-ne v1, v0, :cond_fe
const/16 v18, 0x1
:cond_fe
return v18
.end method
.method public static b(Lcom/google/android/exoplayer2/extractor/k;)Z
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
.line 1
invoke-static {p0, v0}, Lcom/google/android/exoplayer2/extractor/mp4/o;->a(Lcom/google/android/exoplayer2/extractor/k;Z)Z
move-result p0
return p0
.end method