You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/media-libs/tg_owt/files/tg_owt-0_pre20210626-allow-...

91 lines
3.2 KiB

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)