summaryrefslogtreecommitdiff
blob: 0bddb5fd00f6a8ed395010f1e7ca545fe90999e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
Add support for -DTG_OWT_BUILD_PULSE_BACKEND

This is based off of the rtc_include_pulse_audio option in:
* src/modules/audio_device/BUILD.gn

ALSA must be enabled unless audio support is removed as a whole, see:
* src/modules/audio_device/audio_device_impl.cc

--- tg_owt-91d836dc84a16584c6ac52b36c04c0de504d9c34.orig/CMakeLists.txt
+++ tg_owt-91d836dc84a16584c6ac52b36c04c0de504d9c34/CMakeLists.txt
@@ -25,12 +25,17 @@
 option(TG_OWT_USE_PIPEWIRE "Use pipewire for desktop capture on non-Apple Unix." ON)
 option(TG_OWT_DLOPEN_PIPEWIRE "dlopen pipewire 0.3 for desktop capture on non-Apple Unix." ${not_packaged_build})
 option(TG_OWT_BUILD_AUDIO_BACKENDS "Build webrtc audio backends." ON)
+option(TG_OWT_BUILD_PULSE_BACKEND "Build pulseaudio audio backend on non-Apple Unix." ON)
 
 if (NOT UNIX OR APPLE)
     set(TG_OWT_USE_X11 OFF)
     set(TG_OWT_USE_PIPEWIRE OFF)
 endif()
 
+if (NOT TG_OWT_BUILD_AUDIO_BACKENDS)
+    set(TG_OWT_BUILD_PULSE_BACKEND OFF)
+endif()
+
 if (BUILD_SHARED_LIBS)
     set(CMAKE_POSITION_INDEPENDENT_CODE ON)
 endif()
@@ -162,9 +167,11 @@
 link_libvpx(tg_owt)
 
 if (TG_OWT_BUILD_AUDIO_BACKENDS AND (UNIX AND NOT APPLE))
-    link_libalsa(tg_owt)
-    link_libpulse(tg_owt)
     link_dl(tg_owt)
+    link_libalsa(tg_owt)
+    if (TG_OWT_BUILD_PULSE_BACKEND)
+        link_libpulse(tg_owt)
+    endif()
 endif()
 
 if (NOT WIN32 AND NOT APPLE)
@@ -2218,12 +2225,6 @@
         modules/audio_device/linux/audio_mixer_manager_alsa_linux.h
         modules/audio_device/linux/latebindingsymboltable_linux.cc
         modules/audio_device/linux/latebindingsymboltable_linux.h
-        modules/audio_device/linux/audio_device_pulse_linux.cc
-        modules/audio_device/linux/audio_device_pulse_linux.h
-        modules/audio_device/linux/audio_mixer_manager_pulse_linux.cc
-        modules/audio_device/linux/audio_mixer_manager_pulse_linux.h
-        modules/audio_device/linux/pulseaudiosymboltable_linux.cc
-        modules/audio_device/linux/pulseaudiosymboltable_linux.h
         modules/audio_device/mac/audio_device_mac.cc
         modules/audio_device/mac/audio_device_mac.h
         modules/audio_device/mac/audio_mixer_manager_mac.cc
@@ -2243,6 +2244,17 @@
     )
 endif()
 
+if (NOT TG_OWT_BUILD_PULSE_BACKEND)
+    remove_target_sources(tg_owt ${webrtc_loc}
+        modules/audio_device/linux/audio_device_pulse_linux.cc
+        modules/audio_device/linux/audio_device_pulse_linux.h
+        modules/audio_device/linux/audio_mixer_manager_pulse_linux.cc
+        modules/audio_device/linux/audio_mixer_manager_pulse_linux.h
+        modules/audio_device/linux/pulseaudiosymboltable_linux.cc
+        modules/audio_device/linux/pulseaudiosymboltable_linux.h
+    )
+endif()
+
 if (NOT WIN32)
     remove_target_sources(tg_owt ${webrtc_loc}
         rtc_base/win32.cc
--- tg_owt-91d836dc84a16584c6ac52b36c04c0de504d9c34.orig/cmake/libwebrtcbuild.cmake
+++ tg_owt-91d836dc84a16584c6ac52b36c04c0de504d9c34/cmake/libwebrtcbuild.cmake
@@ -50,8 +50,13 @@
     target_compile_definitions(libwebrtcbuild
     INTERFACE
         WEBRTC_ENABLE_LINUX_ALSA
-        WEBRTC_ENABLE_LINUX_PULSE
     )
+    if (TG_OWT_BUILD_PULSE_BACKEND)
+        target_compile_definitions(libwebrtcbuild
+        INTERFACE
+            WEBRTC_ENABLE_LINUX_PULSE
+        )
+    endif()
 endif()
 
 if (WIN32)