d.smali
.class public final Lcom/imo/android/imoim/util/k/d;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/imo/android/imoim/util/k/d$b;,
Lcom/imo/android/imoim/util/k/d$a;
}
.end annotation
# static fields
.field private static g:I = 0x1e
.field private static h:I = 0x5
.field private static i:Ljava/lang/String; = "video/avc"
# instance fields
.field private A:Z
.field private B:Z
.field private C:Landroid/media/MediaFormat;
.field private D:Landroid/media/MediaFormat;
.field private E:I
.field private F:I
.field private G:I
.field private H:I
.field private I:J
.field private J:J
.field private K:Lcom/imo/android/imoim/c/h$a;
.field private L:I
.field private M:Z
.field private N:Landroid/os/Handler;
.field private O:Lcom/imo/android/imoim/util/k/h;
.field public a:Z
.field public b:I
.field public c:I
.field public d:Z
.field public e:I
.field public f:Z
.field private j:I
.field private k:I
.field private l:I
.field private final m:I
.field private final n:Ljava/lang/String;
.field private final o:Ljava/lang/String;
.field private final p:Ljava/lang/String;
.field private q:Landroid/media/MediaExtractor;
.field private r:Landroid/media/MediaExtractor;
.field private s:Landroid/media/MediaMuxer;
.field private t:Landroid/media/MediaCodec;
.field private u:Landroid/media/MediaCodec;
.field private v:Lcom/imo/android/imoim/util/k/e;
.field private w:Lcom/imo/android/imoim/util/k/f;
.field private x:[Ljava/nio/ByteBuffer;
.field private y:[Ljava/nio/ByteBuffer;
.field private z:Ljava/nio/ByteBuffer;
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method public constructor <init>(Ljava/lang/String;Ljava/lang/String;Lcom/imo/android/imoim/c/h$a;Z)V
.registers 11
const/4 v5, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move v4, p4
.line 121
invoke-direct/range {v0 .. v5}, Lcom/imo/android/imoim/util/k/d;-><init>(Ljava/lang/String;Ljava/lang/String;Lcom/imo/android/imoim/c/h$a;ZLcom/imo/android/imoim/util/k/h;)V
return-void
.end method
.method public constructor <init>(Ljava/lang/String;Ljava/lang/String;Lcom/imo/android/imoim/c/h$a;ZLcom/imo/android/imoim/util/k/h;)V
.registers 9
.line 126
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, -0x1
.line 46
iput v0, p0, Lcom/imo/android/imoim/util/k/d;->l:I
const/16 v1, 0x1e0
.line 47
iput v1, p0, Lcom/imo/android/imoim/util/k/d;->m:I
const/4 v1, 0x1
.line 48
iput-boolean v1, p0, Lcom/imo/android/imoim/util/k/d;->a:Z
const v2, 0xf4240
.line 52
iput v2, p0, Lcom/imo/android/imoim/util/k/d;->b:I
.line 53
iput v2, p0, Lcom/imo/android/imoim/util/k/d;->c:I
const/4 v2, 0x0
.line 54
iput-boolean v2, p0, Lcom/imo/android/imoim/util/k/d;->d:Z
.line 55
iput v1, p0, Lcom/imo/android/imoim/util/k/d;->e:I
.line 56
iput-boolean v2, p0, Lcom/imo/android/imoim/util/k/d;->f:Z
const/4 v1, 0x0
.line 62
iput-object v1, p0, Lcom/imo/android/imoim/util/k/d;->q:Landroid/media/MediaExtractor;
.line 63
iput-object v1, p0, Lcom/imo/android/imoim/util/k/d;->r:Landroid/media/MediaExtractor;
.line 64
iput-object v1, p0, Lcom/imo/android/imoim/util/k/d;->s:Landroid/media/MediaMuxer;
.line 65
iput-object v1, p0, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
.line 66
iput-object v1, p0, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
.line 67
iput-object v1, p0, Lcom/imo/android/imoim/util/k/d;->v:Lcom/imo/android/imoim/util/k/e;
.line 68
iput-object v1, p0, Lcom/imo/android/imoim/util/k/d;->w:Lcom/imo/android/imoim/util/k/f;
.line 70
iput-object v1, p0, Lcom/imo/android/imoim/util/k/d;->x:[Ljava/nio/ByteBuffer;
.line 71
iput-object v1, p0, Lcom/imo/android/imoim/util/k/d;->y:[Ljava/nio/ByteBuffer;
const/16 v1, 0x1000
.line 72
invoke-static {v1}, Ljava/nio/ByteBuffer;->allocateDirect(I)Ljava/nio/ByteBuffer;
move-result-object v1
iput-object v1, p0, Lcom/imo/android/imoim/util/k/d;->z:Ljava/nio/ByteBuffer;
.line 74
iput-boolean v2, p0, Lcom/imo/android/imoim/util/k/d;->A:Z
.line 75
iput-boolean v2, p0, Lcom/imo/android/imoim/util/k/d;->B:Z
.line 79
iput v0, p0, Lcom/imo/android/imoim/util/k/d;->E:I
.line 80
iput v0, p0, Lcom/imo/android/imoim/util/k/d;->F:I
.line 81
iput v0, p0, Lcom/imo/android/imoim/util/k/d;->G:I
.line 82
iput v0, p0, Lcom/imo/android/imoim/util/k/d;->H:I
const-wide/16 v0, 0x0
.line 85
iput-wide v0, p0, Lcom/imo/android/imoim/util/k/d;->I:J
.line 89
iput-boolean v2, p0, Lcom/imo/android/imoim/util/k/d;->M:Z
.line 92
new-instance v0, Landroid/os/Handler;
invoke-static {}, Lcom/imo/android/imoim/IMO;->a()Lcom/imo/android/imoim/IMO;
move-result-object v1
invoke-virtual {v1}, Lcom/imo/android/imoim/IMO;->getMainLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
iput-object v0, p0, Lcom/imo/android/imoim/util/k/d;->N:Landroid/os/Handler;
.line 127
iput-object p5, p0, Lcom/imo/android/imoim/util/k/d;->O:Lcom/imo/android/imoim/util/k/h;
.line 128
iput-object p1, p0, Lcom/imo/android/imoim/util/k/d;->n:Ljava/lang/String;
.line 129
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, "_tmp"
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
iput-object p1, p0, Lcom/imo/android/imoim/util/k/d;->o:Ljava/lang/String;
.line 130
iput-object p2, p0, Lcom/imo/android/imoim/util/k/d;->p:Ljava/lang/String;
.line 132
new-instance p1, Ljava/io/File;
iget-object p2, p0, Lcom/imo/android/imoim/util/k/d;->n:Ljava/lang/String;
invoke-direct {p1, p2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {p1}, Ljava/io/File;->length()J
move-result-wide p1
iput-wide p1, p0, Lcom/imo/android/imoim/util/k/d;->J:J
if-eqz p5, :cond_85
.line 1040
iput-wide p1, p5, Lcom/imo/android/imoim/util/k/l;->h:J
.line 135
iget-wide p1, p0, Lcom/imo/android/imoim/util/k/d;->J:J
.line 1055
iput-wide p1, p5, Lcom/imo/android/imoim/util/k/h;->b:J
.line 137
:cond_85
iput v2, p0, Lcom/imo/android/imoim/util/k/d;->L:I
.line 138
iput-object p3, p0, Lcom/imo/android/imoim/util/k/d;->K:Lcom/imo/android/imoim/c/h$a;
.line 139
iput-boolean p4, p0, Lcom/imo/android/imoim/util/k/d;->M:Z
return-void
.end method
.method private static a(Landroid/media/MediaExtractor;)I
.registers 4
const/4 v0, 0x0
.line 167
:goto_1
invoke-virtual {p0}, Landroid/media/MediaExtractor;->getTrackCount()I
move-result v1
if-ge v0, v1, :cond_20
.line 172
invoke-virtual {p0, v0}, Landroid/media/MediaExtractor;->getTrackFormat(I)Landroid/media/MediaFormat;
move-result-object v1
const-string v2, "mime"
.line 2155
invoke-virtual {v1, v2}, Landroid/media/MediaFormat;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "audio/"
.line 1163
invoke-virtual {v1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_1d
.line 173
invoke-virtual {p0, v0}, Landroid/media/MediaExtractor;->selectTrack(I)V
return v0
:cond_1d
add-int/lit8 v0, v0, 0x1
goto :goto_1
:cond_20
const/4 p0, -0x1
return p0
.end method
.method private a(J)V
.registers 5
.line 143
iget-wide v0, p0, Lcom/imo/android/imoim/util/k/d;->I:J
add-long/2addr v0, p1
iput-wide v0, p0, Lcom/imo/android/imoim/util/k/d;->I:J
long-to-double p1, v0
.line 144
iget-wide v0, p0, Lcom/imo/android/imoim/util/k/d;->J:J
long-to-double v0, v0
invoke-static {p1, p2}, Ljava/lang/Double;->isNaN(D)Z
invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr p1, v0
const-wide/high16 v0, 0x4059000000000000L # 100.0
mul-double p1, p1, v0
double-to-int p1, p1
.line 145
iget p2, p0, Lcom/imo/android/imoim/util/k/d;->L:I
sub-int p2, p1, p2
const/4 v0, 0x5
if-lt p2, v0, :cond_38
.line 146
iput p1, p0, Lcom/imo/android/imoim/util/k/d;->L:I
.line 147
iget-object p2, p0, Lcom/imo/android/imoim/util/k/d;->K:Lcom/imo/android/imoim/c/h$a;
if-eqz p2, :cond_29
.line 148
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
invoke-interface {p2, v0}, Lcom/imo/android/imoim/c/h$a;->updateProgress(Ljava/lang/Integer;)V
.line 150
:cond_29
invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object p1
const-string p2, "Progress: "
invoke-virtual {p2, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
const-string p2, "GLVideoTranscoder"
.line 1071
invoke-static {p2, p1}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
:cond_38
return-void
.end method
.method private b()I
.registers 4
const/4 v0, 0x0
.line 181
:goto_1
iget-object v1, p0, Lcom/imo/android/imoim/util/k/d;->q:Landroid/media/MediaExtractor;
invoke-virtual {v1}, Landroid/media/MediaExtractor;->getTrackCount()I
move-result v1
if-ge v0, v1, :cond_26
.line 186
iget-object v1, p0, Lcom/imo/android/imoim/util/k/d;->q:Landroid/media/MediaExtractor;
invoke-virtual {v1, v0}, Landroid/media/MediaExtractor;->getTrackFormat(I)Landroid/media/MediaFormat;
move-result-object v1
const-string v2, "mime"
.line 3155
invoke-virtual {v1, v2}, Landroid/media/MediaFormat;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "video/"
.line 2159
invoke-virtual {v1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_23
.line 187
iget-object v1, p0, Lcom/imo/android/imoim/util/k/d;->q:Landroid/media/MediaExtractor;
invoke-virtual {v1, v0}, Landroid/media/MediaExtractor;->selectTrack(I)V
return v0
:cond_23
add-int/lit8 v0, v0, 0x1
goto :goto_1
:cond_26
const/4 v0, -0x1
return v0
.end method
.method private c()V
.registers 30
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
move-object/from16 v0, p0
.line 366
new-instance v1, Landroid/media/MediaCodec$BufferInfo;
invoke-direct {v1}, Landroid/media/MediaCodec$BufferInfo;-><init>()V
const/4 v2, 0x0
const-wide/16 v3, 0x0
const/4 v5, 0x0
const/4 v6, 0x0
const/4 v7, 0x0
const/4 v8, 0x0
:cond_e
if-nez v5, :cond_2d7
const/4 v9, 0x1
:goto_11
const-wide/16 v10, 0x3e8
const/4 v12, -0x1
if-nez v6, :cond_60
.line 379
iget-object v13, v0, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
.line 380
invoke-virtual {v13, v10, v11}, Landroid/media/MediaCodec;->dequeueInputBuffer(J)I
move-result v15
if-ltz v15, :cond_60
.line 383
iget-object v10, v0, Lcom/imo/android/imoim/util/k/d;->x:[Ljava/nio/ByteBuffer;
aget-object v10, v10, v15
.line 384
iget-object v11, v0, Lcom/imo/android/imoim/util/k/d;->q:Landroid/media/MediaExtractor;
invoke-virtual {v11, v10, v2}, Landroid/media/MediaExtractor;->readSampleData(Ljava/nio/ByteBuffer;I)I
move-result v10
.line 385
iget-object v11, v0, Lcom/imo/android/imoim/util/k/d;->q:Landroid/media/MediaExtractor;
invoke-virtual {v11}, Landroid/media/MediaExtractor;->getSampleTime()J
move-result-wide v18
.line 388
iget-object v11, v0, Lcom/imo/android/imoim/util/k/d;->q:Landroid/media/MediaExtractor;
invoke-virtual {v11}, Landroid/media/MediaExtractor;->getSampleFlags()I
move-result v11
and-int/2addr v11, v9
if-eqz v11, :cond_3a
const/16 v20, 0x1
goto :goto_3c
:cond_3a
const/16 v20, 0x0
.line 391
:goto_3c
iget-object v11, v0, Lcom/imo/android/imoim/util/k/d;->q:Landroid/media/MediaExtractor;
invoke-virtual {v11}, Landroid/media/MediaExtractor;->advance()Z
if-ne v10, v12, :cond_52
.line 395
iget-object v14, v0, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
const/16 v16, 0x0
const/16 v17, 0x0
const-wide/16 v18, 0x0
const/16 v20, 0x4
invoke-virtual/range {v14 .. v20}, Landroid/media/MediaCodec;->queueInputBuffer(IIIJI)V
const/4 v6, 0x1
goto :goto_11
.line 401
:cond_52
iget-object v14, v0, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
const/16 v16, 0x0
move/from16 v17, v10
invoke-virtual/range {v14 .. v20}, Landroid/media/MediaCodec;->queueInputBuffer(IIIJI)V
int-to-long v10, v10
.line 403
invoke-direct {v0, v10, v11}, Lcom/imo/android/imoim/util/k/d;->a(J)V
goto :goto_11
.line 418
:cond_60
iget-boolean v13, v0, Lcom/imo/android/imoim/util/k/d;->d:Z
if-nez v13, :cond_c0
iget-boolean v13, v0, Lcom/imo/android/imoim/util/k/d;->B:Z
if-nez v13, :cond_c0
iget-boolean v13, v0, Lcom/imo/android/imoim/util/k/d;->A:Z
if-eqz v13, :cond_c0
iget v13, v0, Lcom/imo/android/imoim/util/k/d;->H:I
if-eq v13, v12, :cond_c0
.line 419
iget-object v13, v0, Lcom/imo/android/imoim/util/k/d;->z:Ljava/nio/ByteBuffer;
invoke-virtual {v13}, Ljava/nio/ByteBuffer;->clear()Ljava/nio/Buffer;
.line 420
iput v2, v1, Landroid/media/MediaCodec$BufferInfo;->offset:I
.line 421
iget-object v13, v0, Lcom/imo/android/imoim/util/k/d;->r:Landroid/media/MediaExtractor;
iget-object v14, v0, Lcom/imo/android/imoim/util/k/d;->z:Ljava/nio/ByteBuffer;
invoke-virtual {v13, v14, v2}, Landroid/media/MediaExtractor;->readSampleData(Ljava/nio/ByteBuffer;I)I
move-result v13
iput v13, v1, Landroid/media/MediaCodec$BufferInfo;->size:I
.line 422
iget-object v13, v0, Lcom/imo/android/imoim/util/k/d;->r:Landroid/media/MediaExtractor;
invoke-virtual {v13}, Landroid/media/MediaExtractor;->getSampleTime()J
move-result-wide v13
iput-wide v13, v1, Landroid/media/MediaCodec$BufferInfo;->presentationTimeUs:J
.line 423
iput v2, v1, Landroid/media/MediaCodec$BufferInfo;->flags:I
.line 429
iget v13, v1, Landroid/media/MediaCodec$BufferInfo;->size:I
if-ne v13, v12, :cond_91
const/4 v13, 0x1
goto :goto_92
:cond_91
const/4 v13, 0x0
:goto_92
iput-boolean v13, v0, Lcom/imo/android/imoim/util/k/d;->B:Z
if-nez v13, :cond_c0
.line 433
iget-object v13, v0, Lcom/imo/android/imoim/util/k/d;->r:Landroid/media/MediaExtractor;
invoke-virtual {v13}, Landroid/media/MediaExtractor;->getSampleFlags()I
move-result v13
and-int/2addr v13, v9
if-eqz v13, :cond_a4
.line 434
iget v13, v1, Landroid/media/MediaCodec$BufferInfo;->flags:I
or-int/2addr v13, v9
iput v13, v1, Landroid/media/MediaCodec$BufferInfo;->flags:I
.line 435
:cond_a4
iget-object v13, v0, Lcom/imo/android/imoim/util/k/d;->s:Landroid/media/MediaMuxer;
iget v14, v0, Lcom/imo/android/imoim/util/k/d;->H:I
iget-object v15, v0, Lcom/imo/android/imoim/util/k/d;->z:Ljava/nio/ByteBuffer;
invoke-virtual {v13, v14, v15, v1}, Landroid/media/MediaMuxer;->writeSampleData(ILjava/nio/ByteBuffer;Landroid/media/MediaCodec$BufferInfo;)V
.line 437
iget v13, v1, Landroid/media/MediaCodec$BufferInfo;->size:I
int-to-long v13, v13
invoke-direct {v0, v13, v14}, Lcom/imo/android/imoim/util/k/d;->a(J)V
.line 438
iget-object v13, v0, Lcom/imo/android/imoim/util/k/d;->r:Landroid/media/MediaExtractor;
invoke-virtual {v13}, Landroid/media/MediaExtractor;->advance()Z
.line 440
iget-wide v13, v1, Landroid/media/MediaCodec$BufferInfo;->presentationTimeUs:J
cmp-long v15, v13, v3
if-lez v15, :cond_60
if-nez v5, :cond_60
:cond_c0
const/4 v13, 0x1
const/4 v14, 0x1
:goto_c2
if-nez v13, :cond_c6
if-eqz v14, :cond_e
.line 452
:cond_c6
iget-object v15, v0, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
invoke-virtual {v15, v1, v10, v11}, Landroid/media/MediaCodec;->dequeueOutputBuffer(Landroid/media/MediaCodec$BufferInfo;J)I
move-result v15
const/4 v10, -0x2
const/4 v11, -0x3
const/4 v2, 0x4
if-ne v15, v12, :cond_d4
const/4 v14, 0x0
goto/16 :goto_18d
:cond_d4
if-ne v15, v11, :cond_e0
.line 460
iget-object v11, v0, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
invoke-virtual {v11}, Landroid/media/MediaCodec;->getOutputBuffers()[Ljava/nio/ByteBuffer;
move-result-object v11
iput-object v11, v0, Lcom/imo/android/imoim/util/k/d;->y:[Ljava/nio/ByteBuffer;
goto/16 :goto_18d
:cond_e0
if-ne v15, v10, :cond_101
.line 464
iget-object v11, v0, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
invoke-virtual {v11}, Landroid/media/MediaCodec;->getOutputFormat()Landroid/media/MediaFormat;
move-result-object v11
.line 467
iget-boolean v10, v0, Lcom/imo/android/imoim/util/k/d;->d:Z
if-nez v10, :cond_18d
iget-boolean v10, v0, Lcom/imo/android/imoim/util/k/d;->A:Z
if-nez v10, :cond_18d
.line 468
iget-object v10, v0, Lcom/imo/android/imoim/util/k/d;->s:Landroid/media/MediaMuxer;
invoke-virtual {v10, v11}, Landroid/media/MediaMuxer;->addTrack(Landroid/media/MediaFormat;)I
move-result v10
iput v10, v0, Lcom/imo/android/imoim/util/k/d;->F:I
.line 473
iget-object v10, v0, Lcom/imo/android/imoim/util/k/d;->s:Landroid/media/MediaMuxer;
invoke-virtual {v10}, Landroid/media/MediaMuxer;->start()V
.line 474
iput-boolean v9, v0, Lcom/imo/android/imoim/util/k/d;->A:Z
goto/16 :goto_18d
:cond_101
if-ltz v15, :cond_2c7
.line 481
iget-object v5, v0, Lcom/imo/android/imoim/util/k/d;->y:[Ljava/nio/ByteBuffer;
aget-object v5, v5, v15
if-eqz v5, :cond_2ae
.line 486
iget-boolean v10, v0, Lcom/imo/android/imoim/util/k/d;->d:Z
if-nez v10, :cond_11a
iget-boolean v10, v0, Lcom/imo/android/imoim/util/k/d;->A:Z
if-eqz v10, :cond_112
goto :goto_11a
.line 487
:cond_112
new-instance v1, Ljava/lang/RuntimeException;
const-string v2, "Muxer should be started!"
invoke-direct {v1, v2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v1
.line 489
:cond_11a
:goto_11a
iget v10, v1, Landroid/media/MediaCodec$BufferInfo;->flags:I
and-int/lit8 v10, v10, 0x2
if-eqz v10, :cond_123
const/4 v10, 0x0
.line 490
iput v10, v1, Landroid/media/MediaCodec$BufferInfo;->size:I
.line 493
:cond_123
iget v10, v1, Landroid/media/MediaCodec$BufferInfo;->size:I
if-eqz v10, :cond_17f
.line 494
iget v3, v1, Landroid/media/MediaCodec$BufferInfo;->offset:I
invoke-virtual {v5, v3}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 495
iget v3, v1, Landroid/media/MediaCodec$BufferInfo;->offset:I
iget v4, v1, Landroid/media/MediaCodec$BufferInfo;->size:I
add-int/2addr v3, v4
invoke-virtual {v5, v3}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
.line 496
iget-boolean v3, v0, Lcom/imo/android/imoim/util/k/d;->d:Z
if-nez v3, :cond_13f
.line 497
iget-object v3, v0, Lcom/imo/android/imoim/util/k/d;->s:Landroid/media/MediaMuxer;
iget v4, v0, Lcom/imo/android/imoim/util/k/d;->F:I
invoke-virtual {v3, v4, v5, v1}, Landroid/media/MediaMuxer;->writeSampleData(ILjava/nio/ByteBuffer;Landroid/media/MediaCodec$BufferInfo;)V
.line 499
:cond_13f
iget-wide v3, v1, Landroid/media/MediaCodec$BufferInfo;->presentationTimeUs:J
.line 503
iget-boolean v5, v0, Lcom/imo/android/imoim/util/k/d;->d:Z
if-eqz v5, :cond_17f
add-int/lit8 v7, v7, 0x1
.line 505
iget v5, v1, Landroid/media/MediaCodec$BufferInfo;->size:I
add-int/2addr v8, v5
.line 506
sget v5, Lcom/imo/android/imoim/util/k/d;->g:I
iget v10, v0, Lcom/imo/android/imoim/util/k/d;->e:I
mul-int v5, v5, v10
if-ne v7, v5, :cond_17f
.line 507
iget-object v1, v0, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
const/4 v2, 0x0
invoke-virtual {v1, v15, v2}, Landroid/media/MediaCodec;->releaseOutputBuffer(IZ)V
mul-int/lit8 v8, v8, 0x8
.line 508
iput v8, v0, Lcom/imo/android/imoim/util/k/d;->c:I
.line 509
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "video transcode success estimate bitrate:"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget v2, v0, Lcom/imo/android/imoim/util/k/d;->c:I
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, " by counting "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, " frames"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "GLVideoTranscoder"
.line 4071
invoke-static {v2, v1}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
return-void
.line 514
:cond_17f
iget v5, v1, Landroid/media/MediaCodec$BufferInfo;->flags:I
and-int/2addr v5, v2
if-eqz v5, :cond_186
const/4 v5, 0x1
goto :goto_187
:cond_186
const/4 v5, 0x0
.line 515
:goto_187
iget-object v10, v0, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
const/4 v11, 0x0
invoke-virtual {v10, v15, v11}, Landroid/media/MediaCodec;->releaseOutputBuffer(IZ)V
:cond_18d
:goto_18d
if-ne v15, v12, :cond_2a3
.line 527
iget-object v10, v0, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
move-wide/from16 v21, v3
const-wide/16 v2, 0x3e8
invoke-virtual {v10, v1, v2, v3}, Landroid/media/MediaCodec;->dequeueOutputBuffer(Landroid/media/MediaCodec$BufferInfo;J)I
move-result v4
if-ne v4, v12, :cond_1a3
move-wide/from16 v3, v21
const/4 v2, 0x0
const-wide/16 v10, 0x3e8
const/4 v13, 0x0
goto/16 :goto_c2
:cond_1a3
const/4 v2, -0x3
if-eq v4, v2, :cond_2a5
const/4 v2, -0x2
if-ne v4, v2, :cond_1b0
.line 540
iget-object v2, v0, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
invoke-virtual {v2}, Landroid/media/MediaCodec;->getOutputFormat()Landroid/media/MediaFormat;
goto/16 :goto_2a5
:cond_1b0
if-ltz v4, :cond_293
.line 553
iget v2, v1, Landroid/media/MediaCodec$BufferInfo;->size:I
if-eqz v2, :cond_1b8
const/4 v2, 0x1
goto :goto_1b9
:cond_1b8
const/4 v2, 0x0
.line 564
:goto_1b9
iget-object v3, v0, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
invoke-virtual {v3, v4, v2}, Landroid/media/MediaCodec;->releaseOutputBuffer(IZ)V
if-eqz v2, :cond_285
.line 570
iget-object v2, v0, Lcom/imo/android/imoim/util/k/d;->w:Lcom/imo/android/imoim/util/k/f;
invoke-virtual {v2}, Lcom/imo/android/imoim/util/k/f;->b()V
.line 571
iget-object v2, v0, Lcom/imo/android/imoim/util/k/d;->w:Lcom/imo/android/imoim/util/k/f;
iget-boolean v3, v0, Lcom/imo/android/imoim/util/k/d;->M:Z
.line 4241
iget-object v4, v2, Lcom/imo/android/imoim/util/k/f;->c:Lcom/imo/android/imoim/util/k/i;
iget-object v2, v2, Lcom/imo/android/imoim/util/k/f;->a:Landroid/graphics/SurfaceTexture;
const-string v10, "onDrawFrame start"
.line 5058
invoke-static {v10}, Lcom/imo/android/imoim/util/k/i;->a(Ljava/lang/String;)V
.line 5059
iget-object v10, v4, Lcom/imo/android/imoim/util/k/i;->c:[F
invoke-virtual {v2, v10}, Landroid/graphics/SurfaceTexture;->getTransformMatrix([F)V
const/4 v2, 0x0
const/high16 v10, 0x3f800000 # 1.0f
if-eqz v3, :cond_1e9
.line 5061
iget-object v3, v4, Lcom/imo/android/imoim/util/k/i;->c:[F
const/4 v15, 0x0
invoke-static {v3, v15, v10, v2, v2}, Landroid/opengl/Matrix;->translateM([FIFFF)V
.line 5062
iget-object v3, v4, Lcom/imo/android/imoim/util/k/i;->c:[F
const/high16 v11, -0x40800000 # -1.0f
invoke-static {v3, v15, v11, v10, v10}, Landroid/opengl/Matrix;->scaleM([FIFFF)V
.line 5064
:cond_1e9
invoke-static {v2, v10, v2, v10}, Landroid/opengl/GLES20;->glClearColor(FFFF)V
const/16 v2, 0x4100
.line 5065
invoke-static {v2}, Landroid/opengl/GLES20;->glClear(I)V
.line 5066
iget v2, v4, Lcom/imo/android/imoim/util/k/i;->d:I
invoke-static {v2}, Landroid/opengl/GLES20;->glUseProgram(I)V
const-string v2, "glUseProgram"
.line 5067
invoke-static {v2}, Lcom/imo/android/imoim/util/k/i;->a(Ljava/lang/String;)V
const v2, 0x84c0
.line 5068
invoke-static {v2}, Landroid/opengl/GLES20;->glActiveTexture(I)V
const v2, 0x8d65
.line 5069
iget v3, v4, Lcom/imo/android/imoim/util/k/i;->e:I
invoke-static {v2, v3}, Landroid/opengl/GLES20;->glBindTexture(II)V
.line 5070
iget-object v2, v4, Lcom/imo/android/imoim/util/k/i;->a:Ljava/nio/FloatBuffer;
const/4 v3, 0x0
invoke-virtual {v2, v3}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 5071
iget v2, v4, Lcom/imo/android/imoim/util/k/i;->h:I
const/16 v24, 0x3
const/16 v25, 0x1406
const/16 v26, 0x0
const/16 v27, 0x14
iget-object v3, v4, Lcom/imo/android/imoim/util/k/i;->a:Ljava/nio/FloatBuffer;
move/from16 v23, v2
move-object/from16 v28, v3
invoke-static/range {v23 .. v28}, Landroid/opengl/GLES20;->glVertexAttribPointer(IIIZILjava/nio/Buffer;)V
const-string v2, "glVertexAttribPointer maPosition"
.line 5073
invoke-static {v2}, Lcom/imo/android/imoim/util/k/i;->a(Ljava/lang/String;)V
.line 5074
iget v2, v4, Lcom/imo/android/imoim/util/k/i;->h:I
invoke-static {v2}, Landroid/opengl/GLES20;->glEnableVertexAttribArray(I)V
const-string v2, "glEnableVertexAttribArray maPositionHandle"
.line 5075
invoke-static {v2}, Lcom/imo/android/imoim/util/k/i;->a(Ljava/lang/String;)V
.line 5076
iget-object v2, v4, Lcom/imo/android/imoim/util/k/i;->a:Ljava/nio/FloatBuffer;
const/4 v3, 0x3
invoke-virtual {v2, v3}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 5077
iget v2, v4, Lcom/imo/android/imoim/util/k/i;->i:I
const/16 v24, 0x2
iget-object v3, v4, Lcom/imo/android/imoim/util/k/i;->a:Ljava/nio/FloatBuffer;
move/from16 v23, v2
move-object/from16 v28, v3
invoke-static/range {v23 .. v28}, Landroid/opengl/GLES20;->glVertexAttribPointer(IIIZILjava/nio/Buffer;)V
const-string v2, "glVertexAttribPointer maTextureHandle"
.line 5079
invoke-static {v2}, Lcom/imo/android/imoim/util/k/i;->a(Ljava/lang/String;)V
.line 5080
iget v2, v4, Lcom/imo/android/imoim/util/k/i;->i:I
invoke-static {v2}, Landroid/opengl/GLES20;->glEnableVertexAttribArray(I)V
const-string v2, "glEnableVertexAttribArray maTextureHandle"
.line 5081
invoke-static {v2}, Lcom/imo/android/imoim/util/k/i;->a(Ljava/lang/String;)V
.line 5082
iget-object v2, v4, Lcom/imo/android/imoim/util/k/i;->b:[F
const/4 v3, 0x0
invoke-static {v2, v3}, Landroid/opengl/Matrix;->setIdentityM([FI)V
.line 5083
iget v2, v4, Lcom/imo/android/imoim/util/k/i;->f:I
iget-object v10, v4, Lcom/imo/android/imoim/util/k/i;->b:[F
invoke-static {v2, v9, v3, v10, v3}, Landroid/opengl/GLES20;->glUniformMatrix4fv(IIZ[FI)V
.line 5084
iget v2, v4, Lcom/imo/android/imoim/util/k/i;->g:I
iget-object v4, v4, Lcom/imo/android/imoim/util/k/i;->c:[F
invoke-static {v2, v9, v3, v4, v3}, Landroid/opengl/GLES20;->glUniformMatrix4fv(IIZ[FI)V
const/4 v2, 0x5
const/4 v4, 0x4
.line 5085
invoke-static {v2, v3, v4}, Landroid/opengl/GLES20;->glDrawArrays(III)V
const-string v2, "glDrawArrays"
.line 5086
invoke-static {v2}, Lcom/imo/android/imoim/util/k/i;->a(Ljava/lang/String;)V
.line 5087
invoke-static {}, Landroid/opengl/GLES20;->glFinish()V
.line 573
iget-object v2, v0, Lcom/imo/android/imoim/util/k/d;->v:Lcom/imo/android/imoim/util/k/e;
iget-wide v3, v1, Landroid/media/MediaCodec$BufferInfo;->presentationTimeUs:J
const-wide/16 v16, 0x3e8
mul-long v3, v3, v16
.line 574
invoke-virtual {v2, v3, v4}, Lcom/imo/android/imoim/util/k/e;->a(J)V
.line 577
iget-object v2, v0, Lcom/imo/android/imoim/util/k/d;->v:Lcom/imo/android/imoim/util/k/e;
invoke-virtual {v2}, Lcom/imo/android/imoim/util/k/e;->c()Z
goto :goto_287
:cond_285
const-wide/16 v16, 0x3e8
.line 579
:goto_287
iget v2, v1, Landroid/media/MediaCodec$BufferInfo;->flags:I
const/4 v3, 0x4
and-int/2addr v2, v3
if-eqz v2, :cond_2a7
.line 588
:try_start_28d
iget-object v2, v0, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
invoke-virtual {v2}, Landroid/media/MediaCodec;->signalEndOfInputStream()V
:try_end_292
.catch Ljava/lang/RuntimeException; {:try_start_28d .. :try_end_292} :catch_2a7
goto :goto_2a7
.line 544
:cond_293
new-instance v1, Ljava/lang/RuntimeException;
invoke-static {v4}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v2
const-string v3, "unexpected result from decoder.dequeueOutputBuffer: "
invoke-virtual {v3, v2}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v1
:cond_2a3
move-wide/from16 v21, v3
:cond_2a5
:goto_2a5
const-wide/16 v16, 0x3e8
:catch_2a7
:cond_2a7
:goto_2a7
move-wide/from16 v10, v16
move-wide/from16 v3, v21
const/4 v2, 0x0
goto/16 :goto_c2
.line 483
:cond_2ae
new-instance v1, Ljava/lang/RuntimeException;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "encoderOutputBuffer "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, " was null"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v1
.line 477
:cond_2c7
new-instance v1, Ljava/lang/RuntimeException;
invoke-static {v15}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v2
const-string v3, "unexpected result from encoder.dequeueOutputBuffer: "
invoke-virtual {v3, v2}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v1
:cond_2d7
return-void
.end method
# virtual methods
.method public final a()Lcom/imo/android/imoim/util/k/d$b;
.registers 22
move-object/from16 v1, p0
const-string v2, "The video is too small and there is no point to resize it."
const-string v3, "video/avc"
const-string v4, "rotation-degrees"
const-string v5, "mime"
const-string v6, "i-frame-interval"
const-string v7, "frame-rate"
const-string v8, "bitrate"
const-string v9, "Transcoding cleanup error: "
.line 601
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v10
const-string v12, "GLVideoTranscoder"
const-string v13, "Started transcoding!"
.line 6071
invoke-static {v12, v13}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 6228
:try_start_1d
new-instance v13, Landroid/media/MediaExtractor;
invoke-direct {v13}, Landroid/media/MediaExtractor;-><init>()V
iput-object v13, v1, Lcom/imo/android/imoim/util/k/d;->q:Landroid/media/MediaExtractor;
.line 6229
iget-object v14, v1, Lcom/imo/android/imoim/util/k/d;->n:Ljava/lang/String;
invoke-virtual {v13, v14}, Landroid/media/MediaExtractor;->setDataSource(Ljava/lang/String;)V
.line 6231
invoke-direct/range {p0 .. p0}, Lcom/imo/android/imoim/util/k/d;->b()I
move-result v13
iput v13, v1, Lcom/imo/android/imoim/util/k/d;->E:I
const/4 v14, -0x1
if-eq v13, v14, :cond_478
.line 6235
iget-object v15, v1, Lcom/imo/android/imoim/util/k/d;->q:Landroid/media/MediaExtractor;
invoke-virtual {v15, v13}, Landroid/media/MediaExtractor;->getTrackFormat(I)Landroid/media/MediaFormat;
move-result-object v13
iput-object v13, v1, Lcom/imo/android/imoim/util/k/d;->C:Landroid/media/MediaFormat;
.line 6243
new-instance v13, Landroid/media/MediaMetadataRetriever;
invoke-direct {v13}, Landroid/media/MediaMetadataRetriever;-><init>()V
.line 6244
iget-object v15, v1, Lcom/imo/android/imoim/util/k/d;->n:Ljava/lang/String;
invoke-virtual {v13, v15}, Landroid/media/MediaMetadataRetriever;->setDataSource(Ljava/lang/String;)V
.line 6246
iget-object v15, v1, Lcom/imo/android/imoim/util/k/d;->C:Landroid/media/MediaFormat;
const-string v14, "width"
invoke-virtual {v15, v14}, Landroid/media/MediaFormat;->getInteger(Ljava/lang/String;)I
move-result v14
iput v14, v1, Lcom/imo/android/imoim/util/k/d;->j:I
.line 6247
iget-object v14, v1, Lcom/imo/android/imoim/util/k/d;->C:Landroid/media/MediaFormat;
const-string v15, "height"
invoke-virtual {v14, v15}, Landroid/media/MediaFormat;->getInteger(Ljava/lang/String;)I
move-result v14
iput v14, v1, Lcom/imo/android/imoim/util/k/d;->k:I
.line 6248
iget-object v14, v1, Lcom/imo/android/imoim/util/k/d;->C:Landroid/media/MediaFormat;
invoke-virtual {v14, v8}, Landroid/media/MediaFormat;->containsKey(Ljava/lang/String;)Z
move-result v14
:try_end_5e
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_1d .. :try_end_5e} :catch_513
.catch Ljava/lang/Exception; {:try_start_1d .. :try_end_5e} :catch_488
.catchall {:try_start_1d .. :try_end_5e} :catchall_483
if-eqz v14, :cond_6e
.line 6249
:try_start_60
iget-object v14, v1, Lcom/imo/android/imoim/util/k/d;->C:Landroid/media/MediaFormat;
invoke-virtual {v14, v8}, Landroid/media/MediaFormat;->getInteger(Ljava/lang/String;)I
move-result v14
iput v14, v1, Lcom/imo/android/imoim/util/k/d;->l:I
:try_end_68
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_60 .. :try_end_68} :catch_513
.catch Ljava/lang/Exception; {:try_start_60 .. :try_end_68} :catch_69
.catchall {:try_start_60 .. :try_end_68} :catchall_7b
goto :goto_80
:catch_69
move-exception v0
move-object v2, v0
move-object v4, v9
goto/16 :goto_48b
:cond_6e
const/16 v14, 0x14
.line 6254
:try_start_70
invoke-virtual {v13, v14}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v14
.line 6253
invoke-static {v14}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v14
iput v14, v1, Lcom/imo/android/imoim/util/k/d;->l:I
:try_end_7a
.catch Ljava/lang/Exception; {:try_start_70 .. :try_end_7a} :catch_80
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_70 .. :try_end_7a} :catch_513
.catchall {:try_start_70 .. :try_end_7a} :catchall_7b
goto :goto_80
:catchall_7b
move-exception v0
move-object v2, v0
move-object v4, v9
goto/16 :goto_58a
.line 6260
:catch_80
:goto_80
:try_start_80
iget-object v14, v1, Lcom/imo/android/imoim/util/k/d;->C:Landroid/media/MediaFormat;
invoke-virtual {v14, v4}, Landroid/media/MediaFormat;->containsKey(Ljava/lang/String;)Z
move-result v14
:try_end_86
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_80 .. :try_end_86} :catch_513
.catch Ljava/lang/Exception; {:try_start_80 .. :try_end_86} :catch_488
.catchall {:try_start_80 .. :try_end_86} :catchall_483
if-eqz v14, :cond_a0
.line 6261
:try_start_88
iget-object v13, v1, Lcom/imo/android/imoim/util/k/d;->C:Landroid/media/MediaFormat;
invoke-virtual {v13, v4}, Landroid/media/MediaFormat;->getInteger(Ljava/lang/String;)I
move-result v4
const/16 v13, 0x5a
if-eq v4, v13, :cond_96
const/16 v13, 0x10e
if-ne v4, v13, :cond_9e
.line 6263
:cond_96
iget v4, v1, Lcom/imo/android/imoim/util/k/d;->j:I
.line 6264
iget v13, v1, Lcom/imo/android/imoim/util/k/d;->k:I
iput v13, v1, Lcom/imo/android/imoim/util/k/d;->j:I
.line 6265
iput v4, v1, Lcom/imo/android/imoim/util/k/d;->k:I
:try_end_9e
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_88 .. :try_end_9e} :catch_513
.catch Ljava/lang/Exception; {:try_start_88 .. :try_end_9e} :catch_69
.catchall {:try_start_88 .. :try_end_9e} :catchall_7b
:cond_9e
const/4 v4, 0x0
goto :goto_af
:cond_a0
const/16 v4, 0x18
.line 6271
:try_start_a2
invoke-virtual {v13, v4}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v4
.line 6270
invoke-static {v4}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v4
:try_end_aa
.catch Ljava/lang/Exception; {:try_start_a2 .. :try_end_aa} :catch_ab
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_a2 .. :try_end_aa} :catch_513
.catchall {:try_start_a2 .. :try_end_aa} :catchall_7b
goto :goto_ac
:catch_ab
const/4 v4, 0x0
.line 6273
:goto_ac
:try_start_ac
invoke-virtual {v13}, Landroid/media/MediaMetadataRetriever;->release()V
.line 6276
:goto_af
iget-object v13, v1, Lcom/imo/android/imoim/util/k/d;->O:Lcom/imo/android/imoim/util/k/h;
:try_end_b1
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_ac .. :try_end_b1} :catch_513
.catch Ljava/lang/Exception; {:try_start_ac .. :try_end_b1} :catch_488
.catchall {:try_start_ac .. :try_end_b1} :catchall_483
const-string v14, "x"
if-eqz v13, :cond_fe
.line 6277
:try_start_b5
iget-object v13, v1, Lcom/imo/android/imoim/util/k/d;->O:Lcom/imo/android/imoim/util/k/h;
new-instance v15, Ljava/lang/StringBuilder;
invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
:try_end_bc
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_b5 .. :try_end_bc} :catch_513
.catch Ljava/lang/Exception; {:try_start_b5 .. :try_end_bc} :catch_69
.catchall {:try_start_b5 .. :try_end_bc} :catchall_7b
move-object/from16 v16, v9
:try_start_be
iget v9, v1, Lcom/imo/android/imoim/util/k/d;->j:I
invoke-virtual {v15, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v15, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v9, v1, Lcom/imo/android/imoim/util/k/d;->k:I
invoke-virtual {v15, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v9
const-string v15, "<set-?>"
invoke-static {v9, v15}, Lkotlin/f/b/o;->b(Ljava/lang/Object;Ljava/lang/String;)V
.line 7041
iput-object v9, v13, Lcom/imo/android/imoim/util/k/l;->i:Ljava/lang/String;
.line 6278
iget-object v9, v1, Lcom/imo/android/imoim/util/k/d;->O:Lcom/imo/android/imoim/util/k/h;
new-instance v13, Ljava/lang/StringBuilder;
invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
iget v15, v1, Lcom/imo/android/imoim/util/k/d;->j:I
invoke-virtual {v13, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v15, v1, Lcom/imo/android/imoim/util/k/d;->k:I
invoke-virtual {v13, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v13
invoke-virtual {v9, v13}, Lcom/imo/android/imoim/util/k/h;->a(Ljava/lang/String;)V
.line 6279
iget-object v9, v1, Lcom/imo/android/imoim/util/k/d;->O:Lcom/imo/android/imoim/util/k/h;
iget v13, v1, Lcom/imo/android/imoim/util/k/d;->l:I
.line 7057
iput v13, v9, Lcom/imo/android/imoim/util/k/h;->d:I
.line 6280
iget-object v9, v1, Lcom/imo/android/imoim/util/k/d;->O:Lcom/imo/android/imoim/util/k/h;
iget v13, v1, Lcom/imo/android/imoim/util/k/d;->b:I
.line 7059
iput v13, v9, Lcom/imo/android/imoim/util/k/h;->f:I
:try_end_fd
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_be .. :try_end_fd} :catch_474
.catch Ljava/lang/Exception; {:try_start_be .. :try_end_fd} :catch_1ce
.catchall {:try_start_be .. :try_end_fd} :catchall_1c8
goto :goto_100
:cond_fe
move-object/from16 v16, v9
.line 6283
:goto_100
:try_start_100
iget-boolean v9, v1, Lcom/imo/android/imoim/util/k/d;->a:Z
:try_end_102
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_100 .. :try_end_102} :catch_474
.catch Ljava/lang/Exception; {:try_start_100 .. :try_end_102} :catch_470
.catchall {:try_start_100 .. :try_end_102} :catchall_46c
if-eqz v9, :cond_1d4
.line 7196
:try_start_104
iget v15, v1, Lcom/imo/android/imoim/util/k/d;->b:I
.line 7198
iget-boolean v9, v1, Lcom/imo/android/imoim/util/k/d;->f:Z
if-eqz v9, :cond_117
iget v9, v1, Lcom/imo/android/imoim/util/k/d;->j:I
const/16 v13, 0x2d0
if-lt v9, v13, :cond_117
iget v9, v1, Lcom/imo/android/imoim/util/k/d;->k:I
if-lt v9, v13, :cond_117
const/16 v9, 0x280
goto :goto_119
:cond_117
const/16 v9, 0x1e0
.line 7201
:goto_119
iget v13, v1, Lcom/imo/android/imoim/util/k/d;->j:I
move-wide/from16 v18, v10
iget v10, v1, Lcom/imo/android/imoim/util/k/d;->k:I
invoke-static {v13, v10}, Ljava/lang/Math;->max(II)I
move-result v10
if-gt v10, v9, :cond_13b
.line 7202
iget v9, v1, Lcom/imo/android/imoim/util/k/d;->l:I
mul-int/lit8 v15, v15, 0x2
if-le v9, v15, :cond_132
move v13, v4
move-object v2, v5
move-object/from16 v17, v6
move-object/from16 v20, v7
goto :goto_18d
.line 8071
:cond_132
invoke-static {v12, v2}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 7208
new-instance v3, Lcom/imo/android/imoim/util/k/d$a;
invoke-direct {v3, v2}, Lcom/imo/android/imoim/util/k/d$a;-><init>(Ljava/lang/String;)V
throw v3
.line 7212
:cond_13b
iget v2, v1, Lcom/imo/android/imoim/util/k/d;->j:I
iget v10, v1, Lcom/imo/android/imoim/util/k/d;->k:I
if-le v2, v10, :cond_160
.line 7213
iget v2, v1, Lcom/imo/android/imoim/util/k/d;->k:I
int-to-double v10, v2
move v13, v4
move-object v2, v5
int-to-double v4, v9
iget v15, v1, Lcom/imo/android/imoim/util/k/d;->j:I
:try_end_149
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_104 .. :try_end_149} :catch_474
.catch Ljava/lang/Exception; {:try_start_104 .. :try_end_149} :catch_1ce
.catchall {:try_start_104 .. :try_end_149} :catchall_1c8
move-object/from16 v17, v6
move-object/from16 v20, v7
int-to-double v6, v15
invoke-static {v4, v5}, Ljava/lang/Double;->isNaN(D)Z
invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v4, v6
invoke-static {v10, v11}, Ljava/lang/Double;->isNaN(D)Z
mul-double v10, v10, v4
double-to-int v4, v10
:try_start_15b
iput v4, v1, Lcom/imo/android/imoim/util/k/d;->k:I
.line 7214
iput v9, v1, Lcom/imo/android/imoim/util/k/d;->j:I
goto :goto_17e
:cond_160
move v13, v4
move-object v2, v5
move-object/from16 v17, v6
move-object/from16 v20, v7
.line 7216
iget v4, v1, Lcom/imo/android/imoim/util/k/d;->j:I
int-to-double v4, v4
int-to-double v6, v9
iget v10, v1, Lcom/imo/android/imoim/util/k/d;->k:I
:try_end_16c
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_15b .. :try_end_16c} :catch_474
.catch Ljava/lang/Exception; {:try_start_15b .. :try_end_16c} :catch_1ce
.catchall {:try_start_15b .. :try_end_16c} :catchall_1c8
int-to-double v10, v10
invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z
invoke-static {v10, v11}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v6, v10
invoke-static {v4, v5}, Ljava/lang/Double;->isNaN(D)Z
mul-double v4, v4, v6
double-to-int v4, v4
:try_start_17a
iput v4, v1, Lcom/imo/android/imoim/util/k/d;->j:I
.line 7217
iput v9, v1, Lcom/imo/android/imoim/util/k/d;->k:I
.line 7222
:goto_17e
iget v4, v1, Lcom/imo/android/imoim/util/k/d;->j:I
const/4 v5, 0x1
add-int/2addr v4, v5
and-int/lit8 v4, v4, -0x2
iput v4, v1, Lcom/imo/android/imoim/util/k/d;->j:I
.line 7223
iget v4, v1, Lcom/imo/android/imoim/util/k/d;->k:I
add-int/2addr v4, v5
and-int/lit8 v4, v4, -0x2
iput v4, v1, Lcom/imo/android/imoim/util/k/d;->k:I
.line 6285
:goto_18d
new-instance v4, Ljava/lang/StringBuilder;
const-string v5, "Output dimensions: "
invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget v5, v1, Lcom/imo/android/imoim/util/k/d;->j:I
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v4, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v5, v1, Lcom/imo/android/imoim/util/k/d;->k:I
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
.line 9071
invoke-static {v12, v4}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 6287
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->O:Lcom/imo/android/imoim/util/k/h;
if-eqz v4, :cond_1dc
.line 6288
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->O:Lcom/imo/android/imoim/util/k/h;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
iget v6, v1, Lcom/imo/android/imoim/util/k/d;->j:I
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v5, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v6, v1, Lcom/imo/android/imoim/util/k/d;->k:I
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-virtual {v4, v5}, Lcom/imo/android/imoim/util/k/h;->a(Ljava/lang/String;)V
:try_end_1c7
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_17a .. :try_end_1c7} :catch_474
.catch Ljava/lang/Exception; {:try_start_17a .. :try_end_1c7} :catch_1ce
.catchall {:try_start_17a .. :try_end_1c7} :catchall_1c8
goto :goto_1dc
:catchall_1c8
move-exception v0
move-object v2, v0
move-object/from16 v4, v16
goto/16 :goto_58a
:catch_1ce
move-exception v0
move-object v2, v0
move-object/from16 v4, v16
goto/16 :goto_48b
:cond_1d4
move v13, v4
move-object v2, v5
move-object/from16 v17, v6
move-object/from16 v20, v7
move-wide/from16 v18, v10
.line 6292
:cond_1dc
:goto_1dc
:try_start_1dc
iget v4, v1, Lcom/imo/android/imoim/util/k/d;->j:I
iget v5, v1, Lcom/imo/android/imoim/util/k/d;->k:I
invoke-static {v3, v4, v5}, Landroid/media/MediaFormat;->createVideoFormat(Ljava/lang/String;II)Landroid/media/MediaFormat;
move-result-object v4
iput-object v4, v1, Lcom/imo/android/imoim/util/k/d;->D:Landroid/media/MediaFormat;
const-string v5, "color-format"
const v6, 0x7f000789
.line 6294
invoke-virtual {v4, v5, v6}, Landroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
.line 6296
iget v4, v1, Lcom/imo/android/imoim/util/k/d;->b:I
.line 6297
iget-object v5, v1, Lcom/imo/android/imoim/util/k/d;->D:Landroid/media/MediaFormat;
invoke-virtual {v5, v8, v4}, Landroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
.line 6298
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->C:Landroid/media/MediaFormat;
move-object/from16 v5, v20
invoke-virtual {v4, v5}, Landroid/media/MediaFormat;->containsKey(Ljava/lang/String;)Z
move-result v4
:try_end_1fd
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_1dc .. :try_end_1fd} :catch_474
.catch Ljava/lang/Exception; {:try_start_1dc .. :try_end_1fd} :catch_470
.catchall {:try_start_1dc .. :try_end_1fd} :catchall_46c
if-eqz v4, :cond_207
.line 6299
:try_start_1ff
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->C:Landroid/media/MediaFormat;
invoke-virtual {v4, v5}, Landroid/media/MediaFormat;->getInteger(Ljava/lang/String;)I
move-result v4
sput v4, Lcom/imo/android/imoim/util/k/d;->g:I
:try_end_207
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_1ff .. :try_end_207} :catch_474
.catch Ljava/lang/Exception; {:try_start_1ff .. :try_end_207} :catch_1ce
.catchall {:try_start_1ff .. :try_end_207} :catchall_1c8
.line 6300
:cond_207
:try_start_207
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->D:Landroid/media/MediaFormat;
sget v6, Lcom/imo/android/imoim/util/k/d;->g:I
invoke-virtual {v4, v5, v6}, Landroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
.line 6301
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->C:Landroid/media/MediaFormat;
move-object/from16 v5, v17
invoke-virtual {v4, v5}, Landroid/media/MediaFormat;->containsKey(Ljava/lang/String;)Z
move-result v4
:try_end_216
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_207 .. :try_end_216} :catch_474
.catch Ljava/lang/Exception; {:try_start_207 .. :try_end_216} :catch_470
.catchall {:try_start_207 .. :try_end_216} :catchall_46c
if-eqz v4, :cond_220
.line 6302
:try_start_218
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->C:Landroid/media/MediaFormat;
.line 6303
invoke-virtual {v4, v5}, Landroid/media/MediaFormat;->getInteger(Ljava/lang/String;)I
move-result v4
sput v4, Lcom/imo/android/imoim/util/k/d;->h:I
:try_end_220
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_218 .. :try_end_220} :catch_474
.catch Ljava/lang/Exception; {:try_start_218 .. :try_end_220} :catch_1ce
.catchall {:try_start_218 .. :try_end_220} :catchall_1c8
.line 6304
:cond_220
:try_start_220
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->D:Landroid/media/MediaFormat;
sget v6, Lcom/imo/android/imoim/util/k/d;->h:I
invoke-virtual {v4, v5, v6}, Landroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
.line 6308
iget-boolean v4, v1, Lcom/imo/android/imoim/util/k/d;->d:Z
:try_end_229
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_220 .. :try_end_229} :catch_474
.catch Ljava/lang/Exception; {:try_start_220 .. :try_end_229} :catch_470
.catchall {:try_start_220 .. :try_end_229} :catchall_46c
if-eqz v4, :cond_233
.line 6309
:try_start_22b
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->D:Landroid/media/MediaFormat;
const-string v5, "bitrate-mode"
const/4 v6, 0x0
invoke-virtual {v4, v5, v6}, Landroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
:try_end_233
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_22b .. :try_end_233} :catch_474
.catch Ljava/lang/Exception; {:try_start_22b .. :try_end_233} :catch_1ce
.catchall {:try_start_22b .. :try_end_233} :catchall_1c8
.line 6312
:cond_233
:try_start_233
invoke-static {v3}, Landroid/media/MediaCodec;->createEncoderByType(Ljava/lang/String;)Landroid/media/MediaCodec;
move-result-object v3
iput-object v3, v1, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
.line 6313
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->D:Landroid/media/MediaFormat;
const/4 v5, 0x0
const/4 v6, 0x1
invoke-virtual {v3, v4, v5, v5, v6}, Landroid/media/MediaCodec;->configure(Landroid/media/MediaFormat;Landroid/view/Surface;Landroid/media/MediaCrypto;I)V
.line 6315
new-instance v3, Lcom/imo/android/imoim/util/k/e;
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
invoke-virtual {v4}, Landroid/media/MediaCodec;->createInputSurface()Landroid/view/Surface;
move-result-object v4
invoke-direct {v3, v4}, Lcom/imo/android/imoim/util/k/e;-><init>(Landroid/view/Surface;)V
iput-object v3, v1, Lcom/imo/android/imoim/util/k/d;->v:Lcom/imo/android/imoim/util/k/e;
.line 6316
invoke-virtual {v3}, Lcom/imo/android/imoim/util/k/e;->b()V
.line 6317
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
invoke-virtual {v3}, Landroid/media/MediaCodec;->start()V
.line 6321
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->C:Landroid/media/MediaFormat;
invoke-virtual {v3, v2}, Landroid/media/MediaFormat;->containsKey(Ljava/lang/String;)Z
move-result v3
:try_end_25b
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_233 .. :try_end_25b} :catch_474
.catch Ljava/lang/Exception; {:try_start_233 .. :try_end_25b} :catch_470
.catchall {:try_start_233 .. :try_end_25b} :catchall_46c
if-eqz v3, :cond_265
.line 6322
:try_start_25d
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->C:Landroid/media/MediaFormat;
invoke-virtual {v3, v2}, Landroid/media/MediaFormat;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
sput-object v3, Lcom/imo/android/imoim/util/k/d;->i:Ljava/lang/String;
:try_end_265
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_25d .. :try_end_265} :catch_474
.catch Ljava/lang/Exception; {:try_start_25d .. :try_end_265} :catch_1ce
.catchall {:try_start_25d .. :try_end_265} :catchall_1c8
.line 6323
:cond_265
:try_start_265
sget-object v3, Lcom/imo/android/imoim/util/k/d;->i:Ljava/lang/String;
invoke-static {v3}, Landroid/media/MediaCodec;->createDecoderByType(Ljava/lang/String;)Landroid/media/MediaCodec;
move-result-object v3
iput-object v3, v1, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
.line 6324
new-instance v3, Lcom/imo/android/imoim/util/k/f;
invoke-direct {v3}, Lcom/imo/android/imoim/util/k/f;-><init>()V
iput-object v3, v1, Lcom/imo/android/imoim/util/k/d;->w:Lcom/imo/android/imoim/util/k/f;
.line 6325
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
iget-object v6, v1, Lcom/imo/android/imoim/util/k/d;->C:Landroid/media/MediaFormat;
.line 9197
iget-object v3, v3, Lcom/imo/android/imoim/util/k/f;->b:Landroid/view/Surface;
const/4 v7, 0x0
.line 6325
invoke-virtual {v4, v6, v3, v5, v7}, Landroid/media/MediaCodec;->configure(Landroid/media/MediaFormat;Landroid/view/Surface;Landroid/media/MediaCrypto;I)V
.line 6326
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
invoke-virtual {v3}, Landroid/media/MediaCodec;->start()V
.line 6328
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
invoke-virtual {v3}, Landroid/media/MediaCodec;->getInputBuffers()[Ljava/nio/ByteBuffer;
move-result-object v3
iput-object v3, v1, Lcom/imo/android/imoim/util/k/d;->x:[Ljava/nio/ByteBuffer;
.line 6329
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
invoke-virtual {v3}, Landroid/media/MediaCodec;->getOutputBuffers()[Ljava/nio/ByteBuffer;
move-result-object v3
iput-object v3, v1, Lcom/imo/android/imoim/util/k/d;->y:[Ljava/nio/ByteBuffer;
.line 6331
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "Selected decoder: "
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
invoke-virtual {v4}, Landroid/media/MediaCodec;->getName()Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
.line 10071
invoke-static {v12, v3}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 6332
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "Selected encoder: "
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
invoke-virtual {v4}, Landroid/media/MediaCodec;->getName()Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
.line 11071
invoke-static {v12, v3}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 6335
iget-boolean v3, v1, Lcom/imo/android/imoim/util/k/d;->d:Z
:try_end_2c3
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_265 .. :try_end_2c3} :catch_474
.catch Ljava/lang/Exception; {:try_start_265 .. :try_end_2c3} :catch_470
.catchall {:try_start_265 .. :try_end_2c3} :catchall_46c
if-nez v3, :cond_330
.line 6340
:try_start_2c5
new-instance v3, Landroid/media/MediaExtractor;
invoke-direct {v3}, Landroid/media/MediaExtractor;-><init>()V
iput-object v3, v1, Lcom/imo/android/imoim/util/k/d;->r:Landroid/media/MediaExtractor;
.line 6341
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->n:Ljava/lang/String;
invoke-virtual {v3, v4}, Landroid/media/MediaExtractor;->setDataSource(Ljava/lang/String;)V
.line 6342
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->r:Landroid/media/MediaExtractor;
invoke-static {v3}, Lcom/imo/android/imoim/util/k/d;->a(Landroid/media/MediaExtractor;)I
move-result v3
iput v3, v1, Lcom/imo/android/imoim/util/k/d;->G:I
.line 6344
new-instance v3, Ljava/io/File;
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->o:Ljava/lang/String;
invoke-direct {v3, v4}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v3}, Ljava/io/File;->delete()Z
.line 6345
new-instance v3, Landroid/media/MediaMuxer;
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->o:Ljava/lang/String;
const/4 v5, 0x0
invoke-direct {v3, v4, v5}, Landroid/media/MediaMuxer;-><init>(Ljava/lang/String;I)V
iput-object v3, v1, Lcom/imo/android/imoim/util/k/d;->s:Landroid/media/MediaMuxer;
.line 6347
rem-int/lit8 v4, v13, 0x5a
if-nez v4, :cond_2f4
.line 6348
invoke-virtual {v3, v13}, Landroid/media/MediaMuxer;->setOrientationHint(I)V
.line 6350
:cond_2f4
iget v3, v1, Lcom/imo/android/imoim/util/k/d;->G:I
const/4 v4, -0x1
if-eq v3, v4, :cond_31e
.line 6351
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->r:Landroid/media/MediaExtractor;
iget v4, v1, Lcom/imo/android/imoim/util/k/d;->G:I
invoke-virtual {v3, v4}, Landroid/media/MediaExtractor;->getTrackFormat(I)Landroid/media/MediaFormat;
move-result-object v3
.line 11155
invoke-virtual {v3, v2}, Landroid/media/MediaFormat;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
const-string v4, "audio/unknown"
.line 6352
invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_316
.line 6356
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->s:Landroid/media/MediaMuxer;
invoke-virtual {v2, v3}, Landroid/media/MediaMuxer;->addTrack(Landroid/media/MediaFormat;)I
move-result v2
iput v2, v1, Lcom/imo/android/imoim/util/k/d;->H:I
goto :goto_330
.line 6353
:cond_316
new-instance v2, Ljava/lang/RuntimeException;
const-string v3, "Unrecognized audio track."
invoke-direct {v2, v3}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v2
.line 6359
:cond_31e
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->r:Landroid/media/MediaExtractor;
invoke-virtual {v2}, Landroid/media/MediaExtractor;->getTrackCount()I
move-result v2
const/4 v3, 0x1
if-gt v2, v3, :cond_328
goto :goto_330
.line 6360
:cond_328
new-instance v2, Ljava/lang/RuntimeException;
const-string v3, "Have other unrecognized tracks, maybe audio or not."
invoke-direct {v2, v3}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v2
:try_end_330
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_2c5 .. :try_end_330} :catch_474
.catch Ljava/lang/Exception; {:try_start_2c5 .. :try_end_330} :catch_1ce
.catchall {:try_start_2c5 .. :try_end_330} :catchall_1c8
.line 605
:cond_330
:goto_330
:try_start_330
invoke-direct/range {p0 .. p0}, Lcom/imo/android/imoim/util/k/d;->c()V
:try_end_333
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_330 .. :try_end_333} :catch_474
.catch Ljava/lang/Exception; {:try_start_330 .. :try_end_333} :catch_470
.catchall {:try_start_330 .. :try_end_333} :catchall_46c
.line 617
:try_start_333
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->w:Lcom/imo/android/imoim/util/k/f;
if-eqz v2, :cond_33c
.line 618
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->w:Lcom/imo/android/imoim/util/k/f;
invoke-virtual {v2}, Lcom/imo/android/imoim/util/k/f;->a()V
.line 620
:cond_33c
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->v:Lcom/imo/android/imoim/util/k/e;
if-eqz v2, :cond_345
.line 621
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->v:Lcom/imo/android/imoim/util/k/e;
invoke-virtual {v2}, Lcom/imo/android/imoim/util/k/e;->a()V
.line 623
:cond_345
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
if-eqz v2, :cond_353
.line 624
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
invoke-virtual {v2}, Landroid/media/MediaCodec;->stop()V
.line 625
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
invoke-virtual {v2}, Landroid/media/MediaCodec;->release()V
.line 627
:cond_353
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
if-eqz v2, :cond_361
.line 628
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
invoke-virtual {v2}, Landroid/media/MediaCodec;->stop()V
.line 629
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
invoke-virtual {v2}, Landroid/media/MediaCodec;->release()V
.line 631
:cond_361
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->s:Landroid/media/MediaMuxer;
if-eqz v2, :cond_373
.line 632
iget-boolean v2, v1, Lcom/imo/android/imoim/util/k/d;->A:Z
if-eqz v2, :cond_36e
.line 633
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->s:Landroid/media/MediaMuxer;
invoke-virtual {v2}, Landroid/media/MediaMuxer;->stop()V
.line 634
:cond_36e
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->s:Landroid/media/MediaMuxer;
invoke-virtual {v2}, Landroid/media/MediaMuxer;->release()V
.line 636
:cond_373
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->q:Landroid/media/MediaExtractor;
if-eqz v2, :cond_37c
.line 637
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->q:Landroid/media/MediaExtractor;
invoke-virtual {v2}, Landroid/media/MediaExtractor;->release()V
.line 639
:cond_37c
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->r:Landroid/media/MediaExtractor;
if-eqz v2, :cond_385
.line 640
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->r:Landroid/media/MediaExtractor;
invoke-virtual {v2}, Landroid/media/MediaExtractor;->release()V
:try_end_385
.catch Ljava/lang/Exception; {:try_start_333 .. :try_end_385} :catch_448
.line 650
:cond_385
iget-boolean v2, v1, Lcom/imo/android/imoim/util/k/d;->d:Z
if-eqz v2, :cond_38c
.line 651
sget-object v2, Lcom/imo/android/imoim/util/k/d$b;->OK:Lcom/imo/android/imoim/util/k/d$b;
return-object v2
:cond_38c
:try_start_38c
const-string v2, "Optimizing the mp4 for streaming!"
.line 12071
invoke-static {v12, v2}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 658
new-instance v2, Ljava/io/File;
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->o:Ljava/lang/String;
invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
new-instance v3, Ljava/io/File;
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->p:Ljava/lang/String;
invoke-direct {v3, v4}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-static {v2, v3}, Lcom/imo/android/imoim/util/k/g;->a(Ljava/io/File;Ljava/io/File;)Ljava/io/File;
:try_end_3a2
.catch Ljava/lang/Exception; {:try_start_38c .. :try_end_3a2} :catch_3ae
.catchall {:try_start_38c .. :try_end_3a2} :catchall_3aa
.line 663
new-instance v2, Ljava/io/File;
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->o:Ljava/lang/String;
invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
goto :goto_3cc
:catchall_3aa
move-exception v0
move-object v2, v0
goto/16 :goto_43d
:catch_3ae
move-exception v0
move-object v2, v0
.line 661
:try_start_3b0
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "Transcoding QTFastStart error: "
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v12, v2}, Lcom/imo/android/imoim/util/bt;->c(Ljava/lang/String;Ljava/lang/String;)V
:try_end_3c5
.catchall {:try_start_3b0 .. :try_end_3c5} :catchall_3aa
.line 663
new-instance v2, Ljava/io/File;
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->o:Ljava/lang/String;
invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
:goto_3cc
invoke-virtual {v2}, Ljava/io/File;->delete()Z
.line 666
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
sub-long v2, v2, v18
.line 668
new-instance v4, Ljava/lang/StringBuilder;
const-string v5, "Finished transcoding! Elapsed time: "
invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
long-to-double v5, v2
const-wide v7, 0x408f400000000000L # 1000.0
invoke-static {v5, v6}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v5, v7
invoke-virtual {v4, v5, v6}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
const-string v5, "s"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
.line 13071
invoke-static {v12, v4}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 670
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->K:Lcom/imo/android/imoim/c/h$a;
if-eqz v4, :cond_402
const/16 v5, 0x64
.line 671
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
invoke-interface {v4, v5}, Lcom/imo/android/imoim/c/h$a;->updateProgress(Ljava/lang/Integer;)V
.line 674
:cond_402
new-instance v4, Ljava/io/File;
iget-object v5, v1, Lcom/imo/android/imoim/util/k/d;->p:Ljava/lang/String;
invoke-direct {v4, v5}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v4}, Ljava/io/File;->length()J
move-result-wide v4
.line 675
iget-object v6, v1, Lcom/imo/android/imoim/util/k/d;->O:Lcom/imo/android/imoim/util/k/h;
if-eqz v6, :cond_413
.line 14055
iput-wide v4, v6, Lcom/imo/android/imoim/util/k/h;->b:J
.line 679
:cond_413
new-instance v6, Lorg/json/JSONObject;
invoke-direct {v6}, Lorg/json/JSONObject;-><init>()V
:try_start_418
const-string v7, "input_file_size_kb"
.line 681
iget-wide v8, v1, Lcom/imo/android/imoim/util/k/d;->J:J
const-wide/16 v10, 0x400
div-long/2addr v8, v10
invoke-virtual {v6, v7, v8, v9}, Lorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject;
const-string v7, "output_file_size_kb"
.line 682
div-long/2addr v4, v10
invoke-virtual {v6, v7, v4, v5}, Lorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject;
const-string v4, "elapsed_time_sec"
const-wide/16 v7, 0x3e8
.line 683
div-long/2addr v2, v7
invoke-virtual {v6, v4, v2, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject;
.line 14098
iget-object v2, v1, Lcom/imo/android/imoim/util/k/d;->N:Landroid/os/Handler;
new-instance v3, Lcom/imo/android/imoim/util/k/d$1;
invoke-direct {v3, v1, v6}, Lcom/imo/android/imoim/util/k/d$1;-><init>(Lcom/imo/android/imoim/util/k/d;Lorg/json/JSONObject;)V
invoke-virtual {v2, v3}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
:try_end_43a
.catch Lorg/json/JSONException; {:try_start_418 .. :try_end_43a} :catch_43a
.line 688
:catch_43a
sget-object v2, Lcom/imo/android/imoim/util/k/d$b;->OK:Lcom/imo/android/imoim/util/k/d$b;
return-object v2
.line 663
:goto_43d
new-instance v3, Ljava/io/File;
iget-object v4, v1, Lcom/imo/android/imoim/util/k/d;->o:Ljava/lang/String;
invoke-direct {v3, v4}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v3}, Ljava/io/File;->delete()Z
throw v2
:catch_448
move-exception v0
move-object v2, v0
.line 643
new-instance v3, Ljava/lang/StringBuilder;
move-object/from16 v4, v16
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v12, v2}, Lcom/imo/android/imoim/util/bt;->c(Ljava/lang/String;Ljava/lang/String;)V
.line 644
new-instance v2, Ljava/io/File;
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->o:Ljava/lang/String;
invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
:goto_466
invoke-virtual {v2}, Ljava/io/File;->delete()Z
.line 646
sget-object v2, Lcom/imo/android/imoim/util/k/d$b;->ERROR:Lcom/imo/android/imoim/util/k/d$b;
return-object v2
:catchall_46c
move-exception v0
move-object/from16 v4, v16
goto :goto_485
:catch_470
move-exception v0
move-object/from16 v4, v16
goto :goto_48a
:catch_474
move-object/from16 v4, v16
goto/16 :goto_514
:cond_478
move-object v4, v9
.line 6233
:try_start_479
new-instance v2, Ljava/lang/RuntimeException;
const-string v3, "Could not find video track."
invoke-direct {v2, v3}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v2
:try_end_481
.catch Lcom/imo/android/imoim/util/k/d$a; {:try_start_479 .. :try_end_481} :catch_514
.catch Ljava/lang/Exception; {:try_start_479 .. :try_end_481} :catch_481
.catchall {:try_start_479 .. :try_end_481} :catchall_587
:catch_481
move-exception v0
goto :goto_48a
:catchall_483
move-exception v0
move-object v4, v9
:goto_485
move-object v2, v0
goto/16 :goto_58a
:catch_488
move-exception v0
move-object v4, v9
:goto_48a
move-object v2, v0
.line 609
:goto_48b
:try_start_48b
new-instance v3, Ljava/lang/StringBuilder;
const-string v5, "Transcoding error: "
invoke-direct {v3, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v12, v2}, Lcom/imo/android/imoim/util/bt;->c(Ljava/lang/String;Ljava/lang/String;)V
.line 611
sget-object v2, Lcom/imo/android/imoim/util/k/d$b;->ERROR:Lcom/imo/android/imoim/util/k/d$b;
:try_end_4a2
.catchall {:try_start_48b .. :try_end_4a2} :catchall_587
.line 617
:try_start_4a2
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->w:Lcom/imo/android/imoim/util/k/f;
if-eqz v3, :cond_4ab
.line 618
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->w:Lcom/imo/android/imoim/util/k/f;
invoke-virtual {v3}, Lcom/imo/android/imoim/util/k/f;->a()V
.line 620
:cond_4ab
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->v:Lcom/imo/android/imoim/util/k/e;
if-eqz v3, :cond_4b4
.line 621
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->v:Lcom/imo/android/imoim/util/k/e;
invoke-virtual {v3}, Lcom/imo/android/imoim/util/k/e;->a()V
.line 623
:cond_4b4
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
if-eqz v3, :cond_4c2
.line 624
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
invoke-virtual {v3}, Landroid/media/MediaCodec;->stop()V
.line 625
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
invoke-virtual {v3}, Landroid/media/MediaCodec;->release()V
.line 627
:cond_4c2
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
if-eqz v3, :cond_4d0
.line 628
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
invoke-virtual {v3}, Landroid/media/MediaCodec;->stop()V
.line 629
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
invoke-virtual {v3}, Landroid/media/MediaCodec;->release()V
.line 631
:cond_4d0
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->s:Landroid/media/MediaMuxer;
if-eqz v3, :cond_4e2
.line 632
iget-boolean v3, v1, Lcom/imo/android/imoim/util/k/d;->A:Z
if-eqz v3, :cond_4dd
.line 633
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->s:Landroid/media/MediaMuxer;
invoke-virtual {v3}, Landroid/media/MediaMuxer;->stop()V
.line 634
:cond_4dd
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->s:Landroid/media/MediaMuxer;
invoke-virtual {v3}, Landroid/media/MediaMuxer;->release()V
.line 636
:cond_4e2
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->q:Landroid/media/MediaExtractor;
if-eqz v3, :cond_4eb
.line 637
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->q:Landroid/media/MediaExtractor;
invoke-virtual {v3}, Landroid/media/MediaExtractor;->release()V
.line 639
:cond_4eb
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->r:Landroid/media/MediaExtractor;
if-eqz v3, :cond_4f4
.line 640
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->r:Landroid/media/MediaExtractor;
invoke-virtual {v3}, Landroid/media/MediaExtractor;->release()V
:try_end_4f4
.catch Ljava/lang/Exception; {:try_start_4a2 .. :try_end_4f4} :catch_4f5
:cond_4f4
return-object v2
:catch_4f5
move-exception v0
move-object v2, v0
.line 643
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v12, v2}, Lcom/imo/android/imoim/util/bt;->c(Ljava/lang/String;Ljava/lang/String;)V
.line 644
new-instance v2, Ljava/io/File;
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->o:Ljava/lang/String;
invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
goto/16 :goto_466
:catch_513
move-object v4, v9
.line 607
:catch_514
:goto_514
:try_start_514
sget-object v2, Lcom/imo/android/imoim/util/k/d$b;->VIDEO_TOO_SMALL:Lcom/imo/android/imoim/util/k/d$b;
:try_end_516
.catchall {:try_start_514 .. :try_end_516} :catchall_587
.line 617
:try_start_516
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->w:Lcom/imo/android/imoim/util/k/f;
if-eqz v3, :cond_51f
.line 618
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->w:Lcom/imo/android/imoim/util/k/f;
invoke-virtual {v3}, Lcom/imo/android/imoim/util/k/f;->a()V
.line 620
:cond_51f
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->v:Lcom/imo/android/imoim/util/k/e;
if-eqz v3, :cond_528
.line 621
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->v:Lcom/imo/android/imoim/util/k/e;
invoke-virtual {v3}, Lcom/imo/android/imoim/util/k/e;->a()V
.line 623
:cond_528
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
if-eqz v3, :cond_536
.line 624
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
invoke-virtual {v3}, Landroid/media/MediaCodec;->stop()V
.line 625
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
invoke-virtual {v3}, Landroid/media/MediaCodec;->release()V
.line 627
:cond_536
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
if-eqz v3, :cond_544
.line 628
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
invoke-virtual {v3}, Landroid/media/MediaCodec;->stop()V
.line 629
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
invoke-virtual {v3}, Landroid/media/MediaCodec;->release()V
.line 631
:cond_544
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->s:Landroid/media/MediaMuxer;
if-eqz v3, :cond_556
.line 632
iget-boolean v3, v1, Lcom/imo/android/imoim/util/k/d;->A:Z
if-eqz v3, :cond_551
.line 633
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->s:Landroid/media/MediaMuxer;
invoke-virtual {v3}, Landroid/media/MediaMuxer;->stop()V
.line 634
:cond_551
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->s:Landroid/media/MediaMuxer;
invoke-virtual {v3}, Landroid/media/MediaMuxer;->release()V
.line 636
:cond_556
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->q:Landroid/media/MediaExtractor;
if-eqz v3, :cond_55f
.line 637
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->q:Landroid/media/MediaExtractor;
invoke-virtual {v3}, Landroid/media/MediaExtractor;->release()V
.line 639
:cond_55f
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->r:Landroid/media/MediaExtractor;
if-eqz v3, :cond_568
.line 640
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->r:Landroid/media/MediaExtractor;
invoke-virtual {v3}, Landroid/media/MediaExtractor;->release()V
:try_end_568
.catch Ljava/lang/Exception; {:try_start_516 .. :try_end_568} :catch_569
:cond_568
return-object v2
:catch_569
move-exception v0
move-object v2, v0
.line 643
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v12, v2}, Lcom/imo/android/imoim/util/bt;->c(Ljava/lang/String;Ljava/lang/String;)V
.line 644
new-instance v2, Ljava/io/File;
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->o:Ljava/lang/String;
invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
goto/16 :goto_466
:catchall_587
move-exception v0
goto/16 :goto_485
.line 617
:goto_58a
:try_start_58a
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->w:Lcom/imo/android/imoim/util/k/f;
if-eqz v3, :cond_593
.line 618
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->w:Lcom/imo/android/imoim/util/k/f;
invoke-virtual {v3}, Lcom/imo/android/imoim/util/k/f;->a()V
.line 620
:cond_593
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->v:Lcom/imo/android/imoim/util/k/e;
if-eqz v3, :cond_59c
.line 621
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->v:Lcom/imo/android/imoim/util/k/e;
invoke-virtual {v3}, Lcom/imo/android/imoim/util/k/e;->a()V
.line 623
:cond_59c
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
if-eqz v3, :cond_5aa
.line 624
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
invoke-virtual {v3}, Landroid/media/MediaCodec;->stop()V
.line 625
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->u:Landroid/media/MediaCodec;
invoke-virtual {v3}, Landroid/media/MediaCodec;->release()V
.line 627
:cond_5aa
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
if-eqz v3, :cond_5b8
.line 628
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
invoke-virtual {v3}, Landroid/media/MediaCodec;->stop()V
.line 629
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->t:Landroid/media/MediaCodec;
invoke-virtual {v3}, Landroid/media/MediaCodec;->release()V
.line 631
:cond_5b8
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->s:Landroid/media/MediaMuxer;
if-eqz v3, :cond_5ca
.line 632
iget-boolean v3, v1, Lcom/imo/android/imoim/util/k/d;->A:Z
if-eqz v3, :cond_5c5
.line 633
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->s:Landroid/media/MediaMuxer;
invoke-virtual {v3}, Landroid/media/MediaMuxer;->stop()V
.line 634
:cond_5c5
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->s:Landroid/media/MediaMuxer;
invoke-virtual {v3}, Landroid/media/MediaMuxer;->release()V
.line 636
:cond_5ca
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->q:Landroid/media/MediaExtractor;
if-eqz v3, :cond_5d3
.line 637
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->q:Landroid/media/MediaExtractor;
invoke-virtual {v3}, Landroid/media/MediaExtractor;->release()V
.line 639
:cond_5d3
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->r:Landroid/media/MediaExtractor;
if-eqz v3, :cond_5dc
.line 640
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->r:Landroid/media/MediaExtractor;
invoke-virtual {v3}, Landroid/media/MediaExtractor;->release()V
:try_end_5dc
.catch Ljava/lang/Exception; {:try_start_58a .. :try_end_5dc} :catch_5dd
.line 646
:cond_5dc
throw v2
:catch_5dd
move-exception v0
move-object v2, v0
.line 643
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v12, v2}, Lcom/imo/android/imoim/util/bt;->c(Ljava/lang/String;Ljava/lang/String;)V
.line 644
new-instance v2, Ljava/io/File;
iget-object v3, v1, Lcom/imo/android/imoim/util/k/d;->o:Ljava/lang/String;
invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
goto/16 :goto_466
.end method