h.smali
.class public final Lcom/google/android/exoplayer2/metadata/id3/h;
.super Lcom/google/android/exoplayer2/metadata/i;
.source "Id3Decoder.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/metadata/id3/h$b;,
Lcom/google/android/exoplayer2/metadata/id3/h$a;
}
.end annotation
# static fields
.field public static final a:Lcom/google/android/exoplayer2/metadata/id3/h$a;
# instance fields
.field private final b:Lcom/google/android/exoplayer2/metadata/id3/h$a;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 1
sget-object v0, Lcom/google/android/exoplayer2/metadata/id3/a;->a:Lcom/google/android/exoplayer2/metadata/id3/a;
sput-object v0, Lcom/google/android/exoplayer2/metadata/id3/h;->a:Lcom/google/android/exoplayer2/metadata/id3/h$a;
return-void
.end method
.method public constructor <init>()V
.registers 2
const/4 v0, 0x0
.line 1
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/metadata/id3/h;-><init>(Lcom/google/android/exoplayer2/metadata/id3/h$a;)V
return-void
.end method
.method public constructor <init>(Lcom/google/android/exoplayer2/metadata/id3/h$a;)V
.registers 2
.line 2
invoke-direct {p0}, Lcom/google/android/exoplayer2/metadata/i;-><init>()V
.line 3
iput-object p1, p0, Lcom/google/android/exoplayer2/metadata/id3/h;->b:Lcom/google/android/exoplayer2/metadata/id3/h$a;
return-void
.end method
.method private static a(I)I
.registers 2
if-eqz p0, :cond_8
const/4 v0, 0x3
if-ne p0, v0, :cond_6
goto :goto_8
:cond_6
const/4 p0, 0x2
goto :goto_9
:cond_8
:goto_8
const/4 p0, 0x1
:goto_9
return p0
.end method
.method private static a(Lcom/google/android/exoplayer2/util/x;II)Lcom/google/android/exoplayer2/metadata/id3/ApicFrame;
.registers 9
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
.line 88
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v0
.line 89
invoke-static {v0}, Lcom/google/android/exoplayer2/metadata/id3/h;->b(I)Ljava/lang/String;
move-result-object v1
add-int/lit8 p1, p1, -0x1
.line 90
new-array v2, p1, [B
const/4 v3, 0x0
.line 91
invoke-virtual {p0, v2, v3, p1}, Lcom/google/android/exoplayer2/util/x;->a([BII)V
const-string p0, "image/"
const-string p1, "ISO-8859-1"
const/4 v4, 0x2
if-ne p2, v4, :cond_42
.line 92
new-instance p2, Ljava/lang/String;
const/4 v5, 0x3
invoke-direct {p2, v2, v3, v5, p1}, Ljava/lang/String;-><init>([BIILjava/lang/String;)V
invoke-static {p2}, Lcom/google/android/exoplayer2/util/L;->h(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result p2
if-eqz p2, :cond_30
invoke-virtual {p0, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
goto :goto_36
:cond_30
new-instance p1, Ljava/lang/String;
invoke-direct {p1, p0}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
move-object p0, p1
:goto_36
const-string p1, "image/jpg"
.line 93
invoke-virtual {p1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_40
const-string p0, "image/jpeg"
:cond_40
const/4 p2, 0x2
goto :goto_6d
.line 94
:cond_42
invoke-static {v2, v3}, Lcom/google/android/exoplayer2/metadata/id3/h;->b([BI)I
move-result p2
.line 95
new-instance v5, Ljava/lang/String;
invoke-direct {v5, v2, v3, p2, p1}, Ljava/lang/String;-><init>([BIILjava/lang/String;)V
invoke-static {v5}, Lcom/google/android/exoplayer2/util/L;->h(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
const/16 v3, 0x2f
.line 96
invoke-virtual {p1, v3}, Ljava/lang/String;->indexOf(I)I
move-result v3
const/4 v5, -0x1
if-ne v3, v5, :cond_6c
.line 97
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v3
if-eqz v3, :cond_67
invoke-virtual {p0, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
goto :goto_6d
:cond_67
new-instance p1, Ljava/lang/String;
invoke-direct {p1, p0}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
:cond_6c
move-object p0, p1
:goto_6d
add-int/lit8 p1, p2, 0x1
.line 98
aget-byte p1, v2, p1
and-int/lit16 p1, p1, 0xff
add-int/2addr p2, v4
.line 99
invoke-static {v2, p2, v0}, Lcom/google/android/exoplayer2/metadata/id3/h;->b([BII)I
move-result v3
.line 100
new-instance v4, Ljava/lang/String;
sub-int v5, v3, p2
invoke-direct {v4, v2, p2, v5, v1}, Ljava/lang/String;-><init>([BIILjava/lang/String;)V
.line 101
invoke-static {v0}, Lcom/google/android/exoplayer2/metadata/id3/h;->a(I)I
move-result p2
add-int/2addr v3, p2
.line 102
array-length p2, v2
invoke-static {v2, v3, p2}, Lcom/google/android/exoplayer2/metadata/id3/h;->a([BII)[B
move-result-object p2
.line 103
new-instance v0, Lcom/google/android/exoplayer2/metadata/id3/ApicFrame;
invoke-direct {v0, p0, v4, p1, p2}, Lcom/google/android/exoplayer2/metadata/id3/ApicFrame;-><init>(Ljava/lang/String;Ljava/lang/String;I[B)V
return-object v0
.end method
.method private static a(Lcom/google/android/exoplayer2/util/x;ILjava/lang/String;)Lcom/google/android/exoplayer2/metadata/id3/BinaryFrame;
.registers 5
.line 132
new-array v0, p1, [B
const/4 v1, 0x0
.line 133
invoke-virtual {p0, v0, v1, p1}, Lcom/google/android/exoplayer2/util/x;->a([BII)V
.line 134
new-instance p0, Lcom/google/android/exoplayer2/metadata/id3/BinaryFrame;
invoke-direct {p0, p2, v0}, Lcom/google/android/exoplayer2/metadata/id3/BinaryFrame;-><init>(Ljava/lang/String;[B)V
return-object p0
.end method
.method private static a(Lcom/google/android/exoplayer2/util/x;IIZILcom/google/android/exoplayer2/metadata/id3/h$a;)Lcom/google/android/exoplayer2/metadata/id3/ChapterFrame;
.registers 21
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
move-object v0, p0
.line 117
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->d()I
move-result v1
.line 118
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->c()[B
move-result-object v2
invoke-static {v2, v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->b([BI)I
move-result v2
.line 119
new-instance v4, Ljava/lang/String;
.line 120
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->c()[B
move-result-object v3
sub-int v5, v2, v1
const-string v6, "ISO-8859-1"
invoke-direct {v4, v3, v1, v5, v6}, Ljava/lang/String;-><init>([BIILjava/lang/String;)V
add-int/lit8 v2, v2, 0x1
.line 121
invoke-virtual {p0, v2}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 122
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v5
.line 123
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v6
.line 124
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v2
const-wide/16 v7, -0x1
const-wide v9, 0xffffffffL
cmp-long v11, v2, v9
if-nez v11, :cond_38
move-wide v11, v7
goto :goto_39
:cond_38
move-wide v11, v2
.line 125
:goto_39
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v2
cmp-long v13, v2, v9
if-nez v13, :cond_43
move-wide v9, v7
goto :goto_44
:cond_43
move-wide v9, v2
.line 126
:goto_44
new-instance v2, Ljava/util/ArrayList;
invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
add-int v1, v1, p1
.line 127
:cond_4b
:goto_4b
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->d()I
move-result v3
if-ge v3, v1, :cond_63
move/from16 v3, p2
move/from16 v7, p3
move/from16 v8, p4
move-object/from16 v13, p5
.line 128
invoke-static {v3, p0, v7, v8, v13}, Lcom/google/android/exoplayer2/metadata/id3/h;->a(ILcom/google/android/exoplayer2/util/x;ZILcom/google/android/exoplayer2/metadata/id3/h$a;)Lcom/google/android/exoplayer2/metadata/id3/Id3Frame;
move-result-object v14
if-eqz v14, :cond_4b
.line 129
invoke-virtual {v2, v14}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_4b
:cond_63
const/4 v0, 0x0
.line 130
new-array v0, v0, [Lcom/google/android/exoplayer2/metadata/id3/Id3Frame;
invoke-virtual {v2, v0}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/android/exoplayer2/metadata/id3/Id3Frame;
.line 131
new-instance v1, Lcom/google/android/exoplayer2/metadata/id3/ChapterFrame;
move-object v3, v1
move-wide v7, v11
move-object v11, v0
invoke-direct/range {v3 .. v11}, Lcom/google/android/exoplayer2/metadata/id3/ChapterFrame;-><init>(Ljava/lang/String;IIJJ[Lcom/google/android/exoplayer2/metadata/id3/Id3Frame;)V
return-object v1
.end method
.method private static a(Lcom/google/android/exoplayer2/util/x;I)Lcom/google/android/exoplayer2/metadata/id3/CommentFrame;
.registers 9
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
const/4 v0, 0x4
if-ge p1, v0, :cond_5
const/4 p0, 0x0
return-object p0
.line 104
:cond_5
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v1
.line 105
invoke-static {v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->b(I)Ljava/lang/String;
move-result-object v2
const/4 v3, 0x3
.line 106
new-array v4, v3, [B
const/4 v5, 0x0
.line 107
invoke-virtual {p0, v4, v5, v3}, Lcom/google/android/exoplayer2/util/x;->a([BII)V
.line 108
new-instance v6, Ljava/lang/String;
invoke-direct {v6, v4, v5, v3}, Ljava/lang/String;-><init>([BII)V
sub-int/2addr p1, v0
.line 109
new-array v0, p1, [B
.line 110
invoke-virtual {p0, v0, v5, p1}, Lcom/google/android/exoplayer2/util/x;->a([BII)V
.line 111
invoke-static {v0, v5, v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->b([BII)I
move-result p0
.line 112
new-instance p1, Ljava/lang/String;
invoke-direct {p1, v0, v5, p0, v2}, Ljava/lang/String;-><init>([BIILjava/lang/String;)V
.line 113
invoke-static {v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->a(I)I
move-result v3
add-int/2addr p0, v3
.line 114
invoke-static {v0, p0, v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->b([BII)I
move-result v1
.line 115
invoke-static {v0, p0, v1, v2}, Lcom/google/android/exoplayer2/metadata/id3/h;->a([BIILjava/lang/String;)Ljava/lang/String;
move-result-object p0
.line 116
new-instance v0, Lcom/google/android/exoplayer2/metadata/id3/CommentFrame;
invoke-direct {v0, v6, p1, p0}, Lcom/google/android/exoplayer2/metadata/id3/CommentFrame;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-object v0
.end method
.method private static a(ILcom/google/android/exoplayer2/util/x;ZILcom/google/android/exoplayer2/metadata/id3/h$a;)Lcom/google/android/exoplayer2/metadata/id3/Id3Frame;
.registers 24
move/from16 v0, p0
move-object/from16 v7, p1
.line 47
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v8
.line 48
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v9
.line 49
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v10
const/4 v11, 0x3
if-lt v0, v11, :cond_19
.line 50
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v1
move v13, v1
goto :goto_1a
:cond_19
const/4 v13, 0x0
:goto_1a
const/4 v14, 0x4
if-ne v0, v14, :cond_3c
.line 51
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->A()I
move-result v1
if-nez p2, :cond_3a
and-int/lit16 v2, v1, 0xff
shr-int/lit8 v3, v1, 0x8
and-int/lit16 v3, v3, 0xff
shl-int/lit8 v3, v3, 0x7
or-int/2addr v2, v3
shr-int/lit8 v3, v1, 0x10
and-int/lit16 v3, v3, 0xff
shl-int/lit8 v3, v3, 0xe
or-int/2addr v2, v3
shr-int/lit8 v1, v1, 0x18
and-int/lit16 v1, v1, 0xff
shl-int/lit8 v1, v1, 0x15
or-int/2addr v1, v2
:cond_3a
:goto_3a
move v15, v1
goto :goto_48
:cond_3c
if-ne v0, v11, :cond_43
.line 52
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->A()I
move-result v1
goto :goto_3a
.line 53
:cond_43
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->z()I
move-result v1
goto :goto_3a
:goto_48
if-lt v0, v11, :cond_50
.line 54
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->C()I
move-result v1
move v6, v1
goto :goto_51
:cond_50
const/4 v6, 0x0
:goto_51
const/16 v16, 0x0
if-nez v8, :cond_67
if-nez v9, :cond_67
if-nez v10, :cond_67
if-nez v13, :cond_67
if-nez v15, :cond_67
if-nez v6, :cond_67
.line 55
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->e()I
move-result v0
invoke-virtual {v7, v0}, Lcom/google/android/exoplayer2/util/x;->e(I)V
return-object v16
.line 56
:cond_67
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->d()I
move-result v1
add-int v5, v1, v15
.line 57
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->e()I
move-result v1
const-string v4, "Id3Decoder"
if-le v5, v1, :cond_82
const-string v0, "Frame size exceeds remaining tag data"
.line 58
invoke-static {v4, v0}, Lcom/google/android/exoplayer2/util/q;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 59
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/util/x;->e()I
move-result v0
invoke-virtual {v7, v0}, Lcom/google/android/exoplayer2/util/x;->e(I)V
return-object v16
:cond_82
if-eqz p4, :cond_9a
move-object/from16 v1, p4
move/from16 v2, p0
move v3, v8
move-object v12, v4
move v4, v9
move v14, v5
move v5, v10
move/from16 v18, v6
move v6, v13
.line 60
invoke-interface/range {v1 .. v6}, Lcom/google/android/exoplayer2/metadata/id3/h$a;->a(IIIII)Z
move-result v1
if-nez v1, :cond_9e
.line 61
invoke-virtual {v7, v14}, Lcom/google/android/exoplayer2/util/x;->e(I)V
return-object v16
:cond_9a
move-object v12, v4
move v14, v5
move/from16 v18, v6
:cond_9e
const/4 v1, 0x1
if-ne v0, v11, :cond_bc
move/from16 v2, v18
and-int/lit16 v3, v2, 0x80
if-eqz v3, :cond_a9
const/4 v3, 0x1
goto :goto_aa
:cond_a9
const/4 v3, 0x0
:goto_aa
and-int/lit8 v4, v2, 0x40
if-eqz v4, :cond_b0
const/4 v4, 0x1
goto :goto_b1
:cond_b0
const/4 v4, 0x0
:goto_b1
and-int/lit8 v2, v2, 0x20
if-eqz v2, :cond_b7
const/4 v2, 0x1
goto :goto_b8
:cond_b7
const/4 v2, 0x0
:goto_b8
move/from16 v17, v3
const/4 v6, 0x0
goto :goto_f2
:cond_bc
move/from16 v2, v18
const/4 v3, 0x4
if-ne v0, v3, :cond_ec
and-int/lit8 v3, v2, 0x40
if-eqz v3, :cond_c7
const/4 v3, 0x1
goto :goto_c8
:cond_c7
const/4 v3, 0x0
:goto_c8
and-int/lit8 v4, v2, 0x8
if-eqz v4, :cond_ce
const/4 v4, 0x1
goto :goto_cf
:cond_ce
const/4 v4, 0x0
:goto_cf
and-int/lit8 v5, v2, 0x4
if-eqz v5, :cond_d5
const/4 v5, 0x1
goto :goto_d6
:cond_d5
const/4 v5, 0x0
:goto_d6
and-int/lit8 v6, v2, 0x2
if-eqz v6, :cond_dc
const/4 v6, 0x1
goto :goto_dd
:cond_dc
const/4 v6, 0x0
:goto_dd
and-int/2addr v2, v1
if-eqz v2, :cond_e3
const/16 v17, 0x1
goto :goto_e5
:cond_e3
const/16 v17, 0x0
:goto_e5
move v2, v3
move/from16 v3, v17
move/from16 v17, v4
move v4, v5
goto :goto_f2
:cond_ec
const/4 v2, 0x0
const/4 v3, 0x0
const/4 v4, 0x0
const/4 v6, 0x0
const/16 v17, 0x0
:goto_f2
if-nez v17, :cond_236
if-eqz v4, :cond_f8
goto/16 :goto_236
:cond_f8
if-eqz v2, :cond_ff
add-int/lit8 v15, v15, -0x1
.line 62
invoke-virtual {v7, v1}, Lcom/google/android/exoplayer2/util/x;->f(I)V
:cond_ff
if-eqz v3, :cond_107
add-int/lit8 v15, v15, -0x4
const/4 v1, 0x4
.line 63
invoke-virtual {v7, v1}, Lcom/google/android/exoplayer2/util/x;->f(I)V
:cond_107
if-eqz v6, :cond_10e
.line 64
invoke-static {v7, v15}, Lcom/google/android/exoplayer2/metadata/id3/h;->g(Lcom/google/android/exoplayer2/util/x;I)I
move-result v1
move v15, v1
:cond_10e
const/16 v1, 0x54
const/4 v2, 0x2
const/16 v3, 0x58
if-ne v8, v1, :cond_123
if-ne v9, v3, :cond_123
if-ne v10, v3, :cond_123
if-eq v0, v2, :cond_11d
if-ne v13, v3, :cond_123
.line 65
:cond_11d
:try_start_11d
invoke-static {v7, v15}, Lcom/google/android/exoplayer2/metadata/id3/h;->e(Lcom/google/android/exoplayer2/util/x;I)Lcom/google/android/exoplayer2/metadata/id3/TextInformationFrame;
move-result-object v1
goto/16 :goto_1f9
:cond_123
if-ne v8, v1, :cond_132
.line 66
invoke-static {v0, v8, v9, v10, v13}, Lcom/google/android/exoplayer2/metadata/id3/h;->b(IIIII)Ljava/lang/String;
move-result-object v1
.line 67
invoke-static {v7, v15, v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->b(Lcom/google/android/exoplayer2/util/x;ILjava/lang/String;)Lcom/google/android/exoplayer2/metadata/id3/TextInformationFrame;
move-result-object v1
goto/16 :goto_1f9
:catchall_12f
move-exception v0
goto/16 :goto_232
:cond_132
const/16 v4, 0x57
if-ne v8, v4, :cond_144
if-ne v9, v3, :cond_144
if-ne v10, v3, :cond_144
if-eq v0, v2, :cond_13e
if-ne v13, v3, :cond_144
.line 68
:cond_13e
invoke-static {v7, v15}, Lcom/google/android/exoplayer2/metadata/id3/h;->f(Lcom/google/android/exoplayer2/util/x;I)Lcom/google/android/exoplayer2/metadata/id3/UrlLinkFrame;
move-result-object v1
goto/16 :goto_1f9
:cond_144
const/16 v3, 0x57
if-ne v8, v3, :cond_152
.line 69
invoke-static {v0, v8, v9, v10, v13}, Lcom/google/android/exoplayer2/metadata/id3/h;->b(IIIII)Ljava/lang/String;
move-result-object v1
.line 70
invoke-static {v7, v15, v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->c(Lcom/google/android/exoplayer2/util/x;ILjava/lang/String;)Lcom/google/android/exoplayer2/metadata/id3/UrlLinkFrame;
move-result-object v1
goto/16 :goto_1f9
:cond_152
const/16 v3, 0x49
const/16 v4, 0x50
if-ne v8, v4, :cond_168
const/16 v5, 0x52
if-ne v9, v5, :cond_168
if-ne v10, v3, :cond_168
const/16 v5, 0x56
if-ne v13, v5, :cond_168
.line 71
invoke-static {v7, v15}, Lcom/google/android/exoplayer2/metadata/id3/h;->d(Lcom/google/android/exoplayer2/util/x;I)Lcom/google/android/exoplayer2/metadata/id3/PrivFrame;
move-result-object v1
goto/16 :goto_1f9
:cond_168
const/16 v5, 0x47
const/16 v6, 0x4f
if-ne v8, v5, :cond_180
const/16 v5, 0x45
if-ne v9, v5, :cond_180
if-ne v10, v6, :cond_180
const/16 v5, 0x42
if-eq v13, v5, :cond_17a
if-ne v0, v2, :cond_180
.line 72
:cond_17a
invoke-static {v7, v15}, Lcom/google/android/exoplayer2/metadata/id3/h;->b(Lcom/google/android/exoplayer2/util/x;I)Lcom/google/android/exoplayer2/metadata/id3/GeobFrame;
move-result-object v1
goto/16 :goto_1f9
:cond_180
const/16 v5, 0x43
if-ne v0, v2, :cond_18b
if-ne v8, v4, :cond_19b
if-ne v9, v3, :cond_19b
if-ne v10, v5, :cond_19b
goto :goto_195
:cond_18b
const/16 v11, 0x41
if-ne v8, v11, :cond_19b
if-ne v9, v4, :cond_19b
if-ne v10, v3, :cond_19b
if-ne v13, v5, :cond_19b
.line 73
:goto_195
invoke-static {v7, v15, v0}, Lcom/google/android/exoplayer2/metadata/id3/h;->a(Lcom/google/android/exoplayer2/util/x;II)Lcom/google/android/exoplayer2/metadata/id3/ApicFrame;
move-result-object v1
goto/16 :goto_1f9
:cond_19b
const/16 v3, 0x4d
if-ne v8, v5, :cond_1ac
if-ne v9, v6, :cond_1ac
if-ne v10, v3, :cond_1ac
if-eq v13, v3, :cond_1a7
if-ne v0, v2, :cond_1ac
.line 74
:cond_1a7
invoke-static {v7, v15}, Lcom/google/android/exoplayer2/metadata/id3/h;->a(Lcom/google/android/exoplayer2/util/x;I)Lcom/google/android/exoplayer2/metadata/id3/CommentFrame;
move-result-object v1
goto :goto_1f9
:cond_1ac
if-ne v8, v5, :cond_1c8
const/16 v2, 0x48
if-ne v9, v2, :cond_1c8
const/16 v2, 0x41
if-ne v10, v2, :cond_1c8
if-ne v13, v4, :cond_1c8
move-object/from16 v1, p1
move v2, v15
move/from16 v3, p0
move/from16 v4, p2
move/from16 v5, p3
move-object/from16 v6, p4
.line 75
invoke-static/range {v1 .. v6}, Lcom/google/android/exoplayer2/metadata/id3/h;->a(Lcom/google/android/exoplayer2/util/x;IIZILcom/google/android/exoplayer2/metadata/id3/h$a;)Lcom/google/android/exoplayer2/metadata/id3/ChapterFrame;
move-result-object v1
goto :goto_1f9
:cond_1c8
if-ne v8, v5, :cond_1e0
if-ne v9, v1, :cond_1e0
if-ne v10, v6, :cond_1e0
if-ne v13, v5, :cond_1e0
move-object/from16 v1, p1
move v2, v15
move/from16 v3, p0
move/from16 v4, p2
move/from16 v5, p3
move-object/from16 v6, p4
.line 76
invoke-static/range {v1 .. v6}, Lcom/google/android/exoplayer2/metadata/id3/h;->b(Lcom/google/android/exoplayer2/util/x;IIZILcom/google/android/exoplayer2/metadata/id3/h$a;)Lcom/google/android/exoplayer2/metadata/id3/ChapterTocFrame;
move-result-object v1
goto :goto_1f9
:cond_1e0
if-ne v8, v3, :cond_1f1
const/16 v2, 0x4c
if-ne v9, v2, :cond_1f1
const/16 v2, 0x4c
if-ne v10, v2, :cond_1f1
if-ne v13, v1, :cond_1f1
.line 77
invoke-static {v7, v15}, Lcom/google/android/exoplayer2/metadata/id3/h;->c(Lcom/google/android/exoplayer2/util/x;I)Lcom/google/android/exoplayer2/metadata/id3/MlltFrame;
move-result-object v1
goto :goto_1f9
.line 78
:cond_1f1
invoke-static {v0, v8, v9, v10, v13}, Lcom/google/android/exoplayer2/metadata/id3/h;->b(IIIII)Ljava/lang/String;
move-result-object v1
.line 79
invoke-static {v7, v15, v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->a(Lcom/google/android/exoplayer2/util/x;ILjava/lang/String;)Lcom/google/android/exoplayer2/metadata/id3/BinaryFrame;
move-result-object v1
:goto_1f9
if-nez v1, :cond_225
.line 80
invoke-static {v0, v8, v9, v10, v13}, Lcom/google/android/exoplayer2/metadata/id3/h;->b(IIIII)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v2
add-int/lit8 v2, v2, 0x32
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3, v2}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v2, "Failed to decode frame: id="
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, ", frameSize="
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 81
invoke-static {v12, v0}, Lcom/google/android/exoplayer2/util/q;->d(Ljava/lang/String;Ljava/lang/String;)V
:try_end_225
.catch Ljava/io/UnsupportedEncodingException; {:try_start_11d .. :try_end_225} :catch_229
.catchall {:try_start_11d .. :try_end_225} :catchall_12f
.line 82
:cond_225
invoke-virtual {v7, v14}, Lcom/google/android/exoplayer2/util/x;->e(I)V
return-object v1
:catch_229
:try_start_229
const-string v0, "Unsupported character encoding"
.line 83
invoke-static {v12, v0}, Lcom/google/android/exoplayer2/util/q;->d(Ljava/lang/String;Ljava/lang/String;)V
:try_end_22e
.catchall {:try_start_229 .. :try_end_22e} :catchall_12f
.line 84
invoke-virtual {v7, v14}, Lcom/google/android/exoplayer2/util/x;->e(I)V
return-object v16
:goto_232
invoke-virtual {v7, v14}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 85
throw v0
:cond_236
:goto_236
const-string v0, "Skipping unsupported compressed or encrypted frame"
.line 86
invoke-static {v12, v0}, Lcom/google/android/exoplayer2/util/q;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 87
invoke-virtual {v7, v14}, Lcom/google/android/exoplayer2/util/x;->e(I)V
return-object v16
.end method
.method private static a(Lcom/google/android/exoplayer2/util/x;)Lcom/google/android/exoplayer2/metadata/id3/h$b;
.registers 10
.line 19
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->a()I
move-result v0
const/4 v1, 0x0
const-string v2, "Id3Decoder"
const/16 v3, 0xa
if-ge v0, v3, :cond_11
const-string p0, "Data too short to be an ID3 tag"
.line 20
invoke-static {v2, p0}, Lcom/google/android/exoplayer2/util/q;->d(Ljava/lang/String;Ljava/lang/String;)V
return-object v1
.line 21
:cond_11
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->z()I
move-result v0
const v3, 0x494433
const/4 v4, 0x0
const/4 v5, 0x1
if-eq v0, v3, :cond_45
const-string p0, "Unexpected first three bytes of ID3 tag header: 0x"
.line 22
new-array v3, v5, [Ljava/lang/Object;
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
aput-object v0, v3, v4
const-string v0, "%06X"
invoke-static {v0, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v3
if-eqz v3, :cond_3b
invoke-virtual {p0, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
goto :goto_41
:cond_3b
new-instance v0, Ljava/lang/String;
invoke-direct {v0, p0}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
move-object p0, v0
:goto_41
invoke-static {v2, p0}, Lcom/google/android/exoplayer2/util/q;->d(Ljava/lang/String;Ljava/lang/String;)V
return-object v1
.line 23
:cond_45
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v0
.line 24
invoke-virtual {p0, v5}, Lcom/google/android/exoplayer2/util/x;->f(I)V
.line 25
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v3
.line 26
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->v()I
move-result v6
const/4 v7, 0x2
const/4 v8, 0x4
if-ne v0, v7, :cond_67
and-int/lit8 p0, v3, 0x40
if-eqz p0, :cond_5e
const/4 p0, 0x1
goto :goto_5f
:cond_5e
const/4 p0, 0x0
:goto_5f
if-eqz p0, :cond_9d
const-string p0, "Skipped ID3 tag with majorVersion=2 and undefined compression scheme"
.line 27
invoke-static {v2, p0}, Lcom/google/android/exoplayer2/util/q;->d(Ljava/lang/String;Ljava/lang/String;)V
return-object v1
:cond_67
const/4 v7, 0x3
if-ne v0, v7, :cond_7d
and-int/lit8 v1, v3, 0x40
if-eqz v1, :cond_70
const/4 v1, 0x1
goto :goto_71
:cond_70
const/4 v1, 0x0
:goto_71
if-eqz v1, :cond_9d
.line 28
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v1
.line 29
invoke-virtual {p0, v1}, Lcom/google/android/exoplayer2/util/x;->f(I)V
add-int/2addr v1, v8
sub-int/2addr v6, v1
goto :goto_9d
:cond_7d
if-ne v0, v8, :cond_aa
and-int/lit8 v1, v3, 0x40
if-eqz v1, :cond_85
const/4 v1, 0x1
goto :goto_86
:cond_85
const/4 v1, 0x0
:goto_86
if-eqz v1, :cond_92
.line 30
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->v()I
move-result v1
add-int/lit8 v2, v1, -0x4
.line 31
invoke-virtual {p0, v2}, Lcom/google/android/exoplayer2/util/x;->f(I)V
sub-int/2addr v6, v1
:cond_92
and-int/lit8 p0, v3, 0x10
if-eqz p0, :cond_98
const/4 p0, 0x1
goto :goto_99
:cond_98
const/4 p0, 0x0
:goto_99
if-eqz p0, :cond_9d
add-int/lit8 v6, v6, -0xa
:cond_9d
:goto_9d
if-ge v0, v8, :cond_a4
and-int/lit16 p0, v3, 0x80
if-eqz p0, :cond_a4
const/4 v4, 0x1
.line 32
:cond_a4
new-instance p0, Lcom/google/android/exoplayer2/metadata/id3/h$b;
invoke-direct {p0, v0, v4, v6}, Lcom/google/android/exoplayer2/metadata/id3/h$b;-><init>(IZI)V
return-object p0
:cond_aa
const/16 p0, 0x39
.line 33
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3, p0}, Ljava/lang/StringBuilder;-><init>(I)V
const-string p0, "Skipped ID3 tag with unsupported majorVersion="
invoke-virtual {v3, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-static {v2, p0}, Lcom/google/android/exoplayer2/util/q;->d(Ljava/lang/String;Ljava/lang/String;)V
return-object v1
.end method
.method private static a([BIILjava/lang/String;)Ljava/lang/String;
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
if-le p2, p1, :cond_d
.line 137
array-length v0, p0
if-le p2, v0, :cond_6
goto :goto_d
.line 138
:cond_6
new-instance v0, Ljava/lang/String;
sub-int/2addr p2, p1
invoke-direct {v0, p0, p1, p2, p3}, Ljava/lang/String;-><init>([BIILjava/lang/String;)V
return-object v0
:cond_d
:goto_d
const-string p0, ""
return-object p0
.end method
.method static synthetic a(IIIII)Z
.registers 5
const/4 p0, 0x0
return p0
.end method
.method private static a(Lcom/google/android/exoplayer2/util/x;IIZ)Z
.registers 22
move-object/from16 v1, p0
move/from16 v0, p1
.line 34
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->d()I
move-result v2
.line 35
:goto_8
:try_start_8
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->a()I
move-result v3
const/4 v4, 0x1
move/from16 v5, p2
if-lt v3, v5, :cond_ae
const/4 v3, 0x3
const/4 v6, 0x0
if-lt v0, v3, :cond_22
.line 36
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->j()I
move-result v7
.line 37
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->y()J
move-result-wide v8
.line 38
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->C()I
move-result v10
goto :goto_2c
.line 39
:cond_22
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->z()I
move-result v7
.line 40
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->z()I
move-result v8
:try_end_2a
.catchall {:try_start_8 .. :try_end_2a} :catchall_b2
int-to-long v8, v8
const/4 v10, 0x0
:goto_2c
const-wide/16 v11, 0x0
if-nez v7, :cond_3a
cmp-long v7, v8, v11
if-nez v7, :cond_3a
if-nez v10, :cond_3a
.line 41
invoke-virtual {v1, v2}, Lcom/google/android/exoplayer2/util/x;->e(I)V
return v4
:cond_3a
const/4 v7, 0x4
if-ne v0, v7, :cond_6b
if-nez p3, :cond_6b
const-wide/32 v13, 0x808080
and-long/2addr v13, v8
cmp-long v15, v13, v11
if-eqz v15, :cond_4b
invoke-virtual {v1, v2}, Lcom/google/android/exoplayer2/util/x;->e(I)V
return v6
:cond_4b
const-wide/16 v11, 0xff
and-long v13, v8, v11
const/16 v15, 0x8
shr-long v15, v8, v15
and-long/2addr v15, v11
const/16 v17, 0x7
shl-long v15, v15, v17
or-long/2addr v13, v15
const/16 v15, 0x10
shr-long v15, v8, v15
and-long/2addr v15, v11
const/16 v17, 0xe
shl-long v15, v15, v17
or-long/2addr v13, v15
const/16 v15, 0x18
shr-long/2addr v8, v15
and-long/2addr v8, v11
const/16 v11, 0x15
shl-long/2addr v8, v11
or-long/2addr v8, v13
:cond_6b
if-ne v0, v7, :cond_7a
and-int/lit8 v3, v10, 0x40
if-eqz v3, :cond_73
const/4 v3, 0x1
goto :goto_74
:cond_73
const/4 v3, 0x0
:goto_74
and-int/lit8 v7, v10, 0x1
if-eqz v7, :cond_89
:goto_78
const/4 v7, 0x1
goto :goto_8a
:cond_7a
if-ne v0, v3, :cond_88
and-int/lit8 v3, v10, 0x20
if-eqz v3, :cond_82
const/4 v3, 0x1
goto :goto_83
:cond_82
const/4 v3, 0x0
:goto_83
and-int/lit16 v7, v10, 0x80
if-eqz v7, :cond_89
goto :goto_78
:cond_88
const/4 v3, 0x0
:cond_89
const/4 v7, 0x0
:goto_8a
if-eqz v3, :cond_8d
goto :goto_8e
:cond_8d
const/4 v4, 0x0
:goto_8e
if-eqz v7, :cond_92
add-int/lit8 v4, v4, 0x4
:cond_92
int-to-long v3, v4
cmp-long v7, v8, v3
if-gez v7, :cond_9b
invoke-virtual {v1, v2}, Lcom/google/android/exoplayer2/util/x;->e(I)V
return v6
.line 42
:cond_9b
:try_start_9b
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->a()I
move-result v3
:try_end_9f
.catchall {:try_start_9b .. :try_end_9f} :catchall_b2
int-to-long v3, v3
cmp-long v7, v3, v8
if-gez v7, :cond_a8
.line 43
invoke-virtual {v1, v2}, Lcom/google/android/exoplayer2/util/x;->e(I)V
return v6
:cond_a8
long-to-int v3, v8
.line 44
:try_start_a9
invoke-virtual {v1, v3}, Lcom/google/android/exoplayer2/util/x;->f(I)V
:try_end_ac
.catchall {:try_start_a9 .. :try_end_ac} :catchall_b2
goto/16 :goto_8
.line 45
:cond_ae
invoke-virtual {v1, v2}, Lcom/google/android/exoplayer2/util/x;->e(I)V
return v4
:catchall_b2
move-exception v0
invoke-virtual {v1, v2}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 46
goto :goto_b8
:goto_b7
throw v0
:goto_b8
goto :goto_b7
.end method
.method private static a([BII)[B
.registers 3
if-gt p2, p1, :cond_5
.line 135
sget-object p0, Lcom/google/android/exoplayer2/util/L;->f:[B
return-object p0
.line 136
:cond_5
invoke-static {p0, p1, p2}, Ljava/util/Arrays;->copyOfRange([BII)[B
move-result-object p0
return-object p0
.end method
.method private static b([BI)I
.registers 3
.line 47
:goto_0
array-length v0, p0
if-ge p1, v0, :cond_b
.line 48
aget-byte v0, p0, p1
if-nez v0, :cond_8
return p1
:cond_8
add-int/lit8 p1, p1, 0x1
goto :goto_0
.line 49
:cond_b
array-length p0, p0
return p0
.end method
.method private static b([BII)I
.registers 4
.line 42
invoke-static {p0, p1}, Lcom/google/android/exoplayer2/metadata/id3/h;->b([BI)I
move-result p1
if-eqz p2, :cond_23
const/4 v0, 0x3
if-ne p2, v0, :cond_a
goto :goto_23
.line 43
:cond_a
:goto_a
array-length p2, p0
add-int/lit8 p2, p2, -0x1
if-ge p1, p2, :cond_21
.line 44
rem-int/lit8 p2, p1, 0x2
if-nez p2, :cond_1a
add-int/lit8 p2, p1, 0x1
aget-byte p2, p0, p2
if-nez p2, :cond_1a
return p1
:cond_1a
add-int/lit8 p1, p1, 0x1
.line 45
invoke-static {p0, p1}, Lcom/google/android/exoplayer2/metadata/id3/h;->b([BI)I
move-result p1
goto :goto_a
.line 46
:cond_21
array-length p0, p0
return p0
:cond_23
:goto_23
return p1
.end method
.method private static b(Lcom/google/android/exoplayer2/util/x;IIZILcom/google/android/exoplayer2/metadata/id3/h$a;)Lcom/google/android/exoplayer2/metadata/id3/ChapterTocFrame;
.registers 22
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
move-object/from16 v0, p0
.line 22
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->d()I
move-result v1
.line 23
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->c()[B
move-result-object v2
invoke-static {v2, v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->b([BI)I
move-result v2
.line 24
new-instance v3, Ljava/lang/String;
.line 25
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->c()[B
move-result-object v4
sub-int v5, v2, v1
const-string v6, "ISO-8859-1"
invoke-direct {v3, v4, v1, v5, v6}, Ljava/lang/String;-><init>([BIILjava/lang/String;)V
const/4 v4, 0x1
add-int/2addr v2, v4
.line 26
invoke-virtual {v0, v2}, Lcom/google/android/exoplayer2/util/x;->e(I)V
.line 27
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v2
and-int/lit8 v5, v2, 0x2
const/4 v7, 0x0
if-eqz v5, :cond_2b
const/4 v5, 0x1
goto :goto_2c
:cond_2b
const/4 v5, 0x0
:goto_2c
and-int/2addr v2, v4
if-eqz v2, :cond_31
const/4 v2, 0x1
goto :goto_32
:cond_31
const/4 v2, 0x0
.line 28
:goto_32
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v8
.line 29
new-array v9, v8, [Ljava/lang/String;
const/4 v10, 0x0
:goto_39
if-ge v10, v8, :cond_5b
.line 30
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->d()I
move-result v11
.line 31
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->c()[B
move-result-object v12
invoke-static {v12, v11}, Lcom/google/android/exoplayer2/metadata/id3/h;->b([BI)I
move-result v12
.line 32
new-instance v13, Ljava/lang/String;
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->c()[B
move-result-object v14
sub-int v15, v12, v11
invoke-direct {v13, v14, v11, v15, v6}, Ljava/lang/String;-><init>([BIILjava/lang/String;)V
aput-object v13, v9, v10
add-int/2addr v12, v4
.line 33
invoke-virtual {v0, v12}, Lcom/google/android/exoplayer2/util/x;->e(I)V
add-int/lit8 v10, v10, 0x1
goto :goto_39
.line 34
:cond_5b
new-instance v4, Ljava/util/ArrayList;
invoke-direct {v4}, Ljava/util/ArrayList;-><init>()V
add-int v1, v1, p1
.line 35
:cond_62
:goto_62
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/x;->d()I
move-result v6
if-ge v6, v1, :cond_7a
move/from16 v6, p2
move/from16 v8, p3
move/from16 v10, p4
move-object/from16 v11, p5
.line 36
invoke-static {v6, v0, v8, v10, v11}, Lcom/google/android/exoplayer2/metadata/id3/h;->a(ILcom/google/android/exoplayer2/util/x;ZILcom/google/android/exoplayer2/metadata/id3/h$a;)Lcom/google/android/exoplayer2/metadata/id3/Id3Frame;
move-result-object v12
if-eqz v12, :cond_62
.line 37
invoke-virtual {v4, v12}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_62
.line 38
:cond_7a
new-array v0, v7, [Lcom/google/android/exoplayer2/metadata/id3/Id3Frame;
invoke-virtual {v4, v0}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/android/exoplayer2/metadata/id3/Id3Frame;
.line 39
new-instance v1, Lcom/google/android/exoplayer2/metadata/id3/ChapterTocFrame;
move-object/from16 p0, v1
move-object/from16 p1, v3
move/from16 p2, v5
move/from16 p3, v2
move-object/from16 p4, v9
move-object/from16 p5, v0
invoke-direct/range {p0 .. p5}, Lcom/google/android/exoplayer2/metadata/id3/ChapterTocFrame;-><init>(Ljava/lang/String;ZZ[Ljava/lang/String;[Lcom/google/android/exoplayer2/metadata/id3/Id3Frame;)V
return-object v1
.end method
.method private static b(Lcom/google/android/exoplayer2/util/x;I)Lcom/google/android/exoplayer2/metadata/id3/GeobFrame;
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
.line 8
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v0
.line 9
invoke-static {v0}, Lcom/google/android/exoplayer2/metadata/id3/h;->b(I)Ljava/lang/String;
move-result-object v1
add-int/lit8 p1, p1, -0x1
.line 10
new-array v2, p1, [B
const/4 v3, 0x0
.line 11
invoke-virtual {p0, v2, v3, p1}, Lcom/google/android/exoplayer2/util/x;->a([BII)V
.line 12
invoke-static {v2, v3}, Lcom/google/android/exoplayer2/metadata/id3/h;->b([BI)I
move-result p0
.line 13
new-instance p1, Ljava/lang/String;
const-string v4, "ISO-8859-1"
invoke-direct {p1, v2, v3, p0, v4}, Ljava/lang/String;-><init>([BIILjava/lang/String;)V
add-int/lit8 p0, p0, 0x1
.line 14
invoke-static {v2, p0, v0}, Lcom/google/android/exoplayer2/metadata/id3/h;->b([BII)I
move-result v3
.line 15
invoke-static {v2, p0, v3, v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->a([BIILjava/lang/String;)Ljava/lang/String;
move-result-object p0
.line 16
invoke-static {v0}, Lcom/google/android/exoplayer2/metadata/id3/h;->a(I)I
move-result v4
add-int/2addr v3, v4
.line 17
invoke-static {v2, v3, v0}, Lcom/google/android/exoplayer2/metadata/id3/h;->b([BII)I
move-result v4
.line 18
invoke-static {v2, v3, v4, v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->a([BIILjava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 19
invoke-static {v0}, Lcom/google/android/exoplayer2/metadata/id3/h;->a(I)I
move-result v0
add-int/2addr v4, v0
.line 20
array-length v0, v2
invoke-static {v2, v4, v0}, Lcom/google/android/exoplayer2/metadata/id3/h;->a([BII)[B
move-result-object v0
.line 21
new-instance v2, Lcom/google/android/exoplayer2/metadata/id3/GeobFrame;
invoke-direct {v2, p1, p0, v1, v0}, Lcom/google/android/exoplayer2/metadata/id3/GeobFrame;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[B)V
return-object v2
.end method
.method private static b(Lcom/google/android/exoplayer2/util/x;ILjava/lang/String;)Lcom/google/android/exoplayer2/metadata/id3/TextInformationFrame;
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
const/4 v0, 0x0
const/4 v1, 0x1
if-ge p1, v1, :cond_5
return-object v0
.line 1
:cond_5
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v2
.line 2
invoke-static {v2}, Lcom/google/android/exoplayer2/metadata/id3/h;->b(I)Ljava/lang/String;
move-result-object v3
sub-int/2addr p1, v1
.line 3
new-array v1, p1, [B
const/4 v4, 0x0
.line 4
invoke-virtual {p0, v1, v4, p1}, Lcom/google/android/exoplayer2/util/x;->a([BII)V
.line 5
invoke-static {v1, v4, v2}, Lcom/google/android/exoplayer2/metadata/id3/h;->b([BII)I
move-result p0
.line 6
new-instance p1, Ljava/lang/String;
invoke-direct {p1, v1, v4, p0, v3}, Ljava/lang/String;-><init>([BIILjava/lang/String;)V
.line 7
new-instance p0, Lcom/google/android/exoplayer2/metadata/id3/TextInformationFrame;
invoke-direct {p0, p2, v0, p1}, Lcom/google/android/exoplayer2/metadata/id3/TextInformationFrame;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-object p0
.end method
.method private static b(I)Ljava/lang/String;
.registers 2
const/4 v0, 0x1
if-eq p0, v0, :cond_12
const/4 v0, 0x2
if-eq p0, v0, :cond_f
const/4 v0, 0x3
if-eq p0, v0, :cond_c
const-string p0, "ISO-8859-1"
return-object p0
:cond_c
const-string p0, "UTF-8"
return-object p0
:cond_f
const-string p0, "UTF-16BE"
return-object p0
:cond_12
const-string p0, "UTF-16"
return-object p0
.end method
.method private static b(IIIII)Ljava/lang/String;
.registers 10
const/4 v0, 0x3
const/4 v1, 0x1
const/4 v2, 0x0
const/4 v3, 0x2
if-ne p0, v3, :cond_23
.line 40
sget-object p0, Ljava/util/Locale;->US:Ljava/util/Locale;
new-array p4, v0, [Ljava/lang/Object;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
aput-object p1, p4, v2
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
aput-object p1, p4, v1
invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
aput-object p1, p4, v3
const-string p1, "%c%c%c"
invoke-static {p0, p1, p4}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
goto :goto_46
.line 41
:cond_23
sget-object p0, Ljava/util/Locale;->US:Ljava/util/Locale;
const/4 v4, 0x4
new-array v4, v4, [Ljava/lang/Object;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
aput-object p1, v4, v2
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
aput-object p1, v4, v1
invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
aput-object p1, v4, v3
invoke-static {p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
aput-object p1, v4, v0
const-string p1, "%c%c%c%c"
invoke-static {p0, p1, v4}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
:goto_46
return-object p0
.end method
.method private static c(Lcom/google/android/exoplayer2/util/x;I)Lcom/google/android/exoplayer2/metadata/id3/MlltFrame;
.registers 12
.line 6
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->C()I
move-result v1
.line 7
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->z()I
move-result v2
.line 8
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->z()I
move-result v3
.line 9
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v0
.line 10
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v4
.line 11
new-instance v5, Lcom/google/android/exoplayer2/util/w;
invoke-direct {v5}, Lcom/google/android/exoplayer2/util/w;-><init>()V
.line 12
invoke-virtual {v5, p0}, Lcom/google/android/exoplayer2/util/w;->a(Lcom/google/android/exoplayer2/util/x;)V
add-int/lit8 p1, p1, -0xa
mul-int/lit8 p1, p1, 0x8
add-int p0, v0, v4
.line 13
div-int/2addr p1, p0
.line 14
new-array p0, p1, [I
.line 15
new-array v6, p1, [I
const/4 v7, 0x0
:goto_28
if-ge v7, p1, :cond_39
.line 16
invoke-virtual {v5, v0}, Lcom/google/android/exoplayer2/util/w;->a(I)I
move-result v8
.line 17
invoke-virtual {v5, v4}, Lcom/google/android/exoplayer2/util/w;->a(I)I
move-result v9
.line 18
aput v8, p0, v7
.line 19
aput v9, v6, v7
add-int/lit8 v7, v7, 0x1
goto :goto_28
.line 20
:cond_39
new-instance p1, Lcom/google/android/exoplayer2/metadata/id3/MlltFrame;
move-object v0, p1
move-object v4, p0
move-object v5, v6
invoke-direct/range {v0 .. v5}, Lcom/google/android/exoplayer2/metadata/id3/MlltFrame;-><init>(III[I[I)V
return-object p1
.end method
.method private static c(Lcom/google/android/exoplayer2/util/x;ILjava/lang/String;)Lcom/google/android/exoplayer2/metadata/id3/UrlLinkFrame;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
.line 1
new-array v0, p1, [B
const/4 v1, 0x0
.line 2
invoke-virtual {p0, v0, v1, p1}, Lcom/google/android/exoplayer2/util/x;->a([BII)V
.line 3
invoke-static {v0, v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->b([BI)I
move-result p0
.line 4
new-instance p1, Ljava/lang/String;
const-string v2, "ISO-8859-1"
invoke-direct {p1, v0, v1, p0, v2}, Ljava/lang/String;-><init>([BIILjava/lang/String;)V
.line 5
new-instance p0, Lcom/google/android/exoplayer2/metadata/id3/UrlLinkFrame;
const/4 v0, 0x0
invoke-direct {p0, p2, v0, p1}, Lcom/google/android/exoplayer2/metadata/id3/UrlLinkFrame;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-object p0
.end method
.method private static d(Lcom/google/android/exoplayer2/util/x;I)Lcom/google/android/exoplayer2/metadata/id3/PrivFrame;
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
.line 1
new-array v0, p1, [B
const/4 v1, 0x0
.line 2
invoke-virtual {p0, v0, v1, p1}, Lcom/google/android/exoplayer2/util/x;->a([BII)V
.line 3
invoke-static {v0, v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->b([BI)I
move-result p0
.line 4
new-instance p1, Ljava/lang/String;
const-string v2, "ISO-8859-1"
invoke-direct {p1, v0, v1, p0, v2}, Ljava/lang/String;-><init>([BIILjava/lang/String;)V
add-int/lit8 p0, p0, 0x1
.line 5
array-length v1, v0
invoke-static {v0, p0, v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->a([BII)[B
move-result-object p0
.line 6
new-instance v0, Lcom/google/android/exoplayer2/metadata/id3/PrivFrame;
invoke-direct {v0, p1, p0}, Lcom/google/android/exoplayer2/metadata/id3/PrivFrame;-><init>(Ljava/lang/String;[B)V
return-object v0
.end method
.method private static e(Lcom/google/android/exoplayer2/util/x;I)Lcom/google/android/exoplayer2/metadata/id3/TextInformationFrame;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
const/4 v0, 0x1
if-ge p1, v0, :cond_5
const/4 p0, 0x0
return-object p0
.line 1
:cond_5
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v1
.line 2
invoke-static {v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->b(I)Ljava/lang/String;
move-result-object v2
sub-int/2addr p1, v0
.line 3
new-array v0, p1, [B
const/4 v3, 0x0
.line 4
invoke-virtual {p0, v0, v3, p1}, Lcom/google/android/exoplayer2/util/x;->a([BII)V
.line 5
invoke-static {v0, v3, v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->b([BII)I
move-result p0
.line 6
new-instance p1, Ljava/lang/String;
invoke-direct {p1, v0, v3, p0, v2}, Ljava/lang/String;-><init>([BIILjava/lang/String;)V
.line 7
invoke-static {v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->a(I)I
move-result v3
add-int/2addr p0, v3
.line 8
invoke-static {v0, p0, v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->b([BII)I
move-result v1
.line 9
invoke-static {v0, p0, v1, v2}, Lcom/google/android/exoplayer2/metadata/id3/h;->a([BIILjava/lang/String;)Ljava/lang/String;
move-result-object p0
.line 10
new-instance v0, Lcom/google/android/exoplayer2/metadata/id3/TextInformationFrame;
const-string v1, "TXXX"
invoke-direct {v0, v1, p1, p0}, Lcom/google/android/exoplayer2/metadata/id3/TextInformationFrame;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-object v0
.end method
.method private static f(Lcom/google/android/exoplayer2/util/x;I)Lcom/google/android/exoplayer2/metadata/id3/UrlLinkFrame;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
const/4 v0, 0x1
if-ge p1, v0, :cond_5
const/4 p0, 0x0
return-object p0
.line 1
:cond_5
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->w()I
move-result v1
.line 2
invoke-static {v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->b(I)Ljava/lang/String;
move-result-object v2
sub-int/2addr p1, v0
.line 3
new-array v0, p1, [B
const/4 v3, 0x0
.line 4
invoke-virtual {p0, v0, v3, p1}, Lcom/google/android/exoplayer2/util/x;->a([BII)V
.line 5
invoke-static {v0, v3, v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->b([BII)I
move-result p0
.line 6
new-instance p1, Ljava/lang/String;
invoke-direct {p1, v0, v3, p0, v2}, Ljava/lang/String;-><init>([BIILjava/lang/String;)V
.line 7
invoke-static {v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->a(I)I
move-result v1
add-int/2addr p0, v1
.line 8
invoke-static {v0, p0}, Lcom/google/android/exoplayer2/metadata/id3/h;->b([BI)I
move-result v1
const-string v2, "ISO-8859-1"
.line 9
invoke-static {v0, p0, v1, v2}, Lcom/google/android/exoplayer2/metadata/id3/h;->a([BIILjava/lang/String;)Ljava/lang/String;
move-result-object p0
.line 10
new-instance v0, Lcom/google/android/exoplayer2/metadata/id3/UrlLinkFrame;
const-string v1, "WXXX"
invoke-direct {v0, v1, p1, p0}, Lcom/google/android/exoplayer2/metadata/id3/UrlLinkFrame;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-object v0
.end method
.method private static g(Lcom/google/android/exoplayer2/util/x;I)I
.registers 7
.line 1
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->c()[B
move-result-object v0
.line 2
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/x;->d()I
move-result p0
move v1, p1
move p1, p0
:goto_a
add-int/lit8 v2, p1, 0x1
add-int v3, p0, v1
if-ge v2, v3, :cond_2a
.line 3
aget-byte v3, v0, p1
const/16 v4, 0xff
and-int/2addr v3, v4
if-ne v3, v4, :cond_28
aget-byte v3, v0, v2
if-nez v3, :cond_28
sub-int v3, p1, p0
add-int/lit8 p1, p1, 0x2
sub-int v3, v1, v3
add-int/lit8 v3, v3, -0x2
.line 4
invoke-static {v0, p1, v0, v2, v3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
add-int/lit8 v1, v1, -0x1
:cond_28
move p1, v2
goto :goto_a
:cond_2a
return v1
.end method
# virtual methods
.method protected a(Lcom/google/android/exoplayer2/metadata/f;Ljava/nio/ByteBuffer;)Lcom/google/android/exoplayer2/metadata/Metadata;
.registers 3
.line 1
invoke-virtual {p2}, Ljava/nio/ByteBuffer;->array()[B
move-result-object p1
invoke-virtual {p2}, Ljava/nio/ByteBuffer;->limit()I
move-result p2
invoke-virtual {p0, p1, p2}, Lcom/google/android/exoplayer2/metadata/id3/h;->a([BI)Lcom/google/android/exoplayer2/metadata/Metadata;
move-result-object p1
return-object p1
.end method
.method public a([BI)Lcom/google/android/exoplayer2/metadata/Metadata;
.registers 9
.line 2
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 3
new-instance v1, Lcom/google/android/exoplayer2/util/x;
invoke-direct {v1, p1, p2}, Lcom/google/android/exoplayer2/util/x;-><init>([BI)V
.line 4
invoke-static {v1}, Lcom/google/android/exoplayer2/metadata/id3/h;->a(Lcom/google/android/exoplayer2/util/x;)Lcom/google/android/exoplayer2/metadata/id3/h$b;
move-result-object p1
const/4 p2, 0x0
if-nez p1, :cond_12
return-object p2
.line 5
:cond_12
invoke-virtual {v1}, Lcom/google/android/exoplayer2/util/x;->d()I
move-result v2
.line 6
invoke-static {p1}, Lcom/google/android/exoplayer2/metadata/id3/h$b;->a(Lcom/google/android/exoplayer2/metadata/id3/h$b;)I
move-result v3
const/4 v4, 0x2
if-ne v3, v4, :cond_1f
const/4 v3, 0x6
goto :goto_21
:cond_1f
const/16 v3, 0xa
.line 7
:goto_21
invoke-static {p1}, Lcom/google/android/exoplayer2/metadata/id3/h$b;->b(Lcom/google/android/exoplayer2/metadata/id3/h$b;)I
move-result v4
.line 8
invoke-static {p1}, Lcom/google/android/exoplayer2/metadata/id3/h$b;->c(Lcom/google/android/exoplayer2/metadata/id3/h$b;)Z
move-result v5
if-eqz v5, :cond_33
.line 9
invoke-static {p1}, Lcom/google/android/exoplayer2/metadata/id3/h$b;->b(Lcom/google/android/exoplayer2/metadata/id3/h$b;)I
move-result v4
invoke-static {v1, v4}, Lcom/google/android/exoplayer2/metadata/id3/h;->g(Lcom/google/android/exoplayer2/util/x;I)I
move-result v4
:cond_33
add-int/2addr v2, v4
.line 10
invoke-virtual {v1, v2}, Lcom/google/android/exoplayer2/util/x;->d(I)V
.line 11
invoke-static {p1}, Lcom/google/android/exoplayer2/metadata/id3/h$b;->a(Lcom/google/android/exoplayer2/metadata/id3/h$b;)I
move-result v2
const/4 v4, 0x0
invoke-static {v1, v2, v3, v4}, Lcom/google/android/exoplayer2/metadata/id3/h;->a(Lcom/google/android/exoplayer2/util/x;IIZ)Z
move-result v2
const/4 v5, 0x1
if-nez v2, :cond_6f
.line 12
invoke-static {p1}, Lcom/google/android/exoplayer2/metadata/id3/h$b;->a(Lcom/google/android/exoplayer2/metadata/id3/h$b;)I
move-result v2
const/4 v4, 0x4
if-ne v2, v4, :cond_52
invoke-static {v1, v4, v3, v5}, Lcom/google/android/exoplayer2/metadata/id3/h;->a(Lcom/google/android/exoplayer2/util/x;IIZ)Z
move-result v2
if-eqz v2, :cond_52
const/4 v4, 0x1
goto :goto_6f
.line 13
:cond_52
invoke-static {p1}, Lcom/google/android/exoplayer2/metadata/id3/h$b;->a(Lcom/google/android/exoplayer2/metadata/id3/h$b;)I
move-result p1
const/16 v0, 0x38
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1, v0}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v0, "Failed to validate ID3 tag with majorVersion="
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string v0, "Id3Decoder"
invoke-static {v0, p1}, Lcom/google/android/exoplayer2/util/q;->d(Ljava/lang/String;Ljava/lang/String;)V
return-object p2
.line 14
:cond_6f
:goto_6f
invoke-virtual {v1}, Lcom/google/android/exoplayer2/util/x;->a()I
move-result p2
if-lt p2, v3, :cond_85
.line 15
invoke-static {p1}, Lcom/google/android/exoplayer2/metadata/id3/h$b;->a(Lcom/google/android/exoplayer2/metadata/id3/h$b;)I
move-result p2
iget-object v2, p0, Lcom/google/android/exoplayer2/metadata/id3/h;->b:Lcom/google/android/exoplayer2/metadata/id3/h$a;
.line 16
invoke-static {p2, v1, v4, v3, v2}, Lcom/google/android/exoplayer2/metadata/id3/h;->a(ILcom/google/android/exoplayer2/util/x;ZILcom/google/android/exoplayer2/metadata/id3/h$a;)Lcom/google/android/exoplayer2/metadata/id3/Id3Frame;
move-result-object p2
if-eqz p2, :cond_6f
.line 17
invoke-interface {v0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_6f
.line 18
:cond_85
new-instance p1, Lcom/google/android/exoplayer2/metadata/Metadata;
invoke-direct {p1, v0}, Lcom/google/android/exoplayer2/metadata/Metadata;-><init>(Ljava/util/List;)V
return-object p1
.end method