j.smali
.class public Lcom/google/android/exoplayer2/extractor/mp4/j;
.super Ljava/lang/Object;
.source "FragmentedMp4Extractor.java"
# interfaces
.implements Lcom/google/android/exoplayer2/extractor/j;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/extractor/mp4/j$b;,
Lcom/google/android/exoplayer2/extractor/mp4/j$a;
}
.end annotation
# static fields
.field public static final a:Lcom/google/android/exoplayer2/extractor/p;
.field private static final b:[B
.field private static final c:Lcom/google/android/exoplayer2/Format;
# instance fields
.field private A:J
.field private B:J
.field private C:Lcom/google/android/exoplayer2/extractor/mp4/j$b;
.field private D:I
.field private E:I
.field private F:I
.field private G:Z
.field private H:Lcom/google/android/exoplayer2/extractor/m;
.field private I:[Lcom/google/android/exoplayer2/extractor/A;
.field private J:[Lcom/google/android/exoplayer2/extractor/A;
.field private K:Z
.field private final d:I
.field private final e:Lcom/google/android/exoplayer2/extractor/mp4/p;
.field private final f:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/Format;",
">;"
}
.end annotation
.end field
.field private final g:Landroid/util/SparseArray;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/util/SparseArray<",
"Lcom/google/android/exoplayer2/extractor/mp4/j$b;",
">;"
}
.end annotation
.end field
.field private final h:Lcom/google/android/exoplayer2/util/x;
.field private final i:Lcom/google/android/exoplayer2/util/x;
.field private final j:Lcom/google/android/exoplayer2/util/x;
.field private final k:[B
.field private final l:Lcom/google/android/exoplayer2/util/x;
.field private final m:Lcom/google/android/exoplayer2/util/I;
.field private final n:Lcom/google/android/exoplayer2/metadata/emsg/c;
.field private final o:Lcom/google/android/exoplayer2/util/x;
.field private final p:Ljava/util/ArrayDeque;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayDeque<",
"Lcom/google/android/exoplayer2/extractor/mp4/e$a;",
">;"
}
.end annotation
.end field
.field private final q:Ljava/util/ArrayDeque;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayDeque<",
"Lcom/google/android/exoplayer2/extractor/mp4/j$a;",
">;"
}
.end annotation
.end field
.field private final r:Lcom/google/android/exoplayer2/extractor/A;
.field private s:I
.field private t:I
.field private u:J
.field private v:I
.field private w:Lcom/google/android/exoplayer2/util/x;
.field private x:J
.field private y:I
.field private z:J
# direct methods
.method static constructor <clinit>()V
.registers 2
.line 1
sget-object v0, Lcom/google/android/exoplayer2/extractor/mp4/a;->a:Lcom/google/android/exoplayer2/extractor/mp4/a;
sput-object v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->a:Lcom/google/android/exoplayer2/extractor/p;
const/16 v0, 0x10
.line 2
new-array v0, v0, [B
fill-array-data v0, :array_1e
sput-object v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->b:[B
.line 3
new-instance v0, Lcom/google/android/exoplayer2/Format$a;
invoke-direct {v0}, Lcom/google/android/exoplayer2/Format$a;-><init>()V
const-string v1, "application/x-emsg"
.line 4
invoke-virtual {v0, v1}, Lcom/google/android/exoplayer2/Format$a;->f(Ljava/lang/String;)Lcom/google/android/exoplayer2/Format$a;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/Format$a;->a()Lcom/google/android/exoplayer2/Format;
move-result-object v0
sput-object v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->c:Lcom/google/android/exoplayer2/Format;
return-void
:array_1e
.array-data 1
-0x5et
0x39t
0x4ft
0x52t
0x5at
-0x65t
0x4ft
0x14t
-0x5et
0x44t
0x6ct
0x42t
0x7ct
0x64t
-0x73t
-0xct
.end array-data
.end method
.method public constructor <init>()V
.registers 2
const/4 v0, 0x0
.line 1
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/extractor/mp4/j;-><init>(I)V
return-void
.end method
.method public constructor <init>(I)V
.registers 3
const/4 v0, 0x0
.line 2
invoke-direct {p0, p1, v0}, Lcom/google/android/exoplayer2/extractor/mp4/j;-><init>(ILcom/google/android/exoplayer2/util/I;)V
return-void
.end method
.method public constructor <init>(ILcom/google/android/exoplayer2/util/I;)V
.registers 5
.line 3
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object v0
const/4 v1, 0x0
invoke-direct {p0, p1, p2, v1, v0}, Lcom/google/android/exoplayer2/extractor/mp4/j;-><init>(ILcom/google/android/exoplayer2/util/I;Lcom/google/android/exoplayer2/extractor/mp4/p;Ljava/util/List;)V
return-void
.end method
.method public constructor <init>(ILcom/google/android/exoplayer2/util/I;Lcom/google/android/exoplayer2/extractor/mp4/p;Ljava/util/List;)V
.registers 11
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Lcom/google/android/exoplayer2/util/I;",
"Lcom/google/android/exoplayer2/extractor/mp4/p;",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/Format;",
">;)V"
}
.end annotation
const/4 v5, 0x0
move-object v0, p0
move v1, p1
move-object v2, p2
move-object v3, p3
move-object v4, p4
.line 4
invoke-direct/range {v0 .. v5}, Lcom/google/android/exoplayer2/extractor/mp4/j;-><init>(ILcom/google/android/exoplayer2/util/I;Lcom/google/android/exoplayer2/extractor/mp4/p;Ljava/util/List;Lcom/google/android/exoplayer2/extractor/A;)V
return-void
.end method
.method public constructor <init>(ILcom/google/android/exoplayer2/util/I;Lcom/google/android/exoplayer2/extractor/mp4/p;Ljava/util/List;Lcom/google/android/exoplayer2/extractor/A;)V
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Lcom/google/android/exoplayer2/util/I;",
"Lcom/google/android/exoplayer2/extractor/mp4/p;",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/Format;",
">;",
"Lcom/google/android/exoplayer2/extractor/A;",
")V"
}
.end annotation
.line 5
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
if-eqz p3, :cond_9
const/16 v1, 0x8
goto :goto_a
:cond_9
const/4 v1, 0x0
:goto_a
or-int/2addr p1, v1
.line 6
iput p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->d:I
.line 7
iput-object p2, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->m:Lcom/google/android/exoplayer2/util/I;
.line 8
iput-object p3, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->e:Lcom/google/android/exoplayer2/extractor/mp4/p;
.line 9
invoke-static {p4}, Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;
move-result-object p1
iput-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->f:Ljava/util/List;
.line 10
iput-object p5, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->r:Lcom/google/android/exoplayer2/extractor/A;
.line 11
new-instance p1, Lcom/google/android/exoplayer2/metadata/emsg/c;
invoke-direct {p1}, Lcom/google/android/exoplayer2/metadata/emsg/c;-><init>()V
iput-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->n:Lcom/google/android/exoplayer2/metadata/emsg/c;
.line 12
new-instance p1, Lcom/google/android/exoplayer2/util/x;
const/16 p2, 0x10
invoke-direct {p1, p2}, Lcom/google/android/exoplayer2/util/x;-><init>(I)V
iput-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->o:Lcom/google/android/exoplayer2/util/x;
.line 13
new-instance p1, Lcom/google/android/exoplayer2/util/x;
sget-object p3, Lcom/google/android/exoplayer2/util/u;->a:[B
invoke-direct {p1, p3}, Lcom/google/android/exoplayer2/util/x;-><init>([B)V
iput-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->h:Lcom/google/android/exoplayer2/util/x;
.line 14
new-instance p1, Lcom/google/android/exoplayer2/util/x;
const/4 p3, 0x5
invoke-direct {p1, p3}, Lcom/google/android/exoplayer2/util/x;-><init>(I)V
iput-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->i:Lcom/google/android/exoplayer2/util/x;
.line 15
new-instance p1, Lcom/google/android/exoplayer2/util/x;
invoke-direct {p1}, Lcom/google/android/exoplayer2/util/x;-><init>()V
iput-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->j:Lcom/google/android/exoplayer2/util/x;
.line 16
new-array p1, p2, [B
iput-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->k:[B
.line 17
new-instance p1, Lcom/google/android/exoplayer2/util/x;
iget-object p2, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->k:[B
invoke-direct {p1, p2}, Lcom/google/android/exoplayer2/util/x;-><init>([B)V
iput-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->l:Lcom/google/android/exoplayer2/util/x;
.line 18
new-instance p1, Ljava/util/ArrayDeque;
invoke-direct {p1}, Ljava/util/ArrayDeque;-><init>()V
iput-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->p:Ljava/util/ArrayDeque;
.line 19
new-instance p1, Ljava/util/ArrayDeque;
invoke-direct {p1}, Ljava/util/ArrayDeque;-><init>()V
iput-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->q:Ljava/util/ArrayDeque;
.line 20
new-instance p1, Landroid/util/SparseArray;
invoke-direct {p1}, Landroid/util/SparseArray;-><init>()V
iput-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->g:Landroid/util/SparseArray;
const-wide p1, -0x7fffffffffffffffL # -4.9E-324
.line 21
iput-wide p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->A:J
.line 22
iput-wide p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->z:J
.line 23
iput-wide p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->B:J
.line 24
sget-object p1, Lcom/google/android/exoplayer2/extractor/m;->a:Lcom/google/android/exoplayer2/extractor/m;
iput-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->H:Lcom/google/android/exoplayer2/extractor/m;
.line 25
new-array p1, v0, [Lcom/google/android/exoplayer2/extractor/A;
iput-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->I:[Lcom/google/android/exoplayer2/extractor/A;
.line 26
new-array p1, v0, [Lcom/google/android/exoplayer2/extractor/A;
iput-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->J:[Lcom/google/android/exoplayer2/extractor/A;
return-void
.end method
.method private static a(I)I
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
if-ltz p0, :cond_3
return p0
.line 169
:cond_3
new-instance v0, Lcom/google/android/exoplayer2/ParserException;
const/16 v1, 0x25
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v1, "Unexpected negtive value: "
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private static a(Lcom/google/android/exoplayer2/extractor/mp4/j$b;IILcom/google/android/exoplayer2/util/x;I)I
.registers 41
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
move-object/from16 v0, p0
const/16 v1, 0x8
move-object/from16 v2, p3
.line 133
invoke-virtual {v2, v1}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 134
invoke-virtual/range {p3 .. p3}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v1
.line 135
invoke-static {v1}, Lcom/google/android/exoplayer2/extractor/mp4/e;->b(I)I
move-result v1
.line 136
iget-object v3, v0, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->d:Lcom/google/android/exoplayer2/extractor/mp4/s;
iget-object v3, v3, Lcom/google/android/exoplayer2/extractor/mp4/s;->a:Lcom/google/android/exoplayer2/extractor/mp4/p;
.line 137
iget-object v4, v0, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->b:Lcom/google/android/exoplayer2/extractor/mp4/r;
.line 138
iget-object v5, v4, Lcom/google/android/exoplayer2/extractor/mp4/r;->a:Lcom/google/android/exoplayer2/extractor/mp4/g;
invoke-static {v5}, Lcom/google/android/exoplayer2/util/L;->a(Ljava/lang/Object;)Ljava/lang/Object;
check-cast v5, Lcom/google/android/exoplayer2/extractor/mp4/g;
.line 139
iget-object v6, v4, Lcom/google/android/exoplayer2/extractor/mp4/r;->h:[I
invoke-virtual/range {p3 .. p3}, Lcom/google/android/exoplayer2/util/x;->A()I
move-result v7
aput v7, v6, p1
.line 140
iget-object v6, v4, Lcom/google/android/exoplayer2/extractor/mp4/r;->g:[J
iget-wide v7, v4, Lcom/google/android/exoplayer2/extractor/mp4/r;->c:J
aput-wide v7, v6, p1
and-int/lit8 v7, v1, 0x1
if-eqz v7, :cond_3a
.line 141
aget-wide v7, v6, p1
invoke-virtual/range {p3 .. p3}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v9
int-to-long v9, v9
add-long/2addr v7, v9
aput-wide v7, v6, p1
:cond_3a
and-int/lit8 v6, v1, 0x4
const/4 v7, 0x0
const/4 v8, 0x1
if-eqz v6, :cond_42
const/4 v6, 0x1
goto :goto_43
:cond_42
const/4 v6, 0x0
.line 142
:goto_43
iget v9, v5, Lcom/google/android/exoplayer2/extractor/mp4/g;->d:I
if-eqz v6, :cond_4b
.line 143
invoke-virtual/range {p3 .. p3}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v9
:cond_4b
and-int/lit16 v10, v1, 0x100
if-eqz v10, :cond_51
const/4 v10, 0x1
goto :goto_52
:cond_51
const/4 v10, 0x0
:goto_52
and-int/lit16 v11, v1, 0x200
if-eqz v11, :cond_58
const/4 v11, 0x1
goto :goto_59
:cond_58
const/4 v11, 0x0
:goto_59
and-int/lit16 v12, v1, 0x400
if-eqz v12, :cond_5f
const/4 v12, 0x1
goto :goto_60
:cond_5f
const/4 v12, 0x0
:goto_60
and-int/lit16 v1, v1, 0x800
if-eqz v1, :cond_66
const/4 v1, 0x1
goto :goto_67
:cond_66
const/4 v1, 0x0
.line 144
:goto_67
iget-object v13, v3, Lcom/google/android/exoplayer2/extractor/mp4/p;->h:[J
if-eqz v13, :cond_8b
array-length v14, v13
if-ne v14, v8, :cond_8b
aget-wide v14, v13, v7
const-wide/16 v16, 0x0
cmp-long v13, v14, v16
if-nez v13, :cond_8d
.line 145
iget-object v13, v3, Lcom/google/android/exoplayer2/extractor/mp4/p;->i:[J
.line 146
invoke-static {v13}, Lcom/google/android/exoplayer2/util/L;->a(Ljava/lang/Object;)Ljava/lang/Object;
check-cast v13, [J
aget-wide v14, v13, v7
const-wide/32 v16, 0xf4240
iget-wide v7, v3, Lcom/google/android/exoplayer2/extractor/mp4/p;->c:J
move-wide/from16 v18, v7
.line 147
invoke-static/range {v14 .. v19}, Lcom/google/android/exoplayer2/util/L;->c(JJJ)J
move-result-wide v14
goto :goto_8f
:cond_8b
const-wide/16 v16, 0x0
:cond_8d
move-wide/from16 v14, v16
.line 148
:goto_8f
iget-object v7, v4, Lcom/google/android/exoplayer2/extractor/mp4/r;->i:[I
.line 149
iget-object v8, v4, Lcom/google/android/exoplayer2/extractor/mp4/r;->j:[I
.line 150
iget-object v13, v4, Lcom/google/android/exoplayer2/extractor/mp4/r;->k:[J
.line 151
iget-object v2, v4, Lcom/google/android/exoplayer2/extractor/mp4/r;->l:[Z
move/from16 v17, v9
.line 152
iget v9, v3, Lcom/google/android/exoplayer2/extractor/mp4/p;->b:I
move-object/from16 v18, v2
const/4 v2, 0x2
if-ne v9, v2, :cond_a7
const/4 v2, 0x1
and-int/lit8 v9, p2, 0x1
if-eqz v9, :cond_a7
const/4 v2, 0x1
goto :goto_a8
:cond_a7
const/4 v2, 0x0
.line 153
:goto_a8
iget-object v9, v4, Lcom/google/android/exoplayer2/extractor/mp4/r;->h:[I
aget v9, v9, p1
add-int v9, p4, v9
move/from16 p2, v2
.line 154
iget-wide v2, v3, Lcom/google/android/exoplayer2/extractor/mp4/p;->c:J
move-wide/from16 v27, v14
move-object v15, v13
.line 155
iget-wide v13, v4, Lcom/google/android/exoplayer2/extractor/mp4/r;->r:J
move-wide/from16 v29, v13
move/from16 v13, p4
:goto_bb
if-ge v13, v9, :cond_15c
if-eqz v10, :cond_c4
.line 156
invoke-virtual/range {p3 .. p3}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v14
goto :goto_c6
:cond_c4
iget v14, v5, Lcom/google/android/exoplayer2/extractor/mp4/g;->b:I
:goto_c6
invoke-static {v14}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(I)I
if-eqz v11, :cond_d6
.line 157
invoke-virtual/range {p3 .. p3}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v19
move/from16 v35, v19
move/from16 v19, v10
move/from16 v10, v35
goto :goto_da
:cond_d6
move/from16 v19, v10
iget v10, v5, Lcom/google/android/exoplayer2/extractor/mp4/g;->c:I
:goto_da
invoke-static {v10}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(I)I
if-eqz v12, :cond_e8
.line 158
invoke-virtual/range {p3 .. p3}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v21
move/from16 v31, v6
move/from16 v6, v21
goto :goto_f5
:cond_e8
if-nez v13, :cond_f1
if-eqz v6, :cond_f1
move/from16 v31, v6
move/from16 v6, v17
goto :goto_f5
:cond_f1
move/from16 v31, v6
.line 159
iget v6, v5, Lcom/google/android/exoplayer2/extractor/mp4/g;->d:I
:goto_f5
if-eqz v1, :cond_10d
move/from16 v32, v1
.line 160
invoke-virtual/range {p3 .. p3}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v1
move/from16 v33, v11
move/from16 v34, v12
int-to-long v11, v1
const-wide/32 v21, 0xf4240
mul-long v11, v11, v21
.line 161
div-long/2addr v11, v2
long-to-int v1, v11
aput v1, v8, v13
const/4 v1, 0x0
goto :goto_116
:cond_10d
move/from16 v32, v1
move/from16 v33, v11
move/from16 v34, v12
const/4 v1, 0x0
.line 162
aput v1, v8, v13
:goto_116
const-wide/32 v23, 0xf4240
move-wide/from16 v21, v29
move-wide/from16 v25, v2
.line 163
invoke-static/range {v21 .. v26}, Lcom/google/android/exoplayer2/util/L;->c(JJJ)J
move-result-wide v11
sub-long v11, v11, v27
aput-wide v11, v15, v13
.line 164
iget-boolean v11, v4, Lcom/google/android/exoplayer2/extractor/mp4/r;->s:Z
if-nez v11, :cond_132
.line 165
aget-wide v11, v15, v13
iget-object v1, v0, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->d:Lcom/google/android/exoplayer2/extractor/mp4/s;
iget-wide v0, v1, Lcom/google/android/exoplayer2/extractor/mp4/s;->h:J
add-long/2addr v11, v0
aput-wide v11, v15, v13
.line 166
:cond_132
aput v10, v7, v13
shr-int/lit8 v0, v6, 0x10
const/4 v1, 0x1
and-int/2addr v0, v1
if-nez v0, :cond_140
if-eqz p2, :cond_13e
if-nez v13, :cond_140
:cond_13e
const/4 v0, 0x1
goto :goto_141
:cond_140
const/4 v0, 0x0
.line 167
:goto_141
aput-boolean v0, v18, v13
int-to-long v10, v14
move-wide/from16 v20, v2
move-wide/from16 v1, v29
add-long v29, v1, v10
add-int/lit8 v13, v13, 0x1
move-object/from16 v0, p0
move/from16 v10, v19
move-wide/from16 v2, v20
move/from16 v6, v31
move/from16 v1, v32
move/from16 v11, v33
move/from16 v12, v34
goto/16 :goto_bb
:cond_15c
move-wide/from16 v1, v29
.line 168
iput-wide v1, v4, Lcom/google/android/exoplayer2/extractor/mp4/r;->r:J
return v9
.end method
.method private static a(Lcom/google/android/exoplayer2/util/x;J)Landroid/util/Pair;
.registers 26
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/util/x;",
"J)",
"Landroid/util/Pair<",
"Ljava/lang/Long;",
"Lcom/google/android/exoplayer2/extractor/e;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
move-object/from16 v0, p0
const/16 v1, 0x8
.line 218
invoke-virtual {v0, v1}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 219
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v1
.line 220
invoke-static {v1}, Lcom/google/android/exoplayer2/extractor/mp4/e;->c(I)I
move-result v1
const/4 v2, 0x4
.line 221
invoke-virtual {v0, v2}, Lcom/google/android/exoplayer2/util/x;->f(I)V
.line 222
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v9
if-nez v1, :cond_22
.line 223
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v3
.line 224
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v5
goto :goto_2a
.line 225
:cond_22
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->B()J
move-result-wide v3
.line 226
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->B()J
move-result-wide v5
:goto_2a
add-long v5, p1, v5
move-wide v11, v3
move-wide v13, v5
const-wide/32 v5, 0xf4240
move-wide v3, v11
move-wide v7, v9
.line 227
invoke-static/range {v3 .. v8}, Lcom/google/android/exoplayer2/util/L;->c(JJJ)J
move-result-wide v15
const/4 v1, 0x2
.line 228
invoke-virtual {v0, v1}, Lcom/google/android/exoplayer2/util/x;->f(I)V
.line 229
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->C()I
move-result v1
.line 230
new-array v7, v1, [I
.line 231
new-array v8, v1, [J
.line 232
new-array v5, v1, [J
.line 233
new-array v6, v1, [J
const/4 v3, 0x0
move-wide/from16 v17, v11
move-wide v3, v15
const/4 v11, 0x0
:goto_4c
if-ge v11, v1, :cond_9d
.line 234
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v12
const/high16 v19, -0x80000000
and-int v19, v12, v19
if-nez v19, :cond_95
.line 235
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v19
const v21, 0x7fffffff
and-int v12, v12, v21
.line 236
aput v12, v7, v11
.line 237
aput-wide v13, v8, v11
.line 238
aput-wide v3, v6, v11
add-long v17, v17, v19
const-wide/32 v19, 0xf4240
move-wide/from16 v3, v17
move-object v12, v5
move-object v2, v6
move-wide/from16 v5, v19
move/from16 p1, v1
move-object v1, v7
move-object/from16 v22, v8
move-wide v7, v9
.line 239
invoke-static/range {v3 .. v8}, Lcom/google/android/exoplayer2/util/L;->c(JJJ)J
move-result-wide v3
.line 240
aget-wide v5, v2, v11
sub-long v5, v3, v5
aput-wide v5, v12, v11
const/4 v5, 0x4
.line 241
invoke-virtual {v0, v5}, Lcom/google/android/exoplayer2/util/x;->f(I)V
.line 242
aget v6, v1, v11
int-to-long v6, v6
add-long/2addr v13, v6
add-int/lit8 v11, v11, 0x1
move-object v7, v1
move-object v6, v2
move-object v5, v12
move-object/from16 v8, v22
const/4 v2, 0x4
move/from16 v1, p1
goto :goto_4c
.line 243
:cond_95
new-instance v0, Lcom/google/android/exoplayer2/ParserException;
const-string v1, "Unhandled indirect reference"
invoke-direct {v0, v1}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw v0
:cond_9d
move-object v12, v5
move-object v2, v6
move-object v1, v7
move-object/from16 v22, v8
.line 244
invoke-static/range {v15 .. v16}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
new-instance v3, Lcom/google/android/exoplayer2/extractor/e;
move-object/from16 v4, v22
invoke-direct {v3, v1, v4, v12, v2}, Lcom/google/android/exoplayer2/extractor/e;-><init>([I[J[J[J)V
invoke-static {v0, v3}, Landroid/util/Pair;->create(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair;
move-result-object v0
return-object v0
.end method
.method private static a(Ljava/util/List;)Lcom/google/android/exoplayer2/drm/DrmInitData;
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/extractor/mp4/e$b;",
">;)",
"Lcom/google/android/exoplayer2/drm/DrmInitData;"
}
.end annotation
.line 258
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x0
move-object v3, v1
:goto_7
if-ge v2, v0, :cond_3e
.line 259
invoke-interface {p0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/google/android/exoplayer2/extractor/mp4/e$b;
.line 260
iget v5, v4, Lcom/google/android/exoplayer2/extractor/mp4/e;->a:I
const v6, 0x70737368 # 3.013775E29f
if-ne v5, v6, :cond_3b
if-nez v3, :cond_1d
.line 261
new-instance v3, Ljava/util/ArrayList;
invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
.line 262
:cond_1d
iget-object v4, v4, Lcom/google/android/exoplayer2/extractor/mp4/e$b;->b:Lcom/google/android/exoplayer2/util/x;
invoke-virtual {v4}, Lcom/google/android/exoplayer2/util/x;->c()[B
move-result-object v4
.line 263
invoke-static {v4}, Lcom/google/android/exoplayer2/extractor/mp4/n;->b([B)Ljava/util/UUID;
move-result-object v5
if-nez v5, :cond_31
const-string v4, "FragmentedMp4Extractor"
const-string v5, "Skipped pssh atom (failed to extract uuid)"
.line 264
invoke-static {v4, v5}, Lcom/google/android/exoplayer2/util/q;->d(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_3b
.line 265
:cond_31
new-instance v6, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
const-string v7, "video/mp4"
invoke-direct {v6, v5, v7, v4}, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;-><init>(Ljava/util/UUID;Ljava/lang/String;[B)V
invoke-virtual {v3, v6}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_3b
:goto_3b
add-int/lit8 v2, v2, 0x1
goto :goto_7
:cond_3e
if-nez v3, :cond_41
goto :goto_46
.line 266
:cond_41
new-instance v1, Lcom/google/android/exoplayer2/drm/DrmInitData;
invoke-direct {v1, v3}, Lcom/google/android/exoplayer2/drm/DrmInitData;-><init>(Ljava/util/List;)V
:goto_46
return-object v1
.end method
.method private a(Landroid/util/SparseArray;I)Lcom/google/android/exoplayer2/extractor/mp4/g;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/SparseArray<",
"Lcom/google/android/exoplayer2/extractor/mp4/g;",
">;I)",
"Lcom/google/android/exoplayer2/extractor/mp4/g;"
}
.end annotation
.line 36
invoke-virtual {p1}, Landroid/util/SparseArray;->size()I
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_f
const/4 p2, 0x0
.line 37
invoke-virtual {p1, p2}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/android/exoplayer2/extractor/mp4/g;
return-object p1
.line 38
:cond_f
invoke-virtual {p1, p2}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/android/exoplayer2/extractor/mp4/g;
invoke-static {p1}, Lcom/google/android/exoplayer2/util/d;->a(Ljava/lang/Object;)Ljava/lang/Object;
check-cast p1, Lcom/google/android/exoplayer2/extractor/mp4/g;
return-object p1
.end method
.method private static a(Landroid/util/SparseArray;)Lcom/google/android/exoplayer2/extractor/mp4/j$b;
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/SparseArray<",
"Lcom/google/android/exoplayer2/extractor/mp4/j$b;",
">;)",
"Lcom/google/android/exoplayer2/extractor/mp4/j$b;"
}
.end annotation
.line 253
invoke-virtual {p0}, Landroid/util/SparseArray;->size()I
move-result v0
const/4 v1, 0x0
const-wide v2, 0x7fffffffffffffffL
const/4 v4, 0x0
:goto_b
if-ge v4, v0, :cond_3d
.line 254
invoke-virtual {p0, v4}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
move-result-object v5
check-cast v5, Lcom/google/android/exoplayer2/extractor/mp4/j$b;
.line 255
invoke-static {v5}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->a(Lcom/google/android/exoplayer2/extractor/mp4/j$b;)Z
move-result v6
if-nez v6, :cond_21
iget v6, v5, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->f:I
iget-object v7, v5, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->d:Lcom/google/android/exoplayer2/extractor/mp4/s;
iget v7, v7, Lcom/google/android/exoplayer2/extractor/mp4/s;->b:I
if-eq v6, v7, :cond_3a
.line 256
:cond_21
invoke-static {v5}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->a(Lcom/google/android/exoplayer2/extractor/mp4/j$b;)Z
move-result v6
if-eqz v6, :cond_30
iget v6, v5, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->h:I
iget-object v7, v5, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->b:Lcom/google/android/exoplayer2/extractor/mp4/r;
iget v7, v7, Lcom/google/android/exoplayer2/extractor/mp4/r;->e:I
if-ne v6, v7, :cond_30
goto :goto_3a
.line 257
:cond_30
invoke-virtual {v5}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->b()J
move-result-wide v6
cmp-long v8, v6, v2
if-gez v8, :cond_3a
move-object v1, v5
move-wide v2, v6
:cond_3a
:goto_3a
add-int/lit8 v4, v4, 0x1
goto :goto_b
:cond_3d
return-object v1
.end method
.method private static a(Lcom/google/android/exoplayer2/util/x;Landroid/util/SparseArray;)Lcom/google/android/exoplayer2/extractor/mp4/j$b;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/util/x;",
"Landroid/util/SparseArray<",
"Lcom/google/android/exoplayer2/extractor/mp4/j$b;",
">;)",
"Lcom/google/android/exoplayer2/extractor/mp4/j$b;"
}
.end annotation
const/16 v0, 0x8
.line 115
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 116
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v0
.line 117
invoke-static {v0}, Lcom/google/android/exoplayer2/extractor/mp4/e;->b(I)I
move-result v0
.line 118
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v1
.line 119
invoke-static {p1, v1}, Lcom/google/android/exoplayer2/extractor/mp4/j;->b(Landroid/util/SparseArray;I)Lcom/google/android/exoplayer2/extractor/mp4/j$b;
move-result-object p1
if-nez p1, :cond_19
const/4 p0, 0x0
return-object p0
:cond_19
and-int/lit8 v1, v0, 0x1
if-eqz v1, :cond_27
.line 120
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->B()J
move-result-wide v1
.line 121
iget-object v3, p1, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->b:Lcom/google/android/exoplayer2/extractor/mp4/r;
iput-wide v1, v3, Lcom/google/android/exoplayer2/extractor/mp4/r;->c:J
.line 122
iput-wide v1, v3, Lcom/google/android/exoplayer2/extractor/mp4/r;->d:J
.line 123
:cond_27
iget-object v1, p1, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->e:Lcom/google/android/exoplayer2/extractor/mp4/g;
and-int/lit8 v2, v0, 0x2
if-eqz v2, :cond_34
.line 124
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v2
add-int/lit8 v2, v2, -0x1
goto :goto_36
.line 125
:cond_34
iget v2, v1, Lcom/google/android/exoplayer2/extractor/mp4/g;->a:I
:goto_36
and-int/lit8 v3, v0, 0x8
if-eqz v3, :cond_3f
.line 126
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v3
goto :goto_41
.line 127
:cond_3f
iget v3, v1, Lcom/google/android/exoplayer2/extractor/mp4/g;->b:I
:goto_41
and-int/lit8 v4, v0, 0x10
if-eqz v4, :cond_4a
.line 128
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v4
goto :goto_4c
.line 129
:cond_4a
iget v4, v1, Lcom/google/android/exoplayer2/extractor/mp4/g;->c:I
:goto_4c
and-int/lit8 v0, v0, 0x20
if-eqz v0, :cond_55
.line 130
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result p0
goto :goto_57
.line 131
:cond_55
iget p0, v1, Lcom/google/android/exoplayer2/extractor/mp4/g;->d:I
.line 132
:goto_57
iget-object v0, p1, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->b:Lcom/google/android/exoplayer2/extractor/mp4/r;
new-instance v1, Lcom/google/android/exoplayer2/extractor/mp4/g;
invoke-direct {v1, v2, v3, v4, p0}, Lcom/google/android/exoplayer2/extractor/mp4/g;-><init>(IIII)V
iput-object v1, v0, Lcom/google/android/exoplayer2/extractor/mp4/r;->a:Lcom/google/android/exoplayer2/extractor/mp4/g;
return-object p1
.end method
.method private a(J)V
.registers 16
.line 245
:cond_0
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->q:Ljava/util/ArrayDeque;
invoke-virtual {v0}, Ljava/util/ArrayDeque;->isEmpty()Z
move-result v0
if-nez v0, :cond_38
.line 246
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->q:Ljava/util/ArrayDeque;
invoke-virtual {v0}, Ljava/util/ArrayDeque;->removeFirst()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/android/exoplayer2/extractor/mp4/j$a;
.line 247
iget v1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->y:I
iget v2, v0, Lcom/google/android/exoplayer2/extractor/mp4/j$a;->b:I
sub-int/2addr v1, v2
iput v1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->y:I
.line 248
iget-wide v1, v0, Lcom/google/android/exoplayer2/extractor/mp4/j$a;->a:J
add-long/2addr v1, p1
.line 249
iget-object v3, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->m:Lcom/google/android/exoplayer2/util/I;
if-eqz v3, :cond_22
.line 250
invoke-virtual {v3, v1, v2}, Lcom/google/android/exoplayer2/util/I;->a(J)J
move-result-wide v1
.line 251
:cond_22
iget-object v10, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->I:[Lcom/google/android/exoplayer2/extractor/A;
array-length v11, v10
const/4 v3, 0x0
const/4 v12, 0x0
:goto_27
if-ge v12, v11, :cond_0
aget-object v3, v10, v12
const/4 v6, 0x1
.line 252
iget v7, v0, Lcom/google/android/exoplayer2/extractor/mp4/j$a;->b:I
iget v8, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->y:I
const/4 v9, 0x0
move-wide v4, v1
invoke-interface/range {v3 .. v9}, Lcom/google/android/exoplayer2/extractor/A;->a(JIIILcom/google/android/exoplayer2/extractor/A$a;)V
add-int/lit8 v12, v12, 0x1
goto :goto_27
:cond_38
return-void
.end method
.method private a(Lcom/google/android/exoplayer2/extractor/mp4/e$a;)V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
.line 31
iget v0, p1, Lcom/google/android/exoplayer2/extractor/mp4/e;->a:I
const v1, 0x6d6f6f76
if-ne v0, v1, :cond_b
.line 32
invoke-direct {p0, p1}, Lcom/google/android/exoplayer2/extractor/mp4/j;->c(Lcom/google/android/exoplayer2/extractor/mp4/e$a;)V
goto :goto_27
:cond_b
const v1, 0x6d6f6f66
if-ne v0, v1, :cond_14
.line 33
invoke-direct {p0, p1}, Lcom/google/android/exoplayer2/extractor/mp4/j;->b(Lcom/google/android/exoplayer2/extractor/mp4/e$a;)V
goto :goto_27
.line 34
:cond_14
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->p:Ljava/util/ArrayDeque;
invoke-virtual {v0}, Ljava/util/ArrayDeque;->isEmpty()Z
move-result v0
if-nez v0, :cond_27
.line 35
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->p:Ljava/util/ArrayDeque;
invoke-virtual {v0}, Ljava/util/ArrayDeque;->peek()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/android/exoplayer2/extractor/mp4/e$a;
invoke-virtual {v0, p1}, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->a(Lcom/google/android/exoplayer2/extractor/mp4/e$a;)V
:cond_27
:goto_27
return-void
.end method
.method private static a(Lcom/google/android/exoplayer2/extractor/mp4/e$a;Landroid/util/SparseArray;I[B)V
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/extractor/mp4/e$a;",
"Landroid/util/SparseArray<",
"Lcom/google/android/exoplayer2/extractor/mp4/j$b;",
">;I[B)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
.line 72
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->d:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
const/4 v1, 0x0
:goto_7
if-ge v1, v0, :cond_1e
.line 73
iget-object v2, p0, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->d:Ljava/util/List;
invoke-interface {v2, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/extractor/mp4/e$a;
.line 74
iget v3, v2, Lcom/google/android/exoplayer2/extractor/mp4/e;->a:I
const v4, 0x74726166
if-ne v3, v4, :cond_1b
.line 75
invoke-static {v2, p1, p2, p3}, Lcom/google/android/exoplayer2/extractor/mp4/j;->b(Lcom/google/android/exoplayer2/extractor/mp4/e$a;Landroid/util/SparseArray;I[B)V
:cond_1b
add-int/lit8 v1, v1, 0x1
goto :goto_7
:cond_1e
return-void
.end method
.method private static a(Lcom/google/android/exoplayer2/extractor/mp4/e$a;Lcom/google/android/exoplayer2/extractor/mp4/j$b;I)V
.registers 11
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
.line 76
iget-object p0, p0, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->c:Ljava/util/List;
.line 77
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x0
const/4 v3, 0x0
const/4 v4, 0x0
:goto_a
const v5, 0x7472756e
if-ge v2, v0, :cond_2c
.line 78
invoke-interface {p0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v6
check-cast v6, Lcom/google/android/exoplayer2/extractor/mp4/e$b;
.line 79
iget v7, v6, Lcom/google/android/exoplayer2/extractor/mp4/e;->a:I
if-ne v7, v5, :cond_29
.line 80
iget-object v5, v6, Lcom/google/android/exoplayer2/extractor/mp4/e$b;->b:Lcom/google/android/exoplayer2/util/x;
const/16 v6, 0xc
.line 81
invoke-virtual {v5, v6}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 82
invoke-virtual {v5}, Lcom/google/android/exoplayer2/util/x;->A()I
move-result v5
if-lez v5, :cond_29
add-int/2addr v4, v5
add-int/lit8 v3, v3, 0x1
:cond_29
add-int/lit8 v2, v2, 0x1
goto :goto_a
.line 83
:cond_2c
iput v1, p1, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->h:I
.line 84
iput v1, p1, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->g:I
.line 85
iput v1, p1, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->f:I
.line 86
iget-object v2, p1, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->b:Lcom/google/android/exoplayer2/extractor/mp4/r;
invoke-virtual {v2, v3, v4}, Lcom/google/android/exoplayer2/extractor/mp4/r;->a(II)V
const/4 v2, 0x0
const/4 v3, 0x0
:goto_39
if-ge v1, v0, :cond_52
.line 87
invoke-interface {p0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/google/android/exoplayer2/extractor/mp4/e$b;
.line 88
iget v6, v4, Lcom/google/android/exoplayer2/extractor/mp4/e;->a:I
if-ne v6, v5, :cond_4f
add-int/lit8 v6, v2, 0x1
.line 89
iget-object v4, v4, Lcom/google/android/exoplayer2/extractor/mp4/e$b;->b:Lcom/google/android/exoplayer2/util/x;
.line 90
invoke-static {p1, v2, p2, v4, v3}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(Lcom/google/android/exoplayer2/extractor/mp4/j$b;IILcom/google/android/exoplayer2/util/x;I)I
move-result v2
move v3, v2
move v2, v6
:cond_4f
add-int/lit8 v1, v1, 0x1
goto :goto_39
:cond_52
return-void
.end method
.method private static a(Lcom/google/android/exoplayer2/extractor/mp4/e$a;Ljava/lang/String;Lcom/google/android/exoplayer2/extractor/mp4/r;)V
.registers 20
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
move-object/from16 v0, p0
move-object/from16 v1, p2
const/4 v2, 0x0
const/4 v3, 0x0
move-object v5, v2
move-object v6, v5
const/4 v4, 0x0
.line 185
:goto_9
iget-object v7, v0, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->c:Ljava/util/List;
invoke-interface {v7}, Ljava/util/List;->size()I
move-result v7
if-ge v4, v7, :cond_44
.line 186
iget-object v7, v0, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->c:Ljava/util/List;
invoke-interface {v7, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v7
check-cast v7, Lcom/google/android/exoplayer2/extractor/mp4/e$b;
.line 187
iget-object v8, v7, Lcom/google/android/exoplayer2/extractor/mp4/e$b;->b:Lcom/google/android/exoplayer2/util/x;
.line 188
iget v7, v7, Lcom/google/android/exoplayer2/extractor/mp4/e;->a:I
const v9, 0x73626770
const v10, 0x73656967
const/16 v11, 0xc
if-ne v7, v9, :cond_32
.line 189
invoke-virtual {v8, v11}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 190
invoke-virtual {v8}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v7
if-ne v7, v10, :cond_41
move-object v5, v8
goto :goto_41
:cond_32
const v9, 0x73677064
if-ne v7, v9, :cond_41
.line 191
invoke-virtual {v8, v11}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 192
invoke-virtual {v8}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v7
if-ne v7, v10, :cond_41
move-object v6, v8
:cond_41
:goto_41
add-int/lit8 v4, v4, 0x1
goto :goto_9
:cond_44
if-eqz v5, :cond_e9
if-nez v6, :cond_4a
goto/16 :goto_e9
:cond_4a
const/16 v0, 0x8
.line 193
invoke-virtual {v5, v0}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 194
invoke-virtual {v5}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v4
invoke-static {v4}, Lcom/google/android/exoplayer2/extractor/mp4/e;->c(I)I
move-result v4
const/4 v7, 0x4
.line 195
invoke-virtual {v5, v7}, Lcom/google/android/exoplayer2/util/x;->f(I)V
const/4 v8, 0x1
if-ne v4, v8, :cond_61
.line 196
invoke-virtual {v5, v7}, Lcom/google/android/exoplayer2/util/x;->f(I)V
.line 197
:cond_61
invoke-virtual {v5}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v4
if-ne v4, v8, :cond_e1
.line 198
invoke-virtual {v6, v0}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 199
invoke-virtual {v6}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v0
invoke-static {v0}, Lcom/google/android/exoplayer2/extractor/mp4/e;->c(I)I
move-result v0
.line 200
invoke-virtual {v6, v7}, Lcom/google/android/exoplayer2/util/x;->f(I)V
if-ne v0, v8, :cond_8a
.line 201
invoke-virtual {v6}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v4
const-wide/16 v9, 0x0
cmp-long v0, v4, v9
if-eqz v0, :cond_82
goto :goto_90
.line 202
:cond_82
new-instance v0, Lcom/google/android/exoplayer2/ParserException;
const-string v1, "Variable length description in sgpd found (unsupported)"
invoke-direct {v0, v1}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw v0
:cond_8a
const/4 v4, 0x2
if-lt v0, v4, :cond_90
.line 203
invoke-virtual {v6, v7}, Lcom/google/android/exoplayer2/util/x;->f(I)V
.line 204
:cond_90
:goto_90
invoke-virtual {v6}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v4
const-wide/16 v9, 0x1
cmp-long v0, v4, v9
if-nez v0, :cond_d9
.line 205
invoke-virtual {v6, v8}, Lcom/google/android/exoplayer2/util/x;->f(I)V
.line 206
invoke-virtual {v6}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v0
and-int/lit16 v4, v0, 0xf0
shr-int/lit8 v14, v4, 0x4
and-int/lit8 v15, v0, 0xf
.line 207
invoke-virtual {v6}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v0
if-ne v0, v8, :cond_af
const/4 v10, 0x1
goto :goto_b0
:cond_af
const/4 v10, 0x0
:goto_b0
if-nez v10, :cond_b3
return-void
.line 208
:cond_b3
invoke-virtual {v6}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v12
const/16 v0, 0x10
.line 209
new-array v13, v0, [B
.line 210
array-length v0, v13
invoke-virtual {v6, v13, v3, v0}, Lcom/google/android/exoplayer2/util/x;->a([BII)V
if-nez v12, :cond_ca
.line 211
invoke-virtual {v6}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v0
.line 212
new-array v2, v0, [B
.line 213
invoke-virtual {v6, v2, v3, v0}, Lcom/google/android/exoplayer2/util/x;->a([BII)V
:cond_ca
move-object/from16 v16, v2
.line 214
iput-boolean v8, v1, Lcom/google/android/exoplayer2/extractor/mp4/r;->m:Z
.line 215
new-instance v0, Lcom/google/android/exoplayer2/extractor/mp4/q;
move-object v9, v0
move-object/from16 v11, p1
invoke-direct/range {v9 .. v16}, Lcom/google/android/exoplayer2/extractor/mp4/q;-><init>(ZLjava/lang/String;I[BII[B)V
iput-object v0, v1, Lcom/google/android/exoplayer2/extractor/mp4/r;->o:Lcom/google/android/exoplayer2/extractor/mp4/q;
return-void
.line 216
:cond_d9
new-instance v0, Lcom/google/android/exoplayer2/ParserException;
const-string v1, "Entry count in sgpd != 1 (unsupported)."
invoke-direct {v0, v1}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw v0
.line 217
:cond_e1
new-instance v0, Lcom/google/android/exoplayer2/ParserException;
const-string v1, "Entry count in sbgp != 1 (unsupported)."
invoke-direct {v0, v1}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw v0
:cond_e9
:goto_e9
return-void
.end method
.method private a(Lcom/google/android/exoplayer2/extractor/mp4/e$b;J)V
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
.line 23
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->p:Ljava/util/ArrayDeque;
invoke-virtual {v0}, Ljava/util/ArrayDeque;->isEmpty()Z
move-result v0
if-nez v0, :cond_14
.line 24
iget-object p2, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->p:Ljava/util/ArrayDeque;
invoke-virtual {p2}, Ljava/util/ArrayDeque;->peek()Ljava/lang/Object;
move-result-object p2
check-cast p2, Lcom/google/android/exoplayer2/extractor/mp4/e$a;
invoke-virtual {p2, p1}, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->a(Lcom/google/android/exoplayer2/extractor/mp4/e$b;)V
goto :goto_42
.line 25
:cond_14
iget v0, p1, Lcom/google/android/exoplayer2/extractor/mp4/e;->a:I
const v1, 0x73696478
if-ne v0, v1, :cond_38
.line 26
iget-object p1, p1, Lcom/google/android/exoplayer2/extractor/mp4/e$b;->b:Lcom/google/android/exoplayer2/util/x;
invoke-static {p1, p2, p3}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(Lcom/google/android/exoplayer2/util/x;J)Landroid/util/Pair;
move-result-object p1
.line 27
iget-object p2, p1, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast p2, Ljava/lang/Long;
invoke-virtual {p2}, Ljava/lang/Long;->longValue()J
move-result-wide p2
iput-wide p2, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->B:J
.line 28
iget-object p2, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->H:Lcom/google/android/exoplayer2/extractor/m;
iget-object p1, p1, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast p1, Lcom/google/android/exoplayer2/extractor/x;
invoke-interface {p2, p1}, Lcom/google/android/exoplayer2/extractor/m;->a(Lcom/google/android/exoplayer2/extractor/x;)V
const/4 p1, 0x1
.line 29
iput-boolean p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->K:Z
goto :goto_42
:cond_38
const p2, 0x656d7367
if-ne v0, p2, :cond_42
.line 30
iget-object p1, p1, Lcom/google/android/exoplayer2/extractor/mp4/e$b;->b:Lcom/google/android/exoplayer2/util/x;
invoke-direct {p0, p1}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(Lcom/google/android/exoplayer2/util/x;)V
:cond_42
:goto_42
return-void
.end method
.method private static a(Lcom/google/android/exoplayer2/extractor/mp4/q;Lcom/google/android/exoplayer2/util/x;Lcom/google/android/exoplayer2/extractor/mp4/r;)V
.registers 10
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
.line 91
iget p0, p0, Lcom/google/android/exoplayer2/extractor/mp4/q;->d:I
const/16 v0, 0x8
.line 92
invoke-virtual {p1, v0}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 93
invoke-virtual {p1}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v1
.line 94
invoke-static {v1}, Lcom/google/android/exoplayer2/extractor/mp4/e;->b(I)I
move-result v1
const/4 v2, 0x1
and-int/2addr v1, v2
if-ne v1, v2, :cond_16
.line 95
invoke-virtual {p1, v0}, Lcom/google/android/exoplayer2/util/x;->f(I)V
.line 96
:cond_16
invoke-virtual {p1}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v0
.line 97
invoke-virtual {p1}, Lcom/google/android/exoplayer2/util/x;->A()I
move-result v1
.line 98
iget v3, p2, Lcom/google/android/exoplayer2/extractor/mp4/r;->f:I
if-gt v1, v3, :cond_54
const/4 v3, 0x0
if-nez v0, :cond_3a
.line 99
iget-object v0, p2, Lcom/google/android/exoplayer2/extractor/mp4/r;->n:[Z
const/4 v4, 0x0
const/4 v5, 0x0
:goto_29
if-ge v4, v1, :cond_47
.line 100
invoke-virtual {p1}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v6
add-int/2addr v5, v6
if-le v6, p0, :cond_34
const/4 v6, 0x1
goto :goto_35
:cond_34
const/4 v6, 0x0
.line 101
:goto_35
aput-boolean v6, v0, v4
add-int/lit8 v4, v4, 0x1
goto :goto_29
:cond_3a
if-le v0, p0, :cond_3d
goto :goto_3e
:cond_3d
const/4 v2, 0x0
:goto_3e
mul-int v0, v0, v1
add-int/lit8 v5, v0, 0x0
.line 102
iget-object p0, p2, Lcom/google/android/exoplayer2/extractor/mp4/r;->n:[Z
invoke-static {p0, v3, v1, v2}, Ljava/util/Arrays;->fill([ZIIZ)V
.line 103
:cond_47
iget-object p0, p2, Lcom/google/android/exoplayer2/extractor/mp4/r;->n:[Z
iget p1, p2, Lcom/google/android/exoplayer2/extractor/mp4/r;->f:I
invoke-static {p0, v1, p1, v3}, Ljava/util/Arrays;->fill([ZIIZ)V
if-lez v5, :cond_53
.line 104
invoke-virtual {p2, v5}, Lcom/google/android/exoplayer2/extractor/mp4/r;->b(I)V
:cond_53
return-void
.line 105
:cond_54
new-instance p0, Lcom/google/android/exoplayer2/ParserException;
const/16 p1, 0x4e
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2, p1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string p1, "Saiz sample count "
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, " is greater than fragment sample count"
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
goto :goto_76
:goto_75
throw p0
:goto_76
goto :goto_75
.end method
.method private a(Lcom/google/android/exoplayer2/util/x;)V
.registers 28
move-object/from16 v0, p0
move-object/from16 v1, p1
.line 39
iget-object v2, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->I:[Lcom/google/android/exoplayer2/extractor/A;
array-length v2, v2
if-nez v2, :cond_a
return-void
:cond_a
const/16 v2, 0x8
.line 40
invoke-virtual {v1, v2}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 41
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v2
.line 42
invoke-static {v2}, Lcom/google/android/exoplayer2/extractor/mp4/e;->c(I)I
move-result v2
const-wide v3, -0x7fffffffffffffffL # -4.9E-324
if-eqz v2, :cond_74
const/4 v5, 0x1
if-eq v2, v5, :cond_3a
const/16 v1, 0x2e
.line 43
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v1, "Skipping unsupported emsg version: "
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "FragmentedMp4Extractor"
invoke-static {v2, v1}, Lcom/google/android/exoplayer2/util/q;->d(Ljava/lang/String;Ljava/lang/String;)V
return-void
.line 44
:cond_3a
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v11
.line 45
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->B()J
move-result-wide v5
const-wide/32 v7, 0xf4240
move-wide v9, v11
invoke-static/range {v5 .. v10}, Lcom/google/android/exoplayer2/util/L;->c(JJJ)J
move-result-wide v13
.line 46
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v5
const-wide/16 v7, 0x3e8
invoke-static/range {v5 .. v10}, Lcom/google/android/exoplayer2/util/L;->c(JJJ)J
move-result-wide v5
.line 47
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v7
.line 48
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->t()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Lcom/google/android/exoplayer2/util/d;->a(Ljava/lang/Object;)Ljava/lang/Object;
check-cast v2, Ljava/lang/String;
.line 49
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->t()Ljava/lang/String;
move-result-object v9
invoke-static {v9}, Lcom/google/android/exoplayer2/util/d;->a(Ljava/lang/Object;)Ljava/lang/Object;
check-cast v9, Ljava/lang/String;
move-object/from16 v19, v2
move-wide/from16 v21, v5
move-wide/from16 v23, v7
move-object/from16 v20, v9
move-wide v7, v3
goto :goto_bc
.line 50
:cond_74
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->t()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Lcom/google/android/exoplayer2/util/d;->a(Ljava/lang/Object;)Ljava/lang/Object;
check-cast v2, Ljava/lang/String;
.line 51
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->t()Ljava/lang/String;
move-result-object v5
invoke-static {v5}, Lcom/google/android/exoplayer2/util/d;->a(Ljava/lang/Object;)Ljava/lang/Object;
move-object v9, v5
check-cast v9, Ljava/lang/String;
.line 52
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v5
.line 53
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v10
const-wide/32 v12, 0xf4240
move-wide v14, v5
invoke-static/range {v10 .. v15}, Lcom/google/android/exoplayer2/util/L;->c(JJJ)J
move-result-wide v7
.line 54
iget-wide v10, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->B:J
cmp-long v12, v10, v3
if-eqz v12, :cond_a1
add-long/2addr v10, v7
move-wide/from16 v16, v10
goto :goto_a3
:cond_a1
move-wide/from16 v16, v3
.line 55
:goto_a3
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v10
const-wide/16 v12, 0x3e8
move-wide v14, v5
invoke-static/range {v10 .. v15}, Lcom/google/android/exoplayer2/util/L;->c(JJJ)J
move-result-wide v5
.line 56
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v10
move-object/from16 v19, v2
move-wide/from16 v21, v5
move-object/from16 v20, v9
move-wide/from16 v23, v10
move-wide/from16 v13, v16
.line 57
:goto_bc
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->a()I
move-result v2
new-array v2, v2, [B
.line 58
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->a()I
move-result v5
const/4 v6, 0x0
invoke-virtual {v1, v2, v6, v5}, Lcom/google/android/exoplayer2/util/x;->a([BII)V
.line 59
new-instance v1, Lcom/google/android/exoplayer2/metadata/emsg/EventMessage;
move-object/from16 v18, v1
move-object/from16 v25, v2
invoke-direct/range {v18 .. v25}, Lcom/google/android/exoplayer2/metadata/emsg/EventMessage;-><init>(Ljava/lang/String;Ljava/lang/String;JJ[B)V
.line 60
new-instance v2, Lcom/google/android/exoplayer2/util/x;
iget-object v5, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->n:Lcom/google/android/exoplayer2/metadata/emsg/c;
.line 61
invoke-virtual {v5, v1}, Lcom/google/android/exoplayer2/metadata/emsg/c;->a(Lcom/google/android/exoplayer2/metadata/emsg/EventMessage;)[B
move-result-object v1
invoke-direct {v2, v1}, Lcom/google/android/exoplayer2/util/x;-><init>([B)V
.line 62
invoke-virtual {v2}, Lcom/google/android/exoplayer2/util/x;->a()I
move-result v1
.line 63
iget-object v5, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->I:[Lcom/google/android/exoplayer2/extractor/A;
array-length v9, v5
const/4 v10, 0x0
:goto_e6
if-ge v10, v9, :cond_f3
aget-object v11, v5, v10
.line 64
invoke-virtual {v2, v6}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 65
invoke-interface {v11, v2, v1}, Lcom/google/android/exoplayer2/extractor/A;->a(Lcom/google/android/exoplayer2/util/x;I)V
add-int/lit8 v10, v10, 0x1
goto :goto_e6
:cond_f3
cmp-long v2, v13, v3
if-nez v2, :cond_107
.line 66
iget-object v2, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->q:Ljava/util/ArrayDeque;
new-instance v3, Lcom/google/android/exoplayer2/extractor/mp4/j$a;
invoke-direct {v3, v7, v8, v1}, Lcom/google/android/exoplayer2/extractor/mp4/j$a;-><init>(JI)V
invoke-virtual {v2, v3}, Ljava/util/ArrayDeque;->addLast(Ljava/lang/Object;)V
.line 67
iget v2, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->y:I
add-int/2addr v2, v1
iput v2, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->y:I
goto :goto_126
.line 68
:cond_107
iget-object v2, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->m:Lcom/google/android/exoplayer2/util/I;
if-eqz v2, :cond_10f
.line 69
invoke-virtual {v2, v13, v14}, Lcom/google/android/exoplayer2/util/I;->a(J)J
move-result-wide v13
.line 70
:cond_10f
iget-object v2, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->I:[Lcom/google/android/exoplayer2/extractor/A;
array-length v3, v2
:goto_112
if-ge v6, v3, :cond_126
aget-object v15, v2, v6
const/16 v18, 0x1
const/16 v20, 0x0
const/16 v21, 0x0
move-wide/from16 v16, v13
move/from16 v19, v1
.line 71
invoke-interface/range {v15 .. v21}, Lcom/google/android/exoplayer2/extractor/A;->a(JIIILcom/google/android/exoplayer2/extractor/A$a;)V
add-int/lit8 v6, v6, 0x1
goto :goto_112
:cond_126
:goto_126
return-void
.end method
.method private static a(Lcom/google/android/exoplayer2/util/x;ILcom/google/android/exoplayer2/extractor/mp4/r;)V
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
add-int/lit8 p1, p1, 0x8
.line 174
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 175
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result p1
.line 176
invoke-static {p1}, Lcom/google/android/exoplayer2/extractor/mp4/e;->b(I)I
move-result p1
and-int/lit8 v0, p1, 0x1
if-nez v0, :cond_5c
and-int/lit8 p1, p1, 0x2
const/4 v0, 0x0
if-eqz p1, :cond_18
const/4 p1, 0x1
goto :goto_19
:cond_18
const/4 p1, 0x0
.line 177
:goto_19
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->A()I
move-result v1
if-nez v1, :cond_27
.line 178
iget-object p0, p2, Lcom/google/android/exoplayer2/extractor/mp4/r;->n:[Z
iget p1, p2, Lcom/google/android/exoplayer2/extractor/mp4/r;->f:I
invoke-static {p0, v0, p1, v0}, Ljava/util/Arrays;->fill([ZIIZ)V
return-void
.line 179
:cond_27
iget v2, p2, Lcom/google/android/exoplayer2/extractor/mp4/r;->f:I
if-ne v1, v2, :cond_3b
.line 180
iget-object v2, p2, Lcom/google/android/exoplayer2/extractor/mp4/r;->n:[Z
invoke-static {v2, v0, v1, p1}, Ljava/util/Arrays;->fill([ZIIZ)V
.line 181
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->a()I
move-result p1
invoke-virtual {p2, p1}, Lcom/google/android/exoplayer2/extractor/mp4/r;->b(I)V
.line 182
invoke-virtual {p2, p0}, Lcom/google/android/exoplayer2/extractor/mp4/r;->a(Lcom/google/android/exoplayer2/util/x;)V
return-void
.line 183
:cond_3b
new-instance p0, Lcom/google/android/exoplayer2/ParserException;
const/16 p1, 0x50
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2, p1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string p1, "Senc sample count "
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, " is different from fragment sample count"
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw p0
.line 184
:cond_5c
new-instance p0, Lcom/google/android/exoplayer2/ParserException;
const-string p1, "Overriding TrackEncryptionBox parameters is unsupported."
invoke-direct {p0, p1}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method private static a(Lcom/google/android/exoplayer2/util/x;Lcom/google/android/exoplayer2/extractor/mp4/r;)V
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
const/16 v0, 0x8
.line 106
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 107
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v1
.line 108
invoke-static {v1}, Lcom/google/android/exoplayer2/extractor/mp4/e;->b(I)I
move-result v2
const/4 v3, 0x1
and-int/2addr v2, v3
if-ne v2, v3, :cond_14
.line 109
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/util/x;->f(I)V
.line 110
:cond_14
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->A()I
move-result v0
if-ne v0, v3, :cond_2f
.line 111
invoke-static {v1}, Lcom/google/android/exoplayer2/extractor/mp4/e;->c(I)I
move-result v0
.line 112
iget-wide v1, p1, Lcom/google/android/exoplayer2/extractor/mp4/r;->d:J
if-nez v0, :cond_27
.line 113
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v3
goto :goto_2b
:cond_27
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->B()J
move-result-wide v3
:goto_2b
add-long/2addr v1, v3
iput-wide v1, p1, Lcom/google/android/exoplayer2/extractor/mp4/r;->d:J
return-void
.line 114
:cond_2f
new-instance p0, Lcom/google/android/exoplayer2/ParserException;
const/16 p1, 0x28
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1, p1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string p1, "Unexpected saio entry count: "
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method private static a(Lcom/google/android/exoplayer2/util/x;Lcom/google/android/exoplayer2/extractor/mp4/r;[B)V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
const/16 v0, 0x8
.line 170
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/util/x;->e(I)V
const/16 v0, 0x10
const/4 v1, 0x0
.line 171
invoke-virtual {p0, p2, v1, v0}, Lcom/google/android/exoplayer2/util/x;->a([BII)V
.line 172
sget-object v1, Lcom/google/android/exoplayer2/extractor/mp4/j;->b:[B
invoke-static {p2, v1}, Ljava/util/Arrays;->equals([B[B)Z
move-result p2
if-nez p2, :cond_14
return-void
.line 173
:cond_14
invoke-static {p0, v0, p1}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(Lcom/google/android/exoplayer2/util/x;ILcom/google/android/exoplayer2/extractor/mp4/r;)V
return-void
.end method
.method static synthetic a()[Lcom/google/android/exoplayer2/extractor/j;
.registers 3
const/4 v0, 0x1
.line 1
new-array v0, v0, [Lcom/google/android/exoplayer2/extractor/j;
new-instance v1, Lcom/google/android/exoplayer2/extractor/mp4/j;
invoke-direct {v1}, Lcom/google/android/exoplayer2/extractor/mp4/j;-><init>()V
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method
.method private static b(Lcom/google/android/exoplayer2/util/x;)J
.registers 3
const/16 v0, 0x8
.line 64
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 65
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v0
.line 66
invoke-static {v0}, Lcom/google/android/exoplayer2/extractor/mp4/e;->c(I)I
move-result v0
if-nez v0, :cond_14
.line 67
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v0
goto :goto_18
:cond_14
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->B()J
move-result-wide v0
:goto_18
return-wide v0
.end method
.method private static b(Landroid/util/SparseArray;I)Lcom/google/android/exoplayer2/extractor/mp4/j$b;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/SparseArray<",
"Lcom/google/android/exoplayer2/extractor/mp4/j$b;",
">;I)",
"Lcom/google/android/exoplayer2/extractor/mp4/j$b;"
}
.end annotation
.line 95
invoke-virtual {p0}, Landroid/util/SparseArray;->size()I
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_f
const/4 p1, 0x0
.line 96
invoke-virtual {p0, p1}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
move-result-object p0
check-cast p0, Lcom/google/android/exoplayer2/extractor/mp4/j$b;
return-object p0
.line 97
:cond_f
invoke-virtual {p0, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object p0
check-cast p0, Lcom/google/android/exoplayer2/extractor/mp4/j$b;
return-object p0
.end method
.method private b()V
.registers 2
const/4 v0, 0x0
.line 1
iput v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->s:I
.line 2
iput v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->v:I
return-void
.end method
.method private b(J)V
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
.line 53
:goto_0
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->p:Ljava/util/ArrayDeque;
invoke-virtual {v0}, Ljava/util/ArrayDeque;->isEmpty()Z
move-result v0
if-nez v0, :cond_22
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->p:Ljava/util/ArrayDeque;
invoke-virtual {v0}, Ljava/util/ArrayDeque;->peek()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/android/exoplayer2/extractor/mp4/e$a;
iget-wide v0, v0, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->b:J
cmp-long v2, v0, p1
if-nez v2, :cond_22
.line 54
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->p:Ljava/util/ArrayDeque;
invoke-virtual {v0}, Ljava/util/ArrayDeque;->pop()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/android/exoplayer2/extractor/mp4/e$a;
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(Lcom/google/android/exoplayer2/extractor/mp4/e$a;)V
goto :goto_0
.line 55
:cond_22
invoke-direct {p0}, Lcom/google/android/exoplayer2/extractor/mp4/j;->b()V
return-void
.end method
.method private b(Lcom/google/android/exoplayer2/extractor/mp4/e$a;)V
.registers 9
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
.line 56
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->g:Landroid/util/SparseArray;
iget v1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->d:I
iget-object v2, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->k:[B
invoke-static {p1, v0, v1, v2}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(Lcom/google/android/exoplayer2/extractor/mp4/e$a;Landroid/util/SparseArray;I[B)V
.line 57
iget-object p1, p1, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->c:Ljava/util/List;
invoke-static {p1}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(Ljava/util/List;)Lcom/google/android/exoplayer2/drm/DrmInitData;
move-result-object p1
const/4 v0, 0x0
if-eqz p1, :cond_29
.line 58
iget-object v1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->g:Landroid/util/SparseArray;
invoke-virtual {v1}, Landroid/util/SparseArray;->size()I
move-result v1
const/4 v2, 0x0
:goto_19
if-ge v2, v1, :cond_29
.line 59
iget-object v3, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->g:Landroid/util/SparseArray;
invoke-virtual {v3, v2}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/google/android/exoplayer2/extractor/mp4/j$b;
invoke-virtual {v3, p1}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->a(Lcom/google/android/exoplayer2/drm/DrmInitData;)V
add-int/lit8 v2, v2, 0x1
goto :goto_19
.line 60
:cond_29
iget-wide v1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->z:J
const-wide v3, -0x7fffffffffffffffL # -4.9E-324
cmp-long p1, v1, v3
if-eqz p1, :cond_4e
.line 61
iget-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->g:Landroid/util/SparseArray;
invoke-virtual {p1}, Landroid/util/SparseArray;->size()I
move-result p1
:goto_3a
if-ge v0, p1, :cond_4c
.line 62
iget-object v1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->g:Landroid/util/SparseArray;
invoke-virtual {v1, v0}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/android/exoplayer2/extractor/mp4/j$b;
iget-wide v5, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->z:J
invoke-virtual {v1, v5, v6}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->a(J)V
add-int/lit8 v0, v0, 0x1
goto :goto_3a
.line 63
:cond_4c
iput-wide v3, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->z:J
:cond_4e
return-void
.end method
.method private static b(Lcom/google/android/exoplayer2/extractor/mp4/e$a;Landroid/util/SparseArray;I[B)V
.registers 11
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/extractor/mp4/e$a;",
"Landroid/util/SparseArray<",
"Lcom/google/android/exoplayer2/extractor/mp4/j$b;",
">;I[B)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
const v0, 0x74666864
.line 68
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->e(I)Lcom/google/android/exoplayer2/extractor/mp4/e$b;
move-result-object v0
invoke-static {v0}, Lcom/google/android/exoplayer2/util/d;->a(Ljava/lang/Object;)Ljava/lang/Object;
check-cast v0, Lcom/google/android/exoplayer2/extractor/mp4/e$b;
.line 69
iget-object v0, v0, Lcom/google/android/exoplayer2/extractor/mp4/e$b;->b:Lcom/google/android/exoplayer2/util/x;
invoke-static {v0, p1}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(Lcom/google/android/exoplayer2/util/x;Landroid/util/SparseArray;)Lcom/google/android/exoplayer2/extractor/mp4/j$b;
move-result-object p1
if-nez p1, :cond_15
return-void
.line 70
:cond_15
iget-object v0, p1, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->b:Lcom/google/android/exoplayer2/extractor/mp4/r;
.line 71
iget-wide v1, v0, Lcom/google/android/exoplayer2/extractor/mp4/r;->r:J
.line 72
iget-boolean v3, v0, Lcom/google/android/exoplayer2/extractor/mp4/r;->s:Z
.line 73
invoke-virtual {p1}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->g()V
const/4 v4, 0x1
.line 74
invoke-static {p1, v4}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->a(Lcom/google/android/exoplayer2/extractor/mp4/j$b;Z)Z
const v5, 0x74666474
.line 75
invoke-virtual {p0, v5}, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->e(I)Lcom/google/android/exoplayer2/extractor/mp4/e$b;
move-result-object v5
if-eqz v5, :cond_3a
and-int/lit8 v6, p2, 0x2
if-nez v6, :cond_3a
.line 76
iget-object v1, v5, Lcom/google/android/exoplayer2/extractor/mp4/e$b;->b:Lcom/google/android/exoplayer2/util/x;
invoke-static {v1}, Lcom/google/android/exoplayer2/extractor/mp4/j;->c(Lcom/google/android/exoplayer2/util/x;)J
move-result-wide v1
iput-wide v1, v0, Lcom/google/android/exoplayer2/extractor/mp4/r;->r:J
.line 77
iput-boolean v4, v0, Lcom/google/android/exoplayer2/extractor/mp4/r;->s:Z
goto :goto_3e
.line 78
:cond_3a
iput-wide v1, v0, Lcom/google/android/exoplayer2/extractor/mp4/r;->r:J
.line 79
iput-boolean v3, v0, Lcom/google/android/exoplayer2/extractor/mp4/r;->s:Z
.line 80
:goto_3e
invoke-static {p0, p1, p2}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(Lcom/google/android/exoplayer2/extractor/mp4/e$a;Lcom/google/android/exoplayer2/extractor/mp4/j$b;I)V
.line 81
iget-object p1, p1, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->d:Lcom/google/android/exoplayer2/extractor/mp4/s;
iget-object p1, p1, Lcom/google/android/exoplayer2/extractor/mp4/s;->a:Lcom/google/android/exoplayer2/extractor/mp4/p;
iget-object p2, v0, Lcom/google/android/exoplayer2/extractor/mp4/r;->a:Lcom/google/android/exoplayer2/extractor/mp4/g;
.line 82
invoke-static {p2}, Lcom/google/android/exoplayer2/util/d;->a(Ljava/lang/Object;)Ljava/lang/Object;
check-cast p2, Lcom/google/android/exoplayer2/extractor/mp4/g;
iget p2, p2, Lcom/google/android/exoplayer2/extractor/mp4/g;->a:I
.line 83
invoke-virtual {p1, p2}, Lcom/google/android/exoplayer2/extractor/mp4/p;->a(I)Lcom/google/android/exoplayer2/extractor/mp4/q;
move-result-object p1
const p2, 0x7361697a
.line 84
invoke-virtual {p0, p2}, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->e(I)Lcom/google/android/exoplayer2/extractor/mp4/e$b;
move-result-object p2
if-eqz p2, :cond_66
.line 85
invoke-static {p1}, Lcom/google/android/exoplayer2/util/d;->a(Ljava/lang/Object;)Ljava/lang/Object;
move-object v1, p1
check-cast v1, Lcom/google/android/exoplayer2/extractor/mp4/q;
iget-object p2, p2, Lcom/google/android/exoplayer2/extractor/mp4/e$b;->b:Lcom/google/android/exoplayer2/util/x;
invoke-static {v1, p2, v0}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(Lcom/google/android/exoplayer2/extractor/mp4/q;Lcom/google/android/exoplayer2/util/x;Lcom/google/android/exoplayer2/extractor/mp4/r;)V
:cond_66
const p2, 0x7361696f
.line 86
invoke-virtual {p0, p2}, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->e(I)Lcom/google/android/exoplayer2/extractor/mp4/e$b;
move-result-object p2
if-eqz p2, :cond_74
.line 87
iget-object p2, p2, Lcom/google/android/exoplayer2/extractor/mp4/e$b;->b:Lcom/google/android/exoplayer2/util/x;
invoke-static {p2, v0}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(Lcom/google/android/exoplayer2/util/x;Lcom/google/android/exoplayer2/extractor/mp4/r;)V
:cond_74
const p2, 0x73656e63
.line 88
invoke-virtual {p0, p2}, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->e(I)Lcom/google/android/exoplayer2/extractor/mp4/e$b;
move-result-object p2
if-eqz p2, :cond_82
.line 89
iget-object p2, p2, Lcom/google/android/exoplayer2/extractor/mp4/e$b;->b:Lcom/google/android/exoplayer2/util/x;
invoke-static {p2, v0}, Lcom/google/android/exoplayer2/extractor/mp4/j;->b(Lcom/google/android/exoplayer2/util/x;Lcom/google/android/exoplayer2/extractor/mp4/r;)V
:cond_82
if-eqz p1, :cond_87
.line 90
iget-object p1, p1, Lcom/google/android/exoplayer2/extractor/mp4/q;->b:Ljava/lang/String;
goto :goto_88
:cond_87
const/4 p1, 0x0
:goto_88
invoke-static {p0, p1, v0}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(Lcom/google/android/exoplayer2/extractor/mp4/e$a;Ljava/lang/String;Lcom/google/android/exoplayer2/extractor/mp4/r;)V
.line 91
iget-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->c:Ljava/util/List;
invoke-interface {p1}, Ljava/util/List;->size()I
move-result p1
const/4 p2, 0x0
:goto_92
if-ge p2, p1, :cond_ab
.line 92
iget-object v1, p0, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->c:Ljava/util/List;
invoke-interface {v1, p2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/android/exoplayer2/extractor/mp4/e$b;
.line 93
iget v2, v1, Lcom/google/android/exoplayer2/extractor/mp4/e;->a:I
const v3, 0x75756964
if-ne v2, v3, :cond_a8
.line 94
iget-object v1, v1, Lcom/google/android/exoplayer2/extractor/mp4/e$b;->b:Lcom/google/android/exoplayer2/util/x;
invoke-static {v1, v0, p3}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(Lcom/google/android/exoplayer2/util/x;Lcom/google/android/exoplayer2/extractor/mp4/r;[B)V
:cond_a8
add-int/lit8 p2, p2, 0x1
goto :goto_92
:cond_ab
return-void
.end method
.method private static b(Lcom/google/android/exoplayer2/util/x;Lcom/google/android/exoplayer2/extractor/mp4/r;)V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
const/4 v0, 0x0
.line 98
invoke-static {p0, v0, p1}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(Lcom/google/android/exoplayer2/util/x;ILcom/google/android/exoplayer2/extractor/mp4/r;)V
return-void
.end method
.method private static b(I)Z
.registers 2
const v0, 0x6d6f6f76
if-eq p0, v0, :cond_30
const v0, 0x7472616b
if-eq p0, v0, :cond_30
const v0, 0x6d646961
if-eq p0, v0, :cond_30
const v0, 0x6d696e66
if-eq p0, v0, :cond_30
const v0, 0x7374626c
if-eq p0, v0, :cond_30
const v0, 0x6d6f6f66
if-eq p0, v0, :cond_30
const v0, 0x74726166
if-eq p0, v0, :cond_30
const v0, 0x6d766578
if-eq p0, v0, :cond_30
const v0, 0x65647473
if-ne p0, v0, :cond_2e
goto :goto_30
:cond_2e
const/4 p0, 0x0
goto :goto_31
:cond_30
:goto_30
const/4 p0, 0x1
:goto_31
return p0
.end method
.method private b(Lcom/google/android/exoplayer2/extractor/k;)Z
.registers 13
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 3
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->v:I
const/16 v1, 0x8
const/4 v2, 0x0
const/4 v3, 0x1
if-nez v0, :cond_2c
.line 4
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->o:Lcom/google/android/exoplayer2/util/x;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/util/x;->c()[B
move-result-object v0
invoke-interface {p1, v0, v2, v1, v3}, Lcom/google/android/exoplayer2/extractor/k;->b([BIIZ)Z
move-result v0
if-nez v0, :cond_15
return v2
.line 5
:cond_15
iput v1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->v:I
.line 6
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->o:Lcom/google/android/exoplayer2/util/x;
invoke-virtual {v0, v2}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 7
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->o:Lcom/google/android/exoplayer2/util/x;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v4
iput-wide v4, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->u:J
.line 8
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->o:Lcom/google/android/exoplayer2/util/x;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v0
iput v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->t:I
.line 9
:cond_2c
iget-wide v4, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->u:J
const-wide/16 v6, 0x1
cmp-long v0, v4, v6
if-nez v0, :cond_4b
.line 10
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->o:Lcom/google/android/exoplayer2/util/x;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/util/x;->c()[B
move-result-object v0
invoke-interface {p1, v0, v1, v1}, Lcom/google/android/exoplayer2/extractor/k;->readFully([BII)V
.line 11
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->v:I
add-int/2addr v0, v1
iput v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->v:I
.line 12
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->o:Lcom/google/android/exoplayer2/util/x;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/util/x;->B()J
move-result-wide v4
iput-wide v4, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->u:J
goto :goto_7c
:cond_4b
const-wide/16 v6, 0x0
cmp-long v0, v4, v6
if-nez v0, :cond_7c
.line 13
invoke-interface {p1}, Lcom/google/android/exoplayer2/extractor/k;->getLength()J
move-result-wide v4
const-wide/16 v6, -0x1
cmp-long v0, v4, v6
if-nez v0, :cond_6d
.line 14
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->p:Ljava/util/ArrayDeque;
invoke-virtual {v0}, Ljava/util/ArrayDeque;->isEmpty()Z
move-result v0
if-nez v0, :cond_6d
.line 15
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->p:Ljava/util/ArrayDeque;
invoke-virtual {v0}, Ljava/util/ArrayDeque;->peek()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/android/exoplayer2/extractor/mp4/e$a;
iget-wide v4, v0, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->b:J
:cond_6d
cmp-long v0, v4, v6
if-eqz v0, :cond_7c
.line 16
invoke-interface {p1}, Lcom/google/android/exoplayer2/extractor/k;->getPosition()J
move-result-wide v6
sub-long/2addr v4, v6
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->v:I
int-to-long v6, v0
add-long/2addr v4, v6
iput-wide v4, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->u:J
.line 17
:cond_7c
:goto_7c
iget-wide v4, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->u:J
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->v:I
int-to-long v6, v0
cmp-long v0, v4, v6
if-ltz v0, :cond_158
.line 18
invoke-interface {p1}, Lcom/google/android/exoplayer2/extractor/k;->getPosition()J
move-result-wide v4
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->v:I
int-to-long v6, v0
sub-long/2addr v4, v6
.line 19
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->t:I
const v6, 0x6d646174
const v7, 0x6d6f6f66
if-eq v0, v7, :cond_99
if-ne v0, v6, :cond_ab
.line 20
:cond_99
iget-boolean v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->K:Z
if-nez v0, :cond_ab
.line 21
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->H:Lcom/google/android/exoplayer2/extractor/m;
new-instance v8, Lcom/google/android/exoplayer2/extractor/x$b;
iget-wide v9, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->A:J
invoke-direct {v8, v9, v10, v4, v5}, Lcom/google/android/exoplayer2/extractor/x$b;-><init>(JJ)V
invoke-interface {v0, v8}, Lcom/google/android/exoplayer2/extractor/m;->a(Lcom/google/android/exoplayer2/extractor/x;)V
.line 22
iput-boolean v3, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->K:Z
.line 23
:cond_ab
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->t:I
if-ne v0, v7, :cond_cb
.line 24
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->g:Landroid/util/SparseArray;
invoke-virtual {v0}, Landroid/util/SparseArray;->size()I
move-result v0
const/4 v7, 0x0
:goto_b6
if-ge v7, v0, :cond_cb
.line 25
iget-object v8, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->g:Landroid/util/SparseArray;
invoke-virtual {v8, v7}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
move-result-object v8
check-cast v8, Lcom/google/android/exoplayer2/extractor/mp4/j$b;
iget-object v8, v8, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->b:Lcom/google/android/exoplayer2/extractor/mp4/r;
.line 26
iput-wide v4, v8, Lcom/google/android/exoplayer2/extractor/mp4/r;->b:J
.line 27
iput-wide v4, v8, Lcom/google/android/exoplayer2/extractor/mp4/r;->d:J
.line 28
iput-wide v4, v8, Lcom/google/android/exoplayer2/extractor/mp4/r;->c:J
add-int/lit8 v7, v7, 0x1
goto :goto_b6
.line 29
:cond_cb
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->t:I
const/4 v7, 0x0
if-ne v0, v6, :cond_db
.line 30
iput-object v7, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->C:Lcom/google/android/exoplayer2/extractor/mp4/j$b;
.line 31
iget-wide v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->u:J
add-long/2addr v4, v0
iput-wide v4, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->x:J
const/4 p1, 0x2
.line 32
iput p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->s:I
return v3
.line 33
:cond_db
invoke-static {v0}, Lcom/google/android/exoplayer2/extractor/mp4/j;->b(I)Z
move-result v0
if-eqz v0, :cond_108
.line 34
invoke-interface {p1}, Lcom/google/android/exoplayer2/extractor/k;->getPosition()J
move-result-wide v0
iget-wide v4, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->u:J
add-long/2addr v0, v4
const-wide/16 v4, 0x8
sub-long/2addr v0, v4
.line 35
iget-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->p:Ljava/util/ArrayDeque;
new-instance v2, Lcom/google/android/exoplayer2/extractor/mp4/e$a;
iget v4, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->t:I
invoke-direct {v2, v4, v0, v1}, Lcom/google/android/exoplayer2/extractor/mp4/e$a;-><init>(IJ)V
invoke-virtual {p1, v2}, Ljava/util/ArrayDeque;->push(Ljava/lang/Object;)V
.line 36
iget-wide v4, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->u:J
iget p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->v:I
int-to-long v6, p1
cmp-long p1, v4, v6
if-nez p1, :cond_104
.line 37
invoke-direct {p0, v0, v1}, Lcom/google/android/exoplayer2/extractor/mp4/j;->b(J)V
goto :goto_14f
.line 38
:cond_104
invoke-direct {p0}, Lcom/google/android/exoplayer2/extractor/mp4/j;->b()V
goto :goto_14f
.line 39
:cond_108
iget p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->t:I
invoke-static {p1}, Lcom/google/android/exoplayer2/extractor/mp4/j;->c(I)Z
move-result p1
const-wide/32 v4, 0x7fffffff
if-eqz p1, :cond_145
.line 40
iget p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->v:I
if-ne p1, v1, :cond_13d
.line 41
iget-wide v6, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->u:J
cmp-long p1, v6, v4
if-gtz p1, :cond_135
.line 42
new-instance p1, Lcom/google/android/exoplayer2/util/x;
long-to-int v0, v6
invoke-direct {p1, v0}, Lcom/google/android/exoplayer2/util/x;-><init>(I)V
.line 43
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->o:Lcom/google/android/exoplayer2/util/x;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/util/x;->c()[B
move-result-object v0
invoke-virtual {p1}, Lcom/google/android/exoplayer2/util/x;->c()[B
move-result-object v4
invoke-static {v0, v2, v4, v2, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 44
iput-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->w:Lcom/google/android/exoplayer2/util/x;
.line 45
iput v3, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->s:I
goto :goto_14f
.line 46
:cond_135
new-instance p1, Lcom/google/android/exoplayer2/ParserException;
const-string v0, "Leaf atom with length > 2147483647 (unsupported)."
invoke-direct {p1, v0}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw p1
.line 47
:cond_13d
new-instance p1, Lcom/google/android/exoplayer2/ParserException;
const-string v0, "Leaf atom defines extended atom size (unsupported)."
invoke-direct {p1, v0}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw p1
.line 48
:cond_145
iget-wide v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->u:J
cmp-long p1, v0, v4
if-gtz p1, :cond_150
.line 49
iput-object v7, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->w:Lcom/google/android/exoplayer2/util/x;
.line 50
iput v3, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->s:I
:goto_14f
return v3
.line 51
:cond_150
new-instance p1, Lcom/google/android/exoplayer2/ParserException;
const-string v0, "Skipping atom with length > 2147483647 (unsupported)."
invoke-direct {p1, v0}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw p1
.line 52
:cond_158
new-instance p1, Lcom/google/android/exoplayer2/ParserException;
const-string v0, "Atom size less than header length (unsupported)."
invoke-direct {p1, v0}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
goto :goto_161
:goto_160
throw p1
:goto_161
goto :goto_160
.end method
.method private static c(Lcom/google/android/exoplayer2/util/x;)J
.registers 3
const/16 v0, 0x8
.line 49
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 50
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v0
.line 51
invoke-static {v0}, Lcom/google/android/exoplayer2/extractor/mp4/e;->c(I)I
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_15
.line 52
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->B()J
move-result-wide v0
goto :goto_19
:cond_15
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v0
:goto_19
return-wide v0
.end method
.method private c()V
.registers 9
const/4 v0, 0x2
.line 35
new-array v0, v0, [Lcom/google/android/exoplayer2/extractor/A;
iput-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->I:[Lcom/google/android/exoplayer2/extractor/A;
.line 36
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->r:Lcom/google/android/exoplayer2/extractor/A;
const/4 v1, 0x0
if-eqz v0, :cond_10
.line 37
iget-object v2, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->I:[Lcom/google/android/exoplayer2/extractor/A;
aput-object v0, v2, v1
const/4 v0, 0x1
goto :goto_11
:cond_10
const/4 v0, 0x0
.line 38
:goto_11
iget v2, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->d:I
const/4 v3, 0x4
and-int/2addr v2, v3
const/16 v4, 0x64
if-eqz v2, :cond_2a
.line 39
iget-object v2, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->I:[Lcom/google/android/exoplayer2/extractor/A;
add-int/lit8 v5, v0, 0x1
iget-object v6, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->H:Lcom/google/android/exoplayer2/extractor/m;
const/16 v7, 0x65
.line 40
invoke-interface {v6, v4, v3}, Lcom/google/android/exoplayer2/extractor/m;->a(II)Lcom/google/android/exoplayer2/extractor/A;
move-result-object v3
aput-object v3, v2, v0
move v0, v5
const/16 v4, 0x65
.line 41
:cond_2a
iget-object v2, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->I:[Lcom/google/android/exoplayer2/extractor/A;
invoke-static {v2, v0}, Lcom/google/android/exoplayer2/util/L;->a([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/android/exoplayer2/extractor/A;
iput-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->I:[Lcom/google/android/exoplayer2/extractor/A;
.line 42
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->I:[Lcom/google/android/exoplayer2/extractor/A;
array-length v2, v0
const/4 v3, 0x0
:goto_38
if-ge v3, v2, :cond_44
aget-object v5, v0, v3
.line 43
sget-object v6, Lcom/google/android/exoplayer2/extractor/mp4/j;->c:Lcom/google/android/exoplayer2/Format;
invoke-interface {v5, v6}, Lcom/google/android/exoplayer2/extractor/A;->a(Lcom/google/android/exoplayer2/Format;)V
add-int/lit8 v3, v3, 0x1
goto :goto_38
.line 44
:cond_44
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->f:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
new-array v0, v0, [Lcom/google/android/exoplayer2/extractor/A;
iput-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->J:[Lcom/google/android/exoplayer2/extractor/A;
.line 45
:goto_4e
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->J:[Lcom/google/android/exoplayer2/extractor/A;
array-length v0, v0
if-ge v1, v0, :cond_6f
.line 46
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->H:Lcom/google/android/exoplayer2/extractor/m;
add-int/lit8 v2, v4, 0x1
const/4 v3, 0x3
invoke-interface {v0, v4, v3}, Lcom/google/android/exoplayer2/extractor/m;->a(II)Lcom/google/android/exoplayer2/extractor/A;
move-result-object v0
.line 47
iget-object v3, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->f:Ljava/util/List;
invoke-interface {v3, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/google/android/exoplayer2/Format;
invoke-interface {v0, v3}, Lcom/google/android/exoplayer2/extractor/A;->a(Lcom/google/android/exoplayer2/Format;)V
.line 48
iget-object v3, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->J:[Lcom/google/android/exoplayer2/extractor/A;
aput-object v0, v3, v1
add-int/lit8 v1, v1, 0x1
move v4, v2
goto :goto_4e
:cond_6f
return-void
.end method
.method private c(Lcom/google/android/exoplayer2/extractor/k;)V
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-wide v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->u:J
long-to-int v1, v0
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->v:I
sub-int/2addr v1, v0
.line 2
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->w:Lcom/google/android/exoplayer2/util/x;
if-eqz v0, :cond_22
.line 3
invoke-virtual {v0}, Lcom/google/android/exoplayer2/util/x;->c()[B
move-result-object v2
const/16 v3, 0x8
invoke-interface {p1, v2, v3, v1}, Lcom/google/android/exoplayer2/extractor/k;->readFully([BII)V
.line 4
new-instance v1, Lcom/google/android/exoplayer2/extractor/mp4/e$b;
iget v2, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->t:I
invoke-direct {v1, v2, v0}, Lcom/google/android/exoplayer2/extractor/mp4/e$b;-><init>(ILcom/google/android/exoplayer2/util/x;)V
invoke-interface {p1}, Lcom/google/android/exoplayer2/extractor/k;->getPosition()J
move-result-wide v2
invoke-direct {p0, v1, v2, v3}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(Lcom/google/android/exoplayer2/extractor/mp4/e$b;J)V
goto :goto_25
.line 5
:cond_22
invoke-interface {p1, v1}, Lcom/google/android/exoplayer2/extractor/k;->c(I)V
.line 6
:goto_25
invoke-interface {p1}, Lcom/google/android/exoplayer2/extractor/k;->getPosition()J
move-result-wide v0
invoke-direct {p0, v0, v1}, Lcom/google/android/exoplayer2/extractor/mp4/j;->b(J)V
return-void
.end method
.method private c(Lcom/google/android/exoplayer2/extractor/mp4/e$a;)V
.registers 15
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
.line 7
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->e:Lcom/google/android/exoplayer2/extractor/mp4/p;
const/4 v1, 0x1
const/4 v2, 0x0
if-nez v0, :cond_8
const/4 v0, 0x1
goto :goto_9
:cond_8
const/4 v0, 0x0
:goto_9
const-string v3, "Unexpected moov box."
invoke-static {v0, v3}, Lcom/google/android/exoplayer2/util/d;->b(ZLjava/lang/Object;)V
.line 8
iget-object v0, p1, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->c:Ljava/util/List;
invoke-static {v0}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(Ljava/util/List;)Lcom/google/android/exoplayer2/drm/DrmInitData;
move-result-object v7
const v0, 0x6d766578
.line 9
invoke-virtual {p1, v0}, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->d(I)Lcom/google/android/exoplayer2/extractor/mp4/e$a;
move-result-object v0
invoke-static {v0}, Lcom/google/android/exoplayer2/util/d;->a(Ljava/lang/Object;)Ljava/lang/Object;
check-cast v0, Lcom/google/android/exoplayer2/extractor/mp4/e$a;
.line 10
new-instance v11, Landroid/util/SparseArray;
invoke-direct {v11}, Landroid/util/SparseArray;-><init>()V
const-wide v3, -0x7fffffffffffffffL # -4.9E-324
.line 11
iget-object v5, v0, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->c:Ljava/util/List;
invoke-interface {v5}, Ljava/util/List;->size()I
move-result v5
move-wide v8, v3
const/4 v3, 0x0
:goto_32
if-ge v3, v5, :cond_67
.line 12
iget-object v4, v0, Lcom/google/android/exoplayer2/extractor/mp4/e$a;->c:Ljava/util/List;
invoke-interface {v4, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/google/android/exoplayer2/extractor/mp4/e$b;
.line 13
iget v6, v4, Lcom/google/android/exoplayer2/extractor/mp4/e;->a:I
const v10, 0x74726578
if-ne v6, v10, :cond_59
.line 14
iget-object v4, v4, Lcom/google/android/exoplayer2/extractor/mp4/e$b;->b:Lcom/google/android/exoplayer2/util/x;
invoke-static {v4}, Lcom/google/android/exoplayer2/extractor/mp4/j;->d(Lcom/google/android/exoplayer2/util/x;)Landroid/util/Pair;
move-result-object v4
.line 15
iget-object v6, v4, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v6, Ljava/lang/Integer;
invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
move-result v6
iget-object v4, v4, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v4, Lcom/google/android/exoplayer2/extractor/mp4/g;
invoke-virtual {v11, v6, v4}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
goto :goto_64
:cond_59
const v10, 0x6d656864
if-ne v6, v10, :cond_64
.line 16
iget-object v4, v4, Lcom/google/android/exoplayer2/extractor/mp4/e$b;->b:Lcom/google/android/exoplayer2/util/x;
invoke-static {v4}, Lcom/google/android/exoplayer2/extractor/mp4/j;->b(Lcom/google/android/exoplayer2/util/x;)J
move-result-wide v8
:cond_64
:goto_64
add-int/lit8 v3, v3, 0x1
goto :goto_32
.line 17
:cond_67
new-instance v4, Lcom/google/android/exoplayer2/extractor/u;
invoke-direct {v4}, Lcom/google/android/exoplayer2/extractor/u;-><init>()V
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->d:I
and-int/lit8 v0, v0, 0x10
if-eqz v0, :cond_74
const/4 v0, 0x1
goto :goto_75
:cond_74
const/4 v0, 0x0
:goto_75
const/4 v10, 0x0
new-instance v12, Lcom/google/android/exoplayer2/extractor/mp4/d;
invoke-direct {v12, p0}, Lcom/google/android/exoplayer2/extractor/mp4/d;-><init>(Lcom/google/android/exoplayer2/extractor/mp4/j;)V
move-object v3, p1
move-wide v5, v8
move v8, v0
move v9, v10
move-object v10, v12
.line 18
invoke-static/range {v3 .. v10}, Lcom/google/android/exoplayer2/extractor/mp4/f;->a(Lcom/google/android/exoplayer2/extractor/mp4/e$a;Lcom/google/android/exoplayer2/extractor/u;JLcom/google/android/exoplayer2/drm/DrmInitData;ZZLcom/google/common/base/g;)Ljava/util/List;
move-result-object p1
.line 19
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v0
.line 20
iget-object v3, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->g:Landroid/util/SparseArray;
invoke-virtual {v3}, Landroid/util/SparseArray;->size()I
move-result v3
if-nez v3, :cond_c7
:goto_90
if-ge v2, v0, :cond_c1
.line 21
invoke-interface {p1, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/android/exoplayer2/extractor/mp4/s;
.line 22
iget-object v3, v1, Lcom/google/android/exoplayer2/extractor/mp4/s;->a:Lcom/google/android/exoplayer2/extractor/mp4/p;
.line 23
new-instance v4, Lcom/google/android/exoplayer2/extractor/mp4/j$b;
iget-object v5, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->H:Lcom/google/android/exoplayer2/extractor/m;
iget v6, v3, Lcom/google/android/exoplayer2/extractor/mp4/p;->b:I
.line 24
invoke-interface {v5, v2, v6}, Lcom/google/android/exoplayer2/extractor/m;->a(II)Lcom/google/android/exoplayer2/extractor/A;
move-result-object v5
iget v6, v3, Lcom/google/android/exoplayer2/extractor/mp4/p;->a:I
.line 25
invoke-direct {p0, v11, v6}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(Landroid/util/SparseArray;I)Lcom/google/android/exoplayer2/extractor/mp4/g;
move-result-object v6
invoke-direct {v4, v5, v1, v6}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;-><init>(Lcom/google/android/exoplayer2/extractor/A;Lcom/google/android/exoplayer2/extractor/mp4/s;Lcom/google/android/exoplayer2/extractor/mp4/g;)V
.line 26
iget-object v1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->g:Landroid/util/SparseArray;
iget v5, v3, Lcom/google/android/exoplayer2/extractor/mp4/p;->a:I
invoke-virtual {v1, v5, v4}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
.line 27
iget-wide v4, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->A:J
iget-wide v6, v3, Lcom/google/android/exoplayer2/extractor/mp4/p;->e:J
invoke-static {v4, v5, v6, v7}, Ljava/lang/Math;->max(JJ)J
move-result-wide v3
iput-wide v3, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->A:J
add-int/lit8 v2, v2, 0x1
goto :goto_90
.line 28
:cond_c1
iget-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->H:Lcom/google/android/exoplayer2/extractor/m;
invoke-interface {p1}, Lcom/google/android/exoplayer2/extractor/m;->a()V
goto :goto_f4
.line 29
:cond_c7
iget-object v3, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->g:Landroid/util/SparseArray;
invoke-virtual {v3}, Landroid/util/SparseArray;->size()I
move-result v3
if-ne v3, v0, :cond_d0
goto :goto_d1
:cond_d0
const/4 v1, 0x0
:goto_d1
invoke-static {v1}, Lcom/google/android/exoplayer2/util/d;->b(Z)V
:goto_d4
if-ge v2, v0, :cond_f4
.line 30
invoke-interface {p1, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/android/exoplayer2/extractor/mp4/s;
.line 31
iget-object v3, v1, Lcom/google/android/exoplayer2/extractor/mp4/s;->a:Lcom/google/android/exoplayer2/extractor/mp4/p;
.line 32
iget-object v4, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->g:Landroid/util/SparseArray;
iget v5, v3, Lcom/google/android/exoplayer2/extractor/mp4/p;->a:I
.line 33
invoke-virtual {v4, v5}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/google/android/exoplayer2/extractor/mp4/j$b;
iget v3, v3, Lcom/google/android/exoplayer2/extractor/mp4/p;->a:I
.line 34
invoke-direct {p0, v11, v3}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(Landroid/util/SparseArray;I)Lcom/google/android/exoplayer2/extractor/mp4/g;
move-result-object v3
invoke-virtual {v4, v1, v3}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->a(Lcom/google/android/exoplayer2/extractor/mp4/s;Lcom/google/android/exoplayer2/extractor/mp4/g;)V
add-int/lit8 v2, v2, 0x1
goto :goto_d4
:cond_f4
:goto_f4
return-void
.end method
.method private static c(I)Z
.registers 2
const v0, 0x68646c72 # 4.3148E24f
if-eq p0, v0, :cond_8f
const v0, 0x6d646864
if-eq p0, v0, :cond_8f
const v0, 0x6d766864
if-eq p0, v0, :cond_8f
const v0, 0x73696478
if-eq p0, v0, :cond_8f
const v0, 0x73747364
if-eq p0, v0, :cond_8f
const v0, 0x73747473
if-eq p0, v0, :cond_8f
const v0, 0x63747473
if-eq p0, v0, :cond_8f
const v0, 0x73747363
if-eq p0, v0, :cond_8f
const v0, 0x7374737a
if-eq p0, v0, :cond_8f
const v0, 0x73747a32
if-eq p0, v0, :cond_8f
const v0, 0x7374636f
if-eq p0, v0, :cond_8f
const v0, 0x636f3634
if-eq p0, v0, :cond_8f
const v0, 0x73747373
if-eq p0, v0, :cond_8f
const v0, 0x74666474
if-eq p0, v0, :cond_8f
const v0, 0x74666864
if-eq p0, v0, :cond_8f
const v0, 0x746b6864
if-eq p0, v0, :cond_8f
const v0, 0x74726578
if-eq p0, v0, :cond_8f
const v0, 0x7472756e
if-eq p0, v0, :cond_8f
const v0, 0x70737368 # 3.013775E29f
if-eq p0, v0, :cond_8f
const v0, 0x7361697a
if-eq p0, v0, :cond_8f
const v0, 0x7361696f
if-eq p0, v0, :cond_8f
const v0, 0x73656e63
if-eq p0, v0, :cond_8f
const v0, 0x75756964
if-eq p0, v0, :cond_8f
const v0, 0x73626770
if-eq p0, v0, :cond_8f
const v0, 0x73677064
if-eq p0, v0, :cond_8f
const v0, 0x656c7374
if-eq p0, v0, :cond_8f
const v0, 0x6d656864
if-eq p0, v0, :cond_8f
const v0, 0x656d7367
if-ne p0, v0, :cond_8d
goto :goto_8f
:cond_8d
const/4 p0, 0x0
goto :goto_90
:cond_8f
:goto_8f
const/4 p0, 0x1
:goto_90
return p0
.end method
.method private static d(Lcom/google/android/exoplayer2/util/x;)Landroid/util/Pair;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/util/x;",
")",
"Landroid/util/Pair<",
"Ljava/lang/Integer;",
"Lcom/google/android/exoplayer2/extractor/mp4/g;",
">;"
}
.end annotation
const/16 v0, 0xc
.line 1
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 2
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v0
.line 3
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v1
add-int/lit8 v1, v1, -0x1
.line 4
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v2
.line 5
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v3
.line 6
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result p0
.line 7
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
new-instance v4, Lcom/google/android/exoplayer2/extractor/mp4/g;
invoke-direct {v4, v1, v2, v3, p0}, Lcom/google/android/exoplayer2/extractor/mp4/g;-><init>(IIII)V
invoke-static {v0, v4}, Landroid/util/Pair;->create(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair;
move-result-object p0
return-object p0
.end method
.method private d(Lcom/google/android/exoplayer2/extractor/k;)V
.registers 10
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 8
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->g:Landroid/util/SparseArray;
invoke-virtual {v0}, Landroid/util/SparseArray;->size()I
move-result v0
const/4 v1, 0x0
const-wide v2, 0x7fffffffffffffffL
const/4 v4, 0x0
:goto_d
if-ge v4, v0, :cond_2f
.line 9
iget-object v5, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->g:Landroid/util/SparseArray;
invoke-virtual {v5, v4}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
move-result-object v5
check-cast v5, Lcom/google/android/exoplayer2/extractor/mp4/j$b;
iget-object v5, v5, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->b:Lcom/google/android/exoplayer2/extractor/mp4/r;
.line 10
iget-boolean v6, v5, Lcom/google/android/exoplayer2/extractor/mp4/r;->q:Z
if-eqz v6, :cond_2c
iget-wide v5, v5, Lcom/google/android/exoplayer2/extractor/mp4/r;->d:J
cmp-long v7, v5, v2
if-gez v7, :cond_2c
.line 11
iget-object v1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->g:Landroid/util/SparseArray;
invoke-virtual {v1, v4}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/android/exoplayer2/extractor/mp4/j$b;
move-wide v2, v5
:cond_2c
add-int/lit8 v4, v4, 0x1
goto :goto_d
:cond_2f
if-nez v1, :cond_35
const/4 p1, 0x3
.line 12
iput p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->s:I
return-void
.line 13
:cond_35
invoke-interface {p1}, Lcom/google/android/exoplayer2/extractor/k;->getPosition()J
move-result-wide v4
sub-long/2addr v2, v4
long-to-int v0, v2
if-ltz v0, :cond_46
.line 14
invoke-interface {p1, v0}, Lcom/google/android/exoplayer2/extractor/k;->c(I)V
.line 15
iget-object v0, v1, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->b:Lcom/google/android/exoplayer2/extractor/mp4/r;
invoke-virtual {v0, p1}, Lcom/google/android/exoplayer2/extractor/mp4/r;->a(Lcom/google/android/exoplayer2/extractor/k;)V
return-void
.line 16
:cond_46
new-instance p1, Lcom/google/android/exoplayer2/ParserException;
const-string v0, "Offset to encryption data was negative."
invoke-direct {p1, v0}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
goto :goto_4f
:goto_4e
throw p1
:goto_4f
goto :goto_4e
.end method
.method private e(Lcom/google/android/exoplayer2/extractor/k;)Z
.registers 18
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
move-object/from16 v0, p0
move-object/from16 v1, p1
.line 1
iget-object v2, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->C:Lcom/google/android/exoplayer2/extractor/mp4/j$b;
const/4 v3, 0x0
if-nez v2, :cond_43
.line 2
iget-object v2, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->g:Landroid/util/SparseArray;
invoke-static {v2}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(Landroid/util/SparseArray;)Lcom/google/android/exoplayer2/extractor/mp4/j$b;
move-result-object v2
if-nez v2, :cond_2a
.line 3
iget-wide v4, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->x:J
invoke-interface/range {p1 .. p1}, Lcom/google/android/exoplayer2/extractor/k;->getPosition()J
move-result-wide v6
sub-long/2addr v4, v6
long-to-int v2, v4
if-ltz v2, :cond_22
.line 4
invoke-interface {v1, v2}, Lcom/google/android/exoplayer2/extractor/k;->c(I)V
.line 5
invoke-direct/range {p0 .. p0}, Lcom/google/android/exoplayer2/extractor/mp4/j;->b()V
return v3
.line 6
:cond_22
new-instance v1, Lcom/google/android/exoplayer2/ParserException;
const-string v2, "Offset to end of mdat was negative."
invoke-direct {v1, v2}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw v1
.line 7
:cond_2a
invoke-virtual {v2}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->b()J
move-result-wide v4
.line 8
invoke-interface/range {p1 .. p1}, Lcom/google/android/exoplayer2/extractor/k;->getPosition()J
move-result-wide v6
sub-long/2addr v4, v6
long-to-int v5, v4
if-gez v5, :cond_3e
const-string v4, "FragmentedMp4Extractor"
const-string v5, "Ignoring negative offset to sample data."
.line 9
invoke-static {v4, v5}, Lcom/google/android/exoplayer2/util/q;->d(Ljava/lang/String;Ljava/lang/String;)V
const/4 v5, 0x0
.line 10
:cond_3e
invoke-interface {v1, v5}, Lcom/google/android/exoplayer2/extractor/k;->c(I)V
.line 11
iput-object v2, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->C:Lcom/google/android/exoplayer2/extractor/mp4/j$b;
.line 12
:cond_43
iget v4, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->s:I
const/4 v5, 0x0
const/4 v6, 0x3
const/4 v7, 0x4
const/4 v8, 0x1
if-ne v4, v6, :cond_bc
.line 13
invoke-virtual {v2}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->d()I
move-result v4
iput v4, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->D:I
.line 14
iget v4, v2, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->f:I
iget v9, v2, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->i:I
if-ge v4, v9, :cond_6a
.line 15
iget v3, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->D:I
invoke-interface {v1, v3}, Lcom/google/android/exoplayer2/extractor/k;->c(I)V
.line 16
invoke-virtual {v2}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->h()V
.line 17
invoke-virtual {v2}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->f()Z
move-result v1
if-nez v1, :cond_67
.line 18
iput-object v5, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->C:Lcom/google/android/exoplayer2/extractor/mp4/j$b;
.line 19
:cond_67
iput v6, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->s:I
return v8
.line 20
:cond_6a
iget-object v4, v2, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->d:Lcom/google/android/exoplayer2/extractor/mp4/s;
iget-object v4, v4, Lcom/google/android/exoplayer2/extractor/mp4/s;->a:Lcom/google/android/exoplayer2/extractor/mp4/p;
iget v4, v4, Lcom/google/android/exoplayer2/extractor/mp4/p;->g:I
if-ne v4, v8, :cond_7c
.line 21
iget v4, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->D:I
const/16 v9, 0x8
sub-int/2addr v4, v9
iput v4, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->D:I
.line 22
invoke-interface {v1, v9}, Lcom/google/android/exoplayer2/extractor/k;->c(I)V
.line 23
:cond_7c
iget-object v4, v2, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->d:Lcom/google/android/exoplayer2/extractor/mp4/s;
iget-object v4, v4, Lcom/google/android/exoplayer2/extractor/mp4/s;->a:Lcom/google/android/exoplayer2/extractor/mp4/p;
iget-object v4, v4, Lcom/google/android/exoplayer2/extractor/mp4/p;->f:Lcom/google/android/exoplayer2/Format;
iget-object v4, v4, Lcom/google/android/exoplayer2/Format;->l:Ljava/lang/String;
const-string v9, "audio/ac4"
invoke-virtual {v9, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_a9
.line 24
iget v4, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->D:I
const/4 v9, 0x7
.line 25
invoke-virtual {v2, v4, v9}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->a(II)I
move-result v4
iput v4, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->E:I
.line 26
iget v4, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->D:I
iget-object v10, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->l:Lcom/google/android/exoplayer2/util/x;
invoke-static {v4, v10}, Lcom/google/android/exoplayer2/audio/o;->a(ILcom/google/android/exoplayer2/util/x;)V
.line 27
iget-object v4, v2, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->a:Lcom/google/android/exoplayer2/extractor/A;
iget-object v10, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->l:Lcom/google/android/exoplayer2/util/x;
invoke-interface {v4, v10, v9}, Lcom/google/android/exoplayer2/extractor/A;->a(Lcom/google/android/exoplayer2/util/x;I)V
.line 28
iget v4, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->E:I
add-int/2addr v4, v9
iput v4, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->E:I
goto :goto_b1
.line 29
:cond_a9
iget v4, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->D:I
.line 30
invoke-virtual {v2, v4, v3}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->a(II)I
move-result v4
iput v4, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->E:I
.line 31
:goto_b1
iget v4, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->D:I
iget v9, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->E:I
add-int/2addr v4, v9
iput v4, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->D:I
.line 32
iput v7, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->s:I
.line 33
iput v3, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->F:I
.line 34
:cond_bc
iget-object v4, v2, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->d:Lcom/google/android/exoplayer2/extractor/mp4/s;
iget-object v4, v4, Lcom/google/android/exoplayer2/extractor/mp4/s;->a:Lcom/google/android/exoplayer2/extractor/mp4/p;
.line 35
iget-object v9, v2, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->a:Lcom/google/android/exoplayer2/extractor/A;
.line 36
invoke-virtual {v2}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->c()J
move-result-wide v10
.line 37
iget-object v12, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->m:Lcom/google/android/exoplayer2/util/I;
if-eqz v12, :cond_ce
.line 38
invoke-virtual {v12, v10, v11}, Lcom/google/android/exoplayer2/util/I;->a(J)J
move-result-wide v10
:cond_ce
move-wide v14, v10
.line 39
iget v10, v4, Lcom/google/android/exoplayer2/extractor/mp4/p;->j:I
if-eqz v10, :cond_19b
.line 40
iget-object v10, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->i:Lcom/google/android/exoplayer2/util/x;
invoke-virtual {v10}, Lcom/google/android/exoplayer2/util/x;->c()[B
move-result-object v10
.line 41
aput-byte v3, v10, v3
.line 42
aput-byte v3, v10, v8
const/4 v11, 0x2
.line 43
aput-byte v3, v10, v11
.line 44
iget v11, v4, Lcom/google/android/exoplayer2/extractor/mp4/p;->j:I
add-int/lit8 v12, v11, 0x1
rsub-int/lit8 v11, v11, 0x4
.line 45
:goto_e6
iget v13, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->E:I
iget v6, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->D:I
if-ge v13, v6, :cond_1ac
.line 46
iget v6, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->F:I
if-nez v6, :cond_13e
.line 47
invoke-interface {v1, v10, v11, v12}, Lcom/google/android/exoplayer2/extractor/k;->readFully([BII)V
.line 48
iget-object v6, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->i:Lcom/google/android/exoplayer2/util/x;
invoke-virtual {v6, v3}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 49
iget-object v6, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->i:Lcom/google/android/exoplayer2/util/x;
invoke-virtual {v6}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v6
if-lt v6, v8, :cond_136
add-int/lit8 v6, v6, -0x1
.line 50
iput v6, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->F:I
.line 51
iget-object v6, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->h:Lcom/google/android/exoplayer2/util/x;
invoke-virtual {v6, v3}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 52
iget-object v6, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->h:Lcom/google/android/exoplayer2/util/x;
invoke-interface {v9, v6, v7}, Lcom/google/android/exoplayer2/extractor/A;->a(Lcom/google/android/exoplayer2/util/x;I)V
.line 53
iget-object v6, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->i:Lcom/google/android/exoplayer2/util/x;
invoke-interface {v9, v6, v8}, Lcom/google/android/exoplayer2/extractor/A;->a(Lcom/google/android/exoplayer2/util/x;I)V
.line 54
iget-object v6, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->J:[Lcom/google/android/exoplayer2/extractor/A;
array-length v6, v6
if-lez v6, :cond_126
iget-object v6, v4, Lcom/google/android/exoplayer2/extractor/mp4/p;->f:Lcom/google/android/exoplayer2/Format;
iget-object v6, v6, Lcom/google/android/exoplayer2/Format;->l:Ljava/lang/String;
aget-byte v13, v10, v7
.line 55
invoke-static {v6, v13}, Lcom/google/android/exoplayer2/util/u;->a(Ljava/lang/String;B)Z
move-result v6
if-eqz v6, :cond_126
const/4 v6, 0x1
goto :goto_127
:cond_126
const/4 v6, 0x0
:goto_127
iput-boolean v6, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->G:Z
.line 56
iget v6, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->E:I
add-int/lit8 v6, v6, 0x5
iput v6, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->E:I
.line 57
iget v6, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->D:I
add-int/2addr v6, v11
iput v6, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->D:I
const/4 v6, 0x3
goto :goto_e6
.line 58
:cond_136
new-instance v1, Lcom/google/android/exoplayer2/ParserException;
const-string v2, "Invalid NAL length"
invoke-direct {v1, v2}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw v1
.line 59
:cond_13e
iget-boolean v13, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->G:Z
if-eqz v13, :cond_187
.line 60
iget-object v13, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->j:Lcom/google/android/exoplayer2/util/x;
invoke-virtual {v13, v6}, Lcom/google/android/exoplayer2/util/x;->c(I)V
.line 61
iget-object v6, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->j:Lcom/google/android/exoplayer2/util/x;
invoke-virtual {v6}, Lcom/google/android/exoplayer2/util/x;->c()[B
move-result-object v6
iget v13, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->F:I
invoke-interface {v1, v6, v3, v13}, Lcom/google/android/exoplayer2/extractor/k;->readFully([BII)V
.line 62
iget-object v6, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->j:Lcom/google/android/exoplayer2/util/x;
iget v13, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->F:I
invoke-interface {v9, v6, v13}, Lcom/google/android/exoplayer2/extractor/A;->a(Lcom/google/android/exoplayer2/util/x;I)V
.line 63
iget v6, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->F:I
.line 64
iget-object v13, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->j:Lcom/google/android/exoplayer2/util/x;
.line 65
invoke-virtual {v13}, Lcom/google/android/exoplayer2/util/x;->c()[B
move-result-object v13
iget-object v7, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->j:Lcom/google/android/exoplayer2/util/x;
invoke-virtual {v7}, Lcom/google/android/exoplayer2/util/x;->e()I
move-result v7
invoke-static {v13, v7}, Lcom/google/android/exoplayer2/util/u;->c([BI)I
move-result v7
.line 66
iget-object v13, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->j:Lcom/google/android/exoplayer2/util/x;
iget-object v8, v4, Lcom/google/android/exoplayer2/extractor/mp4/p;->f:Lcom/google/android/exoplayer2/Format;
iget-object v8, v8, Lcom/google/android/exoplayer2/Format;->l:Ljava/lang/String;
const-string v5, "video/hevc"
invoke-virtual {v5, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
invoke-virtual {v13, v5}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 67
iget-object v5, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->j:Lcom/google/android/exoplayer2/util/x;
invoke-virtual {v5, v7}, Lcom/google/android/exoplayer2/util/x;->d(I)V
.line 68
iget-object v5, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->j:Lcom/google/android/exoplayer2/util/x;
iget-object v7, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->J:[Lcom/google/android/exoplayer2/extractor/A;
invoke-static {v14, v15, v5, v7}, Lcom/google/android/exoplayer2/extractor/d;->a(JLcom/google/android/exoplayer2/util/x;[Lcom/google/android/exoplayer2/extractor/A;)V
goto :goto_18b
.line 69
:cond_187
invoke-interface {v9, v1, v6, v3}, Lcom/google/android/exoplayer2/extractor/A;->a(Lcom/google/android/exoplayer2/upstream/h;IZ)I
move-result v6
.line 70
:goto_18b
iget v5, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->E:I
add-int/2addr v5, v6
iput v5, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->E:I
.line 71
iget v5, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->F:I
sub-int/2addr v5, v6
iput v5, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->F:I
const/4 v5, 0x0
const/4 v6, 0x3
const/4 v7, 0x4
const/4 v8, 0x1
goto/16 :goto_e6
.line 72
:cond_19b
:goto_19b
iget v4, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->E:I
iget v5, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->D:I
if-ge v4, v5, :cond_1ac
sub-int/2addr v5, v4
.line 73
invoke-interface {v9, v1, v5, v3}, Lcom/google/android/exoplayer2/extractor/A;->a(Lcom/google/android/exoplayer2/upstream/h;IZ)I
move-result v4
.line 74
iget v5, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->E:I
add-int/2addr v5, v4
iput v5, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->E:I
goto :goto_19b
.line 75
:cond_1ac
invoke-virtual {v2}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->a()I
move-result v12
.line 76
invoke-virtual {v2}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->e()Lcom/google/android/exoplayer2/extractor/mp4/q;
move-result-object v1
if-eqz v1, :cond_1b9
.line 77
iget-object v5, v1, Lcom/google/android/exoplayer2/extractor/mp4/q;->c:Lcom/google/android/exoplayer2/extractor/A$a;
goto :goto_1ba
:cond_1b9
const/4 v5, 0x0
.line 78
:goto_1ba
iget v13, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->D:I
const/4 v1, 0x0
move-wide v10, v14
move-wide v3, v14
move v14, v1
move-object v15, v5
invoke-interface/range {v9 .. v15}, Lcom/google/android/exoplayer2/extractor/A;->a(JIIILcom/google/android/exoplayer2/extractor/A$a;)V
.line 79
invoke-direct {v0, v3, v4}, Lcom/google/android/exoplayer2/extractor/mp4/j;->a(J)V
.line 80
invoke-virtual {v2}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->f()Z
move-result v1
if-nez v1, :cond_1d0
const/4 v1, 0x0
.line 81
iput-object v1, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->C:Lcom/google/android/exoplayer2/extractor/mp4/j$b;
:cond_1d0
const/4 v1, 0x3
.line 82
iput v1, v0, Lcom/google/android/exoplayer2/extractor/mp4/j;->s:I
const/4 v1, 0x1
return v1
.end method
# virtual methods
.method public a(Lcom/google/android/exoplayer2/extractor/k;Lcom/google/android/exoplayer2/extractor/w;)I
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 18
:cond_0
:goto_0
iget p2, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->s:I
if-eqz p2, :cond_1a
const/4 v0, 0x1
if-eq p2, v0, :cond_16
const/4 v0, 0x2
if-eq p2, v0, :cond_12
.line 19
invoke-direct {p0, p1}, Lcom/google/android/exoplayer2/extractor/mp4/j;->e(Lcom/google/android/exoplayer2/extractor/k;)Z
move-result p2
if-eqz p2, :cond_0
const/4 p1, 0x0
return p1
.line 20
:cond_12
invoke-direct {p0, p1}, Lcom/google/android/exoplayer2/extractor/mp4/j;->d(Lcom/google/android/exoplayer2/extractor/k;)V
goto :goto_0
.line 21
:cond_16
invoke-direct {p0, p1}, Lcom/google/android/exoplayer2/extractor/mp4/j;->c(Lcom/google/android/exoplayer2/extractor/k;)V
goto :goto_0
.line 22
:cond_1a
invoke-direct {p0, p1}, Lcom/google/android/exoplayer2/extractor/mp4/j;->b(Lcom/google/android/exoplayer2/extractor/k;)Z
move-result p2
if-nez p2, :cond_0
const/4 p1, -0x1
return p1
.end method
.method protected a(Lcom/google/android/exoplayer2/extractor/mp4/p;)Lcom/google/android/exoplayer2/extractor/mp4/p;
.registers 2
return-object p1
.end method
.method public a(JJ)V
.registers 7
.line 11
iget-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->g:Landroid/util/SparseArray;
invoke-virtual {p1}, Landroid/util/SparseArray;->size()I
move-result p1
const/4 p2, 0x0
const/4 v0, 0x0
:goto_8
if-ge v0, p1, :cond_18
.line 12
iget-object v1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->g:Landroid/util/SparseArray;
invoke-virtual {v1, v0}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/android/exoplayer2/extractor/mp4/j$b;
invoke-virtual {v1}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;->g()V
add-int/lit8 v0, v0, 0x1
goto :goto_8
.line 13
:cond_18
iget-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->q:Ljava/util/ArrayDeque;
invoke-virtual {p1}, Ljava/util/ArrayDeque;->clear()V
.line 14
iput p2, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->y:I
.line 15
iput-wide p3, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->z:J
.line 16
iget-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->p:Ljava/util/ArrayDeque;
invoke-virtual {p1}, Ljava/util/ArrayDeque;->clear()V
.line 17
invoke-direct {p0}, Lcom/google/android/exoplayer2/extractor/mp4/j;->b()V
return-void
.end method
.method public a(Lcom/google/android/exoplayer2/extractor/m;)V
.registers 14
.line 3
iput-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->H:Lcom/google/android/exoplayer2/extractor/m;
.line 4
invoke-direct {p0}, Lcom/google/android/exoplayer2/extractor/mp4/j;->b()V
.line 5
invoke-direct {p0}, Lcom/google/android/exoplayer2/extractor/mp4/j;->c()V
.line 6
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->e:Lcom/google/android/exoplayer2/extractor/mp4/p;
if-eqz v0, :cond_3a
.line 7
new-instance v1, Lcom/google/android/exoplayer2/extractor/mp4/j$b;
iget v0, v0, Lcom/google/android/exoplayer2/extractor/mp4/p;->b:I
const/4 v2, 0x0
.line 8
invoke-interface {p1, v2, v0}, Lcom/google/android/exoplayer2/extractor/m;->a(II)Lcom/google/android/exoplayer2/extractor/A;
move-result-object p1
new-instance v0, Lcom/google/android/exoplayer2/extractor/mp4/s;
iget-object v4, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->e:Lcom/google/android/exoplayer2/extractor/mp4/p;
new-array v5, v2, [J
new-array v6, v2, [I
const/4 v7, 0x0
new-array v8, v2, [J
new-array v9, v2, [I
const-wide/16 v10, 0x0
move-object v3, v0
invoke-direct/range {v3 .. v11}, Lcom/google/android/exoplayer2/extractor/mp4/s;-><init>(Lcom/google/android/exoplayer2/extractor/mp4/p;[J[II[J[IJ)V
new-instance v3, Lcom/google/android/exoplayer2/extractor/mp4/g;
invoke-direct {v3, v2, v2, v2, v2}, Lcom/google/android/exoplayer2/extractor/mp4/g;-><init>(IIII)V
invoke-direct {v1, p1, v0, v3}, Lcom/google/android/exoplayer2/extractor/mp4/j$b;-><init>(Lcom/google/android/exoplayer2/extractor/A;Lcom/google/android/exoplayer2/extractor/mp4/s;Lcom/google/android/exoplayer2/extractor/mp4/g;)V
.line 9
iget-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->g:Landroid/util/SparseArray;
invoke-virtual {p1, v2, v1}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
.line 10
iget-object p1, p0, Lcom/google/android/exoplayer2/extractor/mp4/j;->H:Lcom/google/android/exoplayer2/extractor/m;
invoke-interface {p1}, Lcom/google/android/exoplayer2/extractor/m;->a()V
:cond_3a
return-void
.end method
.method public a(Lcom/google/android/exoplayer2/extractor/k;)Z
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 2
invoke-static {p1}, Lcom/google/android/exoplayer2/extractor/mp4/o;->a(Lcom/google/android/exoplayer2/extractor/k;)Z
move-result p1
return p1
.end method
.method public release()V
.registers 1
return-void
.end method