29 #define GL_GLEXT_PROTOTYPES
31 #include <GLES3/gl31.h>
32 #include <GLES2/gl2ext.h>
41 namespace ArgusSamples
45 : m_initialized(false)
46 , m_eglStream(eglStream)
47 , m_streamState(EGL_NONE)
56 REPORT_ERROR(
"Failed to shutdown stream consumer");
67 ORIGINATE_ERROR(
"Failed to create GL texture");
73 ORIGINATE_ERROR(
"Unable to connect GL as consumer");
75 glBindTexture(GL_TEXTURE_EXTERNAL_OES, 0);
125 ORIGINATE_ERROR(
"eglQueryStreamKHR failed (error 0x%04x)", eglGetError());
130 ORIGINATE_ERROR(
"EGL stream is in bad state (0x%04x)",
m_streamState);
132 else if (
m_streamState == EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR)
135 if (!eglStreamConsumerAcquireKHR(display,
m_eglStream))
138 const EGLint eglError = eglGetError();
139 if (eglError == EGL_BAD_STATE_KHR)
142 ORIGINATE_ERROR(
"Failed to acquire from egl stream (error 0x%04x)", eglError);
146 if (acquiredNewFrame)
147 *acquiredNewFrame =
true;
166 ORIGINATE_ERROR(
"Unhandled EGL stream state (0x%04x)",
m_streamState);