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