summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordknn <yoann.blein@free.fr>2012-07-11 16:06:01 (GMT)
committerdknn <yoann.blein@free.fr>2012-09-22 09:01:48 (GMT)
commit6d458439d9536be1736ba1a98c51040b64946284 (patch)
tree74894bc65dce3db5ccaf822f9769d3efd1e0dd6e /Swiften/ScreenSharing/ScreenSharing.cpp
parent79ee86a4deeb29c1be6d6838e54aae32d4c3e1ec (diff)
downloadswift-contrib-6d458439d9536be1736ba1a98c51040b64946284.zip
swift-contrib-6d458439d9536be1736ba1a98c51040b64946284.tar.bz2
Add disco for RTP + bugfix
Diffstat (limited to 'Swiften/ScreenSharing/ScreenSharing.cpp')
-rw-r--r--Swiften/ScreenSharing/ScreenSharing.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/Swiften/ScreenSharing/ScreenSharing.cpp b/Swiften/ScreenSharing/ScreenSharing.cpp
index fc7f672..532b73d 100644
--- a/Swiften/ScreenSharing/ScreenSharing.cpp
+++ b/Swiften/ScreenSharing/ScreenSharing.cpp
@@ -39,26 +39,26 @@ bool ScreenSharing::addBestCandidate(boost::shared_ptr<JingleRawUDPTransportPayl
// Find the first ip which is not loopback
foreach (const NetworkInterface& interface, interfaces) {
if (!interface.isLoopback()) { // exclude loopback
- candidate.hostAddressPort = HostAddressPort(interface.getAddresses().front(), listeningPort);
+ serverSocket = udpSocketFactory->createUDPSocket();
+ serverSocket->bind(0);
+
+ candidate.hostAddressPort = HostAddressPort(interface.getAddresses().front(), serverSocket->getLocalAddress().getPort());
candidate.type = JingleRawUDPTransportPayload::Candidate::Host;
transport->addCandidate(candidate);
- serverSocket = udpSocketFactory->createUDPSocket();
- serverSocket->bind(listeningPort);
-
return true;
}
}
// else loopback for self sharing
if (!interfaces.empty()) {
- candidate.hostAddressPort = HostAddressPort(interfaces.front().getAddresses().front(), listeningPort);
+ serverSocket = udpSocketFactory->createUDPSocket();
+ serverSocket->bind(0);
+
+ candidate.hostAddressPort = HostAddressPort(interfaces.front().getAddresses().front(), serverSocket->getLocalAddress().getPort());
candidate.type = JingleRawUDPTransportPayload::Candidate::Host;
transport->addCandidate(candidate);
- serverSocket = udpSocketFactory->createUDPSocket();
- serverSocket->bind(listeningPort);
-
return true;
}