From d3db3df320de4a8450d2c23039d99dd0a0ddcca9 Mon Sep 17 00:00:00 2001 From: Hyunil Park Date: Thu, 9 Apr 2015 13:17:01 +0900 Subject: [PATCH] waylandsink: Add exception code for setting wl_display Waylandsink needs exception code in gst_wayland_sink_set_context(). After calling gst_wayland_sink_set_context(), below code is set. GST_ELEMENT_CLASS (parent_class)->set_context (element, context); but, If user can call onemore. It is user's fault. but waylandsink need to exception. https://bugzilla.gnome.org/show_bug.cgi?id=747482 --- ext/wayland/gstwaylandsink.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c index 1952776aa7..a385932fc8 100644 --- a/ext/wayland/gstwaylandsink.c +++ b/ext/wayland/gstwaylandsink.c @@ -364,10 +364,13 @@ gst_wayland_sink_set_context (GstElement * element, GstContext * context) if (gst_context_has_context_type (context, GST_WAYLAND_DISPLAY_HANDLE_CONTEXT_TYPE)) { g_mutex_lock (&sink->display_lock); - if (G_LIKELY (!sink->display)) + if (G_LIKELY (!sink->display)) { gst_wayland_sink_set_display_from_context (sink, context); - else + } else { GST_WARNING_OBJECT (element, "changing display handle is not supported"); + g_mutex_unlock (&sink->display_lock); + return; + } g_mutex_unlock (&sink->display_lock); }