54 lines
1.8 KiB
Diff
54 lines
1.8 KiB
Diff
|
|
||
|
# 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
|
||
|
|