# 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