[asterisk-commits] kharwell: trunk r425032 - in /trunk: ./ res/res_rtp_asterisk.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Oct 9 16:39:14 CDT 2014
Author: kharwell
Date: Thu Oct 9 16:39:12 2014
New Revision: 425032
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=425032
Log:
........
Merged revisions 425031 from http://svn.asterisk.org/svn/asterisk/branches/13
Modified:
trunk/ (props changed)
trunk/res/res_rtp_asterisk.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-13-merged' - no diff available.
Modified: trunk/res/res_rtp_asterisk.c
URL: http://svnview.digium.com/svn/asterisk/trunk/res/res_rtp_asterisk.c?view=diff&rev=425032&r1=425031&r2=425032
==============================================================================
--- trunk/res/res_rtp_asterisk.c (original)
+++ trunk/res/res_rtp_asterisk.c Thu Oct 9 16:39:12 2014
@@ -645,7 +645,7 @@
pj_ice_sess_cand candidates[PJ_ICE_MAX_CAND];
struct ao2_iterator i;
struct ast_rtp_engine_ice_candidate *candidate;
- int cand_cnt = 0;
+ int cand_cnt = 0, has_rtp = 0, has_rtcp = 0;
if (!rtp->ice || !rtp->ice_proposed_remote_candidates) {
return;
@@ -677,6 +677,10 @@
while ((candidate = ao2_iterator_next(&i)) && (cand_cnt < PJ_ICE_MAX_CAND)) {
pj_str_t address;
+ /* there needs to be at least one rtp and rtcp candidate in the list */
+ has_rtp |= candidate->id == AST_RTP_ICE_COMPONENT_RTP;
+ has_rtcp |= candidate->id == AST_RTP_ICE_COMPONENT_RTCP;
+
pj_strdup2(rtp->ice->pool, &candidates[cand_cnt].foundation, candidate->foundation);
candidates[cand_cnt].comp_id = candidate->id;
candidates[cand_cnt].prio = candidate->priority;
@@ -707,7 +711,9 @@
ao2_iterator_destroy(&i);
- if (pj_ice_sess_create_check_list(rtp->ice, &ufrag, &passwd, ao2_container_count(rtp->ice_active_remote_candidates), &candidates[0]) == PJ_SUCCESS) {
+ if (has_rtp && has_rtcp &&
+ pj_ice_sess_create_check_list(rtp->ice, &ufrag, &passwd, ao2_container_count(
+ rtp->ice_active_remote_candidates), &candidates[0]) == PJ_SUCCESS) {
ast_test_suite_event_notify("ICECHECKLISTCREATE", "Result: SUCCESS");
pj_ice_sess_start_check(rtp->ice);
pj_timer_heap_poll(timer_heap, NULL);
More information about the asterisk-commits
mailing list