From d6756537dd8cf4d9816dc63ada66ea026e0fd128 Mon Sep 17 00:00:00 2001 From: Martin Stransky Date: Thu, 12 Nov 2020 14:33:57 +0100 Subject: Updated to 83.0, Updated PipeWire patches from mozbz#1672944 --- pw5.patch | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 pw5.patch (limited to 'pw5.patch') diff --git a/pw5.patch b/pw5.patch new file mode 100644 index 0000000..bcb004e --- /dev/null +++ b/pw5.patch @@ -0,0 +1,53 @@ + +# HG changeset patch +# User stransky +# Date 1605025841 0 +# Node ID e04be7688dfb4fbbe8dee73e366df8bc9a5da580 +# Parent 41d3c1292480de14d05b34aa0cf2d56015994878 +Bug 1675767 [Linux] Use PipeWire on Wayland desktop, r=dminor + +Differential Revision: https://phabricator.services.mozilla.com/D96587 + +diff --git a/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capturer.cc b/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capturer.cc +--- a/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capturer.cc ++++ b/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capturer.cc +@@ -72,37 +72,21 @@ std::unique_ptr Desktop + if (capturer && options.detect_updated_region()) { + capturer.reset(new DesktopCapturerDifferWrapper(std::move(capturer))); + } + + return capturer; + } + + #if defined(WEBRTC_USE_PIPEWIRE) || defined(USE_X11) +-// Return true if Firefox is actually running with Wayland backend. +-static bool IsWaylandDisplayUsed() { +- const auto display = gdk_display_get_default(); +- if (display == nullptr) { +- // We're running in headless mode. +- return false; +- } +- return !GDK_IS_X11_DISPLAY(display); +-} +- +-// Return true if Firefox is actually running on Wayland enabled session. +-// It means some screensharing capabilities may be limited. +-static bool IsWaylandSessionUsed() { ++bool DesktopCapturer::IsRunningUnderWayland() { + const char* xdg_session_type = getenv("XDG_SESSION_TYPE"); + if (!xdg_session_type || strncmp(xdg_session_type, "wayland", 7) != 0) + return false; + + if (!(getenv("WAYLAND_DISPLAY"))) + return false; + + return true; + } +- +-bool DesktopCapturer::IsRunningUnderWayland() { +- return IsWaylandSessionUsed() ? IsWaylandDisplayUsed() : false; +-} + #endif // defined(WEBRTC_USE_PIPEWIRE) || defined(USE_X11) + + } // namespace webrtc + -- cgit