.class Lorg/webrtc/EglBase10Impl$Context; .super Ljava/lang/Object; .source "EglBase10Impl.java" # interfaces .implements Lorg/webrtc/EglBase10$Context; # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lorg/webrtc/EglBase10Impl; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0xa name = "Context" .end annotation # instance fields .field private final egl:Ljavax/microedition/khronos/egl/EGL10; .field private final eglContext:Ljavax/microedition/khronos/egl/EGLContext; .field private final eglContextConfig:Ljavax/microedition/khronos/egl/EGLConfig; # direct methods .method public constructor (Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLContext;Ljavax/microedition/khronos/egl/EGLConfig;)V .locals 0 .line 84 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, Lorg/webrtc/EglBase10Impl$Context;->egl:Ljavax/microedition/khronos/egl/EGL10; iput-object p2, p0, Lorg/webrtc/EglBase10Impl$Context;->eglContext:Ljavax/microedition/khronos/egl/EGLContext; iput-object p3, p0, Lorg/webrtc/EglBase10Impl$Context;->eglContextConfig:Ljavax/microedition/khronos/egl/EGLConfig; return-void .end method # virtual methods .method public getNativeEglContext()J .locals 10 const-string v0, "Failed to make temporary EGL surface active: " iget-object v1, p0, Lorg/webrtc/EglBase10Impl$Context;->egl:Ljavax/microedition/khronos/egl/EGL10; .line 53 invoke-interface {v1}, Ljavax/microedition/khronos/egl/EGL10;->eglGetCurrentContext()Ljavax/microedition/khronos/egl/EGLContext; move-result-object v1 iget-object v2, p0, Lorg/webrtc/EglBase10Impl$Context;->egl:Ljavax/microedition/khronos/egl/EGL10; .line 54 invoke-interface {v2}, Ljavax/microedition/khronos/egl/EGL10;->eglGetCurrentDisplay()Ljavax/microedition/khronos/egl/EGLDisplay; move-result-object v2 iget-object v3, p0, Lorg/webrtc/EglBase10Impl$Context;->egl:Ljavax/microedition/khronos/egl/EGL10; const/16 v4, 0x3059 .line 55 invoke-interface {v3, v4}, Ljavax/microedition/khronos/egl/EGL10;->eglGetCurrentSurface(I)Ljavax/microedition/khronos/egl/EGLSurface; move-result-object v3 iget-object v4, p0, Lorg/webrtc/EglBase10Impl$Context;->egl:Ljavax/microedition/khronos/egl/EGL10; const/16 v5, 0x305a .line 56 invoke-interface {v4, v5}, Ljavax/microedition/khronos/egl/EGL10;->eglGetCurrentSurface(I)Ljavax/microedition/khronos/egl/EGLSurface; move-result-object v4 .line 59 sget-object v5, Ljavax/microedition/khronos/egl/EGL10;->EGL_NO_DISPLAY:Ljavax/microedition/khronos/egl/EGLDisplay; if-ne v2, v5, :cond_0 iget-object v2, p0, Lorg/webrtc/EglBase10Impl$Context;->egl:Ljavax/microedition/khronos/egl/EGL10; .line 60 sget-object v5, Ljavax/microedition/khronos/egl/EGL10;->EGL_DEFAULT_DISPLAY:Ljava/lang/Object; invoke-interface {v2, v5}, Ljavax/microedition/khronos/egl/EGL10;->eglGetDisplay(Ljava/lang/Object;)Ljavax/microedition/khronos/egl/EGLDisplay; move-result-object v2 :cond_0 const/4 v5, 0x0 :try_start_0 iget-object v6, p0, Lorg/webrtc/EglBase10Impl$Context;->eglContext:Ljavax/microedition/khronos/egl/EGLContext; if-eq v1, v6, :cond_2 const/4 v6, 0x1 const/16 v7, 0x3057 const/16 v8, 0x3056 const/16 v9, 0x3038 filled-new-array {v7, v6, v8, v6, v9}, [I move-result-object v6 iget-object v7, p0, Lorg/webrtc/EglBase10Impl$Context;->egl:Ljavax/microedition/khronos/egl/EGL10; iget-object v8, p0, Lorg/webrtc/EglBase10Impl$Context;->eglContextConfig:Ljavax/microedition/khronos/egl/EGLConfig; .line 67 invoke-interface {v7, v2, v8, v6}, 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 v5 iget-object v6, p0, Lorg/webrtc/EglBase10Impl$Context;->egl:Ljavax/microedition/khronos/egl/EGL10; iget-object v7, p0, Lorg/webrtc/EglBase10Impl$Context;->eglContext:Ljavax/microedition/khronos/egl/EGLContext; .line 68 invoke-interface {v6, v2, v5, v5, v7}, 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 v6 if-eqz v6, :cond_1 goto :goto_0 .line 69 :cond_1 new-instance v6, Ljava/lang/RuntimeException; new-instance v7, Ljava/lang/StringBuilder; invoke-direct {v7, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget-object v0, p0, Lorg/webrtc/EglBase10Impl$Context;->egl:Ljavax/microedition/khronos/egl/EGL10; .line 70 invoke-interface {v0}, Ljavax/microedition/khronos/egl/EGL10;->eglGetError()I move-result v0 invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {v6, v0}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V throw v6 .line 74 :cond_2 :goto_0 invoke-static {}, Lorg/webrtc/EglBase10Impl;->access$000()J move-result-wide v6 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-eqz v5, :cond_3 iget-object v0, p0, Lorg/webrtc/EglBase10Impl$Context;->egl:Ljavax/microedition/khronos/egl/EGL10; .line 77 invoke-interface {v0, v2, v3, v4, v1}, 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 iget-object p0, p0, Lorg/webrtc/EglBase10Impl$Context;->egl:Ljavax/microedition/khronos/egl/EGL10; .line 79 invoke-interface {p0, v2, v5}, Ljavax/microedition/khronos/egl/EGL10;->eglDestroySurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;)Z :cond_3 return-wide v6 :catchall_0 move-exception v0 if-eqz v5, :cond_4 iget-object v6, p0, Lorg/webrtc/EglBase10Impl$Context;->egl:Ljavax/microedition/khronos/egl/EGL10; .line 77 invoke-interface {v6, v2, v3, v4, v1}, 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 iget-object p0, p0, Lorg/webrtc/EglBase10Impl$Context;->egl:Ljavax/microedition/khronos/egl/EGL10; .line 79 invoke-interface {p0, v2, v5}, Ljavax/microedition/khronos/egl/EGL10;->eglDestroySurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;)Z .line 81 :cond_4 throw v0 .end method .method public getRawContext()Ljavax/microedition/khronos/egl/EGLContext; .locals 0 iget-object p0, p0, Lorg/webrtc/EglBase10Impl$Context;->eglContext:Ljavax/microedition/khronos/egl/EGLContext; return-object p0 .end method