waylandsink: Add exception code for setting wl_display
authorHyunil Park <hyunil46.park@samsung.com>
Thu, 9 Apr 2015 04:17:01 +0000 (13:17 +0900)
committerLuis de Bethencourt <luisbg@osg.samsung.com>
Tue, 3 Nov 2015 10:42:14 +0000 (10:42 +0000)
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

index 1952776aa72f7caee64063d08d42a96cbfab49d3..a385932fc8295baed31ec2a5407bcc0638aa29ac 100644 (file)
@@ -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);
   }