sipcall: add support for QoS

Change-Id: I30e0a693dcaa3e88df579b6e794be9b2de9b147c
This commit is contained in:
Adrien Béraud
2024-02-20 10:24:43 -05:00
parent f92684194c
commit e67b43547e
3 changed files with 41 additions and 34 deletions

View File

@ -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\""
]
}
}

View File

@ -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

View File

@ -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);