commit 471daf68d83a703347b35ab9c842ef812a02bbd8 parent 5d3c4635b79d679db1ef5d5917baf27f6ecc2f7c Author: Michael Froman <mfroman@mozilla.com> Date: Wed, 8 Oct 2025 15:31:45 -0500 Bug 1993083 - Vendor libwebrtc from 0b0afac037 Upstream commit: https://webrtc.googlesource.com/src/+/0b0afac037e65c6a0b302a767418b6087633f559 Wayland screencast: remove unnecessary use of pw_thread_loop_wait() Use of pw_thread_loop_wait() needs a lock around the loop, otherwise it reports "'loop->recurse > 0' failed", but using lock in this case would lead to deadlock, because of missing pw_thread_loop_signal() call. In fact we don't need to call pw_thread_loop_wait() at all so just remove it since it doesn't do anything except reporting a failure. Bug: webrtc:424075504 Change-Id: I1c89cba36eb59dbe4a13e54f50a85676aa297d54 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/396205 Commit-Queue: Jan Grulich <grulja@gmail.com> Reviewed-by: Alexander Cooper <alcooper@chromium.org> Cr-Commit-Position: refs/heads/main@{#44979} Diffstat:
4 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/third_party/libwebrtc/README.mozilla.last-vendor b/third_party/libwebrtc/README.mozilla.last-vendor @@ -1,4 +1,4 @@ # ./mach python dom/media/webrtc/third_party_build/vendor-libwebrtc.py --from-local /home/mfroman/mozilla/elm/.moz-fast-forward/moz-libwebrtc --commit mozpatches libwebrtc -libwebrtc updated from /home/mfroman/mozilla/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-10-08T20:30:31.140830+00:00. +libwebrtc updated from /home/mfroman/mozilla/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-10-08T20:31:36.490738+00:00. # base of lastest vendoring -2028247adf +0b0afac037 diff --git a/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc b/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc @@ -603,7 +603,6 @@ void SharedScreenCastStreamPrivate::StopAndCleanupStream() { // While we can stop the thread now, we cannot destroy it until we've cleaned // up the other members. - pw_thread_loop_wait(pw_main_loop_); pw_thread_loop_stop(pw_main_loop_); if (pw_stream_) { diff --git a/third_party/libwebrtc/moz-patch-stack/s0074.patch b/third_party/libwebrtc/moz-patch-stack/s0074.patch @@ -10,7 +10,7 @@ Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/158a888cad8869a2f 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc b/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc -index b3e6553a05..d9162b5837 100644 +index 403e07ba57..d97eed6457 100644 --- a/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc +++ b/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc @@ -45,6 +45,13 @@ diff --git a/third_party/libwebrtc/moz-patch-stack/s0075.patch b/third_party/libwebrtc/moz-patch-stack/s0075.patch @@ -12,7 +12,7 @@ Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/237d19fe96dd7d25b 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc b/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc -index d9162b5837..0bf5c10852 100644 +index d97eed6457..5828014a4e 100644 --- a/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc +++ b/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc @@ -424,7 +424,9 @@ bool SharedScreenCastStreamPrivate::StartScreenCastStream( @@ -36,7 +36,7 @@ index d9162b5837..0bf5c10852 100644 modifiers_ = egl_dmabuf_->QueryDmaBufModifiers(format); if (!modifiers_.empty()) { -@@ -960,7 +963,7 @@ bool SharedScreenCastStreamPrivate::ProcessDMABuffer( +@@ -959,7 +962,7 @@ bool SharedScreenCastStreamPrivate::ProcessDMABuffer( const uint n_planes = spa_buffer->n_datas;