diff options
author | dknn <yoann.blein@free.fr> | 2012-07-11 16:06:01 (GMT) |
---|---|---|
committer | dknn <yoann.blein@free.fr> | 2012-09-22 09:01:48 (GMT) |
commit | 6d458439d9536be1736ba1a98c51040b64946284 (patch) | |
tree | 74894bc65dce3db5ccaf822f9769d3efd1e0dd6e /Swiften/ScreenSharing/ScreenSharing.cpp | |
parent | 79ee86a4deeb29c1be6d6838e54aae32d4c3e1ec (diff) | |
download | swift-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.cpp | 16 |
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; } |