a$a.smali
.class public final Lcom/yysdk/mobile/vpsdk/p/b/a$a;
.super Ljava/lang/Thread;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/yysdk/mobile/vpsdk/p/b/a;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "a"
.end annotation
# instance fields
.field a:I
.field volatile b:J
.field c:Lcom/yysdk/mobile/vpsdk/p/b;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/yysdk/mobile/vpsdk/p/b<",
"Lcom/yysdk/mobile/vpsdk/p/b/c;",
">;"
}
.end annotation
.end field
.field private volatile d:Z
.field private volatile e:Z
.field private final f:Ljava/lang/Object;
.field private g:[B
.field private h:I
.field private i:I
.field private j:Z
.field private k:I
.field private l:I
.field private m:I
.field private n:Lcom/yysdk/mobile/vpsdk/u;
# direct methods
.method public constructor <init>()V
.registers 4
const-string v0, "AsyncGLReadPixelThread"
.line 185
invoke-direct {p0, v0}, Ljava/lang/Thread;-><init>(Ljava/lang/String;)V
const/4 v0, 0x0
.line 158
iput v0, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->a:I
const-wide/16 v1, 0x0
.line 161
iput-wide v1, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->b:J
.line 162
iput-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->d:Z
.line 163
iput-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->e:Z
.line 164
new-instance v1, Ljava/lang/Object;
invoke-direct {v1}, Ljava/lang/Object;-><init>()V
iput-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->f:Ljava/lang/Object;
const/4 v1, 0x0
.line 175
iput-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->g:[B
.line 176
iput v0, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->h:I
.line 177
iput v0, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->i:I
.line 178
iput-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->j:Z
.line 179
iput v0, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->k:I
.line 180
iput v0, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->l:I
.line 181
iput v0, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->m:I
.line 182
iput-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->n:Lcom/yysdk/mobile/vpsdk/u;
return-void
.end method
.method static a(Lcom/yysdk/mobile/vpsdk/i/c;II)Z
.registers 4
.line 7186
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/i/c;->f:Z
if-eqz v0, :cond_f
.line 7190
iget v0, p0, Lcom/yysdk/mobile/vpsdk/i/c;->c:I
if-ne v0, p1, :cond_f
.line 7194
iget v0, p0, Lcom/yysdk/mobile/vpsdk/i/c;->d:I
if-eq v0, p2, :cond_d
goto :goto_f
:cond_d
const/4 p0, 0x1
return p0
.line 569
:cond_f
:goto_f
invoke-virtual {p0}, Lcom/yysdk/mobile/vpsdk/i/c;->a()V
.line 8041
invoke-virtual {p0, p1, p2}, Lcom/yysdk/mobile/vpsdk/i/c;->a(II)Z
move-result p0
return p0
.end method
.method private c()Z
.registers 14
const-wide/16 v0, 0x0
const/4 v2, 0x4
const/4 v3, 0x1
const/4 v4, 0x0
.line 198
:try_start_5
invoke-static {v2, v2}, Lcom/yysdk/mobile/sharedcontext/ContextManager;->a(II)J
move-result-wide v5
iput-wide v5, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->b:J
.line 200
iget-wide v5, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->b:J
cmp-long v7, v5, v0
if-eqz v7, :cond_1a5
.line 204
iget-wide v5, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->b:J
invoke-static {v5, v6}, Lcom/yysdk/mobile/sharedcontext/ContextManager;->b(J)I
move-result v5
const/16 v6, 0x3000
if-ne v5, v6, :cond_195
const-string v5, "AsyncGLReadPixelThread"
const-string v6, "[run] create & make context OK "
.line 209
invoke-static {v5, v6}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
new-array v5, v3, [I
.line 212
invoke-static {v3, v5, v4}, Landroid/opengl/GLES20;->glGenFramebuffers(I[II)V
.line 213
aget v5, v5, v4
iput v5, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->k:I
const v6, 0x8d40
.line 214
invoke-static {v6, v5}, Landroid/opengl/GLES20;->glBindFramebuffer(II)V
.line 215
iget v5, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->k:I
if-lez v5, :cond_173
const-string v5, "AsyncGLReadPixelThread"
.line 220
new-instance v6, Ljava/lang/StringBuilder;
const-string v7, "[run] fbo = "
invoke-direct {v6, v7}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget v7, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->k:I
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-static {v5, v6}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
.line 222
new-instance v5, Lcom/yysdk/mobile/vpsdk/u;
invoke-direct {v5}, Lcom/yysdk/mobile/vpsdk/u;-><init>()V
iput-object v5, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->n:Lcom/yysdk/mobile/vpsdk/u;
.line 1058
iget v6, v5, Lcom/yysdk/mobile/vpsdk/u;->e:I
if-gez v6, :cond_142
const-string v6, "attribute vec2 attPosition;\nvarying vec2 texcoord;\n\nvoid main() {\ngl_Position = vec4(attPosition, 0.0, 1.0);\ngl_Position.y = (gl_Position.y + 1.0) * 8.0 / 3.0 - 1.0;\ntexcoord = attPosition / 2.0 + 0.5;\n}"
const-string v7, "precision highp float;\nvarying vec2 texcoord ;\nuniform float width ;\nuniform float height ;\nuniform sampler2D sampler ;\nvoid main(void) {\nvec3 offset = vec3(0.0625, 0.5, 0.5);\nvec3 ycoeff = vec3(0.256816, 0.504154, 0.0979137);\nvec3 ucoeff = vec3(-0.148246, -0.29102, 0.439266);\nvec3 vcoeff = vec3(0.439271, -0.367833, -0.071438);\nvec2 curTexPos = texcoord;\nvec2 size = vec2(width, height);\nfloat lines = 0.0625 * height; // 0.0625 = 1/16\nfloat lineInt = float(int(lines));\nvec2 uvPosOffset = vec2(lines-lineInt, lineInt/height);\nvec2 uMaxPos = uvPosOffset + vec2(0,0.25);\nvec2 vMaxPos = uvPosOffset + uMaxPos;\nvec2 yScale = vec2(4,4);\nvec2 uvScale = vec2(8,8);\nif (curTexPos.y < 0.25) {\nvec2 basePos = curTexPos * yScale * size;\nfloat addY = float(int((basePos.x / width)));\nbasePos.x -= addY * width;\nbasePos.y += addY;\nfloat y1,y2,y3,y4;\nvec2 sampleCoord = basePos / size;\nvec4 texel = texture2D(sampler, sampleCoord);\ny1 = dot(texel.rgb, ycoeff);\ny1 += offset.x;\nbasePos.x+=1.0;\nsampleCoord = basePos/size;\ntexel = texture2D(sampler, sampleCoord);\ny2 = dot(texel.rgb, ycoeff);\ny2 += offset.x;\nbasePos.x+=1.0;\nsampleCoord = basePos/size;\ntexel = texture2D(sampler, sampleCoord);\ny3 = dot(texel.rgb, ycoeff);\ny3 += offset.x;\nbasePos.x+=1.0;\nsampleCoord = basePos/size;\ntexel = texture2D(sampler, sampleCoord);\ny4 = dot(texel.rgb, ycoeff);\ny4 += offset.x;\ngl_FragColor = vec4(y1, y2, y3, y4);\n} else if(curTexPos.y<uMaxPos.y || (curTexPos.y == uMaxPos.y && curTexPos.x<uMaxPos.x)) {\ncurTexPos.y -= 0.25;\nvec2 basePos = curTexPos * uvScale * size;\nfloat addY = float(int(basePos.x / width));\nbasePos.x -= addY * width;\nbasePos.y += addY;\nbasePos.y *= 2.0;\nbasePos -= clamp(uvScale * 0.5 - 2.0, vec2(0.0), uvScale);\nbasePos.y -= 2.0;\nvec4 texel = texture2D(sampler, basePos/ size).rgba;\nfloat u1 = dot(texel.rgb, ucoeff);\nu1 += offset.y;\nbasePos.x += 2.0;\ntexel = texture2D(sampler, basePos/ size).rgba;\nfloat u2 = dot(texel.rgb, ucoeff);\nu2 += offset.y;\nbasePos.x+=2.0;\ntexel = texture2D(sampler, basePos / size).rgba;\nfloat u3 = dot(texel.rgb, ucoeff);\nu3 += offset.y;\nbasePos.x+=2.0;\ntexel = texture2D(sampler, basePos / size).rgba;\nfloat u4 = dot(texel.rgb, ucoeff);\nu4 += offset.y;\ngl_FragColor = vec4(u1, u2, u3, u4);\n} else if(curTexPos.y<vMaxPos.y || (curTexPos.y == vMaxPos.y && curTexPos.x<vMaxPos.x)) {\ncurTexPos -= uMaxPos;\nvec2 basePos = curTexPos * uvScale * size;\nfloat addY = float(int(basePos.x / width));\nbasePos.x -= addY * width;\nbasePos.y += addY;\nbasePos.y *= 2.0;\nbasePos -= clamp(uvScale * 0.5 - 2.0, vec2(0.0), uvScale);\nbasePos.y -= 2.0;\nvec4 texel = texture2D(sampler, basePos / size).rgba;\nfloat v1 = dot(texel.rgb, vcoeff);\nv1 += offset.z;\nbasePos.x+=2.0;\ntexel = texture2D(sampler, basePos / size).rgba;\nfloat v2 = dot(texel.rgb, vcoeff);\nv2 += offset.z;\nbasePos.x+=2.0;\ntexel = texture2D(sampler, basePos / size).rgba;\nfloat v3 = dot(texel.rgb, vcoeff);\nv3 += offset.z;\nbasePos.x+=2.0;\ntexel = texture2D(sampler, basePos / size).rgba;\nfloat v4 = dot(texel.rgb, vcoeff);\nv4 += offset.z;\ngl_FragColor = vec4(v1, v2, v3, v4);\n}\n}"
new-array v8, v3, [I
const v9, 0x8b31
.line 1148
invoke-static {v6, v9}, Lcom/yysdk/mobile/vpsdk/u;->a(Ljava/lang/String;I)I
move-result v6
const/4 v9, -0x1
if-ne v9, v6, :cond_6d
const-string v6, "RgbaToYuv"
const-string v7, "Vertex Shader program failed"
.line 1150
invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_bd
:cond_6d
const v10, 0x8b30
.line 1154
invoke-static {v7, v10}, Lcom/yysdk/mobile/vpsdk/u;->a(Ljava/lang/String;I)I
move-result v7
if-ne v9, v7, :cond_81
const-string v7, "RgbaToYuv"
const-string v8, "Fragment Shader program failed"
.line 1156
invoke-static {v7, v8}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 1157
invoke-static {v6}, Landroid/opengl/GLES20;->glDeleteShader(I)V
goto :goto_bd
.line 1161
:cond_81
invoke-static {}, Landroid/opengl/GLES20;->glCreateProgram()I
move-result v10
.line 1162
invoke-static {v10, v6}, Landroid/opengl/GLES20;->glAttachShader(II)V
.line 1163
invoke-static {v10, v7}, Landroid/opengl/GLES20;->glAttachShader(II)V
.line 1164
invoke-static {v10}, Landroid/opengl/GLES20;->glLinkProgram(I)V
const v11, 0x8b82
.line 1166
invoke-static {v10, v11, v8, v4}, Landroid/opengl/GLES20;->glGetProgramiv(II[II)V
.line 1167
aget v8, v8, v4
if-gtz v8, :cond_b6
const-string v8, "RgbaToYuv"
.line 1168
new-instance v11, Ljava/lang/StringBuilder;
const-string v12, "Shader program link error: "
invoke-direct {v11, v12}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {v10}, Landroid/opengl/GLES20;->glGetProgramInfoLog(I)Ljava/lang/String;
move-result-object v10
invoke-virtual {v11, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v10
invoke-static {v8, v10}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 1169
invoke-static {v6}, Landroid/opengl/GLES20;->glDeleteShader(I)V
.line 1170
invoke-static {v7}, Landroid/opengl/GLES20;->glDeleteShader(I)V
goto :goto_bd
.line 1174
:cond_b6
invoke-static {v6}, Landroid/opengl/GLES20;->glDeleteShader(I)V
.line 1175
invoke-static {v7}, Landroid/opengl/GLES20;->glDeleteShader(I)V
move v9, v10
.line 1059
:goto_bd
iput v9, v5, Lcom/yysdk/mobile/vpsdk/u;->e:I
.line 1060
iget v6, v5, Lcom/yysdk/mobile/vpsdk/u;->e:I
if-gtz v6, :cond_cc
const-string v2, "RgbaToYuv"
const-string v5, "RgbaToYuv built Fail"
.line 1061
invoke-static {v2, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
const/4 v2, 0x0
goto :goto_143
.line 1065
:cond_cc
iget v6, v5, Lcom/yysdk/mobile/vpsdk/u;->e:I
const-string v7, "attPosition"
invoke-static {v6, v7}, Landroid/opengl/GLES20;->glGetAttribLocation(ILjava/lang/String;)I
move-result v6
iput v6, v5, Lcom/yysdk/mobile/vpsdk/u;->f:I
.line 1066
iget v6, v5, Lcom/yysdk/mobile/vpsdk/u;->e:I
const-string v7, "attTexCoord"
invoke-static {v6, v7}, Landroid/opengl/GLES20;->glGetAttribLocation(ILjava/lang/String;)I
move-result v6
iput v6, v5, Lcom/yysdk/mobile/vpsdk/u;->g:I
.line 1067
iget v6, v5, Lcom/yysdk/mobile/vpsdk/u;->e:I
const-string v7, "sampler"
invoke-static {v6, v7}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I
move-result v6
iput v6, v5, Lcom/yysdk/mobile/vpsdk/u;->h:I
.line 1069
iget v6, v5, Lcom/yysdk/mobile/vpsdk/u;->e:I
const-string v7, "width"
invoke-static {v6, v7}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I
move-result v6
iput v6, v5, Lcom/yysdk/mobile/vpsdk/u;->i:I
.line 1070
iget v6, v5, Lcom/yysdk/mobile/vpsdk/u;->e:I
const-string v7, "height"
invoke-static {v6, v7}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I
move-result v6
iput v6, v5, Lcom/yysdk/mobile/vpsdk/u;->j:I
.line 1072
sget-object v6, Lcom/yysdk/mobile/vpsdk/u;->a:[F
array-length v6, v6
mul-int/lit8 v6, v6, 0x4
invoke-static {v6}, Ljava/nio/ByteBuffer;->allocateDirect(I)Ljava/nio/ByteBuffer;
move-result-object v6
.line 1073
invoke-static {}, Ljava/nio/ByteOrder;->nativeOrder()Ljava/nio/ByteOrder;
move-result-object v7
invoke-virtual {v6, v7}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
move-result-object v6
invoke-virtual {v6}, Ljava/nio/ByteBuffer;->asFloatBuffer()Ljava/nio/FloatBuffer;
move-result-object v6
iput-object v6, v5, Lcom/yysdk/mobile/vpsdk/u;->c:Ljava/nio/FloatBuffer;
.line 1074
iget-object v6, v5, Lcom/yysdk/mobile/vpsdk/u;->c:Ljava/nio/FloatBuffer;
sget-object v7, Lcom/yysdk/mobile/vpsdk/u;->a:[F
invoke-virtual {v6, v7}, Ljava/nio/FloatBuffer;->put([F)Ljava/nio/FloatBuffer;
move-result-object v6
invoke-virtual {v6, v4}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 1076
sget-object v6, Lcom/yysdk/mobile/vpsdk/u;->b:[F
array-length v6, v6
mul-int/lit8 v6, v6, 0x4
invoke-static {v6}, Ljava/nio/ByteBuffer;->allocateDirect(I)Ljava/nio/ByteBuffer;
move-result-object v2
.line 1077
invoke-static {}, Ljava/nio/ByteOrder;->nativeOrder()Ljava/nio/ByteOrder;
move-result-object v6
invoke-virtual {v2, v6}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
move-result-object v2
invoke-virtual {v2}, Ljava/nio/ByteBuffer;->asFloatBuffer()Ljava/nio/FloatBuffer;
move-result-object v2
iput-object v2, v5, Lcom/yysdk/mobile/vpsdk/u;->d:Ljava/nio/FloatBuffer;
.line 1078
iget-object v2, v5, Lcom/yysdk/mobile/vpsdk/u;->d:Ljava/nio/FloatBuffer;
sget-object v5, Lcom/yysdk/mobile/vpsdk/u;->b:[F
invoke-virtual {v2, v5}, Ljava/nio/FloatBuffer;->put([F)Ljava/nio/FloatBuffer;
move-result-object v2
invoke-virtual {v2, v4}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
:cond_142
const/4 v2, 0x1
:goto_143
if-eqz v2, :cond_15b
const-string v2, "AsyncGLReadPixelThread"
const-string v5, "[run] rgba2yuv.setupProgram done "
.line 229
invoke-static {v2, v5}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
:try_end_14c
.catch Ljava/lang/RuntimeException; {:try_start_5 .. :try_end_14c} :catch_1af
.catchall {:try_start_5 .. :try_end_14c} :catchall_1ad
.line 252
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->f:Ljava/lang/Object;
monitor-enter v0
.line 253
:try_start_14f
iput-boolean v3, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->d:Z
.line 254
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->f:Ljava/lang/Object;
invoke-virtual {v1}, Ljava/lang/Object;->notifyAll()V
.line 255
monitor-exit v0
return v3
:catchall_158
move-exception v1
monitor-exit v0
:try_end_15a
.catchall {:try_start_14f .. :try_end_15a} :catchall_158
throw v1
.line 225
:cond_15b
:try_start_15b
new-instance v2, Ljava/lang/RuntimeException;
new-instance v5, Ljava/lang/StringBuilder;
const-string v6, "[run] rgba2yuv.setupProgram fail "
invoke-direct {v5, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 226
invoke-static {}, Landroid/opengl/GLES20;->glGetError()I
move-result v6
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-direct {v2, v5}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v2
.line 216
:cond_173
new-instance v2, Ljava/lang/RuntimeException;
new-instance v5, Ljava/lang/StringBuilder;
const-string v6, "[run] fbo create fail "
invoke-direct {v5, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget v6, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->k:I
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v6, ","
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 217
invoke-static {}, Landroid/opengl/GLES20;->glGetError()I
move-result v6
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-direct {v2, v5}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v2
.line 206
:cond_195
new-instance v2, Ljava/lang/RuntimeException;
const-string v6, "[run] make context fail with "
invoke-static {v5}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v5
invoke-virtual {v6, v5}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v5
invoke-direct {v2, v5}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v2
.line 201
:cond_1a5
new-instance v2, Ljava/lang/RuntimeException;
const-string v5, "[run] create context fail "
invoke-direct {v2, v5}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v2
:try_end_1ad
.catch Ljava/lang/RuntimeException; {:try_start_15b .. :try_end_1ad} :catch_1af
.catchall {:try_start_15b .. :try_end_1ad} :catchall_1ad
:catchall_1ad
move-exception v0
goto :goto_1f0
:catch_1af
move-exception v2
:try_start_1b0
const-string v5, "AsyncGLReadPixelThread"
.line 235
new-instance v6, Ljava/lang/StringBuilder;
const-string v7, "[run] exception "
invoke-direct {v6, v7}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/lang/RuntimeException;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v5, v2}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
.line 237
iget v2, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->k:I
if-lez v2, :cond_1d6
new-array v2, v3, [I
.line 238
iget v5, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->k:I
aput v5, v2, v4
invoke-static {v3, v2, v4}, Landroid/opengl/GLES20;->glDeleteFramebuffers(I[II)V
.line 239
iput v4, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->k:I
.line 242
:cond_1d6
iget-wide v5, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->b:J
.line 243
iput-wide v0, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->b:J
cmp-long v2, v5, v0
if-eqz v2, :cond_1e1
.line 245
invoke-static {v5, v6}, Lcom/yysdk/mobile/sharedcontext/ContextManager;->a(J)Z
:try_end_1e1
.catchall {:try_start_1b0 .. :try_end_1e1} :catchall_1ad
.line 252
:cond_1e1
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->f:Ljava/lang/Object;
monitor-enter v0
.line 253
:try_start_1e4
iput-boolean v3, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->d:Z
.line 254
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->f:Ljava/lang/Object;
invoke-virtual {v1}, Ljava/lang/Object;->notifyAll()V
.line 255
monitor-exit v0
return v4
:catchall_1ed
move-exception v1
monitor-exit v0
:try_end_1ef
.catchall {:try_start_1e4 .. :try_end_1ef} :catchall_1ed
throw v1
.line 252
:goto_1f0
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->f:Ljava/lang/Object;
monitor-enter v1
.line 253
:try_start_1f3
iput-boolean v3, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->d:Z
.line 254
iget-object v2, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->f:Ljava/lang/Object;
invoke-virtual {v2}, Ljava/lang/Object;->notifyAll()V
.line 255
monitor-exit v1
:try_end_1fb
.catchall {:try_start_1f3 .. :try_end_1fb} :catchall_1fc
throw v0
:catchall_1fc
move-exception v0
:try_start_1fd
monitor-exit v1
:try_end_1fe
.catchall {:try_start_1fd .. :try_end_1fe} :catchall_1fc
throw v0
.end method
.method private d()V
.registers 7
const-string v0, "AsyncGLReadPixelThread"
const-string v1, "[releaseContext] entry"
.line 261
invoke-static {v0, v1}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
.line 263
iget v0, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->k:I
const/4 v1, 0x1
const/4 v2, 0x0
if-eqz v0, :cond_16
new-array v3, v1, [I
aput v0, v3, v2
.line 264
invoke-static {v1, v3, v2}, Landroid/opengl/GLES20;->glDeleteFramebuffers(I[II)V
.line 265
iput v2, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->k:I
.line 268
:cond_16
iget v0, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->l:I
if-eqz v0, :cond_23
new-array v3, v1, [I
aput v0, v3, v2
.line 269
invoke-static {v1, v3, v2}, Landroid/opengl/GLES20;->glDeleteTextures(I[II)V
.line 270
iput v2, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->l:I
.line 273
:cond_23
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->n:Lcom/yysdk/mobile/vpsdk/u;
if-eqz v0, :cond_3a
.line 1181
iget v2, v0, Lcom/yysdk/mobile/vpsdk/u;->e:I
if-lez v2, :cond_33
.line 1182
iget v2, v0, Lcom/yysdk/mobile/vpsdk/u;->e:I
invoke-static {v2}, Landroid/opengl/GLES20;->glDeleteProgram(I)V
const/4 v2, -0x1
.line 1183
iput v2, v0, Lcom/yysdk/mobile/vpsdk/u;->e:I
:cond_33
const/4 v2, 0x0
.line 1185
iput-object v2, v0, Lcom/yysdk/mobile/vpsdk/u;->c:Ljava/nio/FloatBuffer;
.line 1186
iput-object v2, v0, Lcom/yysdk/mobile/vpsdk/u;->d:Ljava/nio/FloatBuffer;
.line 275
iput-object v2, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->n:Lcom/yysdk/mobile/vpsdk/u;
.line 278
:cond_3a
iget-wide v2, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->b:J
const-wide/16 v4, 0x0
.line 279
iput-wide v4, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->b:J
cmp-long v0, v2, v4
if-eqz v0, :cond_47
.line 281
invoke-static {v2, v3}, Lcom/yysdk/mobile/sharedcontext/ContextManager;->a(J)Z
:cond_47
const-string v0, "AsyncGLReadPixelThread"
const-string v2, "[releaseContext] done"
.line 284
invoke-static {v0, v2}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
.line 286
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->f:Ljava/lang/Object;
monitor-enter v0
.line 287
:try_start_51
iput-boolean v1, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->e:Z
.line 288
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->f:Ljava/lang/Object;
invoke-virtual {v1}, Ljava/lang/Object;->notifyAll()V
.line 289
monitor-exit v0
return-void
:catchall_5a
move-exception v1
monitor-exit v0
:try_end_5c
.catchall {:try_start_51 .. :try_end_5c} :catchall_5a
throw v1
.end method
# virtual methods
.method public final a()Z
.registers 7
.line 446
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->f:Ljava/lang/Object;
monitor-enter v0
const/4 v1, 0x3
.line 447
:goto_4
:try_start_4
iget-boolean v2, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->d:Z
:try_end_6
.catchall {:try_start_4 .. :try_end_6} :catchall_2a
if-nez v2, :cond_1d
add-int/lit8 v2, v1, -0x1
if-lez v1, :cond_1d
.line 449
:try_start_c
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->f:Ljava/lang/Object;
const-wide/16 v3, 0x1f4
invoke-virtual {v1, v3, v4}, Ljava/lang/Object;->wait(J)V
:try_end_13
.catch Ljava/lang/InterruptedException; {:try_start_c .. :try_end_13} :catch_14
.catchall {:try_start_c .. :try_end_13} :catchall_2a
goto :goto_1b
.line 452
:catch_14
:try_start_14
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Thread;->interrupt()V
:goto_1b
move v1, v2
goto :goto_4
.line 455
:cond_1d
iget-wide v1, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->b:J
const-wide/16 v3, 0x0
cmp-long v5, v1, v3
if-eqz v5, :cond_27
const/4 v1, 0x1
goto :goto_28
:cond_27
const/4 v1, 0x0
:goto_28
monitor-exit v0
return v1
:catchall_2a
move-exception v1
.line 456
monitor-exit v0
:try_end_2c
.catchall {:try_start_14 .. :try_end_2c} :catchall_2a
goto :goto_2e
:goto_2d
throw v1
:goto_2e
goto :goto_2d
.end method
.method public final b()V
.registers 8
const-string v0, "AsyncGLReadPixelThread"
const-string v1, "[waitForEnd] begin "
.line 464
invoke-static {v0, v1}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
.line 465
new-instance v0, Lcom/yysdk/mobile/vpsdk/p/b/c;
invoke-direct {v0}, Lcom/yysdk/mobile/vpsdk/p/b/c;-><init>()V
const/4 v1, 0x1
.line 466
iput-boolean v1, v0, Lcom/yysdk/mobile/vpsdk/p/b/c;->j:Z
.line 467
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->c:Lcom/yysdk/mobile/vpsdk/p/b;
invoke-interface {v1, v0}, Lcom/yysdk/mobile/vpsdk/p/b;->c(Ljava/lang/Object;)V
.line 470
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->f:Ljava/lang/Object;
monitor-enter v0
.line 471
:try_start_17
iget-boolean v1, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->d:Z
if-nez v1, :cond_24
const-string v1, "AsyncGLReadPixelThread"
const-string v2, "[waitForEnd] not setup before"
.line 472
invoke-static {v1, v2}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
.line 473
monitor-exit v0
return-void
:cond_24
const/4 v1, 0x3
.line 476
:goto_25
iget-boolean v2, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->e:Z
:try_end_27
.catchall {:try_start_17 .. :try_end_27} :catchall_b4
if-nez v2, :cond_45
add-int/lit8 v1, v1, -0x1
if-ltz v1, :cond_45
.line 478
:try_start_2d
iget-object v2, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->f:Ljava/lang/Object;
const-wide/16 v3, 0x1f4
invoke-virtual {v2, v3, v4}, Ljava/lang/Object;->wait(J)V
:try_end_34
.catch Ljava/lang/InterruptedException; {:try_start_2d .. :try_end_34} :catch_35
.catchall {:try_start_2d .. :try_end_34} :catchall_b4
goto :goto_25
:catch_35
move-exception v2
:try_start_36
const-string v3, "AsyncGLReadPixelThread"
const-string v4, "[waitForEnd] exception "
.line 480
invoke-static {v3, v4, v2}, Lcom/yysdk/mobile/vpsdk/p;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 482
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Thread;->interrupt()V
goto :goto_25
.line 486
:cond_45
iget-boolean v2, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->e:Z
if-nez v2, :cond_53
if-gez v1, :cond_53
const-string v1, "AsyncGLReadPixelThread"
const-string v2, "[waitForEnd] timeout to wait for end "
.line 487
invoke-static {v1, v2}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_b2
:cond_53
const-string v1, "AsyncGLReadPixelThread"
const-string v2, "[waitForEnd] done "
.line 489
invoke-static {v1, v2}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
.line 491
:goto_5a
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->c:Lcom/yysdk/mobile/vpsdk/p/b;
const-wide/16 v2, 0x0
invoke-interface {v1, v2, v3}, Lcom/yysdk/mobile/vpsdk/p/b;->b(J)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/yysdk/mobile/vpsdk/p/b/c;
if-eqz v1, :cond_87
.line 492
iget-object v4, v1, Lcom/yysdk/mobile/vpsdk/p/b/c;->a:Lcom/yysdk/mobile/vpsdk/i/c;
if-eqz v4, :cond_87
const-string v2, "AsyncGLReadPixelThread"
.line 495
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "[waitForEnd] input FBO release "
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v4, v1, Lcom/yysdk/mobile/vpsdk/p/b/c;->a:Lcom/yysdk/mobile/vpsdk/i/c;
.line 5299
iget v4, v4, Lcom/yysdk/mobile/vpsdk/i/c;->b:I
.line 496
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
.line 495
invoke-static {v2, v3}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
.line 497
iget-object v1, v1, Lcom/yysdk/mobile/vpsdk/p/b/c;->a:Lcom/yysdk/mobile/vpsdk/i/c;
invoke-virtual {v1}, Lcom/yysdk/mobile/vpsdk/i/c;->a()V
goto :goto_5a
.line 501
:cond_87
:goto_87
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->c:Lcom/yysdk/mobile/vpsdk/p/b;
invoke-interface {v1, v2, v3}, Lcom/yysdk/mobile/vpsdk/p/b;->a(J)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/yysdk/mobile/vpsdk/p/b/c;
if-eqz v1, :cond_b2
.line 502
iget-object v4, v1, Lcom/yysdk/mobile/vpsdk/p/b/c;->a:Lcom/yysdk/mobile/vpsdk/i/c;
if-eqz v4, :cond_b2
const-string v4, "AsyncGLReadPixelThread"
.line 505
new-instance v5, Ljava/lang/StringBuilder;
const-string v6, "[waitForEnd] output FBO release "
invoke-direct {v5, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v6, v1, Lcom/yysdk/mobile/vpsdk/p/b/c;->a:Lcom/yysdk/mobile/vpsdk/i/c;
.line 6299
iget v6, v6, Lcom/yysdk/mobile/vpsdk/i/c;->b:I
.line 506
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
.line 505
invoke-static {v4, v5}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
.line 507
iget-object v1, v1, Lcom/yysdk/mobile/vpsdk/p/b/c;->a:Lcom/yysdk/mobile/vpsdk/i/c;
invoke-virtual {v1}, Lcom/yysdk/mobile/vpsdk/i/c;->a()V
goto :goto_87
.line 511
:cond_b2
:goto_b2
monitor-exit v0
return-void
:catchall_b4
move-exception v1
monitor-exit v0
:try_end_b6
.catchall {:try_start_36 .. :try_end_b6} :catchall_b4
goto :goto_b8
:goto_b7
throw v1
:goto_b8
goto :goto_b7
.end method
.method public final run()V
.registers 26
move-object/from16 v1, p0
.line 296
invoke-direct/range {p0 .. p0}, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->c()Z
move-result v0
const-string v2, "AsyncGLReadPixelThread"
if-nez v0, :cond_15
const-string v0, "[run] setupContext fail"
.line 299
invoke-static {v2, v0}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
.line 300
sget-object v0, Lcom/yysdk/mobile/vpsdk/report/a;->ASYNC_GLES20_SETUP:Lcom/yysdk/mobile/vpsdk/report/a;
invoke-static {v0}, Lcom/yysdk/mobile/vpsdk/report/ErrorReport;->report(Lcom/yysdk/mobile/vpsdk/report/a;)V
return-void
:cond_15
const/4 v0, 0x0
.line 305
new-instance v3, Ljava/util/LinkedList;
invoke-direct {v3}, Ljava/util/LinkedList;-><init>()V
move-object v4, v0
.line 308
:goto_1c
:try_start_1c
invoke-virtual {v3}, Ljava/util/LinkedList;->isEmpty()Z
move-result v0
const/4 v5, 0x3
if-nez v0, :cond_2d
invoke-virtual {v3}, Ljava/util/LinkedList;->getLast()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/yysdk/mobile/vpsdk/p/b/c;
iget-boolean v0, v0, Lcom/yysdk/mobile/vpsdk/p/b/c;->g:Z
if-nez v0, :cond_48
.line 309
:cond_2d
iget-object v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->c:Lcom/yysdk/mobile/vpsdk/p/b;
const-wide/16 v6, 0x2710
invoke-interface {v0, v6, v7}, Lcom/yysdk/mobile/vpsdk/p/b;->a(J)Ljava/lang/Object;
move-result-object v0
move-object v6, v0
check-cast v6, Lcom/yysdk/mobile/vpsdk/p/b/c;
:try_end_38
.catch Ljava/lang/Exception; {:try_start_1c .. :try_end_38} :catch_26c
.catchall {:try_start_1c .. :try_end_38} :catchall_26a
if-eqz v6, :cond_267
.line 314
:try_start_3a
iget-boolean v0, v6, Lcom/yysdk/mobile/vpsdk/p/b/c;->j:Z
if-nez v0, :cond_260
.line 318
invoke-virtual {v3, v6}, Ljava/util/LinkedList;->addLast(Ljava/lang/Object;)V
.line 319
invoke-virtual {v3}, Ljava/util/LinkedList;->size()I
move-result v0
:try_end_45
.catch Ljava/lang/Exception; {:try_start_3a .. :try_end_45} :catch_264
.catchall {:try_start_3a .. :try_end_45} :catchall_26a
if-lt v0, v5, :cond_267
move-object v4, v6
.line 324
:cond_48
:try_start_48
invoke-virtual {v3}, Ljava/util/LinkedList;->removeFirst()Ljava/lang/Object;
move-result-object v0
move-object v6, v0
check-cast v6, Lcom/yysdk/mobile/vpsdk/p/b/c;
:try_end_4f
.catch Ljava/lang/Exception; {:try_start_48 .. :try_end_4f} :catch_26c
.catchall {:try_start_48 .. :try_end_4f} :catchall_26a
.line 325
:try_start_4f
iget-boolean v0, v6, Lcom/yysdk/mobile/vpsdk/p/b/c;->g:Z
if-eqz v0, :cond_5a
.line 326
iget-object v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->c:Lcom/yysdk/mobile/vpsdk/p/b;
invoke-interface {v0, v6}, Lcom/yysdk/mobile/vpsdk/p/b;->b(Ljava/lang/Object;)V
goto/16 :goto_267
.line 333
:cond_5a
iget v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->h:I
iget-object v4, v6, Lcom/yysdk/mobile/vpsdk/p/b/c;->a:Lcom/yysdk/mobile/vpsdk/i/c;
.line 1190
iget v4, v4, Lcom/yysdk/mobile/vpsdk/i/c;->c:I
const/4 v7, 0x1
const/4 v8, 0x0
if-ne v0, v4, :cond_6f
.line 333
iget v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->i:I
iget-object v4, v6, Lcom/yysdk/mobile/vpsdk/p/b/c;->a:Lcom/yysdk/mobile/vpsdk/i/c;
.line 1194
iget v4, v4, Lcom/yysdk/mobile/vpsdk/i/c;->d:I
if-eq v0, v4, :cond_6d
goto :goto_6f
:cond_6d
const/4 v0, 0x0
goto :goto_70
:cond_6f
:goto_6f
const/4 v0, 0x1
.line 334
:goto_70
iput-boolean v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->j:Z
const/4 v4, 0x2
const/4 v9, 0x4
if-eqz v0, :cond_a7
.line 337
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
const-string v10, "[run] sizeChange %d,%d -> %d,%d"
new-array v11, v9, [Ljava/lang/Object;
iget v12, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->h:I
.line 339
invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v12
aput-object v12, v11, v8
iget v12, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->i:I
invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v12
aput-object v12, v11, v7
iget-object v12, v6, Lcom/yysdk/mobile/vpsdk/p/b/c;->a:Lcom/yysdk/mobile/vpsdk/i/c;
.line 2190
iget v12, v12, Lcom/yysdk/mobile/vpsdk/i/c;->c:I
.line 340
invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v12
aput-object v12, v11, v4
iget-object v12, v6, Lcom/yysdk/mobile/vpsdk/p/b/c;->a:Lcom/yysdk/mobile/vpsdk/i/c;
.line 2194
iget v12, v12, Lcom/yysdk/mobile/vpsdk/i/c;->d:I
.line 340
invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v12
aput-object v12, v11, v5
.line 337
invoke-static {v0, v10, v11}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-static {v2, v0}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
.line 343
:cond_a7
iget-object v0, v6, Lcom/yysdk/mobile/vpsdk/p/b/c;->a:Lcom/yysdk/mobile/vpsdk/i/c;
.line 3190
iget v0, v0, Lcom/yysdk/mobile/vpsdk/i/c;->c:I
.line 343
iput v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->h:I
.line 344
iget-object v0, v6, Lcom/yysdk/mobile/vpsdk/p/b/c;->a:Lcom/yysdk/mobile/vpsdk/i/c;
.line 3194
iget v0, v0, Lcom/yysdk/mobile/vpsdk/i/c;->d:I
.line 344
iput v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->i:I
.line 347
iget v10, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->h:I
mul-int v10, v10, v0
mul-int/lit8 v10, v10, 0x3
div-int/2addr v10, v4
iput v10, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->m:I
.line 352
iget-object v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->g:[B
if-eqz v0, :cond_c5
iget-object v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->g:[B
array-length v0, v0
if-eq v0, v10, :cond_cb
.line 353
:cond_c5
iget v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->m:I
new-array v0, v0, [B
iput-object v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->g:[B
.line 359
:cond_cb
iget v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->l:I
const/16 v4, 0x2803
const/16 v10, 0x2802
const/16 v11, 0x2801
const/16 v12, 0x2800
const v13, 0x47012f00 # 33071.0f
const v14, 0x46180400 # 9729.0f
const/16 v9, 0xde1
if-eqz v0, :cond_e3
iget-boolean v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->j:Z
if-eqz v0, :cond_15b
.line 361
:cond_e3
iget v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->l:I
if-eqz v0, :cond_f7
const-string v0, "[run] resize "
.line 362
invoke-static {v2, v0}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
new-array v0, v7, [I
.line 363
iget v15, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->l:I
aput v15, v0, v8
invoke-static {v7, v0, v8}, Landroid/opengl/GLES20;->glDeleteTextures(I[II)V
.line 364
iput v8, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->l:I
:cond_f7
new-array v0, v7, [I
.line 368
invoke-static {v7, v0, v8}, Landroid/opengl/GLES20;->glGenTextures(I[II)V
.line 369
aget v0, v0, v8
iput v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->l:I
.line 370
invoke-static {v9, v0}, Landroid/opengl/GLES20;->glBindTexture(II)V
.line 371
invoke-static {v9, v12, v14}, Landroid/opengl/GLES20;->glTexParameterf(IIF)V
.line 372
invoke-static {v9, v11, v14}, Landroid/opengl/GLES20;->glTexParameterf(IIF)V
.line 373
invoke-static {v9, v10, v13}, Landroid/opengl/GLES20;->glTexParameterf(IIF)V
.line 374
invoke-static {v9, v4, v13}, Landroid/opengl/GLES20;->glTexParameterf(IIF)V
const/16 v16, 0xde1
const/16 v17, 0x0
const/16 v18, 0x1908
.line 375
iget v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->h:I
iget v7, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->i:I
mul-int/lit8 v7, v7, 0x3
div-int/lit8 v20, v7, 0x8
const/16 v21, 0x0
const/16 v22, 0x1908
const/16 v23, 0x1401
const/16 v24, 0x0
move/from16 v19, v0
invoke-static/range {v16 .. v24}, Landroid/opengl/GLES20;->glTexImage2D(IIIIIIIILjava/nio/Buffer;)V
.line 378
iget v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->k:I
const v7, 0x8d40
invoke-static {v7, v0}, Landroid/opengl/GLES20;->glBindFramebuffer(II)V
const v0, 0x8ce0
.line 379
iget v15, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->l:I
invoke-static {v7, v0, v9, v15, v8}, Landroid/opengl/GLES20;->glFramebufferTexture2D(IIIII)V
.line 381
invoke-static {v7}, Landroid/opengl/GLES20;->glCheckFramebufferStatus(I)I
move-result v0
const v7, 0x8cd5
if-ne v0, v7, :cond_233
.line 388
new-instance v0, Ljava/lang/StringBuilder;
const-string v7, "[run] create tex "
invoke-direct {v0, v7}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget v7, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->l:I
invoke-virtual {v0, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v7, " ok"
invoke-virtual {v0, v7}, 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-static {v2, v0}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
.line 391
:cond_15b
iget v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->k:I
const v7, 0x8d40
invoke-static {v7, v0}, Landroid/opengl/GLES20;->glBindFramebuffer(II)V
.line 393
iget-object v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->n:Lcom/yysdk/mobile/vpsdk/u;
iget-object v7, v6, Lcom/yysdk/mobile/vpsdk/p/b/c;->a:Lcom/yysdk/mobile/vpsdk/i/c;
.line 3299
iget v7, v7, Lcom/yysdk/mobile/vpsdk/i/c;->b:I
.line 393
iget v15, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->h:I
iget v5, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->i:I
.line 4087
iget v4, v0, Lcom/yysdk/mobile/vpsdk/u;->e:I
if-ltz v4, :cond_200
.line 4091
iget v4, v0, Lcom/yysdk/mobile/vpsdk/u;->e:I
invoke-static {v4}, Landroid/opengl/GLES20;->glUseProgram(I)V
const/high16 v4, 0x3f800000 # 1.0f
const/4 v10, 0x0
.line 4092
invoke-static {v10, v4, v10, v4}, Landroid/opengl/GLES20;->glClearColor(FFFF)V
const/16 v4, 0x4000
.line 4093
invoke-static {v4}, Landroid/opengl/GLES20;->glClear(I)V
const/16 v4, 0xbe2
.line 4094
invoke-static {v4}, Landroid/opengl/GLES20;->glDisable(I)V
.line 4097
iget-object v4, v0, Lcom/yysdk/mobile/vpsdk/u;->c:Ljava/nio/FloatBuffer;
invoke-virtual {v4, v8}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 4098
iget v4, v0, Lcom/yysdk/mobile/vpsdk/u;->f:I
const/16 v19, 0x2
const/16 v20, 0x1406
const/16 v21, 0x0
const/16 v22, 0x0
iget-object v10, v0, Lcom/yysdk/mobile/vpsdk/u;->c:Ljava/nio/FloatBuffer;
move/from16 v18, v4
move-object/from16 v23, v10
invoke-static/range {v18 .. v23}, Landroid/opengl/GLES20;->glVertexAttribPointer(IIIZILjava/nio/Buffer;)V
.line 4099
iget v4, v0, Lcom/yysdk/mobile/vpsdk/u;->f:I
invoke-static {v4}, Landroid/opengl/GLES20;->glEnableVertexAttribArray(I)V
.line 4100
iget-object v4, v0, Lcom/yysdk/mobile/vpsdk/u;->d:Ljava/nio/FloatBuffer;
invoke-virtual {v4, v8}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 4101
iget v4, v0, Lcom/yysdk/mobile/vpsdk/u;->g:I
const/16 v19, 0x2
const/16 v20, 0x1406
const/16 v21, 0x0
const/16 v22, 0x0
iget-object v10, v0, Lcom/yysdk/mobile/vpsdk/u;->d:Ljava/nio/FloatBuffer;
move/from16 v18, v4
move-object/from16 v23, v10
invoke-static/range {v18 .. v23}, Landroid/opengl/GLES20;->glVertexAttribPointer(IIIZILjava/nio/Buffer;)V
.line 4102
iget v4, v0, Lcom/yysdk/mobile/vpsdk/u;->g:I
invoke-static {v4}, Landroid/opengl/GLES20;->glEnableVertexAttribArray(I)V
.line 4104
iget v4, v0, Lcom/yysdk/mobile/vpsdk/u;->i:I
int-to-float v10, v15
invoke-static {v4, v10}, Landroid/opengl/GLES20;->glUniform1f(IF)V
.line 4105
iget v4, v0, Lcom/yysdk/mobile/vpsdk/u;->j:I
int-to-float v10, v5
invoke-static {v4, v10}, Landroid/opengl/GLES20;->glUniform1f(IF)V
const v4, 0x84c0
.line 4107
invoke-static {v4}, Landroid/opengl/GLES20;->glActiveTexture(I)V
.line 4108
invoke-static {v9, v7}, Landroid/opengl/GLES20;->glBindTexture(II)V
.line 4109
invoke-static {v9, v12, v14}, Landroid/opengl/GLES20;->glTexParameterf(IIF)V
.line 4110
invoke-static {v9, v11, v14}, Landroid/opengl/GLES20;->glTexParameterf(IIF)V
const/16 v4, 0x2802
.line 4111
invoke-static {v9, v4, v13}, Landroid/opengl/GLES20;->glTexParameterf(IIF)V
const/16 v4, 0x2803
.line 4112
invoke-static {v9, v4, v13}, Landroid/opengl/GLES20;->glTexParameterf(IIF)V
.line 4115
iget v4, v0, Lcom/yysdk/mobile/vpsdk/u;->h:I
invoke-static {v4, v8}, Landroid/opengl/GLES20;->glUniform1i(II)V
mul-int/lit8 v5, v5, 0x3
.line 4116
div-int/lit8 v5, v5, 0x8
invoke-static {v8, v8, v15, v5}, Landroid/opengl/GLES20;->glViewport(IIII)V
const/4 v4, 0x5
const/4 v5, 0x4
.line 4117
invoke-static {v4, v8, v5}, Landroid/opengl/GLES20;->glDrawArrays(III)V
.line 4120
iget v4, v0, Lcom/yysdk/mobile/vpsdk/u;->g:I
invoke-static {v4}, Landroid/opengl/GLES20;->glDisableVertexAttribArray(I)V
.line 4121
iget v0, v0, Lcom/yysdk/mobile/vpsdk/u;->f:I
invoke-static {v0}, Landroid/opengl/GLES20;->glDisableVertexAttribArray(I)V
:cond_200
const/4 v7, 0x0
const/4 v8, 0x0
.line 395
iget v9, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->h:I
iget v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->i:I
const/4 v4, 0x3
mul-int/lit8 v0, v0, 0x3
div-int/lit8 v10, v0, 0x8
const/16 v11, 0x1908
const/16 v12, 0x1401
iget-object v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->g:[B
.line 398
invoke-static {v0}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
move-result-object v13
.line 395
invoke-static/range {v7 .. v13}, Landroid/opengl/GLES20;->glReadPixels(IIIIIILjava/nio/Buffer;)V
.line 423
iget-object v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->g:[B
iput-object v0, v6, Lcom/yysdk/mobile/vpsdk/p/b/c;->b:[B
.line 424
iget-object v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->g:[B
array-length v0, v0
iput v0, v6, Lcom/yysdk/mobile/vpsdk/p/b/c;->c:I
.line 425
sget-object v0, Lcom/yysdk/mobile/vpsdk/p/b/c$a;->YUV420:Lcom/yysdk/mobile/vpsdk/p/b/c$a;
iput-object v0, v6, Lcom/yysdk/mobile/vpsdk/p/b/c;->k:Lcom/yysdk/mobile/vpsdk/p/b/c$a;
.line 426
iget v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->h:I
iput v0, v6, Lcom/yysdk/mobile/vpsdk/p/b/c;->e:I
.line 427
iget v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->i:I
iput v0, v6, Lcom/yysdk/mobile/vpsdk/p/b/c;->f:I
.line 428
iget-object v0, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->c:Lcom/yysdk/mobile/vpsdk/p/b;
invoke-interface {v0, v6}, Lcom/yysdk/mobile/vpsdk/p/b;->b(Ljava/lang/Object;)V
goto :goto_267
.line 384
:cond_233
new-instance v0, Ljava/lang/StringBuilder;
const-string v3, "glCheckFramebufferStatus Error fbo="
invoke-direct {v0, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget v3, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->k:I
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, ", tex="
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v3, v1, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->l:I
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v3, "[run] "
.line 385
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
.line 386
new-instance v3, Ljava/lang/RuntimeException;
invoke-direct {v3, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v3
:try_end_260
.catch Ljava/lang/Exception; {:try_start_4f .. :try_end_260} :catch_264
.catchall {:try_start_4f .. :try_end_260} :catchall_26a
.line 440
:cond_260
invoke-direct/range {p0 .. p0}, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->d()V
return-void
:catch_264
move-exception v0
move-object v4, v6
goto :goto_26d
:cond_267
:goto_267
move-object v4, v6
goto/16 :goto_1c
:catchall_26a
move-exception v0
goto :goto_2a3
:catch_26c
move-exception v0
:goto_26d
:try_start_26d
const-string v3, "[run] loop exception "
.line 433
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v5
invoke-virtual {v3, v5}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3, v0}, Lcom/yysdk/mobile/vpsdk/p;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 434
sget-object v0, Lcom/yysdk/mobile/vpsdk/report/a;->ASYNC_GLES20_RUNTIME:Lcom/yysdk/mobile/vpsdk/report/a;
invoke-static {v0}, Lcom/yysdk/mobile/vpsdk/report/ErrorReport;->report(Lcom/yysdk/mobile/vpsdk/report/a;)V
if-eqz v4, :cond_29f
.line 435
iget-object v0, v4, Lcom/yysdk/mobile/vpsdk/p/b/c;->a:Lcom/yysdk/mobile/vpsdk/i/c;
if-eqz v0, :cond_29f
.line 436
new-instance v0, Ljava/lang/StringBuilder;
const-string v3, "[run] loop exception free ainfo "
invoke-direct {v0, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v3, v4, Lcom/yysdk/mobile/vpsdk/p/b/c;->a:Lcom/yysdk/mobile/vpsdk/i/c;
.line 4299
iget v3, v3, Lcom/yysdk/mobile/vpsdk/i/c;->b:I
.line 436
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v2, v0}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
.line 437
iget-object v0, v4, Lcom/yysdk/mobile/vpsdk/p/b/c;->a:Lcom/yysdk/mobile/vpsdk/i/c;
invoke-virtual {v0}, Lcom/yysdk/mobile/vpsdk/i/c;->a()V
:try_end_29f
.catchall {:try_start_26d .. :try_end_29f} :catchall_26a
.line 440
:cond_29f
invoke-direct/range {p0 .. p0}, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->d()V
return-void
:goto_2a3
invoke-direct/range {p0 .. p0}, Lcom/yysdk/mobile/vpsdk/p/b/a$a;->d()V
goto :goto_2a8
:goto_2a7
throw v0
:goto_2a8
goto :goto_2a7
.end method