mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-25 03:01:03 +00:00
glupload: Ensure we still have a texture after upload_set_format()
gst_gl_upload_set_format() resets the upload, hence the texture. So we need to ensure we have a texture after this call when uploading.
This commit is contained in:
parent
b70edbff15
commit
030fc8b7d0
1 changed files with 10 additions and 0 deletions
|
@ -343,6 +343,11 @@ gst_gl_upload_perform_with_buffer (GstGLUpload * upload, GstBuffer * buffer,
|
|||
/* update the video info from the one updated by frame_map using video meta */
|
||||
gst_gl_upload_set_format (upload, &upload->priv->frame.info);
|
||||
|
||||
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),
|
||||
GST_VIDEO_INFO_HEIGHT (&upload->in_info));
|
||||
|
||||
if (!gst_gl_upload_perform_with_data (upload, upload->priv->tex_id,
|
||||
upload->priv->frame.data)) {
|
||||
return FALSE;
|
||||
|
@ -400,6 +405,11 @@ _do_upload_for_meta (GstGLUpload * upload, GstVideoGLTextureUploadMeta * meta)
|
|||
/* update the video info from the one updated by frame_map using video meta */
|
||||
gst_gl_upload_set_format (upload, &upload->priv->frame.info);
|
||||
|
||||
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),
|
||||
GST_VIDEO_INFO_HEIGHT (&upload->in_info));
|
||||
|
||||
ret = _gst_gl_upload_perform_with_data_unlocked (upload,
|
||||
upload->out_tex->tex_id, frame.data);
|
||||
|
||||
|
|
Loading…
Reference in a new issue