[farsight2/master] Check for free substream when we get an association from a known source

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


---
 gst/fsrtpconference/fs-rtp-session.c |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/gst/fsrtpconference/fs-rtp-session.c b/gst/fsrtpconference/fs-rtp-session.c
index e3e77df..988bf04 100644
--- a/gst/fsrtpconference/fs-rtp-session.c
+++ b/gst/fsrtpconference/fs-rtp-session.c
@@ -251,6 +251,10 @@ static void
 fs_rtp_session_stop_codec_param_gathering (FsRtpSession *session);
 
 static void
+fs_rtp_session_associate_free_substreams (FsRtpSession *session,
+    FsRtpStream *stream, guint32 ssrc);
+
+static void
 _send_caps_changed (GstPad *pad, GParamSpec *pspec, FsRtpSession *session);
 static void
 _send_sink_pad_blocked_callback (GstPad *pad, gboolean blocked,
@@ -1295,7 +1299,15 @@ _stream_known_source_packet_received (FsRtpStream *stream, guint component,
     g_hash_table_insert (self->priv->ssrc_streams, GUINT_TO_POINTER (ssrc),
         stream);
 
-  FS_RTP_SESSION_UNLOCK (self);
+    FS_RTP_SESSION_UNLOCK (self);
+
+    fs_rtp_session_associate_free_substreams (self, stream, ssrc);
+  }
+  else
+  {
+    FS_RTP_SESSION_UNLOCK (self);
+  }
+
 }
 
 static gboolean
-- 
1.5.6.5




More information about the farsight-commits mailing list