agent: Only add pairs once on gathering done
authorOlivier Crête <olivier.crete@collabora.com>
Fri, 3 Oct 2014 21:10:45 +0000 (17:10 -0400)
committerOlivier Crête <olivier.crete@collabora.com>
Thu, 9 Oct 2014 20:26:07 +0000 (16:26 -0400)
Also don't try to re-add pairs that already have been added

agent/agent.c
agent/conncheck.c
agent/conncheck.h

index 771cbac..8088aaf 100644 (file)
@@ -1902,7 +1902,8 @@ void agent_gathering_done (NiceAgent *agent)
               break;
           }
           if (m == NULL) {
-            conn_check_add_for_candidate (agent, stream->id, component, remote_candidate);
+            conn_check_add_for_candidate_pair (agent, stream->id, component,
+                local_candidate, remote_candidate);
           }
         }
       }
index 1f57a0a..fb6b87d 100644 (file)
@@ -1444,7 +1444,7 @@ static void priv_conn_check_add_for_candidate_pair_matched (NiceAgent *agent,
   }
 }
 
-static gboolean priv_conn_check_add_for_candidate_pair (NiceAgent *agent,
+gboolean conn_check_add_for_candidate_pair (NiceAgent *agent,
     guint stream_id, Component *component, NiceCandidate *local,
     NiceCandidate *remote)
 {
@@ -1502,7 +1502,7 @@ int conn_check_add_for_candidate (NiceAgent *agent, guint stream_id, Component *
   for (i = component->local_candidates; i ; i = i->next) {
 
     NiceCandidate *local = i->data;
-    ret = priv_conn_check_add_for_candidate_pair (agent, stream_id, component, local, remote);
+    ret = conn_check_add_for_candidate_pair (agent, stream_id, component, local, remote);
 
     if (ret) {
       ++added;
@@ -1533,7 +1533,7 @@ int conn_check_add_for_local_candidate (NiceAgent *agent, guint stream_id, Compo
   for (i = component->remote_candidates; i ; i = i->next) {
 
     NiceCandidate *remote = i->data;
-    ret = priv_conn_check_add_for_candidate_pair (agent, stream_id, component, local, remote);
+    ret = conn_check_add_for_candidate_pair (agent, stream_id, component, local, remote);
 
     if (ret) {
       ++added;
index 3d3fa4d..e6c2c62 100644 (file)
@@ -96,6 +96,7 @@ struct _CandidateCheckPair
 
 int conn_check_add_for_candidate (NiceAgent *agent, guint stream_id, Component *component, NiceCandidate *remote);
 int conn_check_add_for_local_candidate (NiceAgent *agent, guint stream_id, Component *component, NiceCandidate *local);
+gboolean conn_check_add_for_candidate_pair (NiceAgent *agent, guint stream_id, Component *component, NiceCandidate *local, NiceCandidate *remote);
 void conn_check_free (NiceAgent *agent);
 gboolean conn_check_schedule_next (NiceAgent *agent);
 int conn_check_send (NiceAgent *agent, CandidateCheckPair *pair);