mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-23 07:38:16 +00:00
gl: do not allocate the target texture of an EGLImage
The target texture of an EGLImage is the texture bind just before calling glEGLImageTargetTexture2D. As we currently only support a gl texture as the source of an EGLImage the gl texture is actually already allocated when creating the eglimage. I also see some cases where it fails to upload an eglimage when glTexImage2D is called on the target.
This commit is contained in:
parent
531e19214a
commit
d4fe519c2e
1 changed files with 10 additions and 0 deletions
|
@ -27,6 +27,10 @@
|
|||
#include "gl.h"
|
||||
#include "gstglupload.h"
|
||||
|
||||
#if GST_GL_HAVE_PLATFORM_EGL
|
||||
#include "egl/gsteglimagememory.h"
|
||||
#endif
|
||||
|
||||
/**
|
||||
* SECTION:gstglupload
|
||||
* @short_description: an object that uploads to GL textures
|
||||
|
@ -256,6 +260,12 @@ gst_gl_upload_perform_with_buffer (GstGLUpload * upload, GstBuffer * buffer,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
#if GST_GL_HAVE_PLATFORM_EGL
|
||||
if (!upload->priv->tex_id && gst_is_egl_image_memory (mem))
|
||||
gst_gl_context_gen_texture (upload->context, &upload->priv->tex_id,
|
||||
GST_VIDEO_FORMAT_RGBA, 0, 0);
|
||||
#endif
|
||||
|
||||
if (!upload->priv->tex_id)
|
||||
gst_gl_context_gen_texture (upload->context, &upload->priv->tex_id,
|
||||
GST_VIDEO_FORMAT_RGBA, GST_VIDEO_INFO_WIDTH (&upload->in_info),
|
||||
|
|
Loading…
Reference in a new issue