diff --git a/Telegram/SourceFiles/calls/calls_call.cpp b/Telegram/SourceFiles/calls/calls_call.cpp index cb552e6072..9b428d4074 100644 --- a/Telegram/SourceFiles/calls/calls_call.cpp +++ b/Telegram/SourceFiles/calls/calls_call.cpp @@ -978,15 +978,15 @@ void Call::setCurrentVideoDevice(const QString &deviceId) { } } -void Call::setAudioVolume(bool input, float level) { - if (_instance) { - if (input) { - _instance->setInputVolume(level); - } else { - _instance->setOutputVolume(level); - } - } -} +//void Call::setAudioVolume(bool input, float level) { +// if (_instance) { +// if (input) { +// _instance->setInputVolume(level); +// } else { +// _instance->setOutputVolume(level); +// } +// } +//} void Call::setAudioDuckingEnabled(bool enabled) { if (_instance) { diff --git a/Telegram/SourceFiles/calls/calls_call.h b/Telegram/SourceFiles/calls/calls_call.h index 7bfef7ba6a..004225ecc6 100644 --- a/Telegram/SourceFiles/calls/calls_call.h +++ b/Telegram/SourceFiles/calls/calls_call.h @@ -176,7 +176,7 @@ public: void setCurrentAudioDevice(bool input, const QString &deviceId); void setCurrentVideoDevice(const QString &deviceId); - void setAudioVolume(bool input, float level); + //void setAudioVolume(bool input, float level); void setAudioDuckingEnabled(bool enabled); [[nodiscard]] rpl::lifetime &lifetime() { diff --git a/Telegram/SourceFiles/calls/calls_group_call.cpp b/Telegram/SourceFiles/calls/calls_group_call.cpp index 526a958f51..e8239940bf 100644 --- a/Telegram/SourceFiles/calls/calls_group_call.cpp +++ b/Telegram/SourceFiles/calls/calls_group_call.cpp @@ -8,28 +8,14 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "calls/calls_group_call.h" #include "main/main_session.h" -//#include "main/main_account.h" -//#include "main/main_app_config.h" #include "apiwrap.h" #include "lang/lang_keys.h" #include "boxes/confirm_box.h" -//#include "boxes/rate_call_box.h" -//#include "calls/calls_instance.h" -//#include "base/openssl_help.h" -//#include "mtproto/mtproto_dh_utils.h" -//#include "mtproto/mtproto_config.h" -//#include "core/application.h" -//#include "core/core_settings.h" -//#include "media/audio/media_audio_track.h" -//#include "base/platform/base_platform_info.h" -//#include "calls/calls_panel.h" -//#include "webrtc/webrtc_video_track.h" -//#include "webrtc/webrtc_media_devices.h" +#include "core/application.h" +#include "core/core_settings.h" #include "data/data_changes.h" #include "data/data_channel.h" #include "data/data_group_call.h" -//#include "data/data_session.h" -//#include "facades.h" #include @@ -194,7 +180,7 @@ void GroupCall::checkParticipants() { ssrcs.push_back(source); } } - _instance->setSsrcs(std::move(ssrcs)); +// _instance->setSsrcs(std::move(ssrcs)); } void GroupCall::hangup() { @@ -345,6 +331,8 @@ void GroupCall::handleUpdate(const MTPDupdateGroupCallParticipants &data) { void GroupCall::createAndStartController() { using AudioLevels = std::vector>; + const auto &settings = Core::App().settings(); + const auto weak = base::make_weak(this); tgcalls::GroupInstanceDescriptor descriptor = { .config = tgcalls::GroupConfig{ @@ -353,6 +341,10 @@ void GroupCall::createAndStartController() { }, .audioLevelsUpdated = [=](const AudioLevels &data) { }, + .myAudioLevelUpdated = [=](float) { + }, + .initialInputDeviceId = settings.callInputDeviceId().toStdString(), + .initialOutputDeviceId = settings.callOutputDeviceId().toStdString(), }; if (Logs::DebugEnabled()) { auto callLogFolder = cWorkingDir() + qsl("DebugLogs"); @@ -407,23 +399,23 @@ void GroupCall::sendMutedUpdate() { void GroupCall::setCurrentAudioDevice(bool input, const QString &deviceId) { if (_instance) { const auto id = deviceId.toStdString(); - //if (input) { - // _instance->setAudioInputDevice(id); - //} else { - // _instance->setAudioOutputDevice(id); - //} + if (input) { + _instance->setAudioInputDevice(id); + } else { + _instance->setAudioOutputDevice(id); + } } } -void GroupCall::setAudioVolume(bool input, float level) { - if (_instance) { - //if (input) { - // _instance->setInputVolume(level); - //} else { - // _instance->setOutputVolume(level); - //} - } -} +//void GroupCall::setAudioVolume(bool input, float level) { +// if (_instance) { +// if (input) { +// _instance->setInputVolume(level); +// } else { +// _instance->setOutputVolume(level); +// } +// } +//} void GroupCall::setAudioDuckingEnabled(bool enabled) { if (_instance) { diff --git a/Telegram/SourceFiles/calls/calls_group_call.h b/Telegram/SourceFiles/calls/calls_group_call.h index 88553c26e6..6dee42bc8b 100644 --- a/Telegram/SourceFiles/calls/calls_group_call.h +++ b/Telegram/SourceFiles/calls/calls_group_call.h @@ -74,7 +74,7 @@ public: } void setCurrentAudioDevice(bool input, const QString &deviceId); - void setAudioVolume(bool input, float level); + //void setAudioVolume(bool input, float level); void setAudioDuckingEnabled(bool enabled); [[nodiscard]] rpl::lifetime &lifetime() { diff --git a/Telegram/SourceFiles/history/history.cpp b/Telegram/SourceFiles/history/history.cpp index 9cc17dac84..6a81805dd0 100644 --- a/Telegram/SourceFiles/history/history.cpp +++ b/Telegram/SourceFiles/history/history.cpp @@ -1051,6 +1051,13 @@ void History::applyServiceChanges( }); } } break; + + case mtpc_messageActionGroupCall: { + if (const auto channel = peer->asChannel()) { + const auto &d = action.c_messageActionGroupCall(); + channel->setCall(d.vcall()); + } + } break; } } diff --git a/Telegram/ThirdParty/tgcalls b/Telegram/ThirdParty/tgcalls index 176e5fff55..d2c6ad40d7 160000 --- a/Telegram/ThirdParty/tgcalls +++ b/Telegram/ThirdParty/tgcalls @@ -1 +1 @@ -Subproject commit 176e5fff55478f23deec25c3bbcdaf9d0f3e19b2 +Subproject commit d2c6ad40d717e604859589d854b81229abd11763