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