[telepathy-stream-engine/refs/tags/telepathy-stream-engine_0.5.10] Emit sink-addes signal from audiostream

Olivier Crête olivier.crete at collabora.co.uk
Mon Oct 26 09:28:23 PDT 2009


---
 src/audiostream.c |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/src/audiostream.c b/src/audiostream.c
index 596d478..bd325ea 100644
--- a/src/audiostream.c
+++ b/src/audiostream.c
@@ -82,6 +82,16 @@ enum
   PROP_BIN,
 };
 
+/* signal enum */
+enum
+{
+  SINK_ADDED_SIGNAL,
+  LAST_SIGNAL
+};
+
+static guint signals[LAST_SIGNAL] = {0};
+
+
 static GstElement *
 tp_stream_engine_audio_stream_make_src_bin (TpStreamEngineAudioStream *self,
     GError **error);
@@ -317,6 +327,14 @@ tp_stream_engine_audio_stream_class_init (TpStreamEngineAudioStreamClass *klass)
           "The Bin to add the elements to",
           GST_TYPE_BIN,
           G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  signals[SINK_ADDED_SIGNAL] = g_signal_new ("sink-added",
+      G_OBJECT_CLASS_TYPE (klass),
+      G_SIGNAL_RUN_LAST,
+      0,
+      NULL, NULL,
+      g_cclosure_marshal_VOID__OBJECT,
+      G_TYPE_NONE, 1, G_TYPE_OBJECT);
 }
 
 static void
@@ -478,6 +496,8 @@ src_pad_added_cb (TfStream *stream, GstPad *pad, FsCodec *codec,
 
   gst_object_unref (sinkpad);
 
+  g_signal_emit (self, signals[SINK_ADDED_SIGNAL], 0, sink);
+
   g_mutex_lock (self->priv->mutex);
   self->priv->sinkbins = g_list_append (self->priv->sinkbins, sink);
   g_mutex_unlock (self->priv->mutex);
-- 
1.5.6.5




More information about the telepathy-commits mailing list