EGL_BAD_MATCH after repeated orientation changes #48

Closed
sleepynate opened this Issue Mar 1, 2012 · 1 comment

1 participant

@sleepynate
Backyard Brains member

When phone changes orientation (or at other times where the Android main thread, microphone thread, and GL thread all need to re-sync), sometimes libEGL will attempt to talk to the surface before it is drawn, causing the following to be thrown:

03-01 13:34:43.633: E/libEGL(4698): eglMakeCurrent:1212 error 3009 (EGL_BAD_MATCH)
03-01 13:34:43.693: E/libEGL(4698): call to OpenGL ES API with no current context (logged once per thread)

This can cause no waveform to be displayed, or sometimes a Force Close.

@sleepynate
Backyard Brains member

Error for HTC Nexus One occurs at Line 111 in com.backyardbrains.drawing.GlSurfaceManager.initEGL()

mEGL.eglMakeCurrent(mGLDisplay, mGLSurface, mGLSurface, mGLContext);

On Motorola Tegra-based devices, this occurs in com.backyardbrains.drawing.GlSurfaceManager.cleanupGL() during:

mEGL.eglMakeCurrent(mGLDisplay, EGL10.EGL_NO_SURFACE,
        EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_CONTEXT);
@sleepynate sleepynate was assigned May 9, 2012
@sleepynate sleepynate closed this Jul 24, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment