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