97 lines
3.6 KiB
Diff
97 lines
3.6 KiB
Diff
diff --git a/Telegram/SourceFiles/calls/calls_instance.cpp b/Telegram/SourceFiles/calls/calls_instance.cpp
|
|
index e99958109..bb7678d3c 100644
|
|
--- Telegram/SourceFiles/calls/calls_instance.cpp
|
|
+++ Telegram/SourceFiles/calls/calls_instance.cpp
|
|
@@ -350,8 +350,11 @@ std::shared_ptr<tgcalls::VideoCaptureInterface> Instance::getVideoCapture() {
|
|
return result;
|
|
}
|
|
auto result = std::shared_ptr<tgcalls::VideoCaptureInterface>(
|
|
+ #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
|
|
--- Telegram/lib_webrtc/CMakeLists.txt
|
|
+++ 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
|
|
--- Telegram/lib_webrtc/webrtc/webrtc_audio_input_tester.h
|
|
+++ 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<std::atomic<int>> _maxSample;
|
|
+#ifndef DESKTOP_APP_DISABLE_WEBRTC_INTEGRATION
|
|
crl::object_on_thread<Impl> _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
|
|
--- /dev/null
|
|
+++ 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<std::atomic<int>>(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
|
|
--- /dev/null
|
|
+++ Telegram/lib_webrtc/webrtc/webrtc_media_devices_dummy.cpp
|
|
@@ -0,0 +1,6 @@
|
|
+#include "webrtc/webrtc_media_devices.h"
|
|
+namespace Webrtc {
|
|
+std::vector<VideoInput> GetVideoInputList() { return std::vector<VideoInput>(); };
|
|
+std::vector<AudioInput> GetAudioInputList() { return std::vector<AudioInput>(); };
|
|
+std::vector<AudioOutput> GetAudioOutputList() { return std::vector<AudioOutput>(); };
|
|
+}
|