diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d0b2efe2e..07e4db1b1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -26,7 +26,7 @@ variables: DEBIAN_9_QT_IMAGE_VERSION: 20230417_qtopen_gstreamer DEBIAN_10_IMAGE_VERSION: 20210217_python3 UBUNTU_ROLLING_IMAGE_VERSION: 20211012_add_qtwebview - UBUNTU_1804_IMAGE_VERSION: 20230315_qt + UBUNTU_1804_IMAGE_VERSION: 20230706_add_deps_for_av1 workflow: diff --git a/linphone-app/src/components/conferenceInfo/ConferenceInfoModel.cpp b/linphone-app/src/components/conferenceInfo/ConferenceInfoModel.cpp index 8438e6432..95d615c0c 100644 --- a/linphone-app/src/components/conferenceInfo/ConferenceInfoModel.cpp +++ b/linphone-app/src/components/conferenceInfo/ConferenceInfoModel.cpp @@ -185,7 +185,7 @@ QString ConferenceInfoModel::displayNamesToString()const{ QString ConferenceInfoModel::getUri() const{ auto address = mConferenceInfo->getUri(); - return address->isValid() && !address->getDomain().empty() ? QString::fromStdString(address->asStringUriOnly()) : ""; + return address && address->isValid() && !address->getDomain().empty() ? QString::fromStdString(address->asStringUriOnly()) : ""; } bool ConferenceInfoModel::isScheduled() const{ diff --git a/linphone-app/src/components/contacts/ContactsListModel.cpp b/linphone-app/src/components/contacts/ContactsListModel.cpp index 28db1199f..78ecac122 100644 --- a/linphone-app/src/components/contacts/ContactsListModel.cpp +++ b/linphone-app/src/components/contacts/ContactsListModel.cpp @@ -25,6 +25,7 @@ #include "components/contact/VcardModel.hpp" #include "components/core/CoreManager.hpp" #include "components/friend/FriendListListener.hpp" +#include "utils/Utils.hpp" #include "ContactsListModel.hpp" diff --git a/linphone-app/src/components/settings/AccountSettingsModel.cpp b/linphone-app/src/components/settings/AccountSettingsModel.cpp index 8cf8a285d..f373d7660 100644 --- a/linphone-app/src/components/settings/AccountSettingsModel.cpp +++ b/linphone-app/src/components/settings/AccountSettingsModel.cpp @@ -96,7 +96,7 @@ shared_ptr AccountSettingsModel::getUsedSipAddress () const { return nullptr; } -void AccountSettingsModel::setUsedSipAddress (const shared_ptr &address) { +void AccountSettingsModel::setUsedSipAddress (const shared_ptr &address) { shared_ptr core = CoreManager::getInstance()->getCore(); shared_ptr account = core->getDefaultAccount(); if( account){ diff --git a/linphone-app/src/components/settings/AccountSettingsModel.hpp b/linphone-app/src/components/settings/AccountSettingsModel.hpp index ae784c917..2e9e46d2a 100644 --- a/linphone-app/src/components/settings/AccountSettingsModel.hpp +++ b/linphone-app/src/components/settings/AccountSettingsModel.hpp @@ -68,6 +68,7 @@ public: std::shared_ptr findAccount(std::shared_ptr address) const ; + QString getUsedSipAddressAsStringUriOnly () const; QString getUsedSipAddressAsString () const; diff --git a/linphone-app/src/utils/MediastreamerUtils.cpp b/linphone-app/src/utils/MediastreamerUtils.cpp index 74c5f3703..f92571885 100644 --- a/linphone-app/src/utils/MediastreamerUtils.cpp +++ b/linphone-app/src/utils/MediastreamerUtils.cpp @@ -50,13 +50,30 @@ SimpleCaptureGraph::~SimpleCaptureGraph() { destroy(); } +static void device_notify_cb(void *user_data, MSFilter *f, unsigned int event, void *eventdata) { + if (event == MS_FILTER_OUTPUT_FMT_CHANGED) { + SimpleCaptureGraph * graph = (SimpleCaptureGraph *)user_data; + int captureRate, playbackRate, captureChannels, playbackChannels; + ms_filter_call_method(graph->audioCapture,MS_FILTER_GET_SAMPLE_RATE,&captureRate); + ms_filter_call_method(graph->audioSink,MS_FILTER_GET_SAMPLE_RATE,&playbackRate); + ms_filter_call_method(graph->audioCapture,MS_FILTER_GET_NCHANNELS,&captureChannels); + ms_filter_call_method(graph->audioSink,MS_FILTER_GET_NCHANNELS,&playbackChannels); + + ms_filter_call_method(graph->resamplerFilter,MS_FILTER_SET_SAMPLE_RATE,&captureRate); + ms_filter_call_method(graph->resamplerFilter,MS_FILTER_SET_OUTPUT_SAMPLE_RATE,&playbackRate); + ms_filter_call_method(graph->resamplerFilter,MS_FILTER_SET_NCHANNELS,&captureChannels); + ms_filter_call_method(graph->resamplerFilter,MS_FILTER_SET_OUTPUT_NCHANNELS,&playbackChannels); + } +} void SimpleCaptureGraph::init() { if (!audioCapture) { audioCapture = ms_snd_card_create_reader(captureCard); + ms_filter_add_notify_callback(audioCapture, device_notify_cb,this,FALSE); } if (!audioSink) { audioSink = ms_snd_card_create_writer(playbackCard); + ms_filter_add_notify_callback(audioSink, device_notify_cb,this,FALSE); } if (!captureVolumeFilter) { captureVolumeFilter = ms_factory_create_filter(msFactory, MS_VOLUME_ID); diff --git a/linphone-app/src/utils/MediastreamerUtils.hpp b/linphone-app/src/utils/MediastreamerUtils.hpp index 74f48e842..d5790322c 100644 --- a/linphone-app/src/utils/MediastreamerUtils.hpp +++ b/linphone-app/src/utils/MediastreamerUtils.hpp @@ -78,7 +78,7 @@ namespace MediastreamerUtils { bool isRunning() const { return running; } - protected: + void init(); void destroy(); diff --git a/linphone-sdk b/linphone-sdk index 88c727d0c..6b6f90537 160000 --- a/linphone-sdk +++ b/linphone-sdk @@ -1 +1 @@ -Subproject commit 88c727d0c8cd2d93d8ddcca1a4bff4a2e2fd7e89 +Subproject commit 6b6f905377c2a07c3086be3049d8bb227848eed3