summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEsteve Varela Colominas <esteve.varela@gmail.com>2022-02-11 08:35:22 +0100
committerGeorgy Yakovlev <gyakovlev@gentoo.org>2022-02-16 11:43:01 -0800
commit2a35e73282b24f791464e8392340e5af0e408617 (patch)
tree31a3321d708ea67d1d9006975a048ccedec7bedc /media-libs/tg_owt/files
parentdev-java/cpptasks: Stabilize 1.0_beta5-r1 x86, #833474 (diff)
downloadgentoo-2a35e73282b24f791464e8392340e5af0e408617.tar.gz
gentoo-2a35e73282b24f791464e8392340e5af0e408617.tar.bz2
gentoo-2a35e73282b24f791464e8392340e5af0e408617.zip
media-libs/tg_owt: Bump to 0_pre20220209
Signed-off-by: Esteve Varela Colominas <esteve.varela@gmail.com> Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
Diffstat (limited to 'media-libs/tg_owt/files')
-rw-r--r--media-libs/tg_owt/files/tg_owt-0_pre20220209-allow-disabling-X11.patch117
1 files changed, 117 insertions, 0 deletions
diff --git a/media-libs/tg_owt/files/tg_owt-0_pre20220209-allow-disabling-X11.patch b/media-libs/tg_owt/files/tg_owt-0_pre20220209-allow-disabling-X11.patch
new file mode 100644
index 000000000000..3d4acfd0d941
--- /dev/null
+++ b/media-libs/tg_owt/files/tg_owt-0_pre20220209-allow-disabling-X11.patch
@@ -0,0 +1,117 @@
+Add -DTG_OWT_USE_X11
+
+Allows disabling X11 desktop capturing independently of pipewire support, for
+the few people that run wayland without any X11 support whatsoever.
+
+This setup is untested, but supported by the GNI build system, see:
+* src/modules/desktop_capture/BUILD.gn (option rtc_use_x11_extensions)
+
+Toggling the WEBRTC_USE_X11 define also affects some files under
+src/modules/audio_device, but that falls under "X11 support", regardless...
+
+--- tg_owt-4cba1acdd718b700bb33945c0258283689d4eac7.orig/CMakeLists.txt
++++ tg_owt-4cba1acdd718b700bb33945c0258283689d4eac7/CMakeLists.txt
+@@ -21,11 +21,13 @@
+
+ option(BUILD_SHARED_LIBS "Builds shared libraries instead of static." OFF)
+ option(TG_OWT_USE_PROTOBUF "Use protobuf to generate additional headers. Useful for packaged build." ${BUILD_SHARED_LIBS})
++option(TG_OWT_USE_X11 "Use X11 for desktop capture on non-Apple Unix." ON)
+ 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." OFF)
+
+ if (NOT UNIX OR APPLE)
++ set(TG_OWT_USE_X11 OFF)
+ set(TG_OWT_USE_PIPEWIRE OFF)
+ endif()
+
+@@ -97,6 +99,10 @@
+ add_library(tg_owt)
+ init_target(tg_owt)
+
++if (TG_OWT_USE_X11)
++ link_x11(tg_owt)
++endif()
++
+ if (TG_OWT_USE_PIPEWIRE)
+ if (TG_OWT_DLOPEN_PIPEWIRE)
+ include(cmake/generate_stubs.cmake)
+@@ -188,10 +194,6 @@
+ include(cmake/libwebrtcbuild.cmake)
+ target_link_libraries(tg_owt PUBLIC tg_owt::libwebrtcbuild)
+
+-if (UNIX AND NOT APPLE)
+- link_x11(tg_owt)
+-endif()
+-
+ function(add_sublibrary postfix)
+ add_library(tg_owt_${postfix} OBJECT)
+ init_feature_target(tg_owt_${postfix} ${postfix})
+@@ -2258,6 +2260,39 @@
+ )
+ endif()
+
++if (NOT TG_OWT_USE_X11)
++ remove_target_sources(tg_owt ${webrtc_loc}
++ # src/modules/desktop_capture/BUILD.gn (rtc_use_x11_extensions)
++ modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc
++ modules/desktop_capture/linux/mouse_cursor_monitor_x11.h
++ modules/desktop_capture/linux/screen_capturer_x11.cc
++ modules/desktop_capture/linux/screen_capturer_x11.h
++ modules/desktop_capture/linux/shared_x_display.cc
++ modules/desktop_capture/linux/shared_x_display.h
++ modules/desktop_capture/linux/window_capturer_x11.cc
++ modules/desktop_capture/linux/window_capturer_x11.h
++ modules/desktop_capture/linux/window_finder_x11.cc
++ modules/desktop_capture/linux/window_finder_x11.h
++ modules/desktop_capture/linux/window_list_utils.cc
++ modules/desktop_capture/linux/window_list_utils.h
++ modules/desktop_capture/linux/x_atom_cache.cc
++ modules/desktop_capture/linux/x_atom_cache.h
++ modules/desktop_capture/linux/x_error_trap.cc
++ modules/desktop_capture/linux/x_error_trap.h
++ modules/desktop_capture/linux/x_server_pixel_buffer.cc
++ modules/desktop_capture/linux/x_server_pixel_buffer.h
++ modules/desktop_capture/linux/x_window_property.cc
++ modules/desktop_capture/linux/x_window_property.h
++
++ # screen_drawer_linux.cc depends on x11, rest are revdeps
++ modules/desktop_capture/screen_drawer.cc
++ modules/desktop_capture/screen_drawer.h
++ modules/desktop_capture/screen_drawer_linux.cc
++ modules/desktop_capture/screen_drawer_lock_posix.cc
++ modules/desktop_capture/screen_drawer_lock_posix.h
++ )
++endif()
++
+ if (NOT TG_OWT_USE_PIPEWIRE)
+ remove_target_sources(tg_owt ${webrtc_loc}
+ modules/desktop_capture/linux/base_capturer_pipewire.cc
+--- tg_owt-4cba1acdd718b700bb33945c0258283689d4eac7.orig/cmake/libwebrtcbuild.cmake
++++ tg_owt-4cba1acdd718b700bb33945c0258283689d4eac7/cmake/libwebrtcbuild.cmake
+@@ -28,6 +28,13 @@
+ BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=0
+ )
+
++if (TG_OWT_USE_X11)
++ target_compile_definitions(libwebrtcbuild
++ INTERFACE
++ WEBRTC_USE_X11
++ )
++endif()
++
+ if (TG_OWT_USE_PIPEWIRE)
+ target_compile_definitions(libwebrtcbuild
+ INTERFACE
+@@ -64,11 +71,6 @@
+ INTERFACE
+ WEBRTC_MAC
+ )
+- else()
+- target_compile_definitions(libwebrtcbuild
+- INTERFACE
+- WEBRTC_USE_X11
+- )
+ endif()
+
+ if (CMAKE_SYSTEM_NAME STREQUAL "Linux")