pidgin: 6efd674e: Let's keep this working right.

maiku at pidgin.im maiku at pidgin.im
Thu Aug 13 03:32:02 EDT 2009


-----------------------------------------------------------------
Revision: 6efd674e15e25031b7c75130eccb16208cc0f02c
Ancestor: e990a9de36ac03935b27af57118f0da148269839
Author: maiku at pidgin.im
Date: 2009-08-13T07:12:02
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/6efd674e15e25031b7c75130eccb16208cc0f02c

Modified files:
        libpurple/media.c libpurple/mediamanager.c

ChangeLog: 

Let's keep this working right.

-------------- next part --------------
============================================================
--- libpurple/media.c	abe09ca844b5a33aee5277181c968cb2350c2e41
+++ libpurple/media.c	f80265c25454966119d7be3f03c07556ce2033eb
@@ -1906,8 +1906,8 @@ purple_media_set_src(PurpleMedia *media,
 		gst_element_add_pad(session->media->priv->confbin, ghost);
 	}
 
+	gst_element_set_state(session->tee, GST_STATE_PLAYING);
 	gst_element_link(session->src, session->media->priv->confbin);
-	gst_element_set_state(session->tee, GST_STATE_PLAYING);
 
 	g_object_get(session->session, "sink-pad", &sinkpad, NULL);
 	if (session->type & PURPLE_MEDIA_SEND_AUDIO) {
@@ -1922,10 +1922,10 @@ purple_media_set_src(PurpleMedia *media,
 		g_free(name);
 		gst_bin_add(GST_BIN(session->media->priv->confbin), volume);
 		gst_bin_add(GST_BIN(session->media->priv->confbin), level);
-		gst_element_link(session->tee, volume);
-		gst_element_link(volume, level);
 		gst_element_set_state(level, GST_STATE_PLAYING);
 		gst_element_set_state(volume, GST_STATE_PLAYING);
+		gst_element_link(volume, level);
+		gst_element_link(session->tee, volume);
 		srcpad = gst_element_get_static_pad(level, "src");
 		g_object_set(volume, "volume", input_volume, NULL);
 	} else {
@@ -2466,6 +2466,7 @@ purple_media_src_pad_added_cb(FsStream *
 			gst_element_set_state(sink, GST_STATE_PLAYING);
 			gst_element_set_state(stream->level, GST_STATE_PLAYING);
 			gst_element_set_state(stream->volume, GST_STATE_PLAYING);
+			gst_element_set_state(queue, GST_STATE_PLAYING);
 			gst_element_link(stream->level, sink);
 			gst_element_link(stream->volume, stream->level);
 			gst_element_link(queue, stream->volume);
@@ -2477,11 +2478,11 @@ purple_media_src_pad_added_cb(FsStream *
 					"fakesink", NULL);
 			g_object_set(G_OBJECT(sink), "async", FALSE, NULL);
 			gst_bin_add(GST_BIN(priv->confbin), sink);
+			gst_element_set_state(sink, GST_STATE_PLAYING);
 		}
 		stream->tee = gst_element_factory_make("tee", NULL);
 		gst_bin_add_many(GST_BIN(priv->confbin),
 				stream->src, stream->tee, NULL);
-		gst_element_set_state(sink, GST_STATE_PLAYING);
 		gst_element_set_state(stream->tee, GST_STATE_PLAYING);
 		gst_element_set_state(stream->src, GST_STATE_PLAYING);
 		gst_element_link_many(stream->src, stream->tee, sink, NULL);
============================================================
--- libpurple/mediamanager.c	ec0118a0a25ee397dae80dda58908e8349d39dcd
+++ libpurple/mediamanager.c	2488b523909f942ab268c4c9c2a5ea26f8c76f65
@@ -473,7 +473,6 @@ purple_media_manager_get_element(PurpleM
 			gst_element_link(tee, fakesink);
 
 			ret = bin;
-			gst_element_set_locked_state(ret, TRUE);
 			gst_object_ref(ret);
 			gst_bin_add(GST_BIN(purple_media_manager_get_pipeline(
 					manager)), ret);


More information about the Commits mailing list