aa.smali
.class public final Lcom/google/obf/aa;
.super Ljava/lang/Object;
.source "IMASDK"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/obf/aa$c;,
Lcom/google/obf/aa$b;,
Lcom/google/obf/aa$a;,
Lcom/google/obf/aa$e;,
Lcom/google/obf/aa$f;,
Lcom/google/obf/aa$d;
}
.end annotation
# static fields
.field public static a:Z = false
.field public static b:Z = false
# instance fields
.field private A:I
.field private B:I
.field private C:J
.field private D:J
.field private E:J
.field private F:F
.field private G:[B
.field private H:I
.field private I:I
.field private J:Ljava/nio/ByteBuffer;
.field private K:Z
.field private final c:Lcom/google/obf/z;
.field private final d:Landroid/os/ConditionVariable;
.field private final e:[J
.field private final f:Lcom/google/obf/aa$a;
.field private g:Landroid/media/AudioTrack;
.field private h:Landroid/media/AudioTrack;
.field private i:I
.field private j:I
.field private k:I
.field private l:I
.field private m:I
.field private n:Z
.field private o:I
.field private p:I
.field private q:J
.field private r:I
.field private s:I
.field private t:J
.field private u:J
.field private v:Z
.field private w:J
.field private x:Ljava/lang/reflect/Method;
.field private y:J
.field private z:J
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method public constructor <init>()V
.registers 3
const/4 v0, 0x0
const/4 v1, 0x3
.line 1
invoke-direct {p0, v0, v1}, Lcom/google/obf/aa;-><init>(Lcom/google/obf/z;I)V
return-void
.end method
.method public constructor <init>(Lcom/google/obf/z;I)V
.registers 6
.line 3
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 4
iput-object p1, p0, Lcom/google/obf/aa;->c:Lcom/google/obf/z;
.line 5
new-instance p1, Landroid/os/ConditionVariable;
const/4 v0, 0x1
invoke-direct {p1, v0}, Landroid/os/ConditionVariable;-><init>(Z)V
iput-object p1, p0, Lcom/google/obf/aa;->d:Landroid/os/ConditionVariable;
.line 6
sget p1, Lcom/google/obf/ea;->a:I
const/4 v0, 0x0
const/16 v1, 0x12
if-lt p1, v1, :cond_23
.line 7
:try_start_14
const-class p1, Landroid/media/AudioTrack;
const-string v1, "getLatency"
move-object v2, v0
check-cast v2, [Ljava/lang/Class;
.line 8
invoke-virtual {p1, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object p1
iput-object p1, p0, Lcom/google/obf/aa;->x:Ljava/lang/reflect/Method;
:try_end_21
.catch Ljava/lang/NoSuchMethodException; {:try_start_14 .. :try_end_21} :catch_22
goto :goto_23
:catch_22
nop
.line 11
:cond_23
:goto_23
sget p1, Lcom/google/obf/ea;->a:I
const/16 v1, 0x17
if-lt p1, v1, :cond_31
.line 12
new-instance p1, Lcom/google/obf/aa$c;
invoke-direct {p1}, Lcom/google/obf/aa$c;-><init>()V
iput-object p1, p0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
goto :goto_46
.line 13
:cond_31
sget p1, Lcom/google/obf/ea;->a:I
const/16 v1, 0x13
if-lt p1, v1, :cond_3f
.line 14
new-instance p1, Lcom/google/obf/aa$b;
invoke-direct {p1}, Lcom/google/obf/aa$b;-><init>()V
iput-object p1, p0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
goto :goto_46
.line 15
:cond_3f
new-instance p1, Lcom/google/obf/aa$a;
invoke-direct {p1, v0}, Lcom/google/obf/aa$a;-><init>(Lcom/google/obf/aa$1;)V
iput-object p1, p0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
:goto_46
const/16 p1, 0xa
new-array p1, p1, [J
.line 16
iput-object p1, p0, Lcom/google/obf/aa;->e:[J
.line 17
iput p2, p0, Lcom/google/obf/aa;->k:I
const/high16 p1, 0x3f800000 # 1.0f
.line 18
iput p1, p0, Lcom/google/obf/aa;->F:F
const/4 p1, 0x0
.line 19
iput p1, p0, Lcom/google/obf/aa;->B:I
return-void
.end method
.method private static a(ILjava/nio/ByteBuffer;)I
.registers 4
const/4 v0, 0x7
if-eq p0, v0, :cond_31
const/16 v0, 0x8
if-ne p0, v0, :cond_8
goto :goto_31
:cond_8
const/4 v0, 0x5
if-ne p0, v0, :cond_10
.line 373
invoke-static {}, Lcom/google/obf/dk;->a()I
move-result p0
return p0
:cond_10
const/4 v0, 0x6
if-ne p0, v0, :cond_18
.line 375
invoke-static {p1}, Lcom/google/obf/dk;->a(Ljava/nio/ByteBuffer;)I
move-result p0
return p0
.line 376
:cond_18
new-instance p1, Ljava/lang/IllegalStateException;
const/16 v0, 0x26
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1, v0}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v0, "Unexpected audio encoding: "
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 371
:cond_31
:goto_31
invoke-static {p1}, Lcom/google/obf/dn;->a(Ljava/nio/ByteBuffer;)I
move-result p0
return p0
.end method
.method private static a(Landroid/media/AudioTrack;Ljava/nio/ByteBuffer;I)I
.registers 4
const/4 v0, 0x1
.line 377
invoke-virtual {p0, p1, p2, v0}, Landroid/media/AudioTrack;->write(Ljava/nio/ByteBuffer;II)I
move-result p0
return p0
.end method
.method private a(J)J
.registers 5
.line 315
iget v0, p0, Lcom/google/obf/aa;->o:I
int-to-long v0, v0
div-long/2addr p1, v0
return-wide p1
.end method
.method static synthetic a(Lcom/google/obf/aa;)Landroid/os/ConditionVariable;
.registers 1
.line 382
iget-object p0, p0, Lcom/google/obf/aa;->d:Landroid/os/ConditionVariable;
return-object p0
.end method
.method private static a(Ljava/nio/ByteBuffer;IIILjava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
.registers 10
const/high16 v0, 0x40000000 # 2.0f
const/high16 v1, -0x80000000
const/4 v2, 0x3
if-eq p3, v1, :cond_17
if-eq p3, v2, :cond_14
if-ne p3, v0, :cond_e
.line 336
div-int/lit8 v3, p2, 0x2
goto :goto_1b
.line 338
:cond_e
new-instance p0, Ljava/lang/IllegalStateException;
invoke-direct {p0}, Ljava/lang/IllegalStateException;-><init>()V
throw p0
:cond_14
mul-int/lit8 v3, p2, 0x2
goto :goto_1b
.line 334
:cond_17
div-int/lit8 v3, p2, 0x3
mul-int/lit8 v3, v3, 0x2
:goto_1b
if-eqz p4, :cond_23
.line 340
invoke-virtual {p4}, Ljava/nio/ByteBuffer;->capacity()I
move-result v4
if-ge v4, v3, :cond_27
.line 341
:cond_23
invoke-static {v3}, Ljava/nio/ByteBuffer;->allocateDirect(I)Ljava/nio/ByteBuffer;
move-result-object p4
:cond_27
const/4 v4, 0x0
.line 342
invoke-virtual {p4, v4}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 343
invoke-virtual {p4, v3}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
add-int/2addr p2, p1
if-eq p3, v1, :cond_66
if-eq p3, v2, :cond_52
if-ne p3, v0, :cond_4c
:goto_35
if-ge p1, p2, :cond_7d
add-int/lit8 p3, p1, 0x2
.line 357
invoke-virtual {p0, p3}, Ljava/nio/ByteBuffer;->get(I)B
move-result p3
invoke-virtual {p4, p3}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
add-int/lit8 p3, p1, 0x3
.line 358
invoke-virtual {p0, p3}, Ljava/nio/ByteBuffer;->get(I)B
move-result p3
invoke-virtual {p4, p3}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
add-int/lit8 p1, p1, 0x4
goto :goto_35
.line 361
:cond_4c
new-instance p0, Ljava/lang/IllegalStateException;
invoke-direct {p0}, Ljava/lang/IllegalStateException;-><init>()V
throw p0
:cond_52
:goto_52
if-ge p1, p2, :cond_7d
.line 347
invoke-virtual {p4, v4}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
.line 348
invoke-virtual {p0, p1}, Ljava/nio/ByteBuffer;->get(I)B
move-result p3
and-int/lit16 p3, p3, 0xff
add-int/lit8 p3, p3, -0x80
int-to-byte p3, p3
invoke-virtual {p4, p3}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
add-int/lit8 p1, p1, 0x1
goto :goto_52
:cond_66
:goto_66
if-ge p1, p2, :cond_7d
add-int/lit8 p3, p1, 0x1
.line 352
invoke-virtual {p0, p3}, Ljava/nio/ByteBuffer;->get(I)B
move-result p3
invoke-virtual {p4, p3}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
add-int/lit8 p3, p1, 0x2
.line 353
invoke-virtual {p0, p3}, Ljava/nio/ByteBuffer;->get(I)B
move-result p3
invoke-virtual {p4, p3}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
add-int/lit8 p1, p1, 0x3
goto :goto_66
.line 362
:cond_7d
invoke-virtual {p4, v4}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
return-object p4
.end method
.method private static a(Landroid/media/AudioTrack;F)V
.registers 2
.line 378
invoke-virtual {p0, p1}, Landroid/media/AudioTrack;->setVolume(F)I
return-void
.end method
.method private static b(Ljava/lang/String;)I
.registers 6
.line 364
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x3
const/4 v3, 0x2
const/4 v4, 0x1
sparse-switch v0, :sswitch_data_48
goto :goto_34
:sswitch_c
const-string v0, "audio/vnd.dts.hd"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_34
const/4 p0, 0x3
goto :goto_35
:sswitch_16
const-string v0, "audio/eac3"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_34
const/4 p0, 0x1
goto :goto_35
:sswitch_20
const-string v0, "audio/ac3"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_34
const/4 p0, 0x0
goto :goto_35
:sswitch_2a
const-string v0, "audio/vnd.dts"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_34
const/4 p0, 0x2
goto :goto_35
:cond_34
:goto_34
const/4 p0, -0x1
:goto_35
if-eqz p0, :cond_45
if-eq p0, v4, :cond_43
if-eq p0, v3, :cond_41
if-eq p0, v2, :cond_3e
return v1
:cond_3e
const/16 p0, 0x8
return p0
:cond_41
const/4 p0, 0x7
return p0
:cond_43
const/4 p0, 0x6
return p0
:cond_45
const/4 p0, 0x5
return p0
nop
:sswitch_data_48
.sparse-switch
-0x41455b98 -> :sswitch_2a
0xb269698 -> :sswitch_20
0x59ae0c65 -> :sswitch_16
0x59c2dc42 -> :sswitch_c
.end sparse-switch
.end method
.method private b(J)J
.registers 5
const-wide/32 v0, 0xf4240
mul-long p1, p1, v0
.line 316
iget v0, p0, Lcom/google/obf/aa;->i:I
int-to-long v0, v0
div-long/2addr p1, v0
return-wide p1
.end method
.method private static b(Landroid/media/AudioTrack;F)V
.registers 2
.line 380
invoke-virtual {p0, p1, p1}, Landroid/media/AudioTrack;->setStereoVolume(FF)I
return-void
.end method
.method private c(J)J
.registers 5
.line 317
iget v0, p0, Lcom/google/obf/aa;->i:I
int-to-long v0, v0
mul-long p1, p1, v0
const-wide/32 v0, 0xf4240
div-long/2addr p1, v0
return-wide p1
.end method
.method private l()V
.registers 3
.line 220
invoke-virtual {p0}, Lcom/google/obf/aa;->a()Z
move-result v0
if-nez v0, :cond_7
goto :goto_1c
.line 221
:cond_7
sget v0, Lcom/google/obf/ea;->a:I
const/16 v1, 0x15
if-lt v0, v1, :cond_15
.line 222
iget-object v0, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
iget v1, p0, Lcom/google/obf/aa;->F:F
invoke-static {v0, v1}, Lcom/google/obf/aa;->a(Landroid/media/AudioTrack;F)V
goto :goto_1c
.line 223
:cond_15
iget-object v0, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
iget v1, p0, Lcom/google/obf/aa;->F:F
invoke-static {v0, v1}, Lcom/google/obf/aa;->b(Landroid/media/AudioTrack;F)V
:goto_1c
return-void
.end method
.method private m()V
.registers 3
.line 250
iget-object v0, p0, Lcom/google/obf/aa;->g:Landroid/media/AudioTrack;
if-nez v0, :cond_5
return-void
:cond_5
const/4 v1, 0x0
.line 253
iput-object v1, p0, Lcom/google/obf/aa;->g:Landroid/media/AudioTrack;
.line 254
new-instance v1, Lcom/google/obf/aa$2;
invoke-direct {v1, p0, v0}, Lcom/google/obf/aa$2;-><init>(Lcom/google/obf/aa;Landroid/media/AudioTrack;)V
.line 255
invoke-virtual {v1}, Lcom/google/obf/aa$2;->start()V
return-void
.end method
.method private n()Z
.registers 2
.line 257
invoke-virtual {p0}, Lcom/google/obf/aa;->a()Z
move-result v0
if-eqz v0, :cond_c
iget v0, p0, Lcom/google/obf/aa;->B:I
if-eqz v0, :cond_c
const/4 v0, 0x1
goto :goto_d
:cond_c
const/4 v0, 0x0
:goto_d
return v0
.end method
.method private o()V
.registers 18
move-object/from16 v0, p0
.line 258
iget-object v1, v0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
invoke-virtual {v1}, Lcom/google/obf/aa$a;->c()J
move-result-wide v1
const-wide/16 v3, 0x0
cmp-long v5, v1, v3
if-nez v5, :cond_f
return-void
.line 261
:cond_f
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v5
const-wide/16 v7, 0x3e8
div-long/2addr v5, v7
.line 262
iget-wide v9, v0, Lcom/google/obf/aa;->u:J
sub-long v9, v5, v9
const-wide/16 v11, 0x7530
const/4 v13, 0x0
cmp-long v14, v9, v11
if-ltz v14, :cond_51
.line 263
iget-object v9, v0, Lcom/google/obf/aa;->e:[J
iget v10, v0, Lcom/google/obf/aa;->r:I
sub-long v11, v1, v5
aput-wide v11, v9, v10
add-int/lit8 v10, v10, 0x1
const/16 v9, 0xa
.line 264
rem-int/2addr v10, v9
iput v10, v0, Lcom/google/obf/aa;->r:I
.line 265
iget v10, v0, Lcom/google/obf/aa;->s:I
if-ge v10, v9, :cond_38
add-int/lit8 v10, v10, 0x1
.line 266
iput v10, v0, Lcom/google/obf/aa;->s:I
.line 267
:cond_38
iput-wide v5, v0, Lcom/google/obf/aa;->u:J
.line 268
iput-wide v3, v0, Lcom/google/obf/aa;->t:J
const/4 v9, 0x0
.line 269
:goto_3d
iget v10, v0, Lcom/google/obf/aa;->s:I
if-ge v9, v10, :cond_51
.line 270
iget-wide v11, v0, Lcom/google/obf/aa;->t:J
iget-object v14, v0, Lcom/google/obf/aa;->e:[J
aget-wide v15, v14, v9
int-to-long v3, v10
div-long/2addr v15, v3
add-long/2addr v11, v15
iput-wide v11, v0, Lcom/google/obf/aa;->t:J
add-int/lit8 v9, v9, 0x1
const-wide/16 v3, 0x0
goto :goto_3d
.line 272
:cond_51
invoke-direct/range {p0 .. p0}, Lcom/google/obf/aa;->s()Z
move-result v3
if-eqz v3, :cond_58
return-void
.line 274
:cond_58
iget-wide v3, v0, Lcom/google/obf/aa;->w:J
sub-long v3, v5, v3
const-wide/32 v9, 0x7a120
cmp-long v11, v3, v9
if-ltz v11, :cond_159
.line 275
iget-object v3, v0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
invoke-virtual {v3}, Lcom/google/obf/aa$a;->d()Z
move-result v3
iput-boolean v3, v0, Lcom/google/obf/aa;->v:Z
const-string v4, "AudioTrack"
const-wide/32 v9, 0x4c4b40
if-eqz v3, :cond_10c
.line 277
iget-object v3, v0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
invoke-virtual {v3}, Lcom/google/obf/aa$a;->e()J
move-result-wide v11
div-long/2addr v11, v7
.line 278
iget-object v3, v0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
invoke-virtual {v3}, Lcom/google/obf/aa$a;->f()J
move-result-wide v14
.line 279
iget-wide v7, v0, Lcom/google/obf/aa;->D:J
cmp-long v3, v11, v7
if-gez v3, :cond_89
.line 280
iput-boolean v13, v0, Lcom/google/obf/aa;->v:Z
goto/16 :goto_10c
:cond_89
sub-long v7, v11, v5
.line 281
invoke-static {v7, v8}, Ljava/lang/Math;->abs(J)J
move-result-wide v7
const-string v3, ", "
cmp-long v16, v7, v9
if-lez v16, :cond_ca
const/16 v7, 0x88
.line 282
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8, v7}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v7, "Spurious audio timestamp (system clock mismatch): "
invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v14, v15}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v8, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v11, v12}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v8, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v5, v6}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v8, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 283
sget-boolean v2, Lcom/google/obf/aa;->b:Z
if-nez v2, :cond_c4
.line 285
invoke-static {v4, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 286
iput-boolean v13, v0, Lcom/google/obf/aa;->v:Z
goto :goto_10c
.line 284
:cond_c4
new-instance v2, Lcom/google/obf/aa$e;
invoke-direct {v2, v1}, Lcom/google/obf/aa$e;-><init>(Ljava/lang/String;)V
throw v2
.line 287
:cond_ca
invoke-direct {v0, v14, v15}, Lcom/google/obf/aa;->b(J)J
move-result-wide v7
sub-long/2addr v7, v1
invoke-static {v7, v8}, Ljava/lang/Math;->abs(J)J
move-result-wide v7
cmp-long v16, v7, v9
if-lez v16, :cond_10c
const/16 v7, 0x8a
.line 288
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8, v7}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v7, "Spurious audio timestamp (frame position mismatch): "
invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v14, v15}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v8, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v11, v12}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v8, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v5, v6}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v8, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 289
sget-boolean v2, Lcom/google/obf/aa;->b:Z
if-nez v2, :cond_106
.line 291
invoke-static {v4, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 292
iput-boolean v13, v0, Lcom/google/obf/aa;->v:Z
goto :goto_10c
.line 290
:cond_106
new-instance v2, Lcom/google/obf/aa$e;
invoke-direct {v2, v1}, Lcom/google/obf/aa$e;-><init>(Ljava/lang/String;)V
throw v2
.line 293
:cond_10c
:goto_10c
iget-object v1, v0, Lcom/google/obf/aa;->x:Ljava/lang/reflect/Method;
if-eqz v1, :cond_157
iget-boolean v2, v0, Lcom/google/obf/aa;->n:Z
if-nez v2, :cond_157
const/4 v2, 0x0
.line 294
:try_start_115
iget-object v3, v0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
move-object v7, v2
check-cast v7, [Ljava/lang/Object;
invoke-virtual {v1, v3, v7}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Integer;
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v1
int-to-long v7, v1
const-wide/16 v11, 0x3e8
mul-long v7, v7, v11
iget-wide v11, v0, Lcom/google/obf/aa;->q:J
sub-long/2addr v7, v11
iput-wide v7, v0, Lcom/google/obf/aa;->E:J
const-wide/16 v11, 0x0
.line 295
invoke-static {v7, v8, v11, v12}, Ljava/lang/Math;->max(JJ)J
move-result-wide v7
iput-wide v7, v0, Lcom/google/obf/aa;->E:J
cmp-long v1, v7, v9
if-lez v1, :cond_157
const/16 v1, 0x3d
.line 297
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v1, "Ignoring impossibly large audio latency: "
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v7, v8}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v4, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
const-wide/16 v3, 0x0
.line 298
iput-wide v3, v0, Lcom/google/obf/aa;->E:J
:try_end_154
.catch Ljava/lang/Exception; {:try_start_115 .. :try_end_154} :catch_155
goto :goto_157
.line 301
:catch_155
iput-object v2, v0, Lcom/google/obf/aa;->x:Ljava/lang/reflect/Method;
.line 302
:cond_157
:goto_157
iput-wide v5, v0, Lcom/google/obf/aa;->w:J
:cond_159
return-void
.end method
.method private p()V
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/obf/aa$d;
}
.end annotation
.line 304
iget-object v0, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
invoke-virtual {v0}, Landroid/media/AudioTrack;->getState()I
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_a
return-void
:cond_a
const/4 v1, 0x0
.line 307
:try_start_b
iget-object v2, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
invoke-virtual {v2}, Landroid/media/AudioTrack;->release()V
:try_end_10
.catch Ljava/lang/Exception; {:try_start_b .. :try_end_10} :catch_17
.catchall {:try_start_b .. :try_end_10} :catchall_13
.line 308
iput-object v1, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
goto :goto_19
:catchall_13
move-exception v0
.line 313
iput-object v1, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
throw v0
.line 311
:catch_17
iput-object v1, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
.line 314
:goto_19
new-instance v1, Lcom/google/obf/aa$d;
iget v2, p0, Lcom/google/obf/aa;->i:I
iget v3, p0, Lcom/google/obf/aa;->j:I
iget v4, p0, Lcom/google/obf/aa;->p:I
invoke-direct {v1, v0, v2, v3, v4}, Lcom/google/obf/aa$d;-><init>(IIII)V
throw v1
.end method
.method private q()J
.registers 3
.line 318
iget-boolean v0, p0, Lcom/google/obf/aa;->n:Z
if-eqz v0, :cond_7
iget-wide v0, p0, Lcom/google/obf/aa;->z:J
goto :goto_d
:cond_7
iget-wide v0, p0, Lcom/google/obf/aa;->y:J
invoke-direct {p0, v0, v1}, Lcom/google/obf/aa;->a(J)J
move-result-wide v0
:goto_d
return-wide v0
.end method
.method private r()V
.registers 4
const-wide/16 v0, 0x0
.line 319
iput-wide v0, p0, Lcom/google/obf/aa;->t:J
const/4 v2, 0x0
.line 320
iput v2, p0, Lcom/google/obf/aa;->s:I
.line 321
iput v2, p0, Lcom/google/obf/aa;->r:I
.line 322
iput-wide v0, p0, Lcom/google/obf/aa;->u:J
.line 323
iput-boolean v2, p0, Lcom/google/obf/aa;->v:Z
.line 324
iput-wide v0, p0, Lcom/google/obf/aa;->w:J
return-void
.end method
.method private s()Z
.registers 3
.line 326
sget v0, Lcom/google/obf/ea;->a:I
const/16 v1, 0x17
if-ge v0, v1, :cond_10
iget v0, p0, Lcom/google/obf/aa;->m:I
const/4 v1, 0x5
if-eq v0, v1, :cond_e
const/4 v1, 0x6
if-ne v0, v1, :cond_10
:cond_e
const/4 v0, 0x1
goto :goto_11
:cond_10
const/4 v0, 0x0
:goto_11
return v0
.end method
.method private t()Z
.registers 3
.line 327
invoke-direct {p0}, Lcom/google/obf/aa;->s()Z
move-result v0
if-eqz v0, :cond_19
iget-object v0, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
.line 328
invoke-virtual {v0}, Landroid/media/AudioTrack;->getPlayState()I
move-result v0
const/4 v1, 0x2
if-ne v0, v1, :cond_19
iget-object v0, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
.line 329
invoke-virtual {v0}, Landroid/media/AudioTrack;->getPlaybackHeadPosition()I
move-result v0
if-nez v0, :cond_19
const/4 v0, 0x1
goto :goto_1a
:cond_19
const/4 v0, 0x0
:goto_1a
return v0
.end method
# virtual methods
.method public a(I)I
.registers 12
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/obf/aa$d;
}
.end annotation
.line 108
iget-object v0, p0, Lcom/google/obf/aa;->d:Landroid/os/ConditionVariable;
invoke-virtual {v0}, Landroid/os/ConditionVariable;->block()V
if-nez p1, :cond_1b
.line 110
new-instance v7, Landroid/media/AudioTrack;
iget v1, p0, Lcom/google/obf/aa;->k:I
iget v2, p0, Lcom/google/obf/aa;->i:I
iget v3, p0, Lcom/google/obf/aa;->j:I
iget v4, p0, Lcom/google/obf/aa;->m:I
iget v5, p0, Lcom/google/obf/aa;->p:I
const/4 v6, 0x1
move-object v0, v7
invoke-direct/range {v0 .. v6}, Landroid/media/AudioTrack;-><init>(IIIIII)V
iput-object v7, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
goto :goto_2f
.line 111
:cond_1b
new-instance v0, Landroid/media/AudioTrack;
iget v2, p0, Lcom/google/obf/aa;->k:I
iget v3, p0, Lcom/google/obf/aa;->i:I
iget v4, p0, Lcom/google/obf/aa;->j:I
iget v5, p0, Lcom/google/obf/aa;->m:I
iget v6, p0, Lcom/google/obf/aa;->p:I
const/4 v7, 0x1
move-object v1, v0
move v8, p1
invoke-direct/range {v1 .. v8}, Landroid/media/AudioTrack;-><init>(IIIIIII)V
iput-object v0, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
.line 112
:goto_2f
invoke-direct {p0}, Lcom/google/obf/aa;->p()V
.line 113
iget-object v0, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
invoke-virtual {v0}, Landroid/media/AudioTrack;->getAudioSessionId()I
move-result v0
.line 114
sget-boolean v1, Lcom/google/obf/aa;->a:Z
if-eqz v1, :cond_64
.line 115
sget v1, Lcom/google/obf/ea;->a:I
const/16 v2, 0x15
if-ge v1, v2, :cond_64
.line 116
iget-object v1, p0, Lcom/google/obf/aa;->g:Landroid/media/AudioTrack;
if-eqz v1, :cond_4f
.line 117
invoke-virtual {v1}, Landroid/media/AudioTrack;->getAudioSessionId()I
move-result v1
if-eq v0, v1, :cond_4f
.line 118
invoke-direct {p0}, Lcom/google/obf/aa;->m()V
.line 119
:cond_4f
iget-object v1, p0, Lcom/google/obf/aa;->g:Landroid/media/AudioTrack;
if-nez v1, :cond_64
const/16 v3, 0xfa0
const/4 v4, 0x4
const/4 v5, 0x2
const/4 v6, 0x2
.line 124
new-instance v9, Landroid/media/AudioTrack;
iget v2, p0, Lcom/google/obf/aa;->k:I
const/4 v7, 0x0
move-object v1, v9
move v8, v0
invoke-direct/range {v1 .. v8}, Landroid/media/AudioTrack;-><init>(IIIIIII)V
iput-object v9, p0, Lcom/google/obf/aa;->g:Landroid/media/AudioTrack;
.line 125
:cond_64
iget-object v1, p0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
iget-object v2, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
invoke-direct {p0}, Lcom/google/obf/aa;->s()Z
move-result v3
invoke-virtual {v1, v2, v3}, Lcom/google/obf/aa$a;->a(Landroid/media/AudioTrack;Z)V
.line 126
invoke-direct {p0}, Lcom/google/obf/aa;->l()V
return v0
.end method
.method public a(Ljava/nio/ByteBuffer;IIJ)I
.registers 24
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/obf/aa$f;
}
.end annotation
move-object/from16 v0, p0
move/from16 v1, p3
move-wide/from16 v2, p4
.line 137
invoke-direct/range {p0 .. p0}, Lcom/google/obf/aa;->s()Z
move-result v4
const-wide/16 v5, 0x0
const/4 v7, 0x1
const/4 v8, 0x2
const/4 v9, 0x0
if-eqz v4, :cond_2d
.line 138
iget-object v4, v0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
invoke-virtual {v4}, Landroid/media/AudioTrack;->getPlayState()I
move-result v4
if-ne v4, v8, :cond_1a
return v9
.line 140
:cond_1a
iget-object v4, v0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
invoke-virtual {v4}, Landroid/media/AudioTrack;->getPlayState()I
move-result v4
if-ne v4, v7, :cond_2d
iget-object v4, v0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
.line 141
invoke-virtual {v4}, Lcom/google/obf/aa$a;->b()J
move-result-wide v10
cmp-long v4, v10, v5
if-eqz v4, :cond_2d
return v9
.line 144
:cond_2d
iget v4, v0, Lcom/google/obf/aa;->I:I
const-string v10, "AudioTrack"
const/16 v11, 0x15
if-nez v4, :cond_f8
if-nez v1, :cond_38
return v8
.line 147
:cond_38
iget v4, v0, Lcom/google/obf/aa;->m:I
iget v12, v0, Lcom/google/obf/aa;->l:I
if-eq v4, v12, :cond_40
const/4 v4, 0x1
goto :goto_41
:cond_40
const/4 v4, 0x0
:goto_41
iput-boolean v4, v0, Lcom/google/obf/aa;->K:Z
if-eqz v4, :cond_6a
.line 149
iget v4, v0, Lcom/google/obf/aa;->m:I
if-ne v4, v8, :cond_4b
const/4 v4, 0x1
goto :goto_4c
:cond_4b
const/4 v4, 0x0
:goto_4c
invoke-static {v4}, Lcom/google/obf/dl;->b(Z)V
.line 150
iget v4, v0, Lcom/google/obf/aa;->l:I
iget-object v12, v0, Lcom/google/obf/aa;->J:Ljava/nio/ByteBuffer;
move-object/from16 v13, p1
move/from16 v14, p2
invoke-static {v13, v14, v1, v4, v12}, Lcom/google/obf/aa;->a(Ljava/nio/ByteBuffer;IIILjava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
move-result-object v1
iput-object v1, v0, Lcom/google/obf/aa;->J:Ljava/nio/ByteBuffer;
.line 152
invoke-virtual {v1}, Ljava/nio/ByteBuffer;->position()I
move-result v4
.line 153
iget-object v12, v0, Lcom/google/obf/aa;->J:Ljava/nio/ByteBuffer;
invoke-virtual {v12}, Ljava/nio/ByteBuffer;->limit()I
move-result v12
move-object v13, v1
move v14, v4
goto :goto_6f
:cond_6a
move-object/from16 v13, p1
move/from16 v14, p2
move v12, v1
.line 154
:goto_6f
iput v12, v0, Lcom/google/obf/aa;->I:I
.line 155
invoke-virtual {v13, v14}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 156
iget-boolean v1, v0, Lcom/google/obf/aa;->n:Z
if-eqz v1, :cond_84
iget v1, v0, Lcom/google/obf/aa;->A:I
if-nez v1, :cond_84
.line 157
iget v1, v0, Lcom/google/obf/aa;->m:I
invoke-static {v1, v13}, Lcom/google/obf/aa;->a(ILjava/nio/ByteBuffer;)I
move-result v1
iput v1, v0, Lcom/google/obf/aa;->A:I
.line 158
:cond_84
iget v1, v0, Lcom/google/obf/aa;->B:I
if-nez v1, :cond_91
.line 159
invoke-static {v5, v6, v2, v3}, Ljava/lang/Math;->max(JJ)J
move-result-wide v1
iput-wide v1, v0, Lcom/google/obf/aa;->C:J
.line 160
iput v7, v0, Lcom/google/obf/aa;->B:I
goto :goto_e0
.line 161
:cond_91
iget-wide v4, v0, Lcom/google/obf/aa;->C:J
invoke-direct/range {p0 .. p0}, Lcom/google/obf/aa;->q()J
move-result-wide v14
invoke-direct {v0, v14, v15}, Lcom/google/obf/aa;->b(J)J
move-result-wide v14
add-long/2addr v4, v14
.line 162
iget v1, v0, Lcom/google/obf/aa;->B:I
if-ne v1, v7, :cond_d2
sub-long v14, v4, v2
.line 163
invoke-static {v14, v15}, Ljava/lang/Math;->abs(J)J
move-result-wide v14
const-wide/32 v16, 0x30d40
cmp-long v1, v14, v16
if-lez v1, :cond_d2
const/16 v1, 0x50
.line 164
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v1, "Discontinuity detected [expected "
invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v1, ", got "
invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v1, "]"
invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v10, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 165
iput v8, v0, Lcom/google/obf/aa;->B:I
.line 166
:cond_d2
iget v1, v0, Lcom/google/obf/aa;->B:I
if-ne v1, v8, :cond_e0
.line 167
iget-wide v14, v0, Lcom/google/obf/aa;->C:J
sub-long v1, v2, v4
add-long/2addr v14, v1
iput-wide v14, v0, Lcom/google/obf/aa;->C:J
.line 168
iput v7, v0, Lcom/google/obf/aa;->B:I
goto :goto_e1
:cond_e0
:goto_e0
const/4 v7, 0x0
.line 170
:goto_e1
sget v1, Lcom/google/obf/ea;->a:I
if-ge v1, v11, :cond_fb
.line 171
iget-object v1, v0, Lcom/google/obf/aa;->G:[B
if-eqz v1, :cond_ec
array-length v1, v1
if-ge v1, v12, :cond_f0
.line 172
:cond_ec
new-array v1, v12, [B
iput-object v1, v0, Lcom/google/obf/aa;->G:[B
.line 173
:cond_f0
iget-object v1, v0, Lcom/google/obf/aa;->G:[B
invoke-virtual {v13, v1, v9, v12}, Ljava/nio/ByteBuffer;->get([BII)Ljava/nio/ByteBuffer;
.line 174
iput v9, v0, Lcom/google/obf/aa;->H:I
goto :goto_fb
:cond_f8
move-object/from16 v13, p1
const/4 v7, 0x0
.line 176
:cond_fb
:goto_fb
sget v1, Lcom/google/obf/ea;->a:I
if-ge v1, v11, :cond_12b
.line 177
iget-wide v1, v0, Lcom/google/obf/aa;->y:J
iget-object v3, v0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
.line 178
invoke-virtual {v3}, Lcom/google/obf/aa$a;->b()J
move-result-wide v3
iget v5, v0, Lcom/google/obf/aa;->o:I
int-to-long v5, v5
mul-long v3, v3, v5
sub-long/2addr v1, v3
long-to-int v2, v1
.line 179
iget v1, v0, Lcom/google/obf/aa;->p:I
sub-int/2addr v1, v2
if-lez v1, :cond_139
.line 181
iget v2, v0, Lcom/google/obf/aa;->I:I
invoke-static {v2, v1}, Ljava/lang/Math;->min(II)I
move-result v1
.line 182
iget-object v2, v0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
iget-object v3, v0, Lcom/google/obf/aa;->G:[B
iget v4, v0, Lcom/google/obf/aa;->H:I
invoke-virtual {v2, v3, v4, v1}, Landroid/media/AudioTrack;->write([BII)I
move-result v9
if-ltz v9, :cond_139
.line 184
iget v1, v0, Lcom/google/obf/aa;->H:I
add-int/2addr v1, v9
iput v1, v0, Lcom/google/obf/aa;->H:I
goto :goto_139
.line 186
:cond_12b
iget-boolean v1, v0, Lcom/google/obf/aa;->K:Z
if-eqz v1, :cond_131
iget-object v13, v0, Lcom/google/obf/aa;->J:Ljava/nio/ByteBuffer;
.line 187
:cond_131
iget-object v1, v0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
iget v2, v0, Lcom/google/obf/aa;->I:I
invoke-static {v1, v13, v2}, Lcom/google/obf/aa;->a(Landroid/media/AudioTrack;Ljava/nio/ByteBuffer;I)I
move-result v9
:cond_139
:goto_139
if-ltz v9, :cond_173
.line 190
iget v1, v0, Lcom/google/obf/aa;->I:I
sub-int/2addr v1, v9
iput v1, v0, Lcom/google/obf/aa;->I:I
.line 191
iget-boolean v1, v0, Lcom/google/obf/aa;->n:Z
if-nez v1, :cond_14a
.line 192
iget-wide v1, v0, Lcom/google/obf/aa;->y:J
int-to-long v3, v9
add-long/2addr v1, v3
iput-wide v1, v0, Lcom/google/obf/aa;->y:J
.line 193
:cond_14a
iget v1, v0, Lcom/google/obf/aa;->I:I
if-nez v1, :cond_15c
.line 194
iget-boolean v1, v0, Lcom/google/obf/aa;->n:Z
if-eqz v1, :cond_15a
.line 195
iget-wide v1, v0, Lcom/google/obf/aa;->z:J
iget v3, v0, Lcom/google/obf/aa;->A:I
int-to-long v3, v3
add-long/2addr v1, v3
iput-wide v1, v0, Lcom/google/obf/aa;->z:J
:cond_15a
or-int/lit8 v7, v7, 0x2
.line 197
:cond_15c
iget-object v1, v0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
invoke-direct/range {p0 .. p0}, Lcom/google/obf/aa;->q()J
move-result-wide v2
invoke-virtual {v1, v2, v3}, Lcom/google/obf/aa$a;->b(J)Z
move-result v1
if-eqz v1, :cond_172
const-string v1, "Resetting stalled audio track"
.line 198
invoke-static {v10, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 199
invoke-virtual/range {p0 .. p0}, Lcom/google/obf/aa;->j()V
or-int/lit8 v7, v7, 0x2
:cond_172
return v7
.line 189
:cond_173
new-instance v1, Lcom/google/obf/aa$f;
invoke-direct {v1, v9}, Lcom/google/obf/aa$f;-><init>(I)V
throw v1
.end method
.method public a(Z)J
.registers 8
.line 25
invoke-direct {p0}, Lcom/google/obf/aa;->n()Z
move-result v0
if-nez v0, :cond_9
const-wide/high16 v0, -0x8000000000000000L
return-wide v0
.line 27
:cond_9
iget-object v0, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
invoke-virtual {v0}, Landroid/media/AudioTrack;->getPlayState()I
move-result v0
const/4 v1, 0x3
if-ne v0, v1, :cond_15
.line 28
invoke-direct {p0}, Lcom/google/obf/aa;->o()V
.line 29
:cond_15
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v0
const-wide/16 v2, 0x3e8
div-long/2addr v0, v2
.line 30
iget-boolean v4, p0, Lcom/google/obf/aa;->v:Z
if-eqz v4, :cond_45
.line 31
iget-object p1, p0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
invoke-virtual {p1}, Lcom/google/obf/aa$a;->e()J
move-result-wide v4
div-long/2addr v4, v2
sub-long/2addr v0, v4
long-to-float p1, v0
.line 32
iget-object v0, p0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
.line 33
invoke-virtual {v0}, Lcom/google/obf/aa$a;->g()F
move-result v0
mul-float p1, p1, v0
float-to-long v0, p1
.line 34
invoke-direct {p0, v0, v1}, Lcom/google/obf/aa;->c(J)J
move-result-wide v0
.line 35
iget-object p1, p0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
invoke-virtual {p1}, Lcom/google/obf/aa$a;->f()J
move-result-wide v2
add-long/2addr v2, v0
.line 36
invoke-direct {p0, v2, v3}, Lcom/google/obf/aa;->b(J)J
move-result-wide v0
iget-wide v2, p0, Lcom/google/obf/aa;->C:J
add-long/2addr v0, v2
goto :goto_5d
.line 38
:cond_45
iget v2, p0, Lcom/google/obf/aa;->s:I
if-nez v2, :cond_52
.line 39
iget-object v0, p0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
invoke-virtual {v0}, Lcom/google/obf/aa$a;->c()J
move-result-wide v0
iget-wide v2, p0, Lcom/google/obf/aa;->C:J
goto :goto_57
.line 40
:cond_52
iget-wide v2, p0, Lcom/google/obf/aa;->t:J
add-long/2addr v0, v2
iget-wide v2, p0, Lcom/google/obf/aa;->C:J
:goto_57
add-long/2addr v0, v2
if-nez p1, :cond_5d
.line 42
iget-wide v2, p0, Lcom/google/obf/aa;->E:J
sub-long/2addr v0, v2
:cond_5d
:goto_5d
return-wide v0
.end method
.method public a(F)V
.registers 3
.line 216
iget v0, p0, Lcom/google/obf/aa;->F:F
cmpl-float v0, v0, p1
if-eqz v0, :cond_b
.line 217
iput p1, p0, Lcom/google/obf/aa;->F:F
.line 218
invoke-direct {p0}, Lcom/google/obf/aa;->l()V
:cond_b
return-void
.end method
.method public a(Landroid/media/PlaybackParams;)V
.registers 3
.line 209
iget-object v0, p0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
invoke-virtual {v0, p1}, Lcom/google/obf/aa$a;->a(Landroid/media/PlaybackParams;)V
return-void
.end method
.method public a(Ljava/lang/String;III)V
.registers 11
const/4 v5, 0x0
move-object v0, p0
move-object v1, p1
move v2, p2
move v3, p3
move v4, p4
.line 44
invoke-virtual/range {v0 .. v5}, Lcom/google/obf/aa;->a(Ljava/lang/String;IIII)V
return-void
.end method
.method public a(Ljava/lang/String;IIII)V
.registers 14
const/16 v0, 0xfc
const/16 v1, 0xc
packed-switch p2, :pswitch_data_132
.line 63
new-instance p1, Ljava/lang/IllegalArgumentException;
const/16 p3, 0x26
new-instance p4, Ljava/lang/StringBuilder;
invoke-direct {p4, p3}, Ljava/lang/StringBuilder;-><init>(I)V
const-string p3, "Unsupported channel count: "
invoke-virtual {p4, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 61
:pswitch_20
sget v2, Lcom/google/obf/b;->a:I
goto :goto_36
:pswitch_23
const/16 v2, 0x4fc
goto :goto_36
:pswitch_26
const/16 v2, 0xfc
goto :goto_36
:pswitch_29
const/16 v2, 0xdc
goto :goto_36
:pswitch_2c
const/16 v2, 0xcc
goto :goto_36
:pswitch_2f
const/16 v2, 0x1c
goto :goto_36
:pswitch_32
const/16 v2, 0xc
goto :goto_36
:pswitch_35
const/4 v2, 0x4
.line 64
:goto_36
sget v3, Lcom/google/obf/ea;->a:I
const/16 v4, 0x17
const/4 v5, 0x5
const/4 v6, 0x3
if-gt v3, v4, :cond_5d
sget-object v3, Lcom/google/obf/ea;->b:Ljava/lang/String;
const-string v4, "foster"
invoke-virtual {v4, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_5d
sget-object v3, Lcom/google/obf/ea;->c:Ljava/lang/String;
const-string v4, "NVIDIA"
invoke-virtual {v4, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_5d
if-eq p2, v6, :cond_5e
if-eq p2, v5, :cond_5e
const/4 v0, 0x7
if-eq p2, v0, :cond_5a
goto :goto_5d
.line 66
:cond_5a
sget v0, Lcom/google/obf/b;->a:I
goto :goto_5e
:cond_5d
:goto_5d
move v0, v2
:cond_5e
:goto_5e
const-string v2, "audio/raw"
.line 70
invoke-virtual {v2, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
const/4 v3, 0x1
xor-int/2addr v2, v3
.line 71
sget v4, Lcom/google/obf/ea;->a:I
const/16 v7, 0x19
if-gt v4, v7, :cond_7b
sget-object v4, Lcom/google/obf/ea;->b:Ljava/lang/String;
const-string v7, "fugu"
invoke-virtual {v7, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_7b
if-eqz v2, :cond_7b
if-ne p2, v3, :cond_7b
goto :goto_7c
:cond_7b
move v1, v0
:goto_7c
const/4 v0, 0x2
if-eqz v2, :cond_84
.line 74
invoke-static {p1}, Lcom/google/obf/aa;->b(Ljava/lang/String;)I
move-result p4
goto :goto_aa
:cond_84
if-eq p4, v6, :cond_aa
if-eq p4, v0, :cond_aa
const/high16 p1, -0x80000000
if-eq p4, p1, :cond_aa
const/high16 p1, 0x40000000 # 2.0f
if-ne p4, p1, :cond_91
goto :goto_aa
.line 77
:cond_91
new-instance p1, Ljava/lang/IllegalArgumentException;
const/16 p2, 0x25
new-instance p3, Ljava/lang/StringBuilder;
invoke-direct {p3, p2}, Ljava/lang/StringBuilder;-><init>(I)V
const-string p2, "Unsupported PCM encoding: "
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 78
:cond_aa
:goto_aa
invoke-virtual {p0}, Lcom/google/obf/aa;->a()Z
move-result p1
if-eqz p1, :cond_bd
iget p1, p0, Lcom/google/obf/aa;->l:I
if-ne p1, p4, :cond_bd
iget p1, p0, Lcom/google/obf/aa;->i:I
if-ne p1, p3, :cond_bd
iget p1, p0, Lcom/google/obf/aa;->j:I
if-ne p1, v1, :cond_bd
return-void
.line 80
:cond_bd
invoke-virtual {p0}, Lcom/google/obf/aa;->j()V
.line 81
iput p4, p0, Lcom/google/obf/aa;->l:I
.line 82
iput-boolean v2, p0, Lcom/google/obf/aa;->n:Z
.line 83
iput p3, p0, Lcom/google/obf/aa;->i:I
.line 84
iput v1, p0, Lcom/google/obf/aa;->j:I
if-eqz v2, :cond_cb
goto :goto_cc
:cond_cb
const/4 p4, 0x2
.line 85
:goto_cc
iput p4, p0, Lcom/google/obf/aa;->m:I
mul-int/lit8 p2, p2, 0x2
.line 86
iput p2, p0, Lcom/google/obf/aa;->o:I
if-eqz p5, :cond_d7
.line 88
iput p5, p0, Lcom/google/obf/aa;->p:I
goto :goto_11f
:cond_d7
if-eqz v2, :cond_ea
if-eq p4, v5, :cond_e5
const/4 p1, 0x6
if-ne p4, p1, :cond_df
goto :goto_e5
:cond_df
const p1, 0xc000
.line 92
iput p1, p0, Lcom/google/obf/aa;->p:I
goto :goto_11f
:cond_e5
:goto_e5
const/16 p1, 0x5000
.line 91
iput p1, p0, Lcom/google/obf/aa;->p:I
goto :goto_11f
.line 94
:cond_ea
invoke-static {p3, v1, p4}, Landroid/media/AudioTrack;->getMinBufferSize(III)I
move-result p1
const/4 p2, -0x2
if-eq p1, p2, :cond_f2
goto :goto_f3
:cond_f2
const/4 v3, 0x0
.line 95
:goto_f3
invoke-static {v3}, Lcom/google/obf/dl;->b(Z)V
mul-int/lit8 p2, p1, 0x4
const-wide/32 p3, 0x3d090
.line 97
invoke-direct {p0, p3, p4}, Lcom/google/obf/aa;->c(J)J
move-result-wide p3
long-to-int p4, p3
iget p3, p0, Lcom/google/obf/aa;->o:I
mul-int p4, p4, p3
int-to-long v0, p1
const-wide/32 v3, 0xb71b0
.line 99
invoke-direct {p0, v3, v4}, Lcom/google/obf/aa;->c(J)J
move-result-wide v3
iget p1, p0, Lcom/google/obf/aa;->o:I
int-to-long v5, p1
mul-long v3, v3, v5
.line 100
invoke-static {v0, v1, v3, v4}, Ljava/lang/Math;->max(JJ)J
move-result-wide v0
long-to-int p1, v0
if-ge p2, p4, :cond_11a
move p2, p4
goto :goto_11d
:cond_11a
if-le p2, p1, :cond_11d
move p2, p1
.line 103
:cond_11d
:goto_11d
iput p2, p0, Lcom/google/obf/aa;->p:I
:goto_11f
if-eqz v2, :cond_124
const-wide/16 p1, -0x1
goto :goto_12f
.line 105
:cond_124
iget p1, p0, Lcom/google/obf/aa;->p:I
int-to-long p1, p1
invoke-direct {p0, p1, p2}, Lcom/google/obf/aa;->a(J)J
move-result-wide p1
invoke-direct {p0, p1, p2}, Lcom/google/obf/aa;->b(J)J
move-result-wide p1
:goto_12f
iput-wide p1, p0, Lcom/google/obf/aa;->q:J
return-void
:pswitch_data_132
.packed-switch 0x1
:pswitch_35
:pswitch_32
:pswitch_2f
:pswitch_2c
:pswitch_29
:pswitch_26
:pswitch_23
:pswitch_20
.end packed-switch
.end method
.method public a()Z
.registers 2
.line 24
iget-object v0, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
if-eqz v0, :cond_6
const/4 v0, 0x1
goto :goto_7
:cond_6
const/4 v0, 0x0
:goto_7
return v0
.end method
.method public a(Ljava/lang/String;)Z
.registers 3
.line 21
iget-object v0, p0, Lcom/google/obf/aa;->c:Lcom/google/obf/z;
if-eqz v0, :cond_10
.line 22
invoke-static {p1}, Lcom/google/obf/aa;->b(Ljava/lang/String;)I
move-result p1
invoke-virtual {v0, p1}, Lcom/google/obf/z;->a(I)Z
move-result p1
if-eqz p1, :cond_10
const/4 p1, 0x1
goto :goto_11
:cond_10
const/4 p1, 0x0
:goto_11
return p1
.end method
.method public b()I
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/obf/aa$d;
}
.end annotation
const/4 v0, 0x0
.line 107
invoke-virtual {p0, v0}, Lcom/google/obf/aa;->a(I)I
move-result v0
return v0
.end method
.method public b(I)Z
.registers 3
.line 211
iget v0, p0, Lcom/google/obf/aa;->k:I
if-ne v0, p1, :cond_6
const/4 p1, 0x0
return p1
.line 213
:cond_6
iput p1, p0, Lcom/google/obf/aa;->k:I
.line 214
invoke-virtual {p0}, Lcom/google/obf/aa;->j()V
const/4 p1, 0x1
return p1
.end method
.method public c()I
.registers 2
.line 128
iget v0, p0, Lcom/google/obf/aa;->p:I
return v0
.end method
.method public d()J
.registers 3
.line 129
iget-wide v0, p0, Lcom/google/obf/aa;->q:J
return-wide v0
.end method
.method public e()V
.registers 5
.line 130
invoke-virtual {p0}, Lcom/google/obf/aa;->a()Z
move-result v0
if-eqz v0, :cond_14
.line 131
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v0
const-wide/16 v2, 0x3e8
div-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/obf/aa;->D:J
.line 132
iget-object v0, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
invoke-virtual {v0}, Landroid/media/AudioTrack;->play()V
:cond_14
return-void
.end method
.method public f()V
.registers 3
.line 134
iget v0, p0, Lcom/google/obf/aa;->B:I
const/4 v1, 0x1
if-ne v0, v1, :cond_8
const/4 v0, 0x2
.line 135
iput v0, p0, Lcom/google/obf/aa;->B:I
:cond_8
return-void
.end method
.method public g()V
.registers 4
.line 202
invoke-virtual {p0}, Lcom/google/obf/aa;->a()Z
move-result v0
if-eqz v0, :cond_f
.line 203
iget-object v0, p0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
invoke-direct {p0}, Lcom/google/obf/aa;->q()J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Lcom/google/obf/aa$a;->a(J)V
:cond_f
return-void
.end method
.method public h()Z
.registers 6
.line 205
invoke-virtual {p0}, Lcom/google/obf/aa;->a()Z
move-result v0
if-eqz v0, :cond_1c
.line 206
invoke-direct {p0}, Lcom/google/obf/aa;->q()J
move-result-wide v0
iget-object v2, p0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
invoke-virtual {v2}, Lcom/google/obf/aa$a;->b()J
move-result-wide v2
cmp-long v4, v0, v2
if-gtz v4, :cond_1a
.line 207
invoke-direct {p0}, Lcom/google/obf/aa;->t()Z
move-result v0
if-eqz v0, :cond_1c
:cond_1a
const/4 v0, 0x1
goto :goto_1d
:cond_1c
const/4 v0, 0x0
:goto_1d
return v0
.end method
.method public i()V
.registers 2
.line 225
invoke-virtual {p0}, Lcom/google/obf/aa;->a()Z
move-result v0
if-eqz v0, :cond_e
.line 226
invoke-direct {p0}, Lcom/google/obf/aa;->r()V
.line 227
iget-object v0, p0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
invoke-virtual {v0}, Lcom/google/obf/aa$a;->a()V
:cond_e
return-void
.end method
.method public j()V
.registers 5
.line 229
invoke-virtual {p0}, Lcom/google/obf/aa;->a()Z
move-result v0
if-eqz v0, :cond_3d
const-wide/16 v0, 0x0
.line 230
iput-wide v0, p0, Lcom/google/obf/aa;->y:J
.line 231
iput-wide v0, p0, Lcom/google/obf/aa;->z:J
const/4 v2, 0x0
.line 232
iput v2, p0, Lcom/google/obf/aa;->A:I
.line 233
iput v2, p0, Lcom/google/obf/aa;->I:I
.line 234
iput v2, p0, Lcom/google/obf/aa;->B:I
.line 235
iput-wide v0, p0, Lcom/google/obf/aa;->E:J
.line 236
invoke-direct {p0}, Lcom/google/obf/aa;->r()V
.line 237
iget-object v0, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
invoke-virtual {v0}, Landroid/media/AudioTrack;->getPlayState()I
move-result v0
const/4 v1, 0x3
if-ne v0, v1, :cond_26
.line 239
iget-object v0, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
invoke-virtual {v0}, Landroid/media/AudioTrack;->pause()V
.line 240
:cond_26
iget-object v0, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
const/4 v1, 0x0
.line 241
iput-object v1, p0, Lcom/google/obf/aa;->h:Landroid/media/AudioTrack;
.line 242
iget-object v3, p0, Lcom/google/obf/aa;->f:Lcom/google/obf/aa$a;
invoke-virtual {v3, v1, v2}, Lcom/google/obf/aa$a;->a(Landroid/media/AudioTrack;Z)V
.line 243
iget-object v1, p0, Lcom/google/obf/aa;->d:Landroid/os/ConditionVariable;
invoke-virtual {v1}, Landroid/os/ConditionVariable;->close()V
.line 244
new-instance v1, Lcom/google/obf/aa$1;
invoke-direct {v1, p0, v0}, Lcom/google/obf/aa$1;-><init>(Lcom/google/obf/aa;Landroid/media/AudioTrack;)V
.line 245
invoke-virtual {v1}, Lcom/google/obf/aa$1;->start()V
:cond_3d
return-void
.end method
.method public k()V
.registers 1
.line 247
invoke-virtual {p0}, Lcom/google/obf/aa;->j()V
.line 248
invoke-direct {p0}, Lcom/google/obf/aa;->m()V
return-void
.end method