void-packages/srcpkgs/telegram-desktop/patches/no-webrtc-build.patch

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>(); };
+}