summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabrice Bellet <fabrice@bellet.info>2017-06-28 12:06:48 +0200
committerOlivier CrĂȘte <olivier.crete@collabora.com>2017-09-05 15:01:13 -0400
commit72dd26a3368d3506fe8faca7067a02784fb5f0fd (patch)
tree784381aa4ad85c57aa254d5e4097e111cc7268bb
parent6fe64fdbc53ab87dffd79972f492665cff14c0a0 (diff)
downloadlibnice-72dd26a3368d3506fe8faca7067a02784fb5f0fd.tar.gz
conncheck: forgot to put a pair in triggered check list
When a new pair is created from an unknown remote candidate, it should be enqueue for a triggered check, to allow it to be marked as nominated on response arrival in priv_mark_pair_nominated(). Creating it in waiting state is not sufficient since the update in priv_mark_pair_nominated() from previous commits. Differential Revision: https://phabricator.freedesktop.org/D1763
-rw-r--r--agent/conncheck.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/agent/conncheck.c b/agent/conncheck.c
index 628c708..0e3ce88 100644
--- a/agent/conncheck.c
+++ b/agent/conncheck.c
@@ -2893,11 +2893,12 @@ static gboolean priv_schedule_triggered_check (NiceAgent *agent, NiceStream *str
{
GSList *i;
NiceCandidate *local = NULL;
+ CandidateCheckPair *p;
g_assert (remote_cand != NULL);
for (i = stream->conncheck_list; i ; i = i->next) {
- CandidateCheckPair *p = i->data;
+ p = i->data;
if (p->component_id == component->id &&
p->remote == remote_cand &&
((p->local->transport == NICE_CANDIDATE_TRANSPORT_TCP_PASSIVE &&
@@ -2986,8 +2987,9 @@ static gboolean priv_schedule_triggered_check (NiceAgent *agent, NiceStream *str
if (i) {
nice_debug ("Agent %p : Adding a triggered check to conn.check list (local=%p).", agent, local);
- priv_add_new_check_pair (agent, stream->id, component,
+ p = priv_add_new_check_pair (agent, stream->id, component,
local, remote_cand, NICE_CHECK_WAITING);
+ priv_add_pair_to_triggered_check_queue (agent, p);
return TRUE;
}
else {