[Bug 777146] vaapisink: segfault caused by race condition with OverlayInterface expose method

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Jan 11 17:59:24 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=777146

Víctor Manuel Jáquez Leal <vjaquez at igalia.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #343315|none                        |reviewed
             status|                            |

--- Comment #2 from Víctor Manuel Jáquez Leal <vjaquez at igalia.com> ---
Review of attachment 343315:
 --> (https://bugzilla.gnome.org/review?bug=777146&attachment=343315)

Good catch! thanks!

Just a couple comments.

::: gst/vaapi/gstvaapisink.c
@@ +578,3 @@
   GstVaapiSink *const sink = GST_VAAPISINK (overlay);

+  gst_vaapisink_reconfigure_window (sink);

I wonder if this would launch unneeded window configures.

What do you think about this approach?

gst_vaapi_display_lock (GST_VAAPI_PLUGIN_BASE_DISPLAY (sink));
if (sink->video_buffer)
  buffer = gst_buffer_ref (sink->video_buffer);
gst_vaapi_display_unlock (GST_VAAPI_PLUGIN_BASE_DISPLAY (sink));

if (buffer) {
  gst_vaapisink_reconfigure_window (sink);
  gst_vaapisink_show_frame (GST_VIDEO_SINK_CAST (sink), buffer);
}

@@ +1463,3 @@
+  if (oldBuffer != NULL) {
+    gst_buffer_unref (oldBuffer);
+  }

Is this truly required?

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list