[farsight2/master] Make the src_pad_added signal be fired once connected.. it must not be in the constructor otherwise noone can connect to it

Youness Alaoui youness.alaoui at collabora.co.uk
Tue Jul 14 09:50:52 PDT 2009


---
 gst/fsmsnconference/fs-msn-stream.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/gst/fsmsnconference/fs-msn-stream.c b/gst/fsmsnconference/fs-msn-stream.c
index a06678e..65a6320 100644
--- a/gst/fsmsnconference/fs-msn-stream.c
+++ b/gst/fsmsnconference/fs-msn-stream.c
@@ -398,8 +398,6 @@ fs_msn_stream_constructed (GObject *object)
     GstElement *mimdec;
     GstElement *queue;
     GstElement *ffmpegcolorspace;
-    FsCodec *mimic_codec = fs_codec_new (FS_CODEC_ID_ANY, "mimic",
-        FS_MEDIA_TYPE_VIDEO, 0);
 
     self->priv->media_fd_src = gst_element_factory_make ("fdsrc",
         "recv_fd_src");
@@ -531,9 +529,6 @@ fs_msn_stream_constructed (GObject *object)
     gst_element_link_many(self->priv->media_fd_src, mimdec, queue,
         ffmpegcolorspace, NULL);
 
-    fs_stream_emit_src_pad_added (FS_STREAM (self), self->priv->src_pad,
-        mimic_codec);
-    fs_codec_destroy (mimic_codec);
   }
   else
   {
@@ -587,6 +582,12 @@ _connected (
 
   g_debug ("******** CONNECTED %d**********", fd);
   if (self->priv->media_fd_src) {
+    FsCodec *mimic_codec = fs_codec_new (FS_CODEC_ID_ANY, "mimic",
+        FS_MEDIA_TYPE_VIDEO, 0);
+    fs_stream_emit_src_pad_added (FS_STREAM (self), self->priv->src_pad,
+        mimic_codec);
+    fs_codec_destroy (mimic_codec);
+
     g_object_set (G_OBJECT (self->priv->media_fd_src), "fd", fd, NULL);
     gst_element_set_locked_state(self->priv->media_fd_src, FALSE);
     gst_element_sync_state_with_parent (self->priv->media_fd_src);
-- 
1.5.6.5




More information about the farsight-commits mailing list