c.smali
.class public final Lcom/imo/android/imoim/util/k/c;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/imo/android/imoim/util/k/c$a;
}
.end annotation
# static fields
.field private static a:I = 0x1e
.field private static b:I = 0x5
# instance fields
.field private A:I
.field private B:Landroid/os/Handler;
.field private c:I
.field private d:I
.field private final e:I
.field private f:I
.field private final g:Ljava/lang/String;
.field private final h:Ljava/lang/String;
.field private final i:Ljava/lang/String;
.field private final j:Landroid/graphics/Bitmap;
.field private k:Landroid/media/MediaExtractor;
.field private l:Landroid/media/MediaMuxer;
.field private m:Landroid/media/MediaCodec;
.field private n:Lcom/imo/android/imoim/util/k/e;
.field private o:Lcom/imo/android/imoim/util/k/b;
.field private p:[Ljava/nio/ByteBuffer;
.field private q:Ljava/nio/ByteBuffer;
.field private r:Z
.field private s:Z
.field private t:Landroid/media/MediaFormat;
.field private u:I
.field private v:I
.field private w:I
.field private x:J
.field private y:J
.field private z:Lcom/imo/android/imoim/c/h$a;
# 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$b;Landroid/graphics/Bitmap;)V
.registers 8
.line 95
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/16 v0, 0x400
.line 42
iput v0, p0, Lcom/imo/android/imoim/util/k/c;->e:I
const v0, 0x1b7740
.line 45
iput v0, p0, Lcom/imo/android/imoim/util/k/c;->f:I
const/4 v0, 0x0
.line 52
iput-object v0, p0, Lcom/imo/android/imoim/util/k/c;->k:Landroid/media/MediaExtractor;
.line 53
iput-object v0, p0, Lcom/imo/android/imoim/util/k/c;->l:Landroid/media/MediaMuxer;
.line 54
iput-object v0, p0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
.line 55
iput-object v0, p0, Lcom/imo/android/imoim/util/k/c;->n:Lcom/imo/android/imoim/util/k/e;
.line 56
iput-object v0, p0, Lcom/imo/android/imoim/util/k/c;->o:Lcom/imo/android/imoim/util/k/b;
.line 58
iput-object v0, p0, Lcom/imo/android/imoim/util/k/c;->p:[Ljava/nio/ByteBuffer;
const/16 v0, 0x1000
.line 59
invoke-static {v0}, Ljava/nio/ByteBuffer;->allocateDirect(I)Ljava/nio/ByteBuffer;
move-result-object v0
iput-object v0, p0, Lcom/imo/android/imoim/util/k/c;->q:Ljava/nio/ByteBuffer;
const/4 v0, 0x0
.line 61
iput-boolean v0, p0, Lcom/imo/android/imoim/util/k/c;->r:Z
.line 62
iput-boolean v0, p0, Lcom/imo/android/imoim/util/k/c;->s:Z
const/4 v1, -0x1
.line 66
iput v1, p0, Lcom/imo/android/imoim/util/k/c;->u:I
.line 67
iput v1, p0, Lcom/imo/android/imoim/util/k/c;->v:I
.line 68
iput v1, p0, Lcom/imo/android/imoim/util/k/c;->w:I
const-wide/16 v1, 0x0
.line 71
iput-wide v1, p0, Lcom/imo/android/imoim/util/k/c;->x:J
.line 77
new-instance v1, Landroid/os/Handler;
invoke-static {}, Lcom/imo/android/imoim/IMO;->a()Lcom/imo/android/imoim/IMO;
move-result-object v2
invoke-virtual {v2}, Lcom/imo/android/imoim/IMO;->getMainLooper()Landroid/os/Looper;
move-result-object v2
invoke-direct {v1, v2}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
iput-object v1, p0, Lcom/imo/android/imoim/util/k/c;->B:Landroid/os/Handler;
.line 97
iput-object p1, p0, Lcom/imo/android/imoim/util/k/c;->g:Ljava/lang/String;
.line 98
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 v1, "_tmp"
invoke-virtual {p1, v1}, 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/c;->h:Ljava/lang/String;
.line 99
iput-object p2, p0, Lcom/imo/android/imoim/util/k/c;->i:Ljava/lang/String;
.line 100
iput-object p4, p0, Lcom/imo/android/imoim/util/k/c;->j:Landroid/graphics/Bitmap;
.line 102
new-instance p1, Ljava/io/File;
iget-object p2, p0, Lcom/imo/android/imoim/util/k/c;->g: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/c;->y:J
.line 103
iput v0, p0, Lcom/imo/android/imoim/util/k/c;->A:I
.line 104
iput-object p3, p0, Lcom/imo/android/imoim/util/k/c;->z:Lcom/imo/android/imoim/c/h$a;
return-void
.end method
.method private static a(Landroid/media/MediaExtractor;)I
.registers 4
const/4 v0, 0x0
.line 130
:goto_1
invoke-virtual {p0}, Landroid/media/MediaExtractor;->getTrackCount()I
move-result v1
if-ge v0, v1, :cond_20
.line 135
invoke-virtual {p0, v0}, Landroid/media/MediaExtractor;->getTrackFormat(I)Landroid/media/MediaFormat;
move-result-object v1
const-string v2, "mime"
.line 2118
invoke-virtual {v1, v2}, Landroid/media/MediaFormat;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "audio/"
.line 1126
invoke-virtual {v1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_1d
.line 136
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 b()V
.registers 19
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
move-object/from16 v0, p0
.line 209
new-instance v1, Landroid/media/MediaCodec$BufferInfo;
invoke-direct {v1}, Landroid/media/MediaCodec$BufferInfo;-><init>()V
.line 215
iget-object v2, v0, Lcom/imo/android/imoim/util/k/c;->o:Lcom/imo/android/imoim/util/k/b;
invoke-virtual {v2}, Lcom/imo/android/imoim/util/k/b;->a()V
.line 217
iget-object v2, v0, Lcom/imo/android/imoim/util/k/c;->n:Lcom/imo/android/imoim/util/k/e;
const-wide/16 v3, 0x0
invoke-virtual {v2, v3, v4}, Lcom/imo/android/imoim/util/k/e;->a(J)V
.line 220
iget-object v2, v0, Lcom/imo/android/imoim/util/k/c;->n:Lcom/imo/android/imoim/util/k/e;
invoke-virtual {v2}, Lcom/imo/android/imoim/util/k/e;->c()Z
const/4 v2, 0x0
move-wide v5, v3
const/4 v7, 0x0
:cond_1b
if-nez v7, :cond_1b8
.line 224
:cond_1d
iget-boolean v8, v0, Lcom/imo/android/imoim/util/k/c;->s:Z
const-wide/16 v11, 0x3e8
const/4 v13, -0x1
const/4 v14, 0x1
if-nez v8, :cond_ca
iget-boolean v8, v0, Lcom/imo/android/imoim/util/k/c;->r:Z
if-eqz v8, :cond_ca
.line 225
iget-object v8, v0, Lcom/imo/android/imoim/util/k/c;->q:Ljava/nio/ByteBuffer;
invoke-virtual {v8}, Ljava/nio/ByteBuffer;->clear()Ljava/nio/Buffer;
.line 226
iput v2, v1, Landroid/media/MediaCodec$BufferInfo;->offset:I
.line 227
iget-object v8, v0, Lcom/imo/android/imoim/util/k/c;->k:Landroid/media/MediaExtractor;
iget-object v15, v0, Lcom/imo/android/imoim/util/k/c;->q:Ljava/nio/ByteBuffer;
invoke-virtual {v8, v15, v2}, Landroid/media/MediaExtractor;->readSampleData(Ljava/nio/ByteBuffer;I)I
move-result v8
iput v8, v1, Landroid/media/MediaCodec$BufferInfo;->size:I
.line 228
iget-object v8, v0, Lcom/imo/android/imoim/util/k/c;->k:Landroid/media/MediaExtractor;
invoke-virtual {v8}, Landroid/media/MediaExtractor;->getSampleTime()J
move-result-wide v9
iput-wide v9, v1, Landroid/media/MediaCodec$BufferInfo;->presentationTimeUs:J
.line 229
iput v2, v1, Landroid/media/MediaCodec$BufferInfo;->flags:I
.line 235
iget v8, v1, Landroid/media/MediaCodec$BufferInfo;->size:I
if-ne v8, v13, :cond_4a
const/4 v8, 0x1
goto :goto_4b
:cond_4a
const/4 v8, 0x0
:goto_4b
iput-boolean v8, v0, Lcom/imo/android/imoim/util/k/c;->s:Z
if-eqz v8, :cond_68
.line 237
iget-object v8, v0, Lcom/imo/android/imoim/util/k/c;->o:Lcom/imo/android/imoim/util/k/b;
invoke-virtual {v8}, Lcom/imo/android/imoim/util/k/b;->a()V
.line 239
iget-object v8, v0, Lcom/imo/android/imoim/util/k/c;->n:Lcom/imo/android/imoim/util/k/e;
iget-wide v9, v1, Landroid/media/MediaCodec$BufferInfo;->presentationTimeUs:J
mul-long v9, v9, v11
invoke-virtual {v8, v9, v10}, Lcom/imo/android/imoim/util/k/e;->a(J)V
.line 240
iget-object v8, v0, Lcom/imo/android/imoim/util/k/c;->n:Lcom/imo/android/imoim/util/k/e;
invoke-virtual {v8}, Lcom/imo/android/imoim/util/k/e;->c()Z
.line 242
:try_start_62
iget-object v8, v0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
invoke-virtual {v8}, Landroid/media/MediaCodec;->signalEndOfInputStream()V
:try_end_67
.catch Ljava/lang/RuntimeException; {:try_start_62 .. :try_end_67} :catch_ca
goto :goto_ca
.line 249
:cond_68
iget-object v8, v0, Lcom/imo/android/imoim/util/k/c;->k:Landroid/media/MediaExtractor;
invoke-virtual {v8}, Landroid/media/MediaExtractor;->getSampleFlags()I
move-result v8
and-int/2addr v8, v14
if-eqz v8, :cond_76
.line 250
iget v8, v1, Landroid/media/MediaCodec$BufferInfo;->flags:I
or-int/2addr v8, v14
iput v8, v1, Landroid/media/MediaCodec$BufferInfo;->flags:I
.line 251
:cond_76
iget-object v8, v0, Lcom/imo/android/imoim/util/k/c;->l:Landroid/media/MediaMuxer;
iget v9, v0, Lcom/imo/android/imoim/util/k/c;->w:I
iget-object v10, v0, Lcom/imo/android/imoim/util/k/c;->q:Ljava/nio/ByteBuffer;
invoke-virtual {v8, v9, v10, v1}, Landroid/media/MediaMuxer;->writeSampleData(ILjava/nio/ByteBuffer;Landroid/media/MediaCodec$BufferInfo;)V
.line 253
iget v8, v1, Landroid/media/MediaCodec$BufferInfo;->size:I
int-to-long v8, v8
.line 3108
iget-wide v14, v0, Lcom/imo/android/imoim/util/k/c;->x:J
add-long/2addr v14, v8
iput-wide v14, v0, Lcom/imo/android/imoim/util/k/c;->x:J
const-wide/high16 v8, 0x4059000000000000L # 100.0
long-to-double v14, v14
.line 3109
iget-wide v10, v0, Lcom/imo/android/imoim/util/k/c;->y:J
long-to-double v10, v10
invoke-static {v14, v15}, Ljava/lang/Double;->isNaN(D)Z
invoke-static {v10, v11}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v14, v10
mul-double v14, v14, v8
double-to-int v8, v14
.line 3110
iget v9, v0, Lcom/imo/android/imoim/util/k/c;->A:I
sub-int v9, v8, v9
const/4 v10, 0x5
if-lt v9, v10, :cond_b8
.line 3111
iput v8, v0, Lcom/imo/android/imoim/util/k/c;->A:I
.line 3112
iget-object v9, v0, Lcom/imo/android/imoim/util/k/c;->z:Lcom/imo/android/imoim/c/h$a;
invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v10
invoke-interface {v9, v10}, Lcom/imo/android/imoim/c/h$a;->updateProgress(Ljava/lang/Integer;)V
.line 3113
invoke-static {v8}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v8
const-string v9, "Progress: "
invoke-virtual {v9, v8}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
const-string v9, "GLBitmapTranscoder"
.line 4071
invoke-static {v9, v8}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 254
:cond_b8
iget-object v8, v0, Lcom/imo/android/imoim/util/k/c;->k:Landroid/media/MediaExtractor;
invoke-virtual {v8}, Landroid/media/MediaExtractor;->advance()Z
.line 256
iget-wide v8, v1, Landroid/media/MediaCodec$BufferInfo;->presentationTimeUs:J
const-wide/32 v10, 0xf4240
add-long v16, v3, v10
cmp-long v10, v8, v16
if-lez v10, :cond_1d
if-nez v7, :cond_1d
:catch_ca
:cond_ca
:goto_ca
const/4 v8, 0x1
const/4 v9, 0x1
:goto_cc
if-nez v8, :cond_d0
if-eqz v9, :cond_1b
.line 270
:cond_d0
iget-object v10, v0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
move-wide/from16 v16, 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, v13, :cond_e2
move v2, v7
const/4 v7, 0x0
const/4 v9, 0x0
const/4 v12, 0x1
goto/16 :goto_150
:cond_e2
const/4 v2, -0x3
if-ne v4, v2, :cond_ef
.line 278
iget-object v2, v0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
invoke-virtual {v2}, Landroid/media/MediaCodec;->getOutputBuffers()[Ljava/nio/ByteBuffer;
move-result-object v2
iput-object v2, v0, Lcom/imo/android/imoim/util/k/c;->p:[Ljava/nio/ByteBuffer;
:cond_ed
const/4 v12, 0x1
goto :goto_10c
:cond_ef
const/4 v2, -0x2
if-ne v4, v2, :cond_10f
.line 282
iget-object v2, v0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
invoke-virtual {v2}, Landroid/media/MediaCodec;->getOutputFormat()Landroid/media/MediaFormat;
move-result-object v2
.line 285
iget-boolean v3, v0, Lcom/imo/android/imoim/util/k/c;->r:Z
if-nez v3, :cond_ed
.line 286
iget-object v3, v0, Lcom/imo/android/imoim/util/k/c;->l:Landroid/media/MediaMuxer;
invoke-virtual {v3, v2}, Landroid/media/MediaMuxer;->addTrack(Landroid/media/MediaFormat;)I
move-result v2
iput v2, v0, Lcom/imo/android/imoim/util/k/c;->u:I
.line 291
iget-object v2, v0, Lcom/imo/android/imoim/util/k/c;->l:Landroid/media/MediaMuxer;
invoke-virtual {v2}, Landroid/media/MediaMuxer;->start()V
const/4 v12, 0x1
.line 292
iput-boolean v12, v0, Lcom/imo/android/imoim/util/k/c;->r:Z
:goto_10c
move v2, v7
const/4 v7, 0x0
goto :goto_150
:cond_10f
const/4 v12, 0x1
if-ltz v4, :cond_1a8
.line 301
iget-object v2, v0, Lcom/imo/android/imoim/util/k/c;->p:[Ljava/nio/ByteBuffer;
aget-object v2, v2, v4
if-eqz v2, :cond_18f
.line 306
iget-boolean v3, v0, Lcom/imo/android/imoim/util/k/c;->r:Z
if-eqz v3, :cond_187
.line 309
iget v3, v1, Landroid/media/MediaCodec$BufferInfo;->flags:I
and-int/lit8 v3, v3, 0x2
if-eqz v3, :cond_125
const/4 v3, 0x0
.line 310
iput v3, v1, Landroid/media/MediaCodec$BufferInfo;->size:I
.line 313
:cond_125
iget v3, v1, Landroid/media/MediaCodec$BufferInfo;->size:I
if-eqz v3, :cond_141
.line 314
iget v3, v1, Landroid/media/MediaCodec$BufferInfo;->offset:I
invoke-virtual {v2, v3}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 315
iget v3, v1, Landroid/media/MediaCodec$BufferInfo;->offset:I
iget v7, v1, Landroid/media/MediaCodec$BufferInfo;->size:I
add-int/2addr v3, v7
invoke-virtual {v2, v3}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
.line 316
iget-object v3, v0, Lcom/imo/android/imoim/util/k/c;->l:Landroid/media/MediaMuxer;
iget v7, v0, Lcom/imo/android/imoim/util/k/c;->u:I
invoke-virtual {v3, v7, v2, v1}, Landroid/media/MediaMuxer;->writeSampleData(ILjava/nio/ByteBuffer;Landroid/media/MediaCodec$BufferInfo;)V
.line 318
iget-wide v2, v1, Landroid/media/MediaCodec$BufferInfo;->presentationTimeUs:J
move-wide/from16 v16, v2
.line 322
:cond_141
iget v2, v1, Landroid/media/MediaCodec$BufferInfo;->flags:I
and-int/lit8 v2, v2, 0x4
if-eqz v2, :cond_149
const/4 v2, 0x1
goto :goto_14a
:cond_149
const/4 v2, 0x0
.line 323
:goto_14a
iget-object v3, v0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
const/4 v7, 0x0
invoke-virtual {v3, v4, v7}, Landroid/media/MediaCodec;->releaseOutputBuffer(IZ)V
:goto_150
if-ne v4, v13, :cond_17e
.line 329
iget-wide v3, v1, Landroid/media/MediaCodec$BufferInfo;->presentationTimeUs:J
const-wide/32 v10, 0xf4240
add-long v14, v5, v10
cmp-long v8, v3, v14
if-lez v8, :cond_175
.line 330
iget-object v3, v0, Lcom/imo/android/imoim/util/k/c;->o:Lcom/imo/android/imoim/util/k/b;
invoke-virtual {v3}, Lcom/imo/android/imoim/util/k/b;->a()V
.line 332
iget-object v3, v0, Lcom/imo/android/imoim/util/k/c;->n:Lcom/imo/android/imoim/util/k/e;
iget-wide v4, v1, Landroid/media/MediaCodec$BufferInfo;->presentationTimeUs:J
const-wide/16 v14, 0x3e8
mul-long v4, v4, v14
.line 333
invoke-virtual {v3, v4, v5}, Lcom/imo/android/imoim/util/k/e;->a(J)V
.line 336
iget-object v3, v0, Lcom/imo/android/imoim/util/k/c;->n:Lcom/imo/android/imoim/util/k/e;
invoke-virtual {v3}, Lcom/imo/android/imoim/util/k/e;->c()Z
.line 337
iget-wide v5, v1, Landroid/media/MediaCodec$BufferInfo;->presentationTimeUs:J
goto :goto_177
:cond_175
const-wide/16 v14, 0x3e8
:goto_177
move v7, v2
move-wide/from16 v3, v16
const/4 v2, 0x0
const/4 v8, 0x0
goto/16 :goto_cc
:cond_17e
const-wide/32 v10, 0xf4240
move v7, v2
move-wide/from16 v3, v16
const/4 v2, 0x0
goto/16 :goto_cc
.line 307
:cond_187
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 303
:cond_18f
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, v4}, 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 295
:cond_1a8
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 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_1b8
return-void
.end method
# virtual methods
.method public final a()Lcom/imo/android/imoim/util/k/d$b;
.registers 14
const-string v0, "glAttachShader"
const-string v1, "video/avc"
const-string v2, "Transcoding cleanup error: "
.line 345
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v3
const-string v5, "GLBitmapTranscoder"
const-string v6, "Started transcoding!"
.line 5071
invoke-static {v5, v6}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 5160
:try_start_11
new-instance v6, Landroid/media/MediaMetadataRetriever;
invoke-direct {v6}, Landroid/media/MediaMetadataRetriever;-><init>()V
.line 5161
iget-object v7, p0, Lcom/imo/android/imoim/util/k/c;->g:Ljava/lang/String;
invoke-virtual {v6, v7}, Landroid/media/MediaMetadataRetriever;->setDataSource(Ljava/lang/String;)V
.line 5163
iget-object v6, p0, Lcom/imo/android/imoim/util/k/c;->j:Landroid/graphics/Bitmap;
invoke-virtual {v6}, Landroid/graphics/Bitmap;->getWidth()I
move-result v6
iput v6, p0, Lcom/imo/android/imoim/util/k/c;->c:I
.line 5164
iget-object v6, p0, Lcom/imo/android/imoim/util/k/c;->j:Landroid/graphics/Bitmap;
invoke-virtual {v6}, Landroid/graphics/Bitmap;->getHeight()I
move-result v6
iput v6, p0, Lcom/imo/android/imoim/util/k/c;->d:I
.line 6144
iget v7, p0, Lcom/imo/android/imoim/util/k/c;->c:I
const/16 v8, 0x400
const-wide/high16 v9, 0x4090000000000000L # 1024.0
if-le v7, v6, :cond_46
int-to-double v6, v6
.line 6145
iget v11, p0, Lcom/imo/android/imoim/util/k/c;->c:I
:try_end_36
.catch Lcom/imo/android/imoim/util/k/c$a; {:try_start_11 .. :try_end_36} :catch_3c4
.catch Ljava/lang/Exception; {:try_start_11 .. :try_end_36} :catch_35c
.catchall {:try_start_11 .. :try_end_36} :catchall_359
int-to-double v11, v11
invoke-static {v11, v12}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v9, v11
invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z
mul-double v6, v6, v9
double-to-int v6, v6
:try_start_41
iput v6, p0, Lcom/imo/android/imoim/util/k/c;->d:I
.line 6146
iput v8, p0, Lcom/imo/android/imoim/util/k/c;->c:I
goto :goto_58
.line 6148
:cond_46
iget v7, p0, Lcom/imo/android/imoim/util/k/c;->c:I
:try_end_48
.catch Lcom/imo/android/imoim/util/k/c$a; {:try_start_41 .. :try_end_48} :catch_3c4
.catch Ljava/lang/Exception; {:try_start_41 .. :try_end_48} :catch_35c
.catchall {:try_start_41 .. :try_end_48} :catchall_359
int-to-double v11, v7
int-to-double v6, v6
invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v9, v6
invoke-static {v11, v12}, Ljava/lang/Double;->isNaN(D)Z
mul-double v11, v11, v9
double-to-int v6, v11
:try_start_54
iput v6, p0, Lcom/imo/android/imoim/util/k/c;->c:I
.line 6149
iput v8, p0, Lcom/imo/android/imoim/util/k/c;->d:I
.line 5167
:goto_58
new-instance v6, Ljava/lang/StringBuilder;
const-string v7, "Output dimensions: "
invoke-direct {v6, v7}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget v7, p0, Lcom/imo/android/imoim/util/k/c;->c:I
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v7, "x"
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v7, p0, Lcom/imo/android/imoim/util/k/c;->d:I
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
.line 7071
invoke-static {v5, v6}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 5169
iget v6, p0, Lcom/imo/android/imoim/util/k/c;->c:I
iget v7, p0, Lcom/imo/android/imoim/util/k/c;->d:I
invoke-static {v1, v6, v7}, Landroid/media/MediaFormat;->createVideoFormat(Ljava/lang/String;II)Landroid/media/MediaFormat;
move-result-object v6
iput-object v6, p0, Lcom/imo/android/imoim/util/k/c;->t:Landroid/media/MediaFormat;
const-string v7, "color-format"
const v8, 0x7f000789
.line 5171
invoke-virtual {v6, v7, v8}, Landroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
.line 5173
iget-object v6, p0, Lcom/imo/android/imoim/util/k/c;->t:Landroid/media/MediaFormat;
const-string v7, "bitrate"
iget v8, p0, Lcom/imo/android/imoim/util/k/c;->f:I
invoke-virtual {v6, v7, v8}, Landroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
.line 5174
iget-object v6, p0, Lcom/imo/android/imoim/util/k/c;->t:Landroid/media/MediaFormat;
const-string v7, "frame-rate"
sget v8, Lcom/imo/android/imoim/util/k/c;->a:I
invoke-virtual {v6, v7, v8}, Landroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
.line 5175
iget-object v6, p0, Lcom/imo/android/imoim/util/k/c;->t:Landroid/media/MediaFormat;
const-string v7, "i-frame-interval"
sget v8, Lcom/imo/android/imoim/util/k/c;->b:I
invoke-virtual {v6, v7, v8}, Landroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
.line 5178
invoke-static {v1}, Landroid/media/MediaCodec;->createEncoderByType(Ljava/lang/String;)Landroid/media/MediaCodec;
move-result-object v1
iput-object v1, p0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
.line 5179
iget-object v6, p0, Lcom/imo/android/imoim/util/k/c;->t:Landroid/media/MediaFormat;
const/4 v7, 0x0
const/4 v8, 0x1
invoke-virtual {v1, v6, v7, v7, v8}, Landroid/media/MediaCodec;->configure(Landroid/media/MediaFormat;Landroid/view/Surface;Landroid/media/MediaCrypto;I)V
.line 5181
new-instance v1, Lcom/imo/android/imoim/util/k/e;
iget-object v6, p0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
invoke-virtual {v6}, Landroid/media/MediaCodec;->createInputSurface()Landroid/view/Surface;
move-result-object v6
invoke-direct {v1, v6}, Lcom/imo/android/imoim/util/k/e;-><init>(Landroid/view/Surface;)V
iput-object v1, p0, Lcom/imo/android/imoim/util/k/c;->n:Lcom/imo/android/imoim/util/k/e;
.line 5182
invoke-virtual {v1}, Lcom/imo/android/imoim/util/k/e;->b()V
.line 5183
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
invoke-virtual {v1}, Landroid/media/MediaCodec;->start()V
.line 5185
new-instance v1, Lcom/imo/android/imoim/util/k/b;
iget-object v6, p0, Lcom/imo/android/imoim/util/k/c;->j:Landroid/graphics/Bitmap;
invoke-direct {v1, v6}, Lcom/imo/android/imoim/util/k/b;-><init>(Landroid/graphics/Bitmap;)V
iput-object v1, p0, Lcom/imo/android/imoim/util/k/c;->o:Lcom/imo/android/imoim/util/k/b;
const-string v6, "uniform mat4 uMVPMatrix;\nuniform mat4 uSTMatrix;\nattribute vec4 aPosition;\nattribute vec4 aTextureCoord;\nvarying vec2 vTextureCoord;\nvoid main() {\n gl_Position = uMVPMatrix * aPosition;\n vTextureCoord = (uSTMatrix * aTextureCoord).xy;\n}\n"
const-string v7, "precision mediump float;\nvarying vec2 vTextureCoord;\nuniform sampler2D sTexture;\nvoid main() {\n gl_FragColor = texture2D(sTexture, vTextureCoord) + vec4(0.0, 0.0, 0.0, 1.0);\n}\n"
const v9, 0x8b31
.line 7158
invoke-static {v9, v6}, Lcom/imo/android/imoim/util/k/b;->a(ILjava/lang/String;)I
move-result v6
const/4 v9, 0x0
if-nez v6, :cond_dd
:goto_db
const/4 v10, 0x0
goto :goto_124
:cond_dd
const v10, 0x8b30
.line 7162
invoke-static {v10, v7}, Lcom/imo/android/imoim/util/k/b;->a(ILjava/lang/String;)I
move-result v7
if-nez v7, :cond_e7
goto :goto_db
.line 7166
:cond_e7
invoke-static {}, Landroid/opengl/GLES20;->glCreateProgram()I
move-result v10
const-string v11, "glCreateProgram"
.line 7167
invoke-static {v11}, Lcom/imo/android/imoim/util/k/b;->a(Ljava/lang/String;)V
:try_end_f0
.catch Lcom/imo/android/imoim/util/k/c$a; {:try_start_54 .. :try_end_f0} :catch_3c4
.catch Ljava/lang/Exception; {:try_start_54 .. :try_end_f0} :catch_35c
.catchall {:try_start_54 .. :try_end_f0} :catchall_359
const-string v11, "TextureRender"
if-nez v10, :cond_f9
:try_start_f4
const-string v12, "Could not create program"
.line 7169
invoke-static {v11, v12}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 7171
:cond_f9
invoke-static {v10, v6}, Landroid/opengl/GLES20;->glAttachShader(II)V
.line 7172
invoke-static {v0}, Lcom/imo/android/imoim/util/k/b;->a(Ljava/lang/String;)V
.line 7173
invoke-static {v10, v7}, Landroid/opengl/GLES20;->glAttachShader(II)V
.line 7174
invoke-static {v0}, Lcom/imo/android/imoim/util/k/b;->a(Ljava/lang/String;)V
.line 7175
invoke-static {v10}, Landroid/opengl/GLES20;->glLinkProgram(I)V
new-array v0, v8, [I
const v6, 0x8b82
.line 7177
invoke-static {v10, v6, v0, v9}, Landroid/opengl/GLES20;->glGetProgramiv(II[II)V
.line 7178
aget v0, v0, v9
if-eq v0, v8, :cond_124
const-string v0, "Could not link program: "
.line 7179
invoke-static {v11, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 7180
invoke-static {v10}, Landroid/opengl/GLES20;->glGetProgramInfoLog(I)Ljava/lang/String;
move-result-object v0
invoke-static {v11, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 7181
invoke-static {v10}, Landroid/opengl/GLES20;->glDeleteProgram(I)V
goto :goto_db
.line 7089
:cond_124
:goto_124
iput v10, v1, Lcom/imo/android/imoim/util/k/b;->c:I
.line 7090
iget v0, v1, Lcom/imo/android/imoim/util/k/b;->c:I
if-eqz v0, :cond_351
.line 7093
iget v0, v1, Lcom/imo/android/imoim/util/k/b;->c:I
const-string v6, "aPosition"
invoke-static {v0, v6}, Landroid/opengl/GLES20;->glGetAttribLocation(ILjava/lang/String;)I
move-result v0
iput v0, v1, Lcom/imo/android/imoim/util/k/b;->g:I
const-string v0, "glGetAttribLocation aPosition"
.line 7094
invoke-static {v0}, Lcom/imo/android/imoim/util/k/b;->a(Ljava/lang/String;)V
.line 7095
iget v0, v1, Lcom/imo/android/imoim/util/k/b;->g:I
const/4 v6, -0x1
if-eq v0, v6, :cond_349
.line 7098
iget v0, v1, Lcom/imo/android/imoim/util/k/b;->c:I
const-string v7, "aTextureCoord"
invoke-static {v0, v7}, Landroid/opengl/GLES20;->glGetAttribLocation(ILjava/lang/String;)I
move-result v0
iput v0, v1, Lcom/imo/android/imoim/util/k/b;->h:I
const-string v0, "glGetAttribLocation aTextureCoord"
.line 7099
invoke-static {v0}, Lcom/imo/android/imoim/util/k/b;->a(Ljava/lang/String;)V
.line 7100
iget v0, v1, Lcom/imo/android/imoim/util/k/b;->h:I
if-eq v0, v6, :cond_341
.line 7103
iget v0, v1, Lcom/imo/android/imoim/util/k/b;->c:I
const-string v7, "uMVPMatrix"
invoke-static {v0, v7}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I
move-result v0
iput v0, v1, Lcom/imo/android/imoim/util/k/b;->e:I
const-string v0, "glGetUniformLocation uMVPMatrix"
.line 7104
invoke-static {v0}, Lcom/imo/android/imoim/util/k/b;->a(Ljava/lang/String;)V
.line 7105
iget v0, v1, Lcom/imo/android/imoim/util/k/b;->e:I
if-eq v0, v6, :cond_339
.line 7108
iget v0, v1, Lcom/imo/android/imoim/util/k/b;->c:I
const-string v7, "uSTMatrix"
invoke-static {v0, v7}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I
move-result v0
iput v0, v1, Lcom/imo/android/imoim/util/k/b;->f:I
const-string v0, "glGetUniformLocation uSTMatrix"
.line 7109
invoke-static {v0}, Lcom/imo/android/imoim/util/k/b;->a(Ljava/lang/String;)V
.line 7110
iget v0, v1, Lcom/imo/android/imoim/util/k/b;->f:I
if-eq v0, v6, :cond_331
new-array v0, v8, [I
.line 7114
invoke-static {v8, v0, v9}, Landroid/opengl/GLES20;->glGenTextures(I[II)V
.line 7115
aget v0, v0, v9
iput v0, v1, Lcom/imo/android/imoim/util/k/b;->d:I
.line 7117
iget v0, v1, Lcom/imo/android/imoim/util/k/b;->d:I
const/16 v6, 0xde1
invoke-static {v6, v0}, Landroid/opengl/GLES20;->glBindTexture(II)V
const/16 v0, 0x2801
const/16 v7, 0x2600
.line 7120
invoke-static {v6, v0, v7}, Landroid/opengl/GLES20;->glTexParameteri(III)V
const/16 v0, 0x2800
.line 7121
invoke-static {v6, v0, v7}, Landroid/opengl/GLES20;->glTexParameteri(III)V
const/16 v0, 0x2802
const v7, 0x812f
.line 7122
invoke-static {v6, v0, v7}, Landroid/opengl/GLES20;->glTexParameteri(III)V
const/16 v0, 0x2803
.line 7123
invoke-static {v6, v0, v7}, Landroid/opengl/GLES20;->glTexParameteri(III)V
.line 7125
iget-object v0, v1, Lcom/imo/android/imoim/util/k/b;->a:Landroid/graphics/Bitmap;
invoke-static {v6, v9, v0, v9}, Landroid/opengl/GLUtils;->texImage2D(IILandroid/graphics/Bitmap;I)V
.line 7127
iget-object v0, v1, Lcom/imo/android/imoim/util/k/b;->b:[F
invoke-static {v0, v9}, Landroid/opengl/Matrix;->setIdentityM([FI)V
.line 7128
iget-object v0, v1, Lcom/imo/android/imoim/util/k/b;->b:[F
const/4 v6, 0x0
const/high16 v7, 0x3f800000 # 1.0f
invoke-static {v0, v9, v6, v7, v6}, Landroid/opengl/Matrix;->translateM([FIFFF)V
.line 7129
iget-object v0, v1, Lcom/imo/android/imoim/util/k/b;->b:[F
const/high16 v6, -0x40800000 # -1.0f
invoke-static {v0, v9, v7, v6, v7}, Landroid/opengl/Matrix;->scaleM([FIFFF)V
const-string v0, "glBindTexture mTextureID"
.line 7131
invoke-static {v0}, Lcom/imo/android/imoim/util/k/b;->a(Ljava/lang/String;)V
.line 7133
iget v0, v1, Lcom/imo/android/imoim/util/k/b;->c:I
const-string v6, "sTexture"
invoke-static {v0, v6}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I
move-result v0
const-string v6, "glGetUniLocation"
.line 7134
invoke-static {v6}, Lcom/imo/android/imoim/util/k/b;->a(Ljava/lang/String;)V
.line 7135
iget v1, v1, Lcom/imo/android/imoim/util/k/b;->c:I
invoke-static {v1}, Landroid/opengl/GLES20;->glUseProgram(I)V
.line 7136
invoke-static {v0, v9}, Landroid/opengl/GLES20;->glUniform1i(II)V
const-string v0, "glUniform"
.line 7137
invoke-static {v0}, Lcom/imo/android/imoim/util/k/b;->a(Ljava/lang/String;)V
.line 5188
iget-object v0, p0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
invoke-virtual {v0}, Landroid/media/MediaCodec;->getOutputBuffers()[Ljava/nio/ByteBuffer;
move-result-object v0
iput-object v0, p0, Lcom/imo/android/imoim/util/k/c;->p:[Ljava/nio/ByteBuffer;
.line 5190
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "Selected encoder: "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
invoke-virtual {v1}, Landroid/media/MediaCodec;->getName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 8071
invoke-static {v5, v0}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 5193
new-instance v0, Landroid/media/MediaExtractor;
invoke-direct {v0}, Landroid/media/MediaExtractor;-><init>()V
iput-object v0, p0, Lcom/imo/android/imoim/util/k/c;->k:Landroid/media/MediaExtractor;
.line 5194
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->g:Ljava/lang/String;
invoke-virtual {v0, v1}, Landroid/media/MediaExtractor;->setDataSource(Ljava/lang/String;)V
.line 5195
iget-object v0, p0, Lcom/imo/android/imoim/util/k/c;->k:Landroid/media/MediaExtractor;
invoke-static {v0}, Lcom/imo/android/imoim/util/k/c;->a(Landroid/media/MediaExtractor;)I
move-result v0
iput v0, p0, Lcom/imo/android/imoim/util/k/c;->v:I
.line 5197
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->k:Landroid/media/MediaExtractor;
.line 5198
invoke-virtual {v1, v0}, Landroid/media/MediaExtractor;->getTrackFormat(I)Landroid/media/MediaFormat;
move-result-object v0
.line 5200
new-instance v1, Ljava/io/File;
iget-object v6, p0, Lcom/imo/android/imoim/util/k/c;->h:Ljava/lang/String;
invoke-direct {v1, v6}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v1}, Ljava/io/File;->delete()Z
.line 5201
new-instance v1, Landroid/media/MediaMuxer;
iget-object v6, p0, Lcom/imo/android/imoim/util/k/c;->h:Ljava/lang/String;
invoke-direct {v1, v6, v9}, Landroid/media/MediaMuxer;-><init>(Ljava/lang/String;I)V
iput-object v1, p0, Lcom/imo/android/imoim/util/k/c;->l:Landroid/media/MediaMuxer;
.line 5205
invoke-virtual {v1, v0}, Landroid/media/MediaMuxer;->addTrack(Landroid/media/MediaFormat;)I
move-result v0
iput v0, p0, Lcom/imo/android/imoim/util/k/c;->w:I
.line 349
invoke-direct {p0}, Lcom/imo/android/imoim/util/k/c;->b()V
:try_end_22d
.catch Lcom/imo/android/imoim/util/k/c$a; {:try_start_f4 .. :try_end_22d} :catch_3c4
.catch Ljava/lang/Exception; {:try_start_f4 .. :try_end_22d} :catch_35c
.catchall {:try_start_f4 .. :try_end_22d} :catchall_359
.line 361
:try_start_22d
iget-object v0, p0, Lcom/imo/android/imoim/util/k/c;->n:Lcom/imo/android/imoim/util/k/e;
if-eqz v0, :cond_236
.line 362
iget-object v0, p0, Lcom/imo/android/imoim/util/k/c;->n:Lcom/imo/android/imoim/util/k/e;
invoke-virtual {v0}, Lcom/imo/android/imoim/util/k/e;->a()V
.line 364
:cond_236
iget-object v0, p0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
if-eqz v0, :cond_244
.line 365
iget-object v0, p0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
invoke-virtual {v0}, Landroid/media/MediaCodec;->stop()V
.line 366
iget-object v0, p0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
invoke-virtual {v0}, Landroid/media/MediaCodec;->release()V
.line 368
:cond_244
iget-object v0, p0, Lcom/imo/android/imoim/util/k/c;->l:Landroid/media/MediaMuxer;
if-eqz v0, :cond_256
.line 369
iget-boolean v0, p0, Lcom/imo/android/imoim/util/k/c;->r:Z
if-eqz v0, :cond_251
.line 370
iget-object v0, p0, Lcom/imo/android/imoim/util/k/c;->l:Landroid/media/MediaMuxer;
invoke-virtual {v0}, Landroid/media/MediaMuxer;->stop()V
.line 371
:cond_251
iget-object v0, p0, Lcom/imo/android/imoim/util/k/c;->l:Landroid/media/MediaMuxer;
invoke-virtual {v0}, Landroid/media/MediaMuxer;->release()V
.line 373
:cond_256
iget-object v0, p0, Lcom/imo/android/imoim/util/k/c;->k:Landroid/media/MediaExtractor;
if-eqz v0, :cond_25f
.line 374
iget-object v0, p0, Lcom/imo/android/imoim/util/k/c;->k:Landroid/media/MediaExtractor;
invoke-virtual {v0}, Landroid/media/MediaExtractor;->release()V
:try_end_25f
.catch Ljava/lang/Exception; {:try_start_22d .. :try_end_25f} :catch_310
:cond_25f
:try_start_25f
const-string v0, "Optimizing the mp4 for streaming!"
.line 9071
invoke-static {v5, v0}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 388
new-instance v0, Ljava/io/File;
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->h:Ljava/lang/String;
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
new-instance v1, Ljava/io/File;
iget-object v2, p0, Lcom/imo/android/imoim/util/k/c;->i:Ljava/lang/String;
invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-static {v0, v1}, Lcom/imo/android/imoim/util/k/g;->a(Ljava/io/File;Ljava/io/File;)Ljava/io/File;
:try_end_275
.catch Ljava/lang/Exception; {:try_start_25f .. :try_end_275} :catch_280
.catchall {:try_start_25f .. :try_end_275} :catchall_27d
.line 393
new-instance v0, Ljava/io/File;
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->h:Ljava/lang/String;
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
goto :goto_29d
:catchall_27d
move-exception v0
goto/16 :goto_305
:catch_280
move-exception v0
.line 391
:try_start_281
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Transcoding QTFastStart error: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v5, v0}, Lcom/imo/android/imoim/util/bt;->c(Ljava/lang/String;Ljava/lang/String;)V
:try_end_296
.catchall {:try_start_281 .. :try_end_296} :catchall_27d
.line 393
new-instance v0, Ljava/io/File;
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->h:Ljava/lang/String;
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
:goto_29d
invoke-virtual {v0}, Ljava/io/File;->delete()Z
.line 396
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
sub-long/2addr v0, v3
.line 398
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Finished transcoding! Elapsed time: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
long-to-double v3, v0
const-wide v6, 0x408f400000000000L # 1000.0
invoke-static {v3, v4}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v3, v6
invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
const-string v3, "s"
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
.line 10071
invoke-static {v5, v2}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 400
iget-object v2, p0, Lcom/imo/android/imoim/util/k/c;->z:Lcom/imo/android/imoim/c/h$a;
const/16 v3, 0x64
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
invoke-interface {v2, v3}, Lcom/imo/android/imoim/c/h$a;->updateProgress(Ljava/lang/Integer;)V
.line 403
new-instance v2, Lorg/json/JSONObject;
invoke-direct {v2}, Lorg/json/JSONObject;-><init>()V
:try_start_2d5
const-string v3, "input_file_size_kb"
.line 405
iget-wide v4, p0, Lcom/imo/android/imoim/util/k/c;->y:J
const-wide/16 v6, 0x400
div-long/2addr v4, v6
invoke-virtual {v2, v3, v4, v5}, Lorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject;
const-string v3, "output_file_size_kb"
.line 406
new-instance v4, Ljava/io/File;
iget-object v5, p0, Lcom/imo/android/imoim/util/k/c;->i:Ljava/lang/String;
invoke-direct {v4, v5}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 407
invoke-virtual {v4}, Ljava/io/File;->length()J
move-result-wide v4
div-long/2addr v4, v6
.line 406
invoke-virtual {v2, v3, v4, v5}, Lorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject;
const-string v3, "elapsed_time_sec"
const-wide/16 v4, 0x3e8
.line 408
div-long/2addr v0, v4
invoke-virtual {v2, v3, v0, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject;
.line 10080
iget-object v0, p0, Lcom/imo/android/imoim/util/k/c;->B:Landroid/os/Handler;
new-instance v1, Lcom/imo/android/imoim/util/k/c$1;
invoke-direct {v1, p0, v2}, Lcom/imo/android/imoim/util/k/c$1;-><init>(Lcom/imo/android/imoim/util/k/c;Lorg/json/JSONObject;)V
invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
:try_end_302
.catch Lorg/json/JSONException; {:try_start_2d5 .. :try_end_302} :catch_302
.line 413
:catch_302
sget-object v0, Lcom/imo/android/imoim/util/k/d$b;->OK:Lcom/imo/android/imoim/util/k/d$b;
return-object v0
.line 393
:goto_305
new-instance v1, Ljava/io/File;
iget-object v2, p0, Lcom/imo/android/imoim/util/k/c;->h:Ljava/lang/String;
invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v1}, Ljava/io/File;->delete()Z
throw v0
:catch_310
move-exception v0
.line 377
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v5, v0}, Lcom/imo/android/imoim/util/bt;->c(Ljava/lang/String;Ljava/lang/String;)V
.line 378
new-instance v0, Ljava/io/File;
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->h:Ljava/lang/String;
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
:goto_32b
invoke-virtual {v0}, Ljava/io/File;->delete()Z
.line 380
sget-object v0, Lcom/imo/android/imoim/util/k/d$b;->ERROR:Lcom/imo/android/imoim/util/k/d$b;
return-object v0
.line 7111
:cond_331
:try_start_331
new-instance v0, Ljava/lang/RuntimeException;
const-string v1, "Could not get attrib location for uSTMatrix"
invoke-direct {v0, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v0
.line 7106
:cond_339
new-instance v0, Ljava/lang/RuntimeException;
const-string v1, "Could not get attrib location for uMVPMatrix"
invoke-direct {v0, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v0
.line 7101
:cond_341
new-instance v0, Ljava/lang/RuntimeException;
const-string v1, "Could not get attrib location for aTextureCoord"
invoke-direct {v0, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v0
.line 7096
:cond_349
new-instance v0, Ljava/lang/RuntimeException;
const-string v1, "Could not get attrib location for aPosition"
invoke-direct {v0, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v0
.line 7091
:cond_351
new-instance v0, Ljava/lang/RuntimeException;
const-string v1, "failed creating program"
invoke-direct {v0, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v0
:try_end_359
.catch Lcom/imo/android/imoim/util/k/c$a; {:try_start_331 .. :try_end_359} :catch_3c4
.catch Ljava/lang/Exception; {:try_start_331 .. :try_end_359} :catch_35c
.catchall {:try_start_331 .. :try_end_359} :catchall_359
:catchall_359
move-exception v0
goto/16 :goto_416
:catch_35c
move-exception v0
.line 353
:try_start_35d
new-instance v1, Ljava/lang/StringBuilder;
const-string v3, "Transcoding error: "
invoke-direct {v1, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v5, v0}, Lcom/imo/android/imoim/util/bt;->c(Ljava/lang/String;Ljava/lang/String;)V
.line 355
sget-object v0, Lcom/imo/android/imoim/util/k/d$b;->ERROR:Lcom/imo/android/imoim/util/k/d$b;
:try_end_374
.catchall {:try_start_35d .. :try_end_374} :catchall_359
.line 361
:try_start_374
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->n:Lcom/imo/android/imoim/util/k/e;
if-eqz v1, :cond_37d
.line 362
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->n:Lcom/imo/android/imoim/util/k/e;
invoke-virtual {v1}, Lcom/imo/android/imoim/util/k/e;->a()V
.line 364
:cond_37d
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
if-eqz v1, :cond_38b
.line 365
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
invoke-virtual {v1}, Landroid/media/MediaCodec;->stop()V
.line 366
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
invoke-virtual {v1}, Landroid/media/MediaCodec;->release()V
.line 368
:cond_38b
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->l:Landroid/media/MediaMuxer;
if-eqz v1, :cond_39d
.line 369
iget-boolean v1, p0, Lcom/imo/android/imoim/util/k/c;->r:Z
if-eqz v1, :cond_398
.line 370
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->l:Landroid/media/MediaMuxer;
invoke-virtual {v1}, Landroid/media/MediaMuxer;->stop()V
.line 371
:cond_398
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->l:Landroid/media/MediaMuxer;
invoke-virtual {v1}, Landroid/media/MediaMuxer;->release()V
.line 373
:cond_39d
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->k:Landroid/media/MediaExtractor;
if-eqz v1, :cond_3a6
.line 374
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->k:Landroid/media/MediaExtractor;
invoke-virtual {v1}, Landroid/media/MediaExtractor;->release()V
:try_end_3a6
.catch Ljava/lang/Exception; {:try_start_374 .. :try_end_3a6} :catch_3a7
:cond_3a6
return-object v0
:catch_3a7
move-exception v0
.line 377
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v5, v0}, Lcom/imo/android/imoim/util/bt;->c(Ljava/lang/String;Ljava/lang/String;)V
.line 378
new-instance v0, Ljava/io/File;
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->h:Ljava/lang/String;
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
goto/16 :goto_32b
.line 351
:catch_3c4
:try_start_3c4
sget-object v0, Lcom/imo/android/imoim/util/k/d$b;->VIDEO_TOO_SMALL:Lcom/imo/android/imoim/util/k/d$b;
:try_end_3c6
.catchall {:try_start_3c4 .. :try_end_3c6} :catchall_359
.line 361
:try_start_3c6
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->n:Lcom/imo/android/imoim/util/k/e;
if-eqz v1, :cond_3cf
.line 362
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->n:Lcom/imo/android/imoim/util/k/e;
invoke-virtual {v1}, Lcom/imo/android/imoim/util/k/e;->a()V
.line 364
:cond_3cf
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
if-eqz v1, :cond_3dd
.line 365
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
invoke-virtual {v1}, Landroid/media/MediaCodec;->stop()V
.line 366
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
invoke-virtual {v1}, Landroid/media/MediaCodec;->release()V
.line 368
:cond_3dd
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->l:Landroid/media/MediaMuxer;
if-eqz v1, :cond_3ef
.line 369
iget-boolean v1, p0, Lcom/imo/android/imoim/util/k/c;->r:Z
if-eqz v1, :cond_3ea
.line 370
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->l:Landroid/media/MediaMuxer;
invoke-virtual {v1}, Landroid/media/MediaMuxer;->stop()V
.line 371
:cond_3ea
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->l:Landroid/media/MediaMuxer;
invoke-virtual {v1}, Landroid/media/MediaMuxer;->release()V
.line 373
:cond_3ef
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->k:Landroid/media/MediaExtractor;
if-eqz v1, :cond_3f8
.line 374
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->k:Landroid/media/MediaExtractor;
invoke-virtual {v1}, Landroid/media/MediaExtractor;->release()V
:try_end_3f8
.catch Ljava/lang/Exception; {:try_start_3c6 .. :try_end_3f8} :catch_3f9
:cond_3f8
return-object v0
:catch_3f9
move-exception v0
.line 377
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v5, v0}, Lcom/imo/android/imoim/util/bt;->c(Ljava/lang/String;Ljava/lang/String;)V
.line 378
new-instance v0, Ljava/io/File;
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->h:Ljava/lang/String;
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
goto/16 :goto_32b
.line 361
:goto_416
:try_start_416
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->n:Lcom/imo/android/imoim/util/k/e;
if-eqz v1, :cond_41f
.line 362
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->n:Lcom/imo/android/imoim/util/k/e;
invoke-virtual {v1}, Lcom/imo/android/imoim/util/k/e;->a()V
.line 364
:cond_41f
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
if-eqz v1, :cond_42d
.line 365
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
invoke-virtual {v1}, Landroid/media/MediaCodec;->stop()V
.line 366
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->m:Landroid/media/MediaCodec;
invoke-virtual {v1}, Landroid/media/MediaCodec;->release()V
.line 368
:cond_42d
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->l:Landroid/media/MediaMuxer;
if-eqz v1, :cond_43f
.line 369
iget-boolean v1, p0, Lcom/imo/android/imoim/util/k/c;->r:Z
if-eqz v1, :cond_43a
.line 370
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->l:Landroid/media/MediaMuxer;
invoke-virtual {v1}, Landroid/media/MediaMuxer;->stop()V
.line 371
:cond_43a
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->l:Landroid/media/MediaMuxer;
invoke-virtual {v1}, Landroid/media/MediaMuxer;->release()V
.line 373
:cond_43f
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->k:Landroid/media/MediaExtractor;
if-eqz v1, :cond_448
.line 374
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->k:Landroid/media/MediaExtractor;
invoke-virtual {v1}, Landroid/media/MediaExtractor;->release()V
:try_end_448
.catch Ljava/lang/Exception; {:try_start_416 .. :try_end_448} :catch_449
.line 380
:cond_448
throw v0
:catch_449
move-exception v0
.line 377
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v5, v0}, Lcom/imo/android/imoim/util/bt;->c(Ljava/lang/String;Ljava/lang/String;)V
.line 378
new-instance v0, Ljava/io/File;
iget-object v1, p0, Lcom/imo/android/imoim/util/k/c;->h:Ljava/lang/String;
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
goto/16 :goto_32b
.end method