diff --git a/contrib/src/dhtnet/package.json b/contrib/src/dhtnet/package.json index f16f821e6f39e8c490b9ca8c728a61237da7a091..a1c2a86b0e823d2b0f07f485781e466dafba5222 100644 --- a/contrib/src/dhtnet/package.json +++ b/contrib/src/dhtnet/package.json @@ -1,33 +1,33 @@ -{ - "name": "dhtnet", - "version": "648907ca8239f12444abc6538705cf4366d9014f", - "url": "https://review.jami.net/plugins/gitiles/dhtnet/+archive/__VERSION__.tar.gz", - "deps": [ - "opendht", - "pjproject", - "msgpack", - "asio", - "upnp", - "natpmp" - ], - "use_cmake" : true, - "defines": [ - "BUILD_SHARED_LIBS=0", - "BUILD_TESTING=0", - "BUILD_BENCHMARKS=0" - ], - "patches": [], - "win_patches": [], - "project_paths": [], - "with_env" : "", - "custom_scripts": { - "pre_build": [ - "IF exist \"%DAEMON_DIR%\\contrib\\msvc\\include\\dhtnet\" ( rmdir /S /Q \"%DAEMON_DIR%\\contrib\\msvc\\include\\dhtnet\" )" - ], - "build": [], - "post_build": [ - "mkdir \"%DAEMON_DIR%\\contrib\\msvc\\include\\dhtnet\"", - "xcopy /S /Y \"include\" \"%DAEMON_DIR%\\contrib\\msvc\\include\\dhtnet\"" - ] - } -} +{ + "name": "dhtnet", + "version": "738aedb0860d098f6ba7260a70a0d9dc8667d735", + "url": "https://review.jami.net/plugins/gitiles/dhtnet/+archive/__VERSION__.tar.gz", + "deps": [ + "opendht", + "pjproject", + "msgpack", + "asio", + "upnp", + "natpmp" + ], + "use_cmake" : true, + "defines": [ + "BUILD_SHARED_LIBS=0", + "BUILD_TESTING=0", + "BUILD_BENCHMARKS=0" + ], + "patches": [], + "win_patches": [], + "project_paths": [], + "with_env" : "", + "custom_scripts": { + "pre_build": [ + "IF exist \"%DAEMON_DIR%\\contrib\\msvc\\include\\dhtnet\" ( rmdir /S /Q \"%DAEMON_DIR%\\contrib\\msvc\\include\\dhtnet\" )" + ], + "build": [], + "post_build": [ + "mkdir \"%DAEMON_DIR%\\contrib\\msvc\\include\\dhtnet\"", + "xcopy /S /Y \"include\" \"%DAEMON_DIR%\\contrib\\msvc\\include\\dhtnet\"" + ] + } +} diff --git a/contrib/src/dhtnet/rules.mak b/contrib/src/dhtnet/rules.mak index 6cee7830ec26b110b33c221bfd698af0c0c0ab2f..0d72ad0cee43d7458fee433a9275436c956bd731 100644 --- a/contrib/src/dhtnet/rules.mak +++ b/contrib/src/dhtnet/rules.mak @@ -1,5 +1,5 @@ # DHTNET -DHTNET_VERSION := 648907ca8239f12444abc6538705cf4366d9014f +DHTNET_VERSION := 738aedb0860d098f6ba7260a70a0d9dc8667d735 DHTNET_URL := https://review.jami.net/plugins/gitiles/dhtnet/+archive/$(DHTNET_VERSION).tar.gz PKGS += dhtnet diff --git a/src/sip/sipcall.cpp b/src/sip/sipcall.cpp index 990d9ef035576818641a6bdbf53dc8132e4caa56..5edca6b9ec16ee7ce1b630033ea0242faff4df5d 100644 --- a/src/sip/sipcall.cpp +++ b/src/sip/sipcall.cpp @@ -3473,6 +3473,13 @@ SIPCall::initIceMediaTransport(bool master, std::optional<dhtnet::IceTransportOp iceOptions.streamsCount = static_cast<unsigned>(rtpStreams_.size()); // Each RTP stream requires a pair of ICE components (RTP + RTCP). iceOptions.compCountPerStream = ICE_COMP_COUNT_PER_STREAM; + iceOptions.qosType.reserve(rtpStreams_.size() * ICE_COMP_COUNT_PER_STREAM); + for (const auto& stream : rtpStreams_) { + iceOptions.qosType.push_back(stream.mediaAttribute_->type_ == MediaType::MEDIA_AUDIO + ? dhtnet::QosType::VOICE + : dhtnet::QosType::VIDEO); + iceOptions.qosType.push_back(dhtnet::QosType::CONTROL); + } // Init ICE. iceMedia->initIceInstance(iceOptions);