e.smali
.class public final Lcom/yysdk/mobile/vpsdk/b/e;
.super Lcom/yysdk/mobile/vpsdk/b/d;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/yysdk/mobile/vpsdk/b/e$a;
}
.end annotation
# instance fields
.field a:J
.field private b:[B
.field private c:Lcom/yysdk/mobile/vpsdk/b/e$a;
# direct methods
.method public constructor <init>(Landroid/content/Context;[BLcom/yysdk/mobile/vpsdk/b/e$a;J)V
.registers 6
.line 37
invoke-direct {p0, p1, p4, p5}, Lcom/yysdk/mobile/vpsdk/b/d;-><init>(Landroid/content/Context;J)V
const/4 p1, 0x0
.line 21
iput-object p1, p0, Lcom/yysdk/mobile/vpsdk/b/e;->b:[B
.line 23
iput-object p1, p0, Lcom/yysdk/mobile/vpsdk/b/e;->c:Lcom/yysdk/mobile/vpsdk/b/e$a;
const-wide/16 p4, 0x0
.line 25
iput-wide p4, p0, Lcom/yysdk/mobile/vpsdk/b/e;->a:J
const-string p1, "VP_IMAudioPlayThread"
const-string p4, "IMAudioPlayThread constructor"
.line 38
invoke-static {p1, p4}, Lcom/yysdk/mobile/vpsdk/p;->a(Ljava/lang/String;Ljava/lang/String;)I
.line 39
iput-object p2, p0, Lcom/yysdk/mobile/vpsdk/b/e;->b:[B
.line 40
iput-object p3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->c:Lcom/yysdk/mobile/vpsdk/b/e$a;
return-void
.end method
# virtual methods
.method public final run()V
.registers 15
const/16 v0, -0x10
.line 45
invoke-static {v0}, Landroid/os/Process;->setThreadPriority(I)V
.line 46
invoke-virtual {p0}, Lcom/yysdk/mobile/vpsdk/b/e;->h()I
.line 49
invoke-virtual {p0}, Lcom/yysdk/mobile/vpsdk/b/e;->j()Z
move-result v0
if-nez v0, :cond_f
return-void
.line 54
:cond_f
iget v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->t:I
iget v1, p0, Lcom/yysdk/mobile/vpsdk/b/e;->u:I
sub-int/2addr v0, v1
const/4 v1, 0x2
div-int/2addr v0, v1
div-int/lit8 v0, v0, 0x1
.line 55
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "yyaudio: playerBufferSize: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->t:I
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, ", play20msBuffSize: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->u:I
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, ", lowDelayThresholdSample: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v2, "VP_IMAudioPlayThread"
invoke-static {v2, v0}, Lcom/yysdk/mobile/vpsdk/p;->b(Ljava/lang/String;Ljava/lang/String;)I
.line 56
:cond_3f
:goto_3f
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->h:Z
const/4 v3, 0x0
if-eqz v0, :cond_1d1
.line 59
:try_start_44
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->m:Z
if-eqz v0, :cond_3f
.line 60
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->n:Z
if-eqz v0, :cond_57
.line 61
iput-boolean v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->n:Z
.line 62
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->c:Lcom/yysdk/mobile/vpsdk/b/e$a;
if-eqz v0, :cond_57
.line 63
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->c:Lcom/yysdk/mobile/vpsdk/b/e$a;
invoke-interface {v0}, Lcom/yysdk/mobile/vpsdk/b/e$a;->a()V
.line 67
:cond_57
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->p:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
:try_end_5c
.catch Ljava/lang/Exception; {:try_start_44 .. :try_end_5c} :catch_1c9
.line 69
:try_start_5c
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->o:Z
if-eqz v0, :cond_6e
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->s:Landroid/media/AudioTrack;
invoke-virtual {v0}, Landroid/media/AudioTrack;->getPlayState()I
move-result v0
const/4 v4, 0x3
if-ne v0, v4, :cond_6e
.line 70
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->s:Landroid/media/AudioTrack;
invoke-virtual {v0}, Landroid/media/AudioTrack;->pause()V
.line 72
:cond_6e
:goto_6e
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->h:Z
if-eqz v0, :cond_87
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->m:Z
if-eqz v0, :cond_87
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->s:Landroid/media/AudioTrack;
invoke-virtual {v0}, Landroid/media/AudioTrack;->getPlayState()I
move-result v0
if-ne v0, v1, :cond_87
.line 73
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->r:Ljava/util/concurrent/locks/Condition;
const-wide/32 v4, 0x989680
invoke-interface {v0, v4, v5}, Ljava/util/concurrent/locks/Condition;->awaitNanos(J)J
goto :goto_6e
.line 75
:cond_87
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->h:Z
:try_end_89
.catchall {:try_start_5c .. :try_end_89} :catchall_1c2
if-nez v0, :cond_92
.line 113
:try_start_8b
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->p:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
:try_end_90
.catch Ljava/lang/Exception; {:try_start_8b .. :try_end_90} :catch_1c9
goto/16 :goto_1d1
.line 79
:cond_92
:try_start_92
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->z:Z
const-wide/16 v4, 0x8
const-wide/16 v6, 0x10
if-nez v0, :cond_a2
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->A:Z
if-nez v0, :cond_a2
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->y:Z
if-eqz v0, :cond_f2
.line 80
:cond_a2
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->q:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
:try_end_a7
.catchall {:try_start_92 .. :try_end_a7} :catchall_1c2
.line 82
:try_start_a7
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->A:Z
if-eqz v0, :cond_b7
.line 83
invoke-virtual {p0}, Lcom/yysdk/mobile/vpsdk/b/e;->l()J
move-result-wide v8
iput-wide v8, p0, Lcom/yysdk/mobile/vpsdk/b/e;->a:J
mul-long v8, v8, v6
.line 84
div-long/2addr v8, v4
long-to-int v0, v8
iput v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->i:I
.line 86
:cond_b7
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->s:Landroid/media/AudioTrack;
invoke-virtual {v0}, Landroid/media/AudioTrack;->pause()V
.line 87
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->s:Landroid/media/AudioTrack;
invoke-virtual {v0}, Landroid/media/AudioTrack;->flush()V
.line 88
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->s:Landroid/media/AudioTrack;
invoke-virtual {v0}, Landroid/media/AudioTrack;->play()V
:try_end_c6
.catchall {:try_start_a7 .. :try_end_c6} :catchall_1bb
.line 91
:try_start_c6
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->s:Landroid/media/AudioTrack;
invoke-virtual {v0}, Landroid/media/AudioTrack;->getPlaybackHeadPosition()I
move-result v0
iput v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->j:I
:try_end_ce
.catchall {:try_start_c6 .. :try_end_ce} :catchall_cf
goto :goto_d1
.line 93
:catchall_cf
:try_start_cf
iput v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->j:I
.line 97
:goto_d1
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->z:Z
if-eqz v0, :cond_db
const-wide/16 v8, 0x0
.line 98
iput-wide v8, p0, Lcom/yysdk/mobile/vpsdk/b/e;->a:J
.line 99
iput v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->i:I
.line 101
:cond_db
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->y:Z
if-eqz v0, :cond_e7
.line 102
iget-wide v8, p0, Lcom/yysdk/mobile/vpsdk/b/e;->a:J
mul-long v8, v8, v6
div-long/2addr v8, v4
long-to-int v0, v8
iput v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->i:I
.line 105
:cond_e7
iput-boolean v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->z:Z
.line 106
iput-boolean v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->y:Z
.line 107
iput-boolean v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->A:Z
:try_end_ed
.catchall {:try_start_cf .. :try_end_ed} :catchall_1bb
.line 109
:try_start_ed
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->q:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
:try_end_f2
.catchall {:try_start_ed .. :try_end_f2} :catchall_1c2
.line 113
:cond_f2
:try_start_f2
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->p:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
.line 116
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->D:Z
if-eqz v0, :cond_10c
.line 117
iput-boolean v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->D:Z
const/4 v8, 0x1
const/4 v9, 0x1
const/16 v10, 0x10
const v11, 0xac44
.line 118
iget-object v12, p0, Lcom/yysdk/mobile/vpsdk/b/e;->b:[B
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->b:[B
array-length v13, v0
invoke-static/range {v8 .. v13}, Lcom/yysdk/mobile/vpsdk/VPSDKNativeLibrary;->imGetAudioFrame(IIII[BI)I
.line 120
:cond_10c
iget v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->i:I
iget-object v8, p0, Lcom/yysdk/mobile/vpsdk/b/e;->b:[B
array-length v8, v8
iget v9, p0, Lcom/yysdk/mobile/vpsdk/b/e;->w:I
sub-int/2addr v8, v9
if-le v0, v8, :cond_137
.line 121
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->v:[B
invoke-static {v0, v3}, Ljava/util/Arrays;->fill([BB)V
.line 122
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->p:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
:try_end_120
.catch Ljava/lang/Exception; {:try_start_f2 .. :try_end_120} :catch_1c9
.line 124
:try_start_120
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->s:Landroid/media/AudioTrack;
iget-object v8, p0, Lcom/yysdk/mobile/vpsdk/b/e;->v:[B
iget v9, p0, Lcom/yysdk/mobile/vpsdk/b/e;->w:I
invoke-virtual {v0, v8, v3, v9}, Landroid/media/AudioTrack;->write([BII)I
move-result v0
:try_end_12a
.catchall {:try_start_120 .. :try_end_12a} :catchall_130
.line 126
:try_start_12a
iget-object v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->p:Ljava/util/concurrent/locks/Lock;
invoke-interface {v3}, Ljava/util/concurrent/locks/Lock;->unlock()V
goto :goto_15b
:catchall_130
move-exception v0
iget-object v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->p:Ljava/util/concurrent/locks/Lock;
invoke-interface {v3}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
.line 129
:cond_137
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->b:[B
iget v8, p0, Lcom/yysdk/mobile/vpsdk/b/e;->i:I
iget-object v9, p0, Lcom/yysdk/mobile/vpsdk/b/e;->v:[B
iget v10, p0, Lcom/yysdk/mobile/vpsdk/b/e;->w:I
invoke-static {v0, v8, v9, v3, v10}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 130
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->p:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
:try_end_147
.catch Ljava/lang/Exception; {:try_start_12a .. :try_end_147} :catch_1c9
.line 132
:try_start_147
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->s:Landroid/media/AudioTrack;
iget-object v8, p0, Lcom/yysdk/mobile/vpsdk/b/e;->v:[B
iget v9, p0, Lcom/yysdk/mobile/vpsdk/b/e;->w:I
invoke-virtual {v0, v8, v3, v9}, Landroid/media/AudioTrack;->write([BII)I
move-result v0
:try_end_151
.catchall {:try_start_147 .. :try_end_151} :catchall_1b4
.line 134
:try_start_151
iget-object v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->p:Ljava/util/concurrent/locks/Lock;
invoke-interface {v3}, Ljava/util/concurrent/locks/Lock;->unlock()V
.line 136
iget v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->i:I
add-int/2addr v3, v0
iput v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->i:I
:goto_15b
const-wide/16 v8, 0x2
.line 139
invoke-static {v8, v9}, Lcom/yysdk/mobile/vpsdk/b/e;->sleep(J)V
.line 140
iget v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->w:I
if-eq v0, v3, :cond_3f
.line 141
new-instance v3, Ljava/lang/StringBuilder;
const-string v8, "[audio-player] written error! written="
invoke-direct {v3, v8}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v8, ", len="
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v8, p0, Lcom/yysdk/mobile/vpsdk/b/e;->u:I
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v8, " cur "
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v8, p0, Lcom/yysdk/mobile/vpsdk/b/e;->i:I
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
if-gez v0, :cond_3f
.line 144
invoke-virtual {p0}, Lcom/yysdk/mobile/vpsdk/b/e;->l()J
move-result-wide v8
iput-wide v8, p0, Lcom/yysdk/mobile/vpsdk/b/e;->a:J
.line 145
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->p:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 146
invoke-virtual {p0}, Lcom/yysdk/mobile/vpsdk/b/e;->k()V
.line 147
invoke-virtual {p0}, Lcom/yysdk/mobile/vpsdk/b/e;->j()Z
move-result v0
if-nez v0, :cond_1a5
.line 148
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->p:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-void
.line 151
:cond_1a5
iget-wide v8, p0, Lcom/yysdk/mobile/vpsdk/b/e;->a:J
mul-long v8, v8, v6
div-long/2addr v8, v4
long-to-int v0, v8
iput v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->i:I
.line 152
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->p:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
goto/16 :goto_3f
:catchall_1b4
move-exception v0
.line 134
iget-object v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->p:Ljava/util/concurrent/locks/Lock;
invoke-interface {v3}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
:try_end_1bb
.catch Ljava/lang/Exception; {:try_start_151 .. :try_end_1bb} :catch_1c9
:catchall_1bb
move-exception v0
.line 109
:try_start_1bc
iget-object v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->q:Ljava/util/concurrent/locks/Lock;
invoke-interface {v3}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
:try_end_1c2
.catchall {:try_start_1bc .. :try_end_1c2} :catchall_1c2
:catchall_1c2
move-exception v0
.line 113
:try_start_1c3
iget-object v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->p:Ljava/util/concurrent/locks/Lock;
invoke-interface {v3}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
:try_end_1c9
.catch Ljava/lang/Exception; {:try_start_1c3 .. :try_end_1c9} :catch_1c9
:catch_1c9
move-exception v0
const-string v3, "audio play encounter exception"
.line 157
invoke-static {v2, v3, v0}, Lcom/yysdk/mobile/vpsdk/p;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto/16 :goto_3f
.line 160
:cond_1d1
:goto_1d1
invoke-virtual {p0}, Lcom/yysdk/mobile/vpsdk/b/e;->k()V
const/4 v0, 0x0
.line 161
iput-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->b:[B
.line 162
invoke-virtual {p0}, Lcom/yysdk/mobile/vpsdk/b/e;->i()V
.line 163
iput-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->k:Landroid/content/Context;
.line 164
iput-object v0, p0, Lcom/yysdk/mobile/vpsdk/b/e;->l:Landroid/media/AudioManager;
.line 165
iput-boolean v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->m:Z
.line 166
iput-boolean v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->z:Z
.line 167
iput-boolean v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->y:Z
.line 168
iput-boolean v3, p0, Lcom/yysdk/mobile/vpsdk/b/e;->D:Z
return-void
.end method