[farsight2/master] Properly check for errors when updating the special sources

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


---
 gst/fsrtpconference/fs-rtp-session.c |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/gst/fsrtpconference/fs-rtp-session.c b/gst/fsrtpconference/fs-rtp-session.c
index 452fccd..a9eda35 100644
--- a/gst/fsrtpconference/fs-rtp-session.c
+++ b/gst/fsrtpconference/fs-rtp-session.c
@@ -2425,17 +2425,22 @@ fs_rtp_session_verify_send_codec_bin_locked (FsRtpSession *self, GError **error)
   CodecBlueprint *blueprint = NULL;
   GstElement *codecbin = NULL;
   gboolean ret = FALSE;
+  GError *local_gerror = NULL;
 
   codec = fs_rtp_session_select_send_codec_locked(self, &blueprint, error);
-
   if (!codec)
     goto done;
 
-  if (!fs_rtp_special_sources_update (self->priv->extra_sources,
-          self->priv->negotiated_codecs, codec,
-          GST_ELEMENT (self->priv->conference),
-          self->priv->rtpmuxer, error))
+  self->priv->extra_sources = fs_rtp_special_sources_update (
+      self->priv->extra_sources,
+      self->priv->negotiated_codecs, codec,
+      GST_ELEMENT (self->priv->conference),
+      self->priv->rtpmuxer, error);
+  if (local_gerror)
+  {
+    g_propagate_error (error, local_gerror);
     goto done;
+  }
 
   if (self->priv->current_send_codec) {
     if (fs_codec_are_equal (codec, self->priv->current_send_codec))
-- 
1.5.6.5




More information about the farsight-commits mailing list