Package tvi.webrtc
Interface EglBase
public interface EglBase
Holds EGL state and utility methods for handling an egl 1.0 EGLContext, an EGLDisplay,
and an EGLSurface.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic class
static interface
static interface
Wraps the objects needed to interact with EGL that are independent of a particular EGLSurface. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int[]
static final int[]
static final int[]
static final int[]
static final int[]
static final int
static final int
static final int
static final Object
-
Method Summary
Modifier and TypeMethodDescriptionstatic EglBase.ConfigBuilder
static EglBase
create()
Helper function for creating a plain root context.static EglBase
create
(EglBase.Context sharedContext) Helper function for creating a plain context, sharing data with `sharedContext`.static EglBase
create
(EglBase.Context sharedContext, int[] configAttributes) Create a new context with the specified config attributes, sharing data with `sharedContext`.static EglBase
create
(EglBase.EglConnection eglConnection) Creates a new EglBase with a shared EglConnection.void
static EglBase10
createEgl10
(int[] configAttributes) Explicitly create a root EGl 1.0 context with the specified config attributes.static EglBase10
createEgl10
(javax.microedition.khronos.egl.EGLContext sharedContext, int[] configAttributes) Explicitly create a root EGl 1.0 context with the specified config attributes and shared context.static EglBase10
createEgl10
(EglBase10.Context sharedContext, int[] configAttributes) Explicitly create a root EGl 1.0 context with the specified config attributes and shared context.static EglBase14
createEgl14
(int[] configAttributes) Explicitly create a root EGl 1.4 context with the specified config attributes.static EglBase14
createEgl14
(android.opengl.EGLContext sharedContext, int[] configAttributes) Explicitly create a root EGl 1.4 context with the specified config attributes and shared context.static EglBase14
createEgl14
(EglBase14.Context sharedContext, int[] configAttributes) Explicitly create a root EGl 1.4 context with the specified config attributes and shared context.void
createPbufferSurface
(int width, int height) void
createSurface
(android.graphics.SurfaceTexture surfaceTexture) void
createSurface
(android.view.Surface surface) void
static int
getOpenGlesVersionFromConfig
(int[] configAttributes) boolean
void
void
release()
void
int
int
void
void
swapBuffers
(long presentationTimeStampNs)
-
Field Details
-
lock
-
EGL_OPENGL_ES2_BIT
static final int EGL_OPENGL_ES2_BIT- See Also:
-
EGL_OPENGL_ES3_BIT
static final int EGL_OPENGL_ES3_BIT- See Also:
-
EGL_RECORDABLE_ANDROID
static final int EGL_RECORDABLE_ANDROID- See Also:
-
CONFIG_PLAIN
static final int[] CONFIG_PLAIN -
CONFIG_RGBA
static final int[] CONFIG_RGBA -
CONFIG_PIXEL_BUFFER
static final int[] CONFIG_PIXEL_BUFFER -
CONFIG_PIXEL_RGBA_BUFFER
static final int[] CONFIG_PIXEL_RGBA_BUFFER -
CONFIG_RECORDABLE
static final int[] CONFIG_RECORDABLE
-
-
Method Details
-
configBuilder
-
getOpenGlesVersionFromConfig
static int getOpenGlesVersionFromConfig(int[] configAttributes) -
create
Creates a new EglBase with a shared EglConnection. EglBase instances sharing the same EglConnection should be used on the same thread to avoid the underlying EGLContext being made current on multiple threads. It is up to the client of EglBase to ensure that instances with a shared EglConnection are current on that thread before each use since other EglBase instances may have used the same EGLContext since the last interaction. -
create
Create a new context with the specified config attributes, sharing data with `sharedContext`. If `sharedContext` is null, a root EGL 1.4 context is created. -
create
Helper function for creating a plain root context. This function will try to create an EGL 1.4 context if possible, and an EGL 1.0 context otherwise. -
create
Helper function for creating a plain context, sharing data with `sharedContext`. This function will try to create an EGL 1.4 context if possible, and an EGL 1.0 context otherwise. -
createEgl10
Explicitly create a root EGl 1.0 context with the specified config attributes. -
createEgl10
Explicitly create a root EGl 1.0 context with the specified config attributes and shared context. -
createEgl10
static EglBase10 createEgl10(javax.microedition.khronos.egl.EGLContext sharedContext, int[] configAttributes) Explicitly create a root EGl 1.0 context with the specified config attributes and shared context. -
createEgl14
Explicitly create a root EGl 1.4 context with the specified config attributes. -
createEgl14
Explicitly create a root EGl 1.4 context with the specified config attributes and shared context. -
createEgl14
Explicitly create a root EGl 1.4 context with the specified config attributes and shared context. -
createSurface
void createSurface(android.view.Surface surface) -
createSurface
void createSurface(android.graphics.SurfaceTexture surfaceTexture) -
createDummyPbufferSurface
void createDummyPbufferSurface() -
createPbufferSurface
void createPbufferSurface(int width, int height) -
getEglBaseContext
EglBase.Context getEglBaseContext() -
hasSurface
boolean hasSurface() -
surfaceWidth
int surfaceWidth() -
surfaceHeight
int surfaceHeight() -
releaseSurface
void releaseSurface() -
release
void release() -
makeCurrent
void makeCurrent() -
detachCurrent
void detachCurrent() -
swapBuffers
void swapBuffers() -
swapBuffers
void swapBuffers(long presentationTimeStampNs)
-