diff options
Diffstat (limited to 'recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-glupload-Add-VideoMetas-and-GLSyncMeta-to-the-raw-up.patch')
-rw-r--r-- | recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-glupload-Add-VideoMetas-and-GLSyncMeta-to-the-raw-up.patch | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-glupload-Add-VideoMetas-and-GLSyncMeta-to-the-raw-up.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-glupload-Add-VideoMetas-and-GLSyncMeta-to-the-raw-up.patch deleted file mode 100644 index f891a63a..00000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-glupload-Add-VideoMetas-and-GLSyncMeta-to-the-raw-up.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 8d32de090554cf29fe359f83aa46000ba658a693 Mon Sep 17 00:00:00 2001 -From: Thibault Saunier <tsaunier@igalia.com> -Date: Fri, 27 Sep 2019 11:10:43 -0300 -Subject: [PATCH] glupload: Add VideoMetas and GLSyncMeta to the raw uploaded - buffers - -This is done by reusing `gst_gl_memory_setup_buffer` avoiding to -duplicate code. - -Without a VideoMeta, mapping those buffers lead to GstBuffer mapping the -buffer in system memory even when specifying the GL flags (through the -buffer merging mechanism) making the result totally broken. - -Part-of: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/444 -Upstream-Status: Backport [8d32de090554cf29fe359f83aa46000ba658a693] - -Signed-off-by: Zan Dobersek <zdobersek@igalia.com> ---- - gst-libs/gst/gl/gstglupload.c | 32 +++++++++++--------------------- - tests/check/libs/gstglupload.c | 2 ++ - 2 files changed, 13 insertions(+), 21 deletions(-) - -diff --git a/gst-libs/gst/gl/gstglupload.c b/gst-libs/gst/gl/gstglupload.c -index bc6db7e0a..67ec4f4e9 100644 ---- a/gst-libs/gst/gl/gstglupload.c -+++ b/gst-libs/gst/gl/gstglupload.c -@@ -1293,33 +1293,23 @@ _raw_data_upload_perform (gpointer impl, GstBuffer * buffer, - (raw->upload->context)); - - /* FIXME Use a buffer pool to cache the generated textures */ -- /* FIXME: multiview support with separated left/right frames? */ - *outbuf = gst_buffer_new (); -- for (i = 0; i < n_mem; i++) { -- GstGLBaseMemory *tex; -- -- raw->params->parent.wrapped_data = raw->in_frame->frame.data[i]; -- raw->params->plane = i; -- raw->params->tex_format = -- gst_gl_format_from_video_info (raw->upload->context, in_info, i); -- -- tex = -- gst_gl_base_memory_alloc (allocator, -- (GstGLAllocationParams *) raw->params); -- if (!tex) { -- gst_buffer_unref (*outbuf); -- *outbuf = NULL; -- GST_ERROR_OBJECT (raw->upload, "Failed to allocate wrapped texture"); -- return GST_GL_UPLOAD_ERROR; -- } -+ raw->params->parent.context = raw->upload->context; -+ if (gst_gl_memory_setup_buffer ((GstGLMemoryAllocator *) allocator, *outbuf, -+ raw->params, NULL, raw->in_frame->frame.data, n_mem)) { - -- _raw_upload_frame_ref (raw->in_frame); -- gst_buffer_append_memory (*outbuf, (GstMemory *) tex); -+ for (i = 0; i < n_mem; i++) -+ _raw_upload_frame_ref (raw->in_frame); -+ gst_buffer_add_gl_sync_meta (raw->upload->context, *outbuf); -+ } else { -+ GST_ERROR_OBJECT (raw->upload, "Failed to allocate wrapped texture"); -+ gst_buffer_unref (*outbuf); -+ return GST_GL_UPLOAD_ERROR; - } - gst_object_unref (allocator); -- - _raw_upload_frame_unref (raw->in_frame); - raw->in_frame = NULL; -+ - return GST_GL_UPLOAD_DONE; - } - -diff --git a/tests/check/libs/gstglupload.c b/tests/check/libs/gstglupload.c -index 74bff2b83..eff2f18ba 100644 ---- a/tests/check/libs/gstglupload.c -+++ b/tests/check/libs/gstglupload.c -@@ -281,6 +281,8 @@ GST_START_TEST (test_upload_data) - res = gst_gl_upload_perform_with_buffer (upload, inbuf, &outbuf); - fail_unless (res == GST_GL_UPLOAD_DONE, "Failed to upload buffer"); - fail_unless (GST_IS_BUFFER (outbuf)); -+ fail_unless (gst_buffer_get_video_meta (outbuf)); -+ fail_unless (gst_buffer_get_gl_sync_meta (outbuf)); - - res = gst_buffer_map (outbuf, &map_info, GST_MAP_READ | GST_MAP_GL); - fail_if (res == FALSE, "Failed to map gl memory"); --- -2.28.0 - |