a.smali
.class public final Lcom/imo/android/imoim/util/k/a;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/imo/android/imoim/util/k/a$a;,
Lcom/imo/android/imoim/util/k/a$b;
}
.end annotation
# static fields
.field private static final b:Ljava/io/File;
# instance fields
.field a:Ljava/util/Queue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Queue<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private final c:Lcom/imo/android/imoim/util/k/a$a;
.field private d:I
.field private e:Lcom/imo/android/imoim/util/k/m;
.field private f:I
.field private g:I
.field private final h:I
.field private i:I
.field private j:Landroid/media/MediaCodec;
.field private k:Lcom/imo/android/imoim/util/k/a$b;
.field private l:Landroid/media/MediaMuxer;
.field private m:I
.field private n:Z
.field private o:Landroid/media/MediaCodec$BufferInfo;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 79
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v0
sput-object v0, Lcom/imo/android/imoim/util/k/a;->b:Ljava/io/File;
return-void
.end method
.method public constructor <init>(Lcom/imo/android/imoim/util/k/a$a;)V
.registers 4
.line 117
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 96
new-instance v0, Ljava/util/LinkedList;
invoke-direct {v0}, Ljava/util/LinkedList;-><init>()V
iput-object v0, p0, Lcom/imo/android/imoim/util/k/a;->a:Ljava/util/Queue;
const/4 v0, 0x0
.line 97
iput v0, p0, Lcom/imo/android/imoim/util/k/a;->d:I
const/4 v0, 0x0
.line 98
iput-object v0, p0, Lcom/imo/android/imoim/util/k/a;->e:Lcom/imo/android/imoim/util/k/m;
const/4 v0, -0x1
.line 101
iput v0, p0, Lcom/imo/android/imoim/util/k/a;->f:I
.line 102
iput v0, p0, Lcom/imo/android/imoim/util/k/a;->g:I
const/16 v1, 0x500
.line 103
iput v1, p0, Lcom/imo/android/imoim/util/k/a;->h:I
.line 105
iput v0, p0, Lcom/imo/android/imoim/util/k/a;->i:I
.line 118
iput-object p1, p0, Lcom/imo/android/imoim/util/k/a;->c:Lcom/imo/android/imoim/util/k/a$a;
return-void
.end method
.method private a()V
.registers 3
.line 275
iget-object v0, p0, Lcom/imo/android/imoim/util/k/a;->j:Landroid/media/MediaCodec;
const/4 v1, 0x0
if-eqz v0, :cond_f
.line 276
invoke-virtual {v0}, Landroid/media/MediaCodec;->stop()V
.line 277
iget-object v0, p0, Lcom/imo/android/imoim/util/k/a;->j:Landroid/media/MediaCodec;
invoke-virtual {v0}, Landroid/media/MediaCodec;->release()V
.line 278
iput-object v1, p0, Lcom/imo/android/imoim/util/k/a;->j:Landroid/media/MediaCodec;
.line 280
:cond_f
iget-object v0, p0, Lcom/imo/android/imoim/util/k/a;->k:Lcom/imo/android/imoim/util/k/a$b;
if-eqz v0, :cond_18
.line 281
invoke-virtual {v0}, Lcom/imo/android/imoim/util/k/a$b;->a()V
.line 282
iput-object v1, p0, Lcom/imo/android/imoim/util/k/a;->k:Lcom/imo/android/imoim/util/k/a$b;
.line 284
:cond_18
iget-object v0, p0, Lcom/imo/android/imoim/util/k/a;->l:Landroid/media/MediaMuxer;
if-eqz v0, :cond_26
.line 285
invoke-virtual {v0}, Landroid/media/MediaMuxer;->stop()V
.line 286
iget-object v0, p0, Lcom/imo/android/imoim/util/k/a;->l:Landroid/media/MediaMuxer;
invoke-virtual {v0}, Landroid/media/MediaMuxer;->release()V
.line 287
iput-object v1, p0, Lcom/imo/android/imoim/util/k/a;->l:Landroid/media/MediaMuxer;
:cond_26
return-void
.end method
.method private a(Z)V
.registers 10
.line 301
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "drainEncoder("
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v1, ")"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
if-eqz p1, :cond_16
.line 305
iget-object v0, p0, Lcom/imo/android/imoim/util/k/a;->j:Landroid/media/MediaCodec;
invoke-virtual {v0}, Landroid/media/MediaCodec;->signalEndOfInputStream()V
.line 308
:cond_16
iget-object v0, p0, Lcom/imo/android/imoim/util/k/a;->j:Landroid/media/MediaCodec;
invoke-virtual {v0}, Landroid/media/MediaCodec;->getOutputBuffers()[Ljava/nio/ByteBuffer;
move-result-object v0
.line 310
:cond_1c
:goto_1c
iget-object v1, p0, Lcom/imo/android/imoim/util/k/a;->j:Landroid/media/MediaCodec;
iget-object v2, p0, Lcom/imo/android/imoim/util/k/a;->o:Landroid/media/MediaCodec$BufferInfo;
const-wide/16 v3, 0x2710
invoke-virtual {v1, v2, v3, v4}, Landroid/media/MediaCodec;->dequeueOutputBuffer(Landroid/media/MediaCodec$BufferInfo;J)I
move-result v1
const/4 v2, -0x1
if-ne v1, v2, :cond_2d
if-eqz p1, :cond_2c
goto :goto_1c
:cond_2c
return-void
:cond_2d
const/4 v2, -0x3
if-eq v1, v2, :cond_16
const/4 v2, -0x2
if-ne v1, v2, :cond_56
.line 323
iget-boolean v1, p0, Lcom/imo/android/imoim/util/k/a;->n:Z
if-nez v1, :cond_4e
.line 326
iget-object v1, p0, Lcom/imo/android/imoim/util/k/a;->j:Landroid/media/MediaCodec;
invoke-virtual {v1}, Landroid/media/MediaCodec;->getOutputFormat()Landroid/media/MediaFormat;
move-result-object v1
.line 330
iget-object v2, p0, Lcom/imo/android/imoim/util/k/a;->l:Landroid/media/MediaMuxer;
invoke-virtual {v2, v1}, Landroid/media/MediaMuxer;->addTrack(Landroid/media/MediaFormat;)I
move-result v1
iput v1, p0, Lcom/imo/android/imoim/util/k/a;->m:I
.line 331
iget-object v1, p0, Lcom/imo/android/imoim/util/k/a;->l:Landroid/media/MediaMuxer;
invoke-virtual {v1}, Landroid/media/MediaMuxer;->start()V
const/4 v1, 0x1
.line 332
iput-boolean v1, p0, Lcom/imo/android/imoim/util/k/a;->n:Z
goto :goto_1c
.line 324
:cond_4e
new-instance p1, Ljava/lang/RuntimeException;
const-string v0, "format changed twice"
invoke-direct {p1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw p1
:cond_56
const-string v2, "EncodeAndMuxTest"
if-gez v1, :cond_68
.line 334
invoke-static {v1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v1
const-string v3, "unexpected result from encoder.dequeueOutputBuffer: "
invoke-virtual {v3, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-static {v2, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_1c
.line 338
:cond_68
aget-object v3, v0, v1
if-eqz v3, :cond_d0
.line 344
iget-object v4, p0, Lcom/imo/android/imoim/util/k/a;->o:Landroid/media/MediaCodec$BufferInfo;
iget v4, v4, Landroid/media/MediaCodec$BufferInfo;->flags:I
and-int/lit8 v4, v4, 0x2
const/4 v5, 0x0
if-eqz v4, :cond_79
.line 348
iget-object v4, p0, Lcom/imo/android/imoim/util/k/a;->o:Landroid/media/MediaCodec$BufferInfo;
iput v5, v4, Landroid/media/MediaCodec$BufferInfo;->size:I
.line 351
:cond_79
iget-object v4, p0, Lcom/imo/android/imoim/util/k/a;->o:Landroid/media/MediaCodec$BufferInfo;
iget v4, v4, Landroid/media/MediaCodec$BufferInfo;->size:I
if-eqz v4, :cond_bb
.line 352
iget-boolean v4, p0, Lcom/imo/android/imoim/util/k/a;->n:Z
if-eqz v4, :cond_b3
.line 357
iget-object v4, p0, Lcom/imo/android/imoim/util/k/a;->o:Landroid/media/MediaCodec$BufferInfo;
iget v4, v4, Landroid/media/MediaCodec$BufferInfo;->offset:I
invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 358
iget-object v4, p0, Lcom/imo/android/imoim/util/k/a;->o:Landroid/media/MediaCodec$BufferInfo;
iget v4, v4, Landroid/media/MediaCodec$BufferInfo;->offset:I
iget-object v6, p0, Lcom/imo/android/imoim/util/k/a;->o:Landroid/media/MediaCodec$BufferInfo;
iget v6, v6, Landroid/media/MediaCodec$BufferInfo;->size:I
add-int/2addr v4, v6
invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
.line 360
iget-object v4, p0, Lcom/imo/android/imoim/util/k/a;->l:Landroid/media/MediaMuxer;
iget v6, p0, Lcom/imo/android/imoim/util/k/a;->m:I
iget-object v7, p0, Lcom/imo/android/imoim/util/k/a;->o:Landroid/media/MediaCodec$BufferInfo;
invoke-virtual {v4, v6, v3, v7}, Landroid/media/MediaMuxer;->writeSampleData(ILjava/nio/ByteBuffer;Landroid/media/MediaCodec$BufferInfo;)V
.line 361
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "sent "
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v4, p0, Lcom/imo/android/imoim/util/k/a;->o:Landroid/media/MediaCodec$BufferInfo;
iget v4, v4, Landroid/media/MediaCodec$BufferInfo;->size:I
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v4, " bytes to muxer"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_bb
.line 353
:cond_b3
new-instance p1, Ljava/lang/RuntimeException;
const-string v0, "muxer hasn\'t started"
invoke-direct {p1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw p1
.line 364
:cond_bb
:goto_bb
iget-object v3, p0, Lcom/imo/android/imoim/util/k/a;->j:Landroid/media/MediaCodec;
invoke-virtual {v3, v1, v5}, Landroid/media/MediaCodec;->releaseOutputBuffer(IZ)V
.line 366
iget-object v1, p0, Lcom/imo/android/imoim/util/k/a;->o:Landroid/media/MediaCodec$BufferInfo;
iget v1, v1, Landroid/media/MediaCodec$BufferInfo;->flags:I
and-int/lit8 v1, v1, 0x4
if-eqz v1, :cond_1c
if-nez p1, :cond_cf
const-string p1, "reached end of stream unexpectedly"
.line 368
invoke-static {v2, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:cond_cf
return-void
.line 340
:cond_d0
new-instance p1, Ljava/lang/RuntimeException;
new-instance v0, Ljava/lang/StringBuilder;
const-string v2, "encoderOutputBuffer "
invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, " was null"
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
invoke-direct {p1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
goto :goto_ea
:goto_e9
throw p1
:goto_ea
goto :goto_e9
.end method
.method private static a(Ljava/io/File;)[B
.registers 7
const-string v0, "EncodeAndMuxTest"
const/4 v1, 0x0
.line 123
:try_start_3
new-instance v2, Ljava/io/FileInputStream;
invoke-direct {v2, p0}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
:try_end_8
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_8} :catch_37
.line 124
:try_start_8
invoke-virtual {p0}, Ljava/io/File;->length()J
move-result-wide v3
long-to-int v4, v3
new-array v1, v4, [B
.line 125
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "file size: "
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/io/File;->length()J
move-result-wide v4
invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
.line 1071
invoke-static {v0, p0}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 126
invoke-virtual {v2, v1}, Ljava/io/FileInputStream;->read([B)I
:try_end_27
.catchall {:try_start_8 .. :try_end_27} :catchall_2b
.line 127
:try_start_27
invoke-virtual {v2}, Ljava/io/FileInputStream;->close()V
:try_end_2a
.catch Ljava/lang/Exception; {:try_start_27 .. :try_end_2a} :catch_37
goto :goto_3f
:catchall_2b
move-exception p0
.line 123
:try_start_2c
throw p0
:try_end_2d
.catchall {:try_start_2c .. :try_end_2d} :catchall_2d
:catchall_2d
move-exception v3
.line 127
:try_start_2e
invoke-virtual {v2}, Ljava/io/FileInputStream;->close()V
:try_end_31
.catchall {:try_start_2e .. :try_end_31} :catchall_32
goto :goto_36
:catchall_32
move-exception v2
:try_start_33
invoke-virtual {p0, v2}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V
:goto_36
throw v3
:try_end_37
.catch Ljava/lang/Exception; {:try_start_33 .. :try_end_37} :catch_37
:catch_37
move-exception p0
.line 128
invoke-virtual {p0}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object p0
invoke-static {v0, p0}, Lcom/imo/android/imoim/util/bt;->c(Ljava/lang/String;Ljava/lang/String;)V
:goto_3f
return-object v1
.end method
# virtual methods
.method public final a(Ljava/lang/String;)Lcom/imo/android/imoim/util/k/d$b;
.registers 27
move-object/from16 v1, p0
const-string v2, "glAttachShader"
const-string v3, "video/avc"
const-string v4, "EncodeAndMuxTest"
.line 165
sget-object v5, Lcom/imo/android/imoim/util/k/d$b;->ERROR:Lcom/imo/android/imoim/util/k/d$b;
.line 167
iget-object v6, v1, Lcom/imo/android/imoim/util/k/a;->c:Lcom/imo/android/imoim/util/k/a$a;
iget v6, v6, Lcom/imo/android/imoim/util/k/a$a;->b:I
iput v6, v1, Lcom/imo/android/imoim/util/k/a;->f:I
.line 168
iget-object v6, v1, Lcom/imo/android/imoim/util/k/a;->c:Lcom/imo/android/imoim/util/k/a$a;
iget v6, v6, Lcom/imo/android/imoim/util/k/a$a;->a:I
iput v6, v1, Lcom/imo/android/imoim/util/k/a;->g:I
.line 1146
iget v7, v1, Lcom/imo/android/imoim/util/k/a;->f:I
const/16 v8, 0x500
const-wide/high16 v9, 0x4094000000000000L # 1280.0
if-le v7, v6, :cond_2f
int-to-double v11, v6
int-to-double v6, v7
.line 1147
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
iput v6, v1, Lcom/imo/android/imoim/util/k/a;->g:I
.line 1148
iput v8, v1, Lcom/imo/android/imoim/util/k/a;->f:I
goto :goto_3f
:cond_2f
int-to-double v11, v7
int-to-double v6, v6
.line 1150
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
iput v6, v1, Lcom/imo/android/imoim/util/k/a;->f:I
.line 1151
iput v8, v1, Lcom/imo/android/imoim/util/k/a;->g:I
:goto_3f
const v6, 0x249f00
.line 172
iput v6, v1, Lcom/imo/android/imoim/util/k/a;->i:I
const/4 v6, 0x0
const/4 v7, 0x0
:goto_46
const/4 v8, 0x1
if-gtz v7, :cond_76
const/4 v9, 0x0
.line 175
:goto_4a
iget-object v10, v1, Lcom/imo/android/imoim/util/k/a;->c:Lcom/imo/android/imoim/util/k/a$a;
invoke-virtual {v10}, Lcom/imo/android/imoim/util/k/a$a;->a()I
move-result v10
if-ge v9, v10, :cond_5e
.line 176
iget-object v10, v1, Lcom/imo/android/imoim/util/k/a;->a:Ljava/util/Queue;
invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v11
invoke-interface {v10, v11}, Ljava/util/Queue;->offer(Ljava/lang/Object;)Z
add-int/lit8 v9, v9, 0x1
goto :goto_4a
.line 177
:cond_5e
iget-object v9, v1, Lcom/imo/android/imoim/util/k/a;->c:Lcom/imo/android/imoim/util/k/a$a;
invoke-virtual {v9}, Lcom/imo/android/imoim/util/k/a$a;->a()I
move-result v9
sub-int/2addr v9, v8
:goto_65
if-ltz v9, :cond_73
.line 178
iget-object v8, v1, Lcom/imo/android/imoim/util/k/a;->a:Ljava/util/Queue;
invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v10
invoke-interface {v8, v10}, Ljava/util/Queue;->offer(Ljava/lang/Object;)Z
add-int/lit8 v9, v9, -0x1
goto :goto_65
:cond_73
add-int/lit8 v7, v7, 0x1
goto :goto_46
.line 1220
:cond_76
:try_start_76
new-instance v7, Landroid/media/MediaCodec$BufferInfo;
invoke-direct {v7}, Landroid/media/MediaCodec$BufferInfo;-><init>()V
iput-object v7, v1, Lcom/imo/android/imoim/util/k/a;->o:Landroid/media/MediaCodec$BufferInfo;
.line 1222
iget v7, v1, Lcom/imo/android/imoim/util/k/a;->f:I
iget v9, v1, Lcom/imo/android/imoim/util/k/a;->g:I
invoke-static {v3, v7, v9}, Landroid/media/MediaFormat;->createVideoFormat(Ljava/lang/String;II)Landroid/media/MediaFormat;
move-result-object v7
const-string v9, "color-format"
const v10, 0x7f000789
.line 1226
invoke-virtual {v7, v9, v10}, Landroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
const-string v9, "bitrate"
.line 1228
iget v10, v1, Lcom/imo/android/imoim/util/k/a;->i:I
invoke-virtual {v7, v9, v10}, Landroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
const-string v9, "frame-rate"
const/16 v10, 0x14
.line 1229
invoke-virtual {v7, v9, v10}, Landroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
const-string v9, "i-frame-interval"
const/4 v10, 0x5
.line 1230
invoke-virtual {v7, v9, v10}, Landroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
.line 1231
new-instance v9, Ljava/lang/StringBuilder;
const-string v11, "format: "
invoke-direct {v9, v11}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v9, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
:try_end_ab
.catch Ljava/lang/Exception; {:try_start_76 .. :try_end_ab} :catch_3a3
.catchall {:try_start_76 .. :try_end_ab} :catchall_3a0
.line 1241
:try_start_ab
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/a;->j:Landroid/media/MediaCodec;
:try_end_b1
.catch Ljava/lang/Exception; {:try_start_ab .. :try_end_b1} :catch_b1
.catchall {:try_start_ab .. :try_end_b1} :catchall_3a0
.line 1243
:catch_b1
:try_start_b1
iget-object v3, v1, Lcom/imo/android/imoim/util/k/a;->j:Landroid/media/MediaCodec;
const/4 v9, 0x0
invoke-virtual {v3, v7, v9, v9, v8}, Landroid/media/MediaCodec;->configure(Landroid/media/MediaFormat;Landroid/view/Surface;Landroid/media/MediaCrypto;I)V
.line 1244
new-instance v3, Lcom/imo/android/imoim/util/k/a$b;
iget-object v7, v1, Lcom/imo/android/imoim/util/k/a;->j:Landroid/media/MediaCodec;
invoke-virtual {v7}, Landroid/media/MediaCodec;->createInputSurface()Landroid/view/Surface;
move-result-object v7
invoke-direct {v3, v7}, Lcom/imo/android/imoim/util/k/a$b;-><init>(Landroid/view/Surface;)V
iput-object v3, v1, Lcom/imo/android/imoim/util/k/a;->k:Lcom/imo/android/imoim/util/k/a$b;
.line 1245
iget-object v3, v1, Lcom/imo/android/imoim/util/k/a;->j:Landroid/media/MediaCodec;
invoke-virtual {v3}, Landroid/media/MediaCodec;->start()V
:try_end_c9
.catch Ljava/lang/Exception; {:try_start_b1 .. :try_end_c9} :catch_3a3
.catchall {:try_start_b1 .. :try_end_c9} :catchall_3a0
.line 1260
:try_start_c9
new-instance v3, Landroid/media/MediaMuxer;
move-object/from16 v7, p1
invoke-direct {v3, v7, v6}, Landroid/media/MediaMuxer;-><init>(Ljava/lang/String;I)V
iput-object v3, v1, Lcom/imo/android/imoim/util/k/a;->l:Landroid/media/MediaMuxer;
:try_end_d2
.catch Ljava/io/IOException; {:try_start_c9 .. :try_end_d2} :catch_396
.catch Ljava/lang/Exception; {:try_start_c9 .. :try_end_d2} :catch_3a3
.catchall {:try_start_c9 .. :try_end_d2} :catchall_3a0
const/4 v3, -0x1
.line 1265
:try_start_d3
iput v3, v1, Lcom/imo/android/imoim/util/k/a;->m:I
.line 1266
iput-boolean v6, v1, Lcom/imo/android/imoim/util/k/a;->n:Z
.line 183
iget-object v7, v1, Lcom/imo/android/imoim/util/k/a;->k:Lcom/imo/android/imoim/util/k/a$b;
.line 1524
iget-object v9, v7, Lcom/imo/android/imoim/util/k/a$b;->a:Landroid/opengl/EGLDisplay;
iget-object v11, v7, Lcom/imo/android/imoim/util/k/a$b;->c:Landroid/opengl/EGLSurface;
iget-object v12, v7, Lcom/imo/android/imoim/util/k/a$b;->c:Landroid/opengl/EGLSurface;
iget-object v7, v7, Lcom/imo/android/imoim/util/k/a$b;->b:Landroid/opengl/EGLContext;
invoke-static {v9, v11, v12, v7}, Landroid/opengl/EGL14;->eglMakeCurrent(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;Landroid/opengl/EGLSurface;Landroid/opengl/EGLContext;)Z
const-string v7, "eglMakeCurrent"
.line 1525
invoke-static {v7}, Lcom/imo/android/imoim/util/k/a$b;->a(Ljava/lang/String;)V
.line 184
new-instance v7, Lcom/imo/android/imoim/util/k/m;
iget-object v9, v1, Lcom/imo/android/imoim/util/k/a;->c:Lcom/imo/android/imoim/util/k/a$a;
iget v9, v9, Lcom/imo/android/imoim/util/k/a$a;->a:I
iget-object v11, v1, Lcom/imo/android/imoim/util/k/a;->c:Lcom/imo/android/imoim/util/k/a$a;
iget v11, v11, Lcom/imo/android/imoim/util/k/a$a;->b:I
iget-object v12, v1, Lcom/imo/android/imoim/util/k/a;->c:Lcom/imo/android/imoim/util/k/a$a;
iget-object v12, v12, Lcom/imo/android/imoim/util/k/a$a;->d:[F
invoke-direct {v7, v9, v11, v12}, Lcom/imo/android/imoim/util/k/m;-><init>(II[F)V
iput-object v7, v1, Lcom/imo/android/imoim/util/k/a;->e:Lcom/imo/android/imoim/util/k/m;
const-string v9, "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 v11, "precision mediump float;\nvarying vec2 vTextureCoord;\n\nuniform sampler2D y_tex;\nuniform sampler2D uv_tex;\n\nvoid main() {\n float y = texture2D(y_tex, vTextureCoord).r;\n float u = texture2D(uv_tex, vTextureCoord).a - .5;\n float v = texture2D(uv_tex, vTextureCoord).r - .5;\n gl_FragColor = vec4(y + 1.403 * v, y - 0.344 * u - 0.714 * v, y + 1.77 * u, 1);\n}\n"
const v12, 0x8b31
.line 2203
invoke-static {v12, v9}, Lcom/imo/android/imoim/util/k/m;->a(ILjava/lang/String;)I
move-result v9
if-nez v9, :cond_10b
:goto_109
const/4 v12, 0x0
goto :goto_152
:cond_10b
const v12, 0x8b30
.line 2207
invoke-static {v12, v11}, Lcom/imo/android/imoim/util/k/m;->a(ILjava/lang/String;)I
move-result v11
if-nez v11, :cond_115
goto :goto_109
.line 2211
:cond_115
invoke-static {}, Landroid/opengl/GLES20;->glCreateProgram()I
move-result v12
const-string v13, "glCreateProgram"
.line 2212
invoke-static {v13}, Lcom/imo/android/imoim/util/k/m;->a(Ljava/lang/String;)V
:try_end_11e
.catch Ljava/lang/Exception; {:try_start_d3 .. :try_end_11e} :catch_3a3
.catchall {:try_start_d3 .. :try_end_11e} :catchall_3a0
const-string v13, "TextureRender"
if-nez v12, :cond_127
:try_start_122
const-string v14, "Could not create program"
.line 2214
invoke-static {v13, v14}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 2216
:cond_127
invoke-static {v12, v9}, Landroid/opengl/GLES20;->glAttachShader(II)V
.line 2217
invoke-static {v2}, Lcom/imo/android/imoim/util/k/m;->a(Ljava/lang/String;)V
.line 2218
invoke-static {v12, v11}, Landroid/opengl/GLES20;->glAttachShader(II)V
.line 2219
invoke-static {v2}, Lcom/imo/android/imoim/util/k/m;->a(Ljava/lang/String;)V
.line 2220
invoke-static {v12}, Landroid/opengl/GLES20;->glLinkProgram(I)V
new-array v2, v8, [I
const v9, 0x8b82
.line 2222
invoke-static {v12, v9, v2, v6}, Landroid/opengl/GLES20;->glGetProgramiv(II[II)V
.line 2223
aget v2, v2, v6
if-eq v2, v8, :cond_152
const-string v2, "Could not link program: "
.line 2224
invoke-static {v13, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 2225
invoke-static {v12}, Landroid/opengl/GLES20;->glGetProgramInfoLog(I)Ljava/lang/String;
move-result-object v2
invoke-static {v13, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 2226
invoke-static {v12}, Landroid/opengl/GLES20;->glDeleteProgram(I)V
goto :goto_109
.line 2130
:cond_152
:goto_152
iput v12, v7, Lcom/imo/android/imoim/util/k/m;->d:I
.line 2131
iget v2, v7, Lcom/imo/android/imoim/util/k/m;->d:I
if-eqz v2, :cond_38e
.line 2134
iget v2, v7, Lcom/imo/android/imoim/util/k/m;->d:I
const-string v9, "aPosition"
invoke-static {v2, v9}, Landroid/opengl/GLES20;->glGetAttribLocation(ILjava/lang/String;)I
move-result v2
iput v2, v7, Lcom/imo/android/imoim/util/k/m;->h:I
const-string v2, "glGetAttribLocation aPosition"
.line 2135
invoke-static {v2}, Lcom/imo/android/imoim/util/k/m;->a(Ljava/lang/String;)V
.line 2136
iget v2, v7, Lcom/imo/android/imoim/util/k/m;->h:I
if-eq v2, v3, :cond_386
.line 2139
iget v2, v7, Lcom/imo/android/imoim/util/k/m;->d:I
const-string v9, "aTextureCoord"
invoke-static {v2, v9}, Landroid/opengl/GLES20;->glGetAttribLocation(ILjava/lang/String;)I
move-result v2
iput v2, v7, Lcom/imo/android/imoim/util/k/m;->i:I
const-string v2, "glGetAttribLocation aTextureCoord"
.line 2140
invoke-static {v2}, Lcom/imo/android/imoim/util/k/m;->a(Ljava/lang/String;)V
.line 2141
iget v2, v7, Lcom/imo/android/imoim/util/k/m;->i:I
if-eq v2, v3, :cond_37e
.line 2144
iget v2, v7, Lcom/imo/android/imoim/util/k/m;->d:I
const-string v9, "uMVPMatrix"
invoke-static {v2, v9}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I
move-result v2
iput v2, v7, Lcom/imo/android/imoim/util/k/m;->f:I
const-string v2, "glGetUniformLocation uMVPMatrix"
.line 2145
invoke-static {v2}, Lcom/imo/android/imoim/util/k/m;->a(Ljava/lang/String;)V
.line 2146
iget v2, v7, Lcom/imo/android/imoim/util/k/m;->f:I
if-eq v2, v3, :cond_376
.line 2149
iget v2, v7, Lcom/imo/android/imoim/util/k/m;->d:I
const-string v9, "uSTMatrix"
invoke-static {v2, v9}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I
move-result v2
iput v2, v7, Lcom/imo/android/imoim/util/k/m;->g:I
const-string v2, "glGetUniformLocation uSTMatrix"
.line 2150
invoke-static {v2}, Lcom/imo/android/imoim/util/k/m;->a(Ljava/lang/String;)V
.line 2151
iget v2, v7, Lcom/imo/android/imoim/util/k/m;->g:I
if-eq v2, v3, :cond_36e
const/4 v2, 0x2
new-array v3, v2, [I
.line 2155
invoke-static {v2, v3, v6}, Landroid/opengl/GLES20;->glGenTextures(I[II)V
.line 2156
iput-object v3, v7, Lcom/imo/android/imoim/util/k/m;->e:[I
.line 2158
iget-object v3, v7, Lcom/imo/android/imoim/util/k/m;->e:[I
aget v3, v3, v6
const/16 v9, 0xde1
invoke-static {v9, v3}, Landroid/opengl/GLES20;->glBindTexture(II)V
const/16 v3, 0x2801
const/16 v11, 0x2601
.line 2160
invoke-static {v9, v3, v11}, Landroid/opengl/GLES20;->glTexParameteri(III)V
const/16 v12, 0x2800
.line 2162
invoke-static {v9, v12, v11}, Landroid/opengl/GLES20;->glTexParameteri(III)V
const/16 v13, 0x2802
const v14, 0x812f
.line 2163
invoke-static {v9, v13, v14}, Landroid/opengl/GLES20;->glTexParameteri(III)V
const/16 v15, 0x2803
.line 2164
invoke-static {v9, v15, v14}, Landroid/opengl/GLES20;->glTexParameteri(III)V
.line 2167
iget-object v10, v7, Lcom/imo/android/imoim/util/k/m;->e:[I
aget v10, v10, v8
invoke-static {v9, v10}, Landroid/opengl/GLES20;->glBindTexture(II)V
.line 2169
invoke-static {v9, v3, v11}, Landroid/opengl/GLES20;->glTexParameteri(III)V
.line 2170
invoke-static {v9, v12, v11}, Landroid/opengl/GLES20;->glTexParameteri(III)V
.line 2171
invoke-static {v9, v13, v14}, Landroid/opengl/GLES20;->glTexParameteri(III)V
.line 2172
invoke-static {v9, v15, v14}, Landroid/opengl/GLES20;->glTexParameteri(III)V
const-string v3, "glBindTexture mTextureID"
.line 2174
invoke-static {v3}, Lcom/imo/android/imoim/util/k/m;->a(Ljava/lang/String;)V
.line 2176
iget v3, v7, Lcom/imo/android/imoim/util/k/m;->d:I
const-string v10, "y_tex"
invoke-static {v3, v10}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I
move-result v3
.line 2177
iget v10, v7, Lcom/imo/android/imoim/util/k/m;->d:I
const-string v11, "uv_tex"
invoke-static {v10, v11}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I
move-result v10
const-string v11, "glGetUniLocation"
.line 2178
invoke-static {v11}, Lcom/imo/android/imoim/util/k/m;->a(Ljava/lang/String;)V
.line 2179
iget v7, v7, Lcom/imo/android/imoim/util/k/m;->d:I
invoke-static {v7}, Landroid/opengl/GLES20;->glUseProgram(I)V
.line 2180
invoke-static {v3, v6}, Landroid/opengl/GLES20;->glUniform1i(II)V
.line 2181
invoke-static {v10, v8}, Landroid/opengl/GLES20;->glUniform1i(II)V
const-string v3, "glUniform"
.line 2182
invoke-static {v3}, Lcom/imo/android/imoim/util/k/m;->a(Ljava/lang/String;)V
.line 187
:goto_20b
iget-object v3, v1, Lcom/imo/android/imoim/util/k/a;->a:Ljava/util/Queue;
invoke-interface {v3}, Ljava/util/Queue;->isEmpty()Z
move-result v3
if-nez v3, :cond_365
.line 189
invoke-direct {v1, v6}, Lcom/imo/android/imoim/util/k/a;->a(Z)V
.line 3134
iget-object v3, v1, Lcom/imo/android/imoim/util/k/a;->a:Ljava/util/Queue;
invoke-interface {v3}, Ljava/util/Queue;->poll()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Integer;
invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
move-result v3
const-string v7, "drawFrame "
.line 3135
invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v10
invoke-virtual {v7, v10}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v7
.line 4071
invoke-static {v4, v7}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 3136
iget-object v7, v1, Lcom/imo/android/imoim/util/k/a;->c:Lcom/imo/android/imoim/util/k/a$a;
iget-object v7, v7, Lcom/imo/android/imoim/util/k/a$a;->c:Ljava/util/List;
invoke-interface {v7, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/io/File;
invoke-static {v3}, Lcom/imo/android/imoim/util/k/a;->a(Ljava/io/File;)[B
move-result-object v3
.line 3137
iget-object v7, v1, Lcom/imo/android/imoim/util/k/a;->e:Lcom/imo/android/imoim/util/k/m;
const-string v10, "onDrawFrame start"
.line 4099
invoke-static {v10}, Lcom/imo/android/imoim/util/k/m;->a(Ljava/lang/String;)V
const/high16 v10, 0x3f800000 # 1.0f
.line 4100
invoke-static {v10, v10, v10, v10}, Landroid/opengl/GLES20;->glClearColor(FFFF)V
const/16 v10, 0x4100
.line 4101
invoke-static {v10}, Landroid/opengl/GLES20;->glClear(I)V
.line 4102
iget v10, v7, Lcom/imo/android/imoim/util/k/m;->d:I
invoke-static {v10}, Landroid/opengl/GLES20;->glUseProgram(I)V
const-string v10, "glUseProgram"
.line 4103
invoke-static {v10}, Lcom/imo/android/imoim/util/k/m;->a(Ljava/lang/String;)V
.line 5084
iget-object v10, v7, Lcom/imo/android/imoim/util/k/m;->l:Ljava/nio/ByteBuffer;
iget v11, v7, Lcom/imo/android/imoim/util/k/m;->j:I
iget v12, v7, Lcom/imo/android/imoim/util/k/m;->k:I
mul-int v11, v11, v12
invoke-virtual {v10, v3, v6, v11}, Ljava/nio/ByteBuffer;->put([BII)Ljava/nio/ByteBuffer;
.line 5085
iget-object v10, v7, Lcom/imo/android/imoim/util/k/m;->l:Ljava/nio/ByteBuffer;
invoke-virtual {v10, v6}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 5088
iget-object v10, v7, Lcom/imo/android/imoim/util/k/m;->m:Ljava/nio/ByteBuffer;
iget v11, v7, Lcom/imo/android/imoim/util/k/m;->j:I
iget v12, v7, Lcom/imo/android/imoim/util/k/m;->k:I
mul-int v11, v11, v12
iget v12, v7, Lcom/imo/android/imoim/util/k/m;->j:I
iget v13, v7, Lcom/imo/android/imoim/util/k/m;->k:I
mul-int v12, v12, v13
div-int/2addr v12, v2
invoke-virtual {v10, v3, v11, v12}, Ljava/nio/ByteBuffer;->put([BII)Ljava/nio/ByteBuffer;
.line 5089
iget-object v3, v7, Lcom/imo/android/imoim/util/k/m;->m:Ljava/nio/ByteBuffer;
invoke-virtual {v3, v6}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
const v3, 0x84c0
.line 5090
invoke-static {v3}, Landroid/opengl/GLES20;->glActiveTexture(I)V
.line 5091
iget-object v3, v7, Lcom/imo/android/imoim/util/k/m;->e:[I
aget v3, v3, v6
invoke-static {v9, v3}, Landroid/opengl/GLES20;->glBindTexture(II)V
const/16 v16, 0xde1
const/16 v17, 0x0
const/16 v18, 0x1909
.line 5092
iget v3, v7, Lcom/imo/android/imoim/util/k/m;->j:I
iget v10, v7, Lcom/imo/android/imoim/util/k/m;->k:I
const/16 v21, 0x0
const/16 v22, 0x1909
const/16 v23, 0x1401
iget-object v11, v7, Lcom/imo/android/imoim/util/k/m;->l:Ljava/nio/ByteBuffer;
move/from16 v19, v3
move/from16 v20, v10
move-object/from16 v24, v11
invoke-static/range {v16 .. v24}, Landroid/opengl/GLES20;->glTexImage2D(IIIIIIIILjava/nio/Buffer;)V
const v3, 0x84c1
.line 5093
invoke-static {v3}, Landroid/opengl/GLES20;->glActiveTexture(I)V
.line 5094
iget-object v3, v7, Lcom/imo/android/imoim/util/k/m;->e:[I
aget v3, v3, v8
invoke-static {v9, v3}, Landroid/opengl/GLES20;->glBindTexture(II)V
const/16 v16, 0xde1
const/16 v17, 0x0
const/16 v18, 0x190a
.line 5095
iget v3, v7, Lcom/imo/android/imoim/util/k/m;->j:I
div-int/lit8 v19, v3, 0x2
iget v3, v7, Lcom/imo/android/imoim/util/k/m;->k:I
div-int/lit8 v20, v3, 0x2
const/16 v21, 0x0
const/16 v22, 0x190a
const/16 v23, 0x1401
iget-object v3, v7, Lcom/imo/android/imoim/util/k/m;->m:Ljava/nio/ByteBuffer;
move-object/from16 v24, v3
invoke-static/range {v16 .. v24}, Landroid/opengl/GLES20;->glTexImage2D(IIIIIIIILjava/nio/Buffer;)V
.line 4105
iget-object v3, v7, Lcom/imo/android/imoim/util/k/m;->a:Ljava/nio/FloatBuffer;
invoke-virtual {v3, v6}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 4106
iget v10, v7, Lcom/imo/android/imoim/util/k/m;->h:I
const/4 v11, 0x3
const/16 v12, 0x1406
const/4 v13, 0x0
const/16 v14, 0x14
iget-object v15, v7, Lcom/imo/android/imoim/util/k/m;->a:Ljava/nio/FloatBuffer;
invoke-static/range {v10 .. v15}, Landroid/opengl/GLES20;->glVertexAttribPointer(IIIZILjava/nio/Buffer;)V
const-string v3, "glVertexAttribPointer maPosition"
.line 4108
invoke-static {v3}, Lcom/imo/android/imoim/util/k/m;->a(Ljava/lang/String;)V
.line 4109
iget v3, v7, Lcom/imo/android/imoim/util/k/m;->h:I
invoke-static {v3}, Landroid/opengl/GLES20;->glEnableVertexAttribArray(I)V
const-string v3, "glEnableVertexAttribArray maPositionHandle"
.line 4110
invoke-static {v3}, Lcom/imo/android/imoim/util/k/m;->a(Ljava/lang/String;)V
.line 4111
iget-object v3, v7, Lcom/imo/android/imoim/util/k/m;->a:Ljava/nio/FloatBuffer;
const/4 v10, 0x3
invoke-virtual {v3, v10}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 4112
iget v3, v7, Lcom/imo/android/imoim/util/k/m;->i:I
const/16 v17, 0x2
const/16 v18, 0x1406
const/16 v19, 0x0
const/16 v20, 0x14
iget-object v10, v7, Lcom/imo/android/imoim/util/k/m;->a:Ljava/nio/FloatBuffer;
move/from16 v16, v3
move-object/from16 v21, v10
invoke-static/range {v16 .. v21}, Landroid/opengl/GLES20;->glVertexAttribPointer(IIIZILjava/nio/Buffer;)V
const-string v3, "glVertexAttribPointer maTextureHandle"
.line 4114
invoke-static {v3}, Lcom/imo/android/imoim/util/k/m;->a(Ljava/lang/String;)V
.line 4115
iget v3, v7, Lcom/imo/android/imoim/util/k/m;->i:I
invoke-static {v3}, Landroid/opengl/GLES20;->glEnableVertexAttribArray(I)V
const-string v3, "glEnableVertexAttribArray maTextureHandle"
.line 4116
invoke-static {v3}, Lcom/imo/android/imoim/util/k/m;->a(Ljava/lang/String;)V
.line 4117
iget-object v3, v7, Lcom/imo/android/imoim/util/k/m;->b:[F
invoke-static {v3, v6}, Landroid/opengl/Matrix;->setIdentityM([FI)V
.line 4118
iget v3, v7, Lcom/imo/android/imoim/util/k/m;->f:I
iget-object v10, v7, Lcom/imo/android/imoim/util/k/m;->b:[F
invoke-static {v3, v8, v6, v10, v6}, Landroid/opengl/GLES20;->glUniformMatrix4fv(IIZ[FI)V
.line 4119
iget v3, v7, Lcom/imo/android/imoim/util/k/m;->g:I
iget-object v7, v7, Lcom/imo/android/imoim/util/k/m;->c:[F
invoke-static {v3, v8, v6, v7, v6}, Landroid/opengl/GLES20;->glUniformMatrix4fv(IIZ[FI)V
const/4 v3, 0x4
const/4 v7, 0x5
.line 4120
invoke-static {v7, v6, v3}, Landroid/opengl/GLES20;->glDrawArrays(III)V
const-string v3, "glDrawArrays"
.line 4121
invoke-static {v3}, Lcom/imo/android/imoim/util/k/m;->a(Ljava/lang/String;)V
.line 4122
invoke-static {}, Landroid/opengl/GLES20;->glFinish()V
.line 3139
iget-object v3, v1, Lcom/imo/android/imoim/util/k/a;->k:Lcom/imo/android/imoim/util/k/a$b;
iget v10, v1, Lcom/imo/android/imoim/util/k/a;->d:I
add-int/lit8 v11, v10, 0x1
iput v11, v1, Lcom/imo/android/imoim/util/k/a;->d:I
int-to-long v10, v10
const-wide/32 v12, 0x3b9aca00
mul-long v10, v10, v12
const-wide/16 v12, 0x14
.line 5415
div-long/2addr v10, v12
.line 5541
iget-object v12, v3, Lcom/imo/android/imoim/util/k/a$b;->a:Landroid/opengl/EGLDisplay;
iget-object v3, v3, Lcom/imo/android/imoim/util/k/a$b;->c:Landroid/opengl/EGLSurface;
invoke-static {v12, v3, v10, v11}, Landroid/opengl/EGLExt;->eglPresentationTimeANDROID(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;J)Z
const-string v3, "eglPresentationTimeANDROID"
.line 5542
invoke-static {v3}, Lcom/imo/android/imoim/util/k/a$b;->a(Ljava/lang/String;)V
.line 3142
iget-object v3, v1, Lcom/imo/android/imoim/util/k/a;->k:Lcom/imo/android/imoim/util/k/a$b;
.line 6532
iget-object v10, v3, Lcom/imo/android/imoim/util/k/a$b;->a:Landroid/opengl/EGLDisplay;
iget-object v3, v3, Lcom/imo/android/imoim/util/k/a$b;->c:Landroid/opengl/EGLSurface;
invoke-static {v10, v3}, Landroid/opengl/EGL14;->eglSwapBuffers(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;)Z
const-string v3, "eglSwapBuffers"
.line 6533
invoke-static {v3}, Lcom/imo/android/imoim/util/k/a$b;->a(Ljava/lang/String;)V
goto/16 :goto_20b
.line 196
:cond_365
invoke-direct {v1, v8}, Lcom/imo/android/imoim/util/k/a;->a(Z)V
.line 197
sget-object v5, Lcom/imo/android/imoim/util/k/d$b;->OK:Lcom/imo/android/imoim/util/k/d$b;
:try_end_36a
.catch Ljava/lang/Exception; {:try_start_122 .. :try_end_36a} :catch_3a3
.catchall {:try_start_122 .. :try_end_36a} :catchall_3a0
.line 203
:try_start_36a
invoke-direct/range {p0 .. p0}, Lcom/imo/android/imoim/util/k/a;->a()V
:try_end_36d
.catch Ljava/lang/Exception; {:try_start_36a .. :try_end_36d} :catch_3b0
goto :goto_3bb
.line 2152
:cond_36e
:try_start_36e
new-instance v2, Ljava/lang/RuntimeException;
const-string v3, "Could not get attrib location for uSTMatrix"
invoke-direct {v2, v3}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v2
.line 2147
:cond_376
new-instance v2, Ljava/lang/RuntimeException;
const-string v3, "Could not get attrib location for uMVPMatrix"
invoke-direct {v2, v3}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v2
.line 2142
:cond_37e
new-instance v2, Ljava/lang/RuntimeException;
const-string v3, "Could not get attrib location for aTextureCoord"
invoke-direct {v2, v3}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v2
.line 2137
:cond_386
new-instance v2, Ljava/lang/RuntimeException;
const-string v3, "Could not get attrib location for aPosition"
invoke-direct {v2, v3}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v2
.line 2132
:cond_38e
new-instance v2, Ljava/lang/RuntimeException;
const-string v3, "failed creating program"
invoke-direct {v2, v3}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v2
:catch_396
move-exception v0
move-object v2, v0
.line 1262
new-instance v3, Ljava/lang/RuntimeException;
const-string v6, "MediaMuxer creation failed"
invoke-direct {v3, v6, v2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v3
:try_end_3a0
.catch Ljava/lang/Exception; {:try_start_36e .. :try_end_3a0} :catch_3a3
.catchall {:try_start_36e .. :try_end_3a0} :catchall_3a0
:catchall_3a0
move-exception v0
move-object v2, v0
goto :goto_3bc
:catch_3a3
move-exception v0
move-object v2, v0
.line 199
:try_start_3a5
invoke-virtual {v2}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v4, v2}, Lcom/imo/android/imoim/util/bt;->c(Ljava/lang/String;Ljava/lang/String;)V
:try_end_3ac
.catchall {:try_start_3a5 .. :try_end_3ac} :catchall_3a0
.line 203
:try_start_3ac
invoke-direct/range {p0 .. p0}, Lcom/imo/android/imoim/util/k/a;->a()V
:try_end_3af
.catch Ljava/lang/Exception; {:try_start_3ac .. :try_end_3af} :catch_3b0
goto :goto_3bb
:catch_3b0
move-exception v0
move-object v2, v0
.line 205
invoke-virtual {v2}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v4, v2}, Lcom/imo/android/imoim/util/bt;->c(Ljava/lang/String;Ljava/lang/String;)V
.line 206
sget-object v5, Lcom/imo/android/imoim/util/k/d$b;->ERROR:Lcom/imo/android/imoim/util/k/d$b;
:goto_3bb
return-object v5
.line 203
:goto_3bc
:try_start_3bc
invoke-direct/range {p0 .. p0}, Lcom/imo/android/imoim/util/k/a;->a()V
:try_end_3bf
.catch Ljava/lang/Exception; {:try_start_3bc .. :try_end_3bf} :catch_3c0
goto :goto_3cb
:catch_3c0
move-exception v0
move-object v3, v0
.line 205
invoke-virtual {v3}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v4, v3}, Lcom/imo/android/imoim/util/bt;->c(Ljava/lang/String;Ljava/lang/String;)V
.line 206
sget-object v3, Lcom/imo/android/imoim/util/k/d$b;->ERROR:Lcom/imo/android/imoim/util/k/d$b;
.line 207
:goto_3cb
goto :goto_3cd
:goto_3cc
throw v2
:goto_3cd
goto :goto_3cc
.end method