pidgin.vv: bca16b65: Fix some GStreamer timing issues.

maiku at soc.pidgin.im maiku at soc.pidgin.im
Thu Mar 19 08:50:44 EDT 2009


-----------------------------------------------------------------
Revision: bca16b65288f273ddf2a40e6499723b0fdbddd5f
Ancestor: 7547d4da71a4662f3a562ba5d14d876935d3e0b0
Author: maiku at soc.pidgin.im
Date: 2009-03-19T12:28:42
Branch: im.pidgin.pidgin.vv
URL: http://d.pidgin.im/viewmtn/revision/info/bca16b65288f273ddf2a40e6499723b0fdbddd5f

Modified files:
        libpurple/media.c

ChangeLog: 

Fix some GStreamer timing issues.

-------------- next part --------------
============================================================
--- libpurple/media.c	818d453786cb1ec79d316051bc2dc4b3487a6e90
+++ libpurple/media.c	11d6490ccd72155dca7c762128ac10e8556759ef
@@ -315,6 +315,7 @@ purple_media_dispose(GObject *media)
 	purple_media_manager_remove_media(priv->manager, PURPLE_MEDIA(media));
 
 	if (priv->confbin) {
+		gst_element_set_locked_state(priv->confbin, TRUE);
 		gst_element_set_state(GST_ELEMENT(priv->confbin),
 				GST_STATE_NULL);
 		gst_bin_remove(GST_BIN(purple_media_manager_get_pipeline(
@@ -1140,6 +1141,7 @@ purple_media_set_src(PurpleMedia *media,
 	if (session->src)
 		gst_object_unref(session->src);
 	session->src = src;
+	gst_element_set_locked_state(session->src, TRUE);
 	gst_bin_add(GST_BIN(session->media->priv->confbin),
 		    session->src);
 
@@ -1153,6 +1155,7 @@ purple_media_set_src(PurpleMedia *media,
 	purple_debug_info("media", "connecting pad: %s\n", 
 			  gst_pad_link(srcpad, sinkpad) == GST_PAD_LINK_OK
 			  ? "success" : "failure");
+	gst_element_set_locked_state(session->src, FALSE);
 }
 
 void 


More information about the Commits mailing list