diff --git a/Telegram/SourceFiles/calls/calls_instance.cpp b/Telegram/SourceFiles/calls/calls_instance.cpp index e99958109..bb7678d3c 100644 --- a/Telegram/SourceFiles/calls/calls_instance.cpp +++ b/Telegram/SourceFiles/calls/calls_instance.cpp @@ -350,8 +350,11 @@ std::shared_ptr Instance::getVideoCapture() { return result; } auto result = std::shared_ptr( + #ifndef DESKTOP_APP_DISABLE_WEBRTC_INTEGRATION tgcalls::VideoCaptureInterface::Create( - Core::App().settings().callVideoInputDeviceId().toStdString())); + Core::App().settings().callVideoInputDeviceId().toStdString()) + #endif + ); _videoCapture = result; return result; } diff --git Telegram/lib_webrtc/CMakeLists.txt b/CMakeLists.txt index 47796f1..1f54c21 100644 --- a/Telegram/lib_webrtc/CMakeLists.txt +++ b/Telegram/lib_webrtc/CMakeLists.txt @@ -14,8 +14,10 @@ target_precompile_headers(lib_webrtc PRIVATE ${src_loc}/webrtc/webrtc_pch.h) nice_target_sources(lib_webrtc ${src_loc} PRIVATE webrtc/webrtc_audio_input_tester.cpp + webrtc/webrtc_audio_input_tester_dummy.cpp webrtc/webrtc_audio_input_tester.h webrtc/webrtc_media_devices.cpp + webrtc/webrtc_media_devices_dummy.cpp webrtc/webrtc_media_devices.h webrtc/webrtc_video_track.cpp webrtc/webrtc_video_track.h @@ -40,10 +42,14 @@ PUBLIC if (DESKTOP_APP_DISABLE_WEBRTC_INTEGRATION) remove_target_sources(lib_webrtc ${src_loc} webrtc/webrtc_video_track.cpp + webrtc/webrtc_media_devices.cpp + webrtc/webrtc_audio_input_tester.cpp ) else() remove_target_sources(lib_webrtc ${src_loc} webrtc/webrtc_video_track_dummy.cpp + webrtc/webrtc_media_devices_dummy.cpp + webrtc/webrtc_audio_input_tester_dummy.cpp ) target_link_libraries(lib_webrtc PRIVATE diff --git Telegram/lib_webrtc/webrtc/webrtc_audio_input_tester.h b/webrtc/webrtc_audio_input_tester.h index 1ae8d30..008df7e 100644 --- a/Telegram/lib_webrtc/webrtc/webrtc_audio_input_tester.h +++ b/Telegram/lib_webrtc/webrtc/webrtc_audio_input_tester.h @@ -20,11 +20,13 @@ public: [[nodiscard]] float getAndResetLevel(); private: +#ifndef DESKTOP_APP_DISABLE_WEBRTC_INTEGRATION class Impl; - +#endif std::shared_ptr> _maxSample; +#ifndef DESKTOP_APP_DISABLE_WEBRTC_INTEGRATION crl::object_on_thread _impl; - +#endif }; } // namespace Webrtc diff --git Telegram/lib_webrtc/webrtc/webrtc_audio_input_tester_dummy.cpp b/webrtc/webrtc_audio_input_tester_dummy.cpp new file mode 100644 index 0000000..4e47eaa --- a//dev/null +++ b/Telegram/lib_webrtc/webrtc/webrtc_audio_input_tester_dummy.cpp @@ -0,0 +1,11 @@ +#include "webrtc/webrtc_audio_input_tester.h" + +namespace Webrtc { +AudioInputTester::AudioInputTester(const QString &deviceId) +: _maxSample(std::make_shared>(0)) {} +AudioInputTester::~AudioInputTester() {} +void AudioInputTester::setDeviceId(const QString &deviceId) {}; +float AudioInputTester::getAndResetLevel() { + return _maxSample->exchange(0) / float(INT16_MAX);\ +} +} diff --git Telegram/lib_webrtc/webrtc/webrtc_media_devices_dummy.cpp b/webrtc/webrtc_media_devices_dummy.cpp new file mode 100644 index 0000000..8d5d245 --- a/dev/null +++ b/Telegram/lib_webrtc/webrtc/webrtc_media_devices_dummy.cpp @@ -0,0 +1,6 @@ +#include "webrtc/webrtc_media_devices.h" +namespace Webrtc { +std::vector GetVideoInputList() { return std::vector(); }; +std::vector GetAudioInputList() { return std::vector(); }; +std::vector GetAudioOutputList() { return std::vector(); }; +}