summaryrefslogtreecommitdiff
path: root/pw5.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pw5.patch')
-rw-r--r--pw5.patch53
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
+
bgstack15