[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