[farsight2/master] Only free old candidate once new one has been accepted

Olivier Crête olivier.crete at collabora.co.uk
Tue Dec 16 09:54:40 PST 2008


---
 .../multicast/fs-multicast-stream-transmitter.c    |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/transmitters/multicast/fs-multicast-stream-transmitter.c b/transmitters/multicast/fs-multicast-stream-transmitter.c
index f41b5b2..e8e71ff 100644
--- a/transmitters/multicast/fs-multicast-stream-transmitter.c
+++ b/transmitters/multicast/fs-multicast-stream-transmitter.c
@@ -433,7 +433,6 @@ fs_multicast_stream_transmitter_add_remote_candidate (
     GError **error)
 {
   UdpSock *newudpsock = NULL;
-  guint8 old_ttl = 1;
 
   if (self->priv->remote_candidate[candidate->component_id])
   {
@@ -446,9 +445,6 @@ fs_multicast_stream_transmitter_add_remote_candidate (
       GST_DEBUG ("Re-set the same candidate, ignoring");
       return TRUE;
     }
-    old_ttl = old_candidate->ttl;
-    fs_candidate_destroy (old_candidate);
-    self->priv->remote_candidate[candidate->component_id] = NULL;
   }
 
   /*
@@ -475,7 +471,8 @@ fs_multicast_stream_transmitter_add_remote_candidate (
       fs_multicast_transmitter_udpsock_dec_sending (
           self->priv->udpsocks[candidate->component_id]);
     fs_multicast_transmitter_put_udpsock (self->priv->transmitter,
-        self->priv->udpsocks[candidate->component_id], old_ttl);
+        self->priv->udpsocks[candidate->component_id],
+        self->priv->remote_candidate[candidate->component_id]->ttl);
   }
 
   self->priv->udpsocks[candidate->component_id] = newudpsock;
@@ -484,6 +481,7 @@ fs_multicast_stream_transmitter_add_remote_candidate (
     fs_multicast_transmitter_udpsock_inc_sending (
         self->priv->udpsocks[candidate->component_id]);
 
+  fs_candidate_destroy (self->priv->remote_candidate[candidate->component_id]);
   self->priv->remote_candidate[candidate->component_id] =
     fs_candidate_copy (candidate);
 
-- 
1.5.6.5




More information about the farsight-commits mailing list