aboutsummaryrefslogtreecommitdiff
path: root/src/QXmppStun.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-12-07 07:57:57 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-12-07 07:57:57 +0000
commit553ec623c791e668b4790c6874de970fde40bc29 (patch)
treef695adf9c2f8cb6a2385b944f04652a2d089f34b /src/QXmppStun.cpp
parentfab2e18c6451705be9fb784a248260d304f621c7 (diff)
downloadqxmpp-553ec623c791e668b4790c6874de970fde40bc29.tar.gz
improve ICE fallback pair selection
Diffstat (limited to 'src/QXmppStun.cpp')
-rw-r--r--src/QXmppStun.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/QXmppStun.cpp b/src/QXmppStun.cpp
index 5bebb379..9565a233 100644
--- a/src/QXmppStun.cpp
+++ b/src/QXmppStun.cpp
@@ -938,6 +938,9 @@ bool QXmppIceComponent::addRemoteCandidate(const QXmppJingleCandidate &candidate
}
pair->socket = socket;
m_pairs << pair;
+
+ if (!m_fallbackPair)
+ m_fallbackPair = pair;
}
return true;
}
@@ -1038,13 +1041,11 @@ void QXmppIceComponent::readyRead()
if (!messageType || messageCookie != STUN_MAGIC)
{
// use this as an opportunity to flag a potential pair
- if (!m_fallbackPair) {
- foreach (Pair *pair, m_pairs) {
- if (pair->remote.host() == remoteHost &&
- pair->remote.port() == remotePort) {
- m_fallbackPair = pair;
- break;
- }
+ foreach (Pair *pair, m_pairs) {
+ if (pair->remote.host() == remoteHost &&
+ pair->remote.port() == remotePort) {
+ m_fallbackPair = pair;
+ break;
}
}
emit datagramReceived(buffer);