[farsight2/master] Dispatch gathering done signal

Olivier Crête olivier.crete at collabora.co.uk
Tue Dec 23 15:26:12 PST 2008


---
 transmitters/nice/fs-nice-stream-transmitter.c |    5 +++++
 transmitters/nice/fs-nice-stream-transmitter.h |    1 +
 transmitters/nice/fs-nice-transmitter.c        |   24 ++++++++++++++++++++++++
 3 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/transmitters/nice/fs-nice-stream-transmitter.c b/transmitters/nice/fs-nice-stream-transmitter.c
index 6e7f028..04b300c 100644
--- a/transmitters/nice/fs-nice-stream-transmitter.c
+++ b/transmitters/nice/fs-nice-stream-transmitter.c
@@ -585,6 +585,11 @@ fs_nice_stream_transmitter_new_candidate (FsNiceStreamTransmitter *self,
   }
 }
 
+void
+fs_nice_stream_transmitter_gathering_done (FsNiceStreamTransmitter *self)
+{
+}
+
 
 FsNiceStreamTransmitter *
 fs_nice_stream_transmitter_newv (FsNiceTransmitter *transmitter,
diff --git a/transmitters/nice/fs-nice-stream-transmitter.h b/transmitters/nice/fs-nice-stream-transmitter.h
index 696f781..0045638 100644
--- a/transmitters/nice/fs-nice-stream-transmitter.h
+++ b/transmitters/nice/fs-nice-stream-transmitter.h
@@ -112,6 +112,7 @@ void fs_nice_stream_transmitter_new_candidate (FsNiceStreamTransmitter *self,
     guint component_id,
     const gchar *foundation);
 
+void fs_nice_stream_transmitter_gathering_done (FsNiceStreamTransmitter *self);
 
 
 G_END_DECLS
diff --git a/transmitters/nice/fs-nice-transmitter.c b/transmitters/nice/fs-nice-transmitter.c
index ec20bda..c532e01 100644
--- a/transmitters/nice/fs-nice-transmitter.c
+++ b/transmitters/nice/fs-nice-transmitter.c
@@ -543,6 +543,30 @@ agent_component_state_changed (NiceAgent *agent, guint stream_id,
 static void
 agent_candidate_gathering_done (NiceAgent *agent, gpointer user_data)
 {
+  FsNiceTransmitter *self = FS_NICE_TRANSMITTER (user_data);
+  FsNiceStreamTransmitter *st = NULL;
+  gint stream_id = 0;;
+
+  for (;;)
+  {
+    FS_NICE_TRANSMITTER_LOCK (self);
+    if (stream_id >= self->priv->streams->len)
+    {
+      FS_NICE_TRANSMITTER_UNLOCK (self);
+      return;
+    }
+    st = g_array_index(self->priv->streams, gpointer, stream_id);
+    if (st)
+      g_object_ref (st);
+
+    FS_NICE_TRANSMITTER_UNLOCK (self);
+
+    if (st)
+    {
+      fs_nice_stream_transmitter_gathering_done (st);
+      g_object_unref (st);
+    }
+  }
 }
 
 static void
-- 
1.5.6.5




More information about the farsight-commits mailing list