wpe: free a previous pending image/shm buffer
authorMatthew Waters <matthew@centricular.com>
Fri, 2 Oct 2020 02:06:59 +0000 (12:06 +1000)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 13 Oct 2020 08:48:05 +0000 (08:48 +0000)
Don't blindly overwrite a possibly previously set buffer.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1663>

ext/wpe/WPEThreadedView.cpp

index de05e3c..a4e4d1c 100644 (file)
@@ -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();
     }