summaryrefslogtreecommitdiff
path: root/ext/wpe/WPEThreadedView.cpp
diff options
context:
space:
mode:
authorMatthew Waters <matthew@centricular.com>2020-10-02 12:06:59 +1000
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>2020-10-13 08:48:05 +0000
commitb84c8821de6bccd242d524c28d68503571382706 (patch)
tree28c38cdbd2a04f3c7e3b9ee10111925195732691 /ext/wpe/WPEThreadedView.cpp
parent4eeff95f92bb92dd8ad992fd94cd416eff8de3b9 (diff)
downloadgstreamer-plugins-bad-b84c8821de6bccd242d524c28d68503571382706.tar.gz
wpe: free a previous pending image/shm buffer
Don't blindly overwrite a possibly previously set buffer. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1663>
Diffstat (limited to 'ext/wpe/WPEThreadedView.cpp')
-rw-r--r--ext/wpe/WPEThreadedView.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/ext/wpe/WPEThreadedView.cpp b/ext/wpe/WPEThreadedView.cpp
index de05e3c83..a4e4d1c97 100644
--- a/ext/wpe/WPEThreadedView.cpp
+++ b/ext/wpe/WPEThreadedView.cpp
@@ -494,6 +494,7 @@ void WPEView::handleExportedImage(gpointer image)
GMutexHolder lock(images_mutex);
GST_TRACE("EGLImage %p wrapped in GstEGLImage %" GST_PTR_FORMAT, eglImage, gstImage);
+ gst_clear_mini_object ((GstMiniObject **) &egl.pending);
egl.pending = gstImage;
notifyLoadFinished();
@@ -552,6 +553,7 @@ void WPEView::handleExportedBuffer(struct wpe_fdo_shm_exported_buffer* buffer)
{
GMutexHolder lock(images_mutex);
GST_TRACE("SHM buffer %p wrapped in buffer %" GST_PTR_FORMAT, buffer, gstBuffer);
+ gst_clear_buffer (&shm.pending);
shm.pending = gstBuffer;
notifyLoadFinished();
}