package org.webrtc; import android.graphics.SurfaceTexture; import android.view.Surface; import c.d.b.a.a; import java.util.ArrayList; public interface EglBase { public static final int[] CONFIG_PIXEL_BUFFER = new ConfigBuilder().setSupportsPixelBuffer(true).createConfigAttributes(); public static final int[] CONFIG_PIXEL_RGBA_BUFFER = new ConfigBuilder().setHasAlphaChannel(true).setSupportsPixelBuffer(true).createConfigAttributes(); public static final int[] CONFIG_PLAIN = new ConfigBuilder().createConfigAttributes(); public static final int[] CONFIG_RECORDABLE = new ConfigBuilder().setIsRecordable(true).createConfigAttributes(); public static final int[] CONFIG_RGBA = new ConfigBuilder().setHasAlphaChannel(true).createConfigAttributes(); public static final int EGL_OPENGL_ES2_BIT = 4; public static final int EGL_OPENGL_ES3_BIT = 64; public static final int EGL_RECORDABLE_ANDROID = 12610; public static final Object lock = new Object(); public static class ConfigBuilder { private boolean hasAlphaChannel; private boolean isRecordable; private int openGlesVersion = 2; private boolean supportsPixelBuffer; public int[] createConfigAttributes() { ArrayList arrayList = new ArrayList(); arrayList.add(12324); arrayList.add(8); arrayList.add(12323); arrayList.add(8); arrayList.add(12322); arrayList.add(8); if (this.hasAlphaChannel) { arrayList.add(12321); arrayList.add(8); } int i = this.openGlesVersion; if (i == 2 || i == 3) { arrayList.add(12352); arrayList.add(Integer.valueOf(this.openGlesVersion == 3 ? 64 : 4)); } if (this.supportsPixelBuffer) { arrayList.add(12339); arrayList.add(1); } if (this.isRecordable) { arrayList.add(12610); arrayList.add(1); } arrayList.add(12344); int[] iArr = new int[arrayList.size()]; for (int i2 = 0; i2 < arrayList.size(); i2++) { iArr[i2] = ((Integer) arrayList.get(i2)).intValue(); } return iArr; } public ConfigBuilder setHasAlphaChannel(boolean z2) { this.hasAlphaChannel = z2; return this; } public ConfigBuilder setIsRecordable(boolean z2) { this.isRecordable = z2; return this; } public ConfigBuilder setOpenGlesVersion(int i) { if (i < 1 || i > 3) { throw new IllegalArgumentException(a.n("OpenGL ES version ", i, " not supported")); } this.openGlesVersion = i; return this; } public ConfigBuilder setSupportsPixelBuffer(boolean z2) { this.supportsPixelBuffer = z2; return this; } } public interface Context { public static final long NO_CONTEXT = 0; long getNativeEglContext(); } void createDummyPbufferSurface(); void createPbufferSurface(int i, int i2); void createSurface(SurfaceTexture surfaceTexture); void createSurface(Surface surface); void detachCurrent(); Context getEglBaseContext(); boolean hasSurface(); void makeCurrent(); void release(); void releaseSurface(); int surfaceHeight(); int surfaceWidth(); void swapBuffers(); void swapBuffers(long j); }