diff --git a/sdk/android/api/org/webrtc/EglBase.java b/sdk/android/api/org/webrtc/EglBase.java index 23acdefc8d..e94037d9bf 100644 --- a/sdk/android/api/org/webrtc/EglBase.java +++ b/sdk/android/api/org/webrtc/EglBase.java @@ -12,14 +12,13 @@ package org.webrtc; import android.graphics.SurfaceTexture; import android.view.Surface; - import javax.microedition.khronos.egl.EGL10; /** * Holds EGL state and utility methods for handling an egl 1.0 EGLContext, an EGLDisplay, * and an EGLSurface. */ -public abstract class EglBase { +public interface EglBase { // EGL wrapper for an actual EGLContext. public interface Context { long getNativeEglContext(); } @@ -140,34 +139,34 @@ public abstract class EglBase { return new EglBase14(new EglBase14.Context(sharedContext), configAttributes); } - public abstract void createSurface(Surface surface); + void createSurface(Surface surface); // Create EGLSurface from the Android SurfaceTexture. - public abstract void createSurface(SurfaceTexture surfaceTexture); + void createSurface(SurfaceTexture surfaceTexture); // Create dummy 1x1 pixel buffer surface so the context can be made current. - public abstract void createDummyPbufferSurface(); + void createDummyPbufferSurface(); - public abstract void createPbufferSurface(int width, int height); + void createPbufferSurface(int width, int height); - public abstract Context getEglBaseContext(); + Context getEglBaseContext(); - public abstract boolean hasSurface(); + boolean hasSurface(); - public abstract int surfaceWidth(); + int surfaceWidth(); - public abstract int surfaceHeight(); + int surfaceHeight(); - public abstract void releaseSurface(); + void releaseSurface(); - public abstract void release(); + void release(); - public abstract void makeCurrent(); + void makeCurrent(); // Detach the current EGL context, so that it can be made current on another thread. - public abstract void detachCurrent(); + void detachCurrent(); - public abstract void swapBuffers(); + void swapBuffers(); - public abstract void swapBuffers(long presentationTimeStampNs); + void swapBuffers(long presentationTimeStampNs); } diff --git a/sdk/android/src/java/org/webrtc/EglBase10.java b/sdk/android/src/java/org/webrtc/EglBase10.java index 8cbe0c0225..d00388ee22 100644 --- a/sdk/android/src/java/org/webrtc/EglBase10.java +++ b/sdk/android/src/java/org/webrtc/EglBase10.java @@ -25,7 +25,7 @@ import javax.microedition.khronos.egl.EGLSurface; * Holds EGL state and utility methods for handling an egl 1.0 EGLContext, an EGLDisplay, * and an EGLSurface. */ -class EglBase10 extends EglBase { +class EglBase10 implements EglBase { // This constant is taken from EGL14.EGL_CONTEXT_CLIENT_VERSION. private static final int EGL_CONTEXT_CLIENT_VERSION = 0x3098; diff --git a/sdk/android/src/java/org/webrtc/EglBase14.java b/sdk/android/src/java/org/webrtc/EglBase14.java index ed5e9543ba..41bd665405 100644 --- a/sdk/android/src/java/org/webrtc/EglBase14.java +++ b/sdk/android/src/java/org/webrtc/EglBase14.java @@ -27,7 +27,7 @@ import android.view.Surface; */ @SuppressWarnings("ReferenceEquality") // We want to compare to EGL14 constants. @TargetApi(18) -class EglBase14 extends EglBase { +class EglBase14 implements EglBase { private static final String TAG = "EglBase14"; private static final int EGLExt_SDK_VERSION = android.os.Build.VERSION_CODES.JELLY_BEAN_MR2; private static final int CURRENT_SDK_VERSION = android.os.Build.VERSION.SDK_INT;