diff options
author | Fabrice Bellet <fabrice@bellet.info> | 2017-06-28 12:06:48 +0200 |
---|---|---|
committer | Olivier CrĂȘte <olivier.crete@collabora.com> | 2017-09-05 15:01:13 -0400 |
commit | 72dd26a3368d3506fe8faca7067a02784fb5f0fd (patch) | |
tree | 784381aa4ad85c57aa254d5e4097e111cc7268bb /agent/conncheck.c | |
parent | 6fe64fdbc53ab87dffd79972f492665cff14c0a0 (diff) | |
download | libnice-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
Diffstat (limited to 'agent/conncheck.c')
-rw-r--r-- | agent/conncheck.c | 6 |
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 { |