diff options
Diffstat (limited to 'pw5.patch')
-rw-r--r-- | pw5.patch | 53 |
1 files changed, 53 insertions, 0 deletions
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 <stransky@redhat.com> +# 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<DesktopCapturer> 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 + |