h.smali
.class public final Lcom/polly/mobile/videosdk/h;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field a:I
.field b:I
.field c:I
.field d:I
.field e:Z
.field f:Lcom/polly/mobile/videosdk/a/d;
.field private g:I
.field private h:I
.field private i:Ljava/nio/ByteBuffer;
.field private j:Z
# direct methods
.method public constructor <init>()V
.registers 2
.line 31
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
.line 17
iput v0, p0, Lcom/polly/mobile/videosdk/h;->a:I
.line 18
iput v0, p0, Lcom/polly/mobile/videosdk/h;->g:I
.line 19
iput v0, p0, Lcom/polly/mobile/videosdk/h;->b:I
.line 20
iput v0, p0, Lcom/polly/mobile/videosdk/h;->h:I
.line 26
iput-boolean v0, p0, Lcom/polly/mobile/videosdk/h;->e:Z
.line 27
iput-boolean v0, p0, Lcom/polly/mobile/videosdk/h;->j:Z
return-void
.end method
.method private static a(Ljava/lang/String;)V
.registers 5
.line 272
invoke-static {}, Landroid/opengl/GLES20;->glGetError()I
move-result v0
if-nez v0, :cond_7
return-void
.line 273
:cond_7
new-instance v1, Ljava/lang/RuntimeException;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "GL Operation \'"
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, "\' caused error "
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 274
invoke-static {v0}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object p0
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, "!"
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v1, p0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method private static d()I
.registers 3
const/4 v0, 0x1
new-array v0, v0, [I
const/4 v1, 0x0
const v2, 0x8ca6
.line 280
invoke-static {v2, v0, v1}, Landroid/opengl/GLES20;->glGetIntegerv(I[II)V
.line 281
aget v0, v0, v1
return v0
.end method
# virtual methods
.method public final a()V
.registers 6
const-string v0, "FrameBuffer"
const-string v1, "=== release ==="
.line 132
invoke-static {v0, v1}, Lcom/polly/mobile/util/f;->c(Ljava/lang/String;Ljava/lang/String;)I
.line 133
iget-boolean v0, p0, Lcom/polly/mobile/videosdk/h;->e:Z
if-eqz v0, :cond_43
const/4 v0, 0x0
.line 134
iput-boolean v0, p0, Lcom/polly/mobile/videosdk/h;->e:Z
.line 136
iget-boolean v1, p0, Lcom/polly/mobile/videosdk/h;->j:Z
if-eqz v1, :cond_1c
iget v1, p0, Lcom/polly/mobile/videosdk/h;->g:I
if-lez v1, :cond_1c
const v2, 0x8d40
.line 137
invoke-static {v2, v1}, Landroid/opengl/GLES20;->glBindFramebuffer(II)V
.line 140
:cond_1c
iget-object v1, p0, Lcom/polly/mobile/videosdk/h;->f:Lcom/polly/mobile/videosdk/a/d;
const/4 v2, 0x0
if-eqz v1, :cond_26
.line 141
invoke-virtual {v1}, Lcom/polly/mobile/videosdk/a/d;->d()V
.line 142
iput-object v2, p0, Lcom/polly/mobile/videosdk/h;->f:Lcom/polly/mobile/videosdk/a/d;
.line 145
:cond_26
iget v1, p0, Lcom/polly/mobile/videosdk/h;->a:I
const/4 v3, 0x1
if-eqz v1, :cond_34
new-array v4, v3, [I
aput v1, v4, v0
.line 147
invoke-static {v3, v4, v0}, Landroid/opengl/GLES20;->glDeleteFramebuffers(I[II)V
.line 148
iput v0, p0, Lcom/polly/mobile/videosdk/h;->a:I
.line 151
:cond_34
iget v1, p0, Lcom/polly/mobile/videosdk/h;->b:I
if-eqz v1, :cond_41
new-array v4, v3, [I
aput v1, v4, v0
.line 153
invoke-static {v3, v4, v0}, Landroid/opengl/GLES20;->glDeleteTextures(I[II)V
.line 154
iput v0, p0, Lcom/polly/mobile/videosdk/h;->b:I
.line 157
:cond_41
iput-object v2, p0, Lcom/polly/mobile/videosdk/h;->i:Ljava/nio/ByteBuffer;
:cond_43
return-void
.end method
.method public final a(II)Z
.registers 19
move-object/from16 v1, p0
move/from16 v5, p1
move/from16 v6, p2
const/4 v11, 0x0
if-lez v5, :cond_f1
if-gtz v6, :cond_d
goto/16 :goto_f1
.line 44
:cond_d
iget-boolean v0, v1, Lcom/polly/mobile/videosdk/h;->e:Z
const-string v12, "FrameBuffer"
const/4 v13, 0x1
if-eqz v0, :cond_1a
const-string v0, "already inited"
.line 45
invoke-static {v12, v0}, Lcom/polly/mobile/util/f;->c(Ljava/lang/String;Ljava/lang/String;)I
return v13
:cond_1a
:try_start_1a
const-string v0, "clear"
.line 50
invoke-static {v0}, Lcom/polly/mobile/videosdk/h;->a(Ljava/lang/String;)V
:try_end_1f
.catch Ljava/lang/RuntimeException; {:try_start_1a .. :try_end_1f} :catch_20
goto :goto_26
:catch_20
move-exception v0
const-string v2, "clear failed"
.line 53
invoke-static {v12, v2, v0}, Lcom/polly/mobile/util/f;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 56
:goto_26
iput v5, v1, Lcom/polly/mobile/videosdk/h;->c:I
.line 57
iput v6, v1, Lcom/polly/mobile/videosdk/h;->d:I
:try_start_2a
new-array v0, v13, [I
.line 61
invoke-static {v13, v0, v11}, Landroid/opengl/GLES20;->glGenFramebuffers(I[II)V
const-string v2, "glGenFramebuffers"
.line 62
invoke-static {v2}, Lcom/polly/mobile/videosdk/h;->a(Ljava/lang/String;)V
.line 63
aget v0, v0, v11
iput v0, v1, Lcom/polly/mobile/videosdk/h;->a:I
.line 65
invoke-static {}, Lcom/polly/mobile/videosdk/h;->d()I
move-result v0
new-array v14, v13, [I
.line 1113
invoke-static {v13, v14, v11}, Landroid/opengl/GLES20;->glGenTextures(I[II)V
const-string v2, "glGenTextures"
.line 1114
invoke-static {v2}, Lcom/polly/mobile/videosdk/h;->a(Ljava/lang/String;)V
.line 1116
aget v2, v14, v11
const/16 v15, 0xde1
invoke-static {v15, v2}, Landroid/opengl/GLES20;->glBindTexture(II)V
const-string v2, "glBindTexture"
.line 1117
invoke-static {v2}, Lcom/polly/mobile/videosdk/h;->a(Ljava/lang/String;)V
const/16 v2, 0xde1
const/4 v3, 0x0
const/16 v4, 0x1908
const/4 v7, 0x0
const/16 v8, 0x1908
const/16 v9, 0x1401
const/4 v10, 0x0
move/from16 v5, p1
move/from16 v6, p2
.line 1119
invoke-static/range {v2 .. v10}, Landroid/opengl/GLES20;->glTexImage2D(IIIIIIIILjava/nio/Buffer;)V
const-string v2, "glTexImage2D"
.line 1120
invoke-static {v2}, Lcom/polly/mobile/videosdk/h;->a(Ljava/lang/String;)V
const/16 v2, 0x2800
const/16 v3, 0x2601
.line 1122
invoke-static {v15, v2, v3}, Landroid/opengl/GLES20;->glTexParameteri(III)V
const/16 v2, 0x2801
.line 1123
invoke-static {v15, v2, v3}, Landroid/opengl/GLES20;->glTexParameteri(III)V
const/16 v2, 0x2802
const v3, 0x812f
.line 1124
invoke-static {v15, v2, v3}, Landroid/opengl/GLES20;->glTexParameteri(III)V
const/16 v2, 0x2803
.line 1125
invoke-static {v15, v2, v3}, Landroid/opengl/GLES20;->glTexParameteri(III)V
const-string v2, "glTexParameteri"
.line 1126
invoke-static {v2}, Lcom/polly/mobile/videosdk/h;->a(Ljava/lang/String;)V
.line 1128
aget v2, v14, v11
.line 67
iput v2, v1, Lcom/polly/mobile/videosdk/h;->b:I
.line 70
iget v2, v1, Lcom/polly/mobile/videosdk/h;->a:I
const v3, 0x8d40
invoke-static {v3, v2}, Landroid/opengl/GLES20;->glBindFramebuffer(II)V
const-string v2, "glBindFramebuffer"
.line 71
invoke-static {v2}, Lcom/polly/mobile/videosdk/h;->a(Ljava/lang/String;)V
const v2, 0x8ce0
.line 73
iget v4, v1, Lcom/polly/mobile/videosdk/h;->b:I
invoke-static {v3, v2, v15, v4, v11}, Landroid/opengl/GLES20;->glFramebufferTexture2D(IIIII)V
const-string v2, "glFramebufferTexture2D"
.line 75
invoke-static {v2}, Lcom/polly/mobile/videosdk/h;->a(Ljava/lang/String;)V
.line 1285
invoke-static {v3}, Landroid/opengl/GLES20;->glCheckFramebufferStatus(I)I
move-result v2
const v4, 0x8cd5
if-eq v2, v4, :cond_dd
const-string v0, ""
sparse-switch v2, :sswitch_data_f2
goto :goto_bf
:sswitch_b4
const-string v0, "GL_FRAMEBUFFER_UNSUPPORTED"
goto :goto_bf
:sswitch_b7
const-string v0, "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS"
goto :goto_bf
:sswitch_ba
const-string v0, "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"
goto :goto_bf
:sswitch_bd
const-string v0, "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"
.line 1302
:goto_bf
new-instance v3, Ljava/lang/RuntimeException;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, ":"
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v2}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v3, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v3
.line 84
:cond_dd
invoke-static {v3, v0}, Landroid/opengl/GLES20;->glBindFramebuffer(II)V
.line 86
iput-boolean v13, v1, Lcom/polly/mobile/videosdk/h;->e:Z
const-string v0, " == init =="
.line 87
invoke-static {v12, v0}, Lcom/polly/mobile/util/f;->c(Ljava/lang/String;Ljava/lang/String;)I
:try_end_e7
.catch Ljava/lang/RuntimeException; {:try_start_2a .. :try_end_e7} :catch_e8
goto :goto_ee
:catch_e8
move-exception v0
const-string v2, "init failed"
.line 90
invoke-static {v12, v2, v0}, Lcom/polly/mobile/util/f;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 92
:goto_ee
iget-boolean v0, v1, Lcom/polly/mobile/videosdk/h;->e:Z
return v0
:cond_f1
:goto_f1
return v11
:sswitch_data_f2
.sparse-switch
0x8cd6 -> :sswitch_bd
0x8cd7 -> :sswitch_ba
0x8cd9 -> :sswitch_b7
0x8cdd -> :sswitch_b4
.end sparse-switch
.end method
.method public final b()Z
.registers 4
.line 186
iget-boolean v0, p0, Lcom/polly/mobile/videosdk/h;->e:Z
const/4 v1, 0x0
const-string v2, "FrameBuffer"
if-nez v0, :cond_d
const-string v0, "not init"
.line 187
invoke-static {v2, v0}, Lcom/polly/mobile/util/f;->e(Ljava/lang/String;Ljava/lang/String;)I
return v1
.line 190
:cond_d
iget-boolean v0, p0, Lcom/polly/mobile/videosdk/h;->j:Z
if-eqz v0, :cond_17
const-string v0, "already binded. can not bind again"
.line 191
invoke-static {v2, v0}, Lcom/polly/mobile/util/f;->e(Ljava/lang/String;Ljava/lang/String;)I
return v1
.line 195
:cond_17
invoke-static {}, Lcom/polly/mobile/videosdk/h;->d()I
move-result v0
iput v0, p0, Lcom/polly/mobile/videosdk/h;->g:I
const v0, 0x8d40
.line 196
iget v1, p0, Lcom/polly/mobile/videosdk/h;->a:I
invoke-static {v0, v1}, Landroid/opengl/GLES20;->glBindFramebuffer(II)V
const/4 v0, 0x1
.line 197
iput-boolean v0, p0, Lcom/polly/mobile/videosdk/h;->j:Z
return v0
.end method
.method public final c()Z
.registers 4
.line 202
iget-boolean v0, p0, Lcom/polly/mobile/videosdk/h;->e:Z
const/4 v1, 0x0
if-eqz v0, :cond_18
iget-boolean v0, p0, Lcom/polly/mobile/videosdk/h;->j:Z
if-nez v0, :cond_a
goto :goto_18
:cond_a
const v0, 0x8d40
.line 207
iget v2, p0, Lcom/polly/mobile/videosdk/h;->g:I
invoke-static {v0, v2}, Landroid/opengl/GLES20;->glBindFramebuffer(II)V
.line 208
iput-boolean v1, p0, Lcom/polly/mobile/videosdk/h;->j:Z
.line 209
iput v1, p0, Lcom/polly/mobile/videosdk/h;->g:I
const/4 v0, 0x1
return v0
:cond_18
:goto_18
const-string v0, "FrameBuffer"
const-string v2, "invalid status"
.line 203
invoke-static {v0, v2}, Lcom/polly/mobile/util/f;->e(Ljava/lang/String;Ljava/lang/String;)I
return v1
.end method
.method protected final finalize()V
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
.line 163
:try_start_0
invoke-virtual {p0}, Lcom/polly/mobile/videosdk/h;->a()V
:try_end_3
.catchall {:try_start_0 .. :try_end_3} :catchall_7
.line 165
invoke-super {p0}, Ljava/lang/Object;->finalize()V
return-void
:catchall_7
move-exception v0
invoke-super {p0}, Ljava/lang/Object;->finalize()V
throw v0
.end method