summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/moz-patch-stack/0090.patch
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/moz-patch-stack/0090.patch')
-rw-r--r--third_party/libwebrtc/moz-patch-stack/0090.patch81
1 files changed, 45 insertions, 36 deletions
diff --git a/third_party/libwebrtc/moz-patch-stack/0090.patch b/third_party/libwebrtc/moz-patch-stack/0090.patch
index dfd2faa87d..b38361e516 100644
--- a/third_party/libwebrtc/moz-patch-stack/0090.patch
+++ b/third_party/libwebrtc/moz-patch-stack/0090.patch
@@ -1,47 +1,56 @@
-From: stransky <stransky@redhat.com>
-Date: Tue, 29 Aug 2023 12:43:00 +0000
-Subject: Bug 1821629 [Pipewire/DMABuf] Don't create dmabuf backend if it's
- disabled r=ng,webrtc-reviewers
+From: Michael Froman <mfroman@mozilla.com>
+Date: Thu, 28 Sep 2023 14:12:00 +0000
+Subject: Bug 1832465 - remove libXtst usage from libwebrtc.
+ r=ng,webrtc-reviewers
-Depends on D172224
-
-Differential Revision: https://phabricator.services.mozilla.com/D172229
-Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/237d19fe96dd7d25b6a817415ee4e6854678d648
+Differential Revision: https://phabricator.services.mozilla.com/D189386
+Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/0ec1b33b95dbb2d39355f28b2812fe25b4ad9f20
---
- .../linux/wayland/shared_screencast_stream.cc | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
+ modules/desktop_capture/BUILD.gn | 3 +++
+ modules/desktop_capture/linux/x11/shared_x_display.cc | 4 ++++
+ 2 files changed, 7 insertions(+)
-diff --git a/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc b/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc
-index 22aa355e44..61c6957d27 100644
---- a/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc
-+++ b/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc
-@@ -419,7 +419,9 @@ bool SharedScreenCastStreamPrivate::StartScreenCastStream(
- RTC_LOG(LS_ERROR) << "Unable to open PipeWire library";
- return false;
+diff --git a/modules/desktop_capture/BUILD.gn b/modules/desktop_capture/BUILD.gn
+index dcc1b3c6ac..0634e0e9c4 100644
+--- a/modules/desktop_capture/BUILD.gn
++++ b/modules/desktop_capture/BUILD.gn
+@@ -384,6 +384,9 @@ rtc_library("desktop_capture") {
+ "Xrandr",
+ "Xtst",
+ ]
++ if (build_with_mozilla) {
++ libs -= [ "Xtst" ]
++ }
}
-- egl_dmabuf_ = std::make_unique<EglDmaBuf>();
-+ if (mozilla::gfx::IsDMABufEnabled()) {
-+ egl_dmabuf_ = std::make_unique<EglDmaBuf>();
-+ }
- pw_stream_node_id_ = stream_node_id;
+ if (!is_win && !is_mac && !rtc_use_x11_extensions && !rtc_use_pipewire &&
+diff --git a/modules/desktop_capture/linux/x11/shared_x_display.cc b/modules/desktop_capture/linux/x11/shared_x_display.cc
+index d690b0e2ba..3f3617b074 100644
+--- a/modules/desktop_capture/linux/x11/shared_x_display.cc
++++ b/modules/desktop_capture/linux/x11/shared_x_display.cc
+@@ -11,7 +11,9 @@
+ #include "modules/desktop_capture/linux/x11/shared_x_display.h"
-@@ -508,7 +510,8 @@ bool SharedScreenCastStreamPrivate::StartScreenCastStream(
- for (uint32_t format : {SPA_VIDEO_FORMAT_BGRA, SPA_VIDEO_FORMAT_RGBA,
- SPA_VIDEO_FORMAT_BGRx, SPA_VIDEO_FORMAT_RGBx}) {
- // Modifiers can be used with PipeWire >= 0.3.33
-- if (has_required_pw_client_version && has_required_pw_server_version) {
-+ if (egl_dmabuf_ &&
-+ has_required_pw_client_version && has_required_pw_server_version) {
- modifiers_ = egl_dmabuf_->QueryDmaBufModifiers(format);
+ #include <X11/Xlib.h>
++#if !defined(WEBRTC_MOZILLA_BUILD)
+ #include <X11/extensions/XTest.h>
++#endif
- if (!modifiers_.empty()) {
-@@ -927,7 +930,7 @@ bool SharedScreenCastStreamPrivate::ProcessDMABuffer(
+ #include <algorithm>
- const uint n_planes = spa_buffer->n_datas;
+@@ -95,6 +97,7 @@ void SharedXDisplay::ProcessPendingXEvents() {
+ }
-- if (!n_planes) {
-+ if (!n_planes || !egl_dmabuf_) {
- return false;
+ void SharedXDisplay::IgnoreXServerGrabs() {
++#if !defined(WEBRTC_MOZILLA_BUILD)
+ int test_event_base = 0;
+ int test_error_base = 0;
+ int major = 0;
+@@ -103,6 +106,7 @@ void SharedXDisplay::IgnoreXServerGrabs() {
+ &minor)) {
+ XTestGrabControl(display(), true);
}
++#endif
+ }
+ } // namespace webrtc