b.smali
.class public final Lcom/polly/mobile/video/proc/b;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/polly/mobile/video/proc/h;
# instance fields
.field private a:Ljavax/microedition/khronos/egl/EGL10;
.field private b:Ljavax/microedition/khronos/egl/EGLDisplay;
.field private c:Ljavax/microedition/khronos/egl/EGLContext;
.field private d:Ljavax/microedition/khronos/egl/EGLConfig;
.field private e:I
# direct methods
.method public constructor <init>()V
.registers 2
const/4 v0, 0x0
.line 27
invoke-direct {p0, v0}, Lcom/polly/mobile/video/proc/b;-><init>(Ljavax/microedition/khronos/egl/EGLContext;)V
return-void
.end method
.method public constructor <init>(Ljavax/microedition/khronos/egl/EGLContext;)V
.registers 15
.line 30
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 21
sget-object v0, Ljavax/microedition/khronos/egl/EGL10;->EGL_NO_DISPLAY:Ljavax/microedition/khronos/egl/EGLDisplay;
iput-object v0, p0, Lcom/polly/mobile/video/proc/b;->b:Ljavax/microedition/khronos/egl/EGLDisplay;
.line 22
sget-object v0, Ljavax/microedition/khronos/egl/EGL10;->EGL_NO_CONTEXT:Ljavax/microedition/khronos/egl/EGLContext;
iput-object v0, p0, Lcom/polly/mobile/video/proc/b;->c:Ljavax/microedition/khronos/egl/EGLContext;
const/4 v0, 0x0
.line 23
iput-object v0, p0, Lcom/polly/mobile/video/proc/b;->d:Ljavax/microedition/khronos/egl/EGLConfig;
const/4 v1, -0x1
.line 24
iput v1, p0, Lcom/polly/mobile/video/proc/b;->e:I
if-nez p1, :cond_15
.line 32
sget-object p1, Ljavax/microedition/khronos/egl/EGL10;->EGL_NO_CONTEXT:Ljavax/microedition/khronos/egl/EGLContext;
.line 35
:cond_15
invoke-static {}, Ljavax/microedition/khronos/egl/EGLContext;->getEGL()Ljavax/microedition/khronos/egl/EGL;
move-result-object v1
check-cast v1, Ljavax/microedition/khronos/egl/EGL10;
iput-object v1, p0, Lcom/polly/mobile/video/proc/b;->a:Ljavax/microedition/khronos/egl/EGL10;
.line 36
sget-object v2, Ljavax/microedition/khronos/egl/EGL10;->EGL_DEFAULT_DISPLAY:Ljava/lang/Object;
invoke-interface {v1, v2}, Ljavax/microedition/khronos/egl/EGL10;->eglGetDisplay(Ljava/lang/Object;)Ljavax/microedition/khronos/egl/EGLDisplay;
move-result-object v1
iput-object v1, p0, Lcom/polly/mobile/video/proc/b;->b:Ljavax/microedition/khronos/egl/EGLDisplay;
.line 37
sget-object v2, Ljavax/microedition/khronos/egl/EGL10;->EGL_NO_DISPLAY:Ljavax/microedition/khronos/egl/EGLDisplay;
const-string v3, "EglCore10"
if-eq v1, v2, :cond_e6
const/4 v1, 0x2
new-array v2, v1, [I
.line 43
iget-object v4, p0, Lcom/polly/mobile/video/proc/b;->a:Ljavax/microedition/khronos/egl/EGL10;
iget-object v5, p0, Lcom/polly/mobile/video/proc/b;->b:Ljavax/microedition/khronos/egl/EGLDisplay;
invoke-interface {v4, v5, v2}, Ljavax/microedition/khronos/egl/EGL10;->eglInitialize(Ljavax/microedition/khronos/egl/EGLDisplay;[I)Z
move-result v2
if-eqz v2, :cond_d9
.line 49
iget-object v0, p0, Lcom/polly/mobile/video/proc/b;->c:Ljavax/microedition/khronos/egl/EGLContext;
sget-object v2, Ljavax/microedition/khronos/egl/EGL10;->EGL_NO_CONTEXT:Ljavax/microedition/khronos/egl/EGLContext;
const/4 v4, 0x1
const/4 v5, 0x0
if-ne v0, v2, :cond_b8
const/16 v0, 0xf
new-array v0, v0, [I
.line 1074
fill-array-data v0, :array_f2
new-array v2, v4, [I
.line 1086
iget-object v6, p0, Lcom/polly/mobile/video/proc/b;->a:Ljavax/microedition/khronos/egl/EGL10;
iget-object v7, p0, Lcom/polly/mobile/video/proc/b;->b:Ljavax/microedition/khronos/egl/EGLDisplay;
const/4 v9, 0x0
const/4 v10, 0x0
move-object v8, v0
move-object v11, v2
invoke-interface/range {v6 .. v11}, Ljavax/microedition/khronos/egl/EGL10;->eglChooseConfig(Ljavax/microedition/khronos/egl/EGLDisplay;[I[Ljavax/microedition/khronos/egl/EGLConfig;I[I)Z
move-result v6
if-eqz v6, :cond_b0
.line 1090
aget v10, v2, v5
if-lez v10, :cond_a8
.line 1095
new-array v12, v10, [Ljavax/microedition/khronos/egl/EGLConfig;
.line 1096
iget-object v6, p0, Lcom/polly/mobile/video/proc/b;->a:Ljavax/microedition/khronos/egl/EGL10;
iget-object v7, p0, Lcom/polly/mobile/video/proc/b;->b:Ljavax/microedition/khronos/egl/EGLDisplay;
move-object v8, v0
move-object v9, v12
move-object v11, v2
invoke-interface/range {v6 .. v11}, Ljavax/microedition/khronos/egl/EGL10;->eglChooseConfig(Ljavax/microedition/khronos/egl/EGLDisplay;[I[Ljavax/microedition/khronos/egl/EGLConfig;I[I)Z
move-result v0
if-eqz v0, :cond_a0
.line 1100
aget-object v0, v12, v5
if-eqz v0, :cond_95
const/4 v2, 0x3
new-array v2, v2, [I
.line 56
fill-array-data v2, :array_114
.line 57
iget-object v6, p0, Lcom/polly/mobile/video/proc/b;->a:Ljavax/microedition/khronos/egl/EGL10;
iget-object v7, p0, Lcom/polly/mobile/video/proc/b;->b:Ljavax/microedition/khronos/egl/EGLDisplay;
invoke-interface {v6, v7, v0, p1, v2}, Ljavax/microedition/khronos/egl/EGL10;->eglCreateContext(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljavax/microedition/khronos/egl/EGLContext;[I)Ljavax/microedition/khronos/egl/EGLContext;
move-result-object p1
const-string v2, "eglCreateContext"
.line 58
invoke-direct {p0, v2}, Lcom/polly/mobile/video/proc/b;->a(Ljava/lang/String;)V
if-eqz p1, :cond_8a
.line 63
iput-object v0, p0, Lcom/polly/mobile/video/proc/b;->d:Ljavax/microedition/khronos/egl/EGLConfig;
.line 64
iput-object p1, p0, Lcom/polly/mobile/video/proc/b;->c:Ljavax/microedition/khronos/egl/EGLContext;
.line 65
iput v1, p0, Lcom/polly/mobile/video/proc/b;->e:I
goto :goto_b8
:cond_8a
const-string p1, "Unable to create EGLContext"
.line 60
invoke-static {v3, p1}, Lcom/polly/mobile/util/f;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 61
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, p1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v0
:cond_95
const-string p1, "Unable to find a suitable EGLConfig"
.line 52
invoke-static {v3, p1}, Lcom/polly/mobile/util/f;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 53
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, p1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v0
.line 1097
:cond_a0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "eglChooseConfig#2 failed"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 1092
:cond_a8
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "No configs match configSpec"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 1087
:cond_b0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "eglChooseConfig failed"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:cond_b8
:goto_b8
new-array p1, v4, [I
.line 69
iget-object v0, p0, Lcom/polly/mobile/video/proc/b;->a:Ljavax/microedition/khronos/egl/EGL10;
iget-object v1, p0, Lcom/polly/mobile/video/proc/b;->b:Ljavax/microedition/khronos/egl/EGLDisplay;
iget-object v2, p0, Lcom/polly/mobile/video/proc/b;->c:Ljavax/microedition/khronos/egl/EGLContext;
const/16 v4, 0x3098
invoke-interface {v0, v1, v2, v4, p1}, Ljavax/microedition/khronos/egl/EGL10;->eglQueryContext(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLContext;I[I)Z
.line 70
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "EGLContext created, client version "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
aget p1, p1, v5
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v3, p1}, Lcom/polly/mobile/util/f;->b(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 44
:cond_d9
iput-object v0, p0, Lcom/polly/mobile/video/proc/b;->b:Ljavax/microedition/khronos/egl/EGLDisplay;
const-string p1, "unable to initialize EGL10"
.line 45
invoke-static {v3, p1}, Lcom/polly/mobile/util/f;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 46
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, p1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v0
:cond_e6
const-string p1, "unable to get EGL10 display"
.line 38
invoke-static {v3, p1}, Lcom/polly/mobile/util/f;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 39
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, p1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v0
nop
:array_f2
.array-data 4
0x3024
0x8
0x3023
0x8
0x3022
0x8
0x3021
0x8
0x3025
0x10
0x3026
0x0
0x3040
0x4
0x3038
.end array-data
:array_114
.array-data 4
0x3098
0x2
0x3038
.end array-data
.end method
.method private a(Ljava/lang/String;)V
.registers 5
.line 242
iget-object v0, p0, Lcom/polly/mobile/video/proc/b;->a:Ljavax/microedition/khronos/egl/EGL10;
invoke-interface {v0}, Ljavax/microedition/khronos/egl/EGL10;->eglGetError()I
move-result v0
const/16 v1, 0x3000
if-ne v0, v1, :cond_b
return-void
.line 243
:cond_b
new-instance v1, Ljava/lang/RuntimeException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, ": EGL error: 0x"
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v0}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object p1
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v1, p1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method private static c(Lcom/polly/mobile/video/proc/d;)Ljavax/microedition/khronos/egl/EGLSurface;
.registers 1
if-eqz p0, :cond_7
.line 2015
iget-object p0, p0, Lcom/polly/mobile/video/proc/d;->a:Ljava/lang/Object;
.line 164
check-cast p0, Ljavax/microedition/khronos/egl/EGLSurface;
goto :goto_8
:cond_7
const/4 p0, 0x0
:goto_8
return-object p0
.end method
# virtual methods
.method public final a(II)Lcom/polly/mobile/video/proc/d;
.registers 6
const/4 v0, 0x5
new-array v0, v0, [I
const/4 v1, 0x0
const/16 v2, 0x3057
aput v2, v0, v1
const/4 v1, 0x1
aput p1, v0, v1
const/4 p1, 0x2
const/16 v1, 0x3056
aput v1, v0, p1
const/4 p1, 0x3
aput p2, v0, p1
const/4 p1, 0x4
const/16 p2, 0x3038
aput p2, v0, p1
.line 146
iget-object p1, p0, Lcom/polly/mobile/video/proc/b;->a:Ljavax/microedition/khronos/egl/EGL10;
iget-object p2, p0, Lcom/polly/mobile/video/proc/b;->b:Ljavax/microedition/khronos/egl/EGLDisplay;
iget-object v1, p0, Lcom/polly/mobile/video/proc/b;->d:Ljavax/microedition/khronos/egl/EGLConfig;
invoke-interface {p1, p2, v1, v0}, Ljavax/microedition/khronos/egl/EGL10;->eglCreatePbufferSurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;[I)Ljavax/microedition/khronos/egl/EGLSurface;
move-result-object p1
const-string p2, "eglCreatePbufferSurface"
.line 147
invoke-direct {p0, p2}, Lcom/polly/mobile/video/proc/b;->a(Ljava/lang/String;)V
if-eqz p1, :cond_2f
.line 151
new-instance p2, Lcom/polly/mobile/video/proc/d;
invoke-direct {p2, p1}, Lcom/polly/mobile/video/proc/d;-><init>(Ljava/lang/Object;)V
return-object p2
.line 149
:cond_2f
new-instance p1, Ljava/lang/RuntimeException;
const-string p2, "surface was null"
invoke-direct {p1, p2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public final a()V
.registers 5
.line 105
iget-object v0, p0, Lcom/polly/mobile/video/proc/b;->b:Ljavax/microedition/khronos/egl/EGLDisplay;
sget-object v1, Ljavax/microedition/khronos/egl/EGL10;->EGL_NO_DISPLAY:Ljavax/microedition/khronos/egl/EGLDisplay;
if-eq v0, v1, :cond_21
.line 106
iget-object v0, p0, Lcom/polly/mobile/video/proc/b;->a:Ljavax/microedition/khronos/egl/EGL10;
iget-object v1, p0, Lcom/polly/mobile/video/proc/b;->b:Ljavax/microedition/khronos/egl/EGLDisplay;
sget-object v2, Ljavax/microedition/khronos/egl/EGL10;->EGL_NO_SURFACE:Ljavax/microedition/khronos/egl/EGLSurface;
sget-object v3, Ljavax/microedition/khronos/egl/EGL10;->EGL_NO_CONTEXT:Ljavax/microedition/khronos/egl/EGLContext;
invoke-interface {v0, v1, v2, v2, v3}, Ljavax/microedition/khronos/egl/EGL10;->eglMakeCurrent(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;Ljavax/microedition/khronos/egl/EGLSurface;Ljavax/microedition/khronos/egl/EGLContext;)Z
.line 107
iget-object v0, p0, Lcom/polly/mobile/video/proc/b;->a:Ljavax/microedition/khronos/egl/EGL10;
iget-object v1, p0, Lcom/polly/mobile/video/proc/b;->b:Ljavax/microedition/khronos/egl/EGLDisplay;
iget-object v2, p0, Lcom/polly/mobile/video/proc/b;->c:Ljavax/microedition/khronos/egl/EGLContext;
invoke-interface {v0, v1, v2}, Ljavax/microedition/khronos/egl/EGL10;->eglDestroyContext(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLContext;)Z
.line 108
iget-object v0, p0, Lcom/polly/mobile/video/proc/b;->a:Ljavax/microedition/khronos/egl/EGL10;
iget-object v1, p0, Lcom/polly/mobile/video/proc/b;->b:Ljavax/microedition/khronos/egl/EGLDisplay;
invoke-interface {v0, v1}, Ljavax/microedition/khronos/egl/EGL10;->eglTerminate(Ljavax/microedition/khronos/egl/EGLDisplay;)Z
.line 111
:cond_21
sget-object v0, Ljavax/microedition/khronos/egl/EGL10;->EGL_NO_DISPLAY:Ljavax/microedition/khronos/egl/EGLDisplay;
iput-object v0, p0, Lcom/polly/mobile/video/proc/b;->b:Ljavax/microedition/khronos/egl/EGLDisplay;
.line 112
sget-object v0, Ljavax/microedition/khronos/egl/EGL10;->EGL_NO_CONTEXT:Ljavax/microedition/khronos/egl/EGLContext;
iput-object v0, p0, Lcom/polly/mobile/video/proc/b;->c:Ljavax/microedition/khronos/egl/EGLContext;
const/4 v0, 0x0
.line 113
iput-object v0, p0, Lcom/polly/mobile/video/proc/b;->d:Ljavax/microedition/khronos/egl/EGLConfig;
return-void
.end method
.method public final a(Lcom/polly/mobile/video/proc/d;)V
.registers 4
.line 157
invoke-static {p1}, Lcom/polly/mobile/video/proc/b;->c(Lcom/polly/mobile/video/proc/d;)Ljavax/microedition/khronos/egl/EGLSurface;
move-result-object p1
.line 158
iget-object v0, p0, Lcom/polly/mobile/video/proc/b;->a:Ljavax/microedition/khronos/egl/EGL10;
iget-object v1, p0, Lcom/polly/mobile/video/proc/b;->b:Ljavax/microedition/khronos/egl/EGLDisplay;
invoke-interface {v0, v1, p1}, Ljavax/microedition/khronos/egl/EGL10;->eglDestroySurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;)Z
return-void
.end method
.method public final b()I
.registers 2
.line 233
iget v0, p0, Lcom/polly/mobile/video/proc/b;->e:I
return v0
.end method
.method public final b(Lcom/polly/mobile/video/proc/d;)V
.registers 5
.line 171
iget-object v0, p0, Lcom/polly/mobile/video/proc/b;->b:Ljavax/microedition/khronos/egl/EGLDisplay;
sget-object v1, Ljavax/microedition/khronos/egl/EGL10;->EGL_NO_DISPLAY:Ljavax/microedition/khronos/egl/EGLDisplay;
if-ne v0, v1, :cond_d
const-string v0, "EglCore10"
const-string v1, "NOTE: makeCurrent w/o display"
.line 172
invoke-static {v0, v1}, Lcom/polly/mobile/util/f;->b(Ljava/lang/String;Ljava/lang/String;)I
.line 175
:cond_d
invoke-static {p1}, Lcom/polly/mobile/video/proc/b;->c(Lcom/polly/mobile/video/proc/d;)Ljavax/microedition/khronos/egl/EGLSurface;
move-result-object p1
.line 176
iget-object v0, p0, Lcom/polly/mobile/video/proc/b;->a:Ljavax/microedition/khronos/egl/EGL10;
iget-object v1, p0, Lcom/polly/mobile/video/proc/b;->b:Ljavax/microedition/khronos/egl/EGLDisplay;
iget-object v2, p0, Lcom/polly/mobile/video/proc/b;->c:Ljavax/microedition/khronos/egl/EGLContext;
invoke-interface {v0, v1, p1, p1, v2}, Ljavax/microedition/khronos/egl/EGL10;->eglMakeCurrent(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;Ljavax/microedition/khronos/egl/EGLSurface;Ljavax/microedition/khronos/egl/EGLContext;)Z
move-result p1
if-eqz p1, :cond_1e
return-void
.line 177
:cond_1e
new-instance p1, Ljava/lang/RuntimeException;
const-string v0, "eglMakeCurrent failed"
invoke-direct {p1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method protected final finalize()V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
.line 118
:try_start_0
iget-object v0, p0, Lcom/polly/mobile/video/proc/b;->b:Ljavax/microedition/khronos/egl/EGLDisplay;
sget-object v1, Ljavax/microedition/khronos/egl/EGL10;->EGL_NO_DISPLAY:Ljavax/microedition/khronos/egl/EGLDisplay;
if-eq v0, v1, :cond_10
const-string v0, "EglCore10"
const-string v1, "WARNING: EglCore10 was not explicitly released -- state may be leaked"
.line 119
invoke-static {v0, v1}, Lcom/polly/mobile/util/f;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 120
invoke-virtual {p0}, Lcom/polly/mobile/video/proc/b;->a()V
:try_end_10
.catchall {:try_start_0 .. :try_end_10} :catchall_14
.line 123
:cond_10
invoke-super {p0}, Ljava/lang/Object;->finalize()V
return-void
:catchall_14
move-exception v0
invoke-super {p0}, Ljava/lang/Object;->finalize()V
throw v0
.end method