[gstreamer-bugs] [Bug 583255] [playbin2] deadlock when disabling visualisations
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Wed Sep 30 12:19:59 PDT 2009
https://bugzilla.gnome.org/show_bug.cgi?id=583255
GStreamer | gst-plugins-base | git
--- Comment #14 from Jan Schmidt <thaytan at mad.scientist.com> 2009-09-30 19:19:50 UTC ---
Switching to playbin2 prematurely causes a regression in Totem :-P
OK - let's apply the hacky fix. The secondary lockup can be worked around in
Totem:
diff --git a/src/backend/bacon-video-widget-gst-0.10.c
b/src/backend/bacon-video-widget-gst-0.10.c
index 5500d99..e963d46 100644
--- a/src/backend/bacon-video-widget-gst-0.10.c
+++ b/src/backend/bacon-video-widget-gst-0.10.c
@@ -5950,6 +5950,7 @@ bvw_update_interface_implementations (BaconVideoWidget
*bvw)
GstElement *video_sink = NULL;
GstElement *element = NULL;
GstIterator *iter;
+ GstElement *play;
if (g_thread_self() != gui_thread) {
if (bvw->priv->balance)
@@ -5969,8 +5970,14 @@ bvw_update_interface_implementations (BaconVideoWidget
*bvw)
return;
}
+ play = gst_object_ref(bvw->priv->play);
+
+ g_mutex_unlock (bvw->priv->lock);
g_object_get (bvw->priv->play, "video-sink", &video_sink, NULL);
g_assert (video_sink != NULL);
+ g_mutex_lock (bvw->priv->lock);
+
+ gst_object_unref(play);
/* We try to get an element supporting XOverlay interface */
if (GST_IS_BIN (video_sink)) {
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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