Browse Source

reset ICE/STUN retransmit data on triggered checks

fixes #84
changes/24/1624/1
Richard Fuchs 11 years ago
parent
commit
2db33efecc
1 changed files with 4 additions and 1 deletions
  1. +4
    -1
      daemon/ice.c

+ 4
- 1
daemon/ice.c View File

@ -559,6 +559,7 @@ void ice_init(void) {
static void __fail_pair(struct ice_candidate_pair *pair) {
ilog(LOG_DEBUG, "Setting ICE candidate pair "PAIR_FORMAT" as failed", PAIR_FMT(pair));
PAIR_SET(pair, FAILED);
PAIR_CLEAR(pair, IN_PROGRESS);
}
/* agent must NOT be locked, but call must be locked in R */
@ -869,7 +870,9 @@ static void __trigger_check(struct ice_candidate_pair *pair) {
ilog(LOG_DEBUG, "Triggering check for "PAIR_FORMAT, PAIR_FMT(pair));
mutex_lock(&ag->lock);
PAIR_CLEAR(pair, FAILED);
pair->retransmits = 0;
if (PAIR_CLEAR(pair, FAILED))
PAIR_CLEAR(pair, IN_PROGRESS);
if (ag->triggered.length < 4 * MAX_ICE_CANDIDATES && !PAIR_SET(pair, TRIGGERED))
g_queue_push_tail(&ag->triggered, pair);
mutex_unlock(&ag->lock);


Loading…
Cancel
Save