Log in or register to post comments

GL_INVALID_ENUM and GL_INVALID_OPERATION

April 13, 2013 - 5:57am #1

Hi every body,

I'm newer in Vuforia. I'm trying to develop a demo that is integrate between Cloud Regconize and Video Playback. I use the sample of Vuforia for this demo. 

The demo's procedure is: when the app detected the image target by using the Cloud Regconize, it will render the splash image of video with the icon, and then when I click on the play button, it will play the video.

But when I render the splash image of video I receive the error GL_INVALID_ENUM althought the splash image render to the screen normally. When I click on the play button, the video cannot play and crash, I receive the error GL_INVALID_OPERATION.

This is the error message that I received in the Log:

- This is the error I received when I render the splash image

 

E/Adreno200-ES20(17551): <process_gl_state_enables:456>: GL_INVALID_ENUM
 
- This is the error I received when  I click on the play button
 E/Adreno200-ES20(17551): <qgl2DrvAPI_glBindTexture:656>: GL_INVALID_OPERATION
 E/SurfaceTexture(17551): [unnamed-17551-2] error binding external texture image 0x19d79a8 (slot 0): 0x502
 
- And this is the crash message
E/AndroidRuntime(17551): FATAL EXCEPTION: GLThread 2159
E/AndroidRuntime(17551): java.lang.RuntimeException: Error during updateTexImage (see logs)
E/AndroidRuntime(17551):  at android.graphics.SurfaceTexture.updateTexImage(SurfaceTexture.java:164)
E/AndroidRuntime(17551):  at com.qualcomm.QCARSamples.VideoPlayback.VideoPlayerHelper.updateVideoData(VideoPlayerHelper.java:592)
E/AndroidRuntime(17551):  at com.qualcomm.QCARSamples.VideoPlayback.VideoPlaybackRenderer.onDrawFrame(VideoPlaybackRenderer.java:177)
E/AndroidRuntime(17551):  at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1464)
E/AndroidRuntime(17551):  at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1218)
I tried to research on Google and try some solution that involve to this error, but it not work! I tried below solutions:
 

- GL_INVALID_ENUM is generated if target is not one of the allowable val-
ues.

- GL_INVALID_OPERATION is generated if texture has a dimensionality that
doesn't match that of target.

- GL_INVALID_OPERATION is generated if glBindTexture is executed between
the execution of glBegin and the corresponding execution of glEnd.

 
 
Any one can help me! Thank you so much!

 

 

 

GL_INVALID_ENUM and GL_INVALID_OPERATION

April 13, 2013 - 11:31pm #4

Great!

GL_INVALID_ENUM and GL_INVALID_OPERATION

April 13, 2013 - 8:31pm #3

Thanks for your feedback! I have solved this problem, this error occur because I set the wrong texture ID for the Surface View!

GL_INVALID_ENUM and GL_INVALID_OPERATION

April 13, 2013 - 1:16pm #2

Hi, the error seems to indicate that you are executing some OpenGL code outside the OpenGL rendering thread.

Normally, all your OpenGL code should be executed from within the renderFrame() function (see VideoPlayback.cpp for instance) or in the initRendering() function (for initialization code), otherwise you will incur in such type of crash.

 

Log in or register to post comments