File 0002-Bug-2012006-WebRTC-backport-PipeWire-capture-clear-e.patch of Package firefox-gamma
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jan Grulich <jgrulich@redhat.com>
Date: Tue, 27 Jan 2026 14:48:22 +0000
Subject: [PATCH] Bug 2012006 - WebRTC backport: PipeWire capture: clear
existing capabilities before re-enumeration r=pehrsons
Prevent duplicate capability entries by clearing the capabilities vector
before re-enumerating node formats.
This is a simple backport of an WebRTC upstream change.
Upstream commit: 15229a1c98fcd07afe19ca131ccdc5c8ac9180f5
Differential Revision: https://phabricator.services.mozilla.com/D280359
---
.../libwebrtc/modules/video_capture/linux/pipewire_session.cc | 4 ++++
.../moz-patch-stack/15229a1c98.no-op-cherry-pick-msg | 1 +
2 files changed, 5 insertions(+)
create mode 100644 third_party/libwebrtc/moz-patch-stack/15229a1c98.no-op-cherry-pick-msg
diff --git a/third_party/libwebrtc/modules/video_capture/linux/pipewire_session.cc b/third_party/libwebrtc/modules/video_capture/linux/pipewire_session.cc
index 957590c92b7a..d178ea05c6b3 100644
--- a/third_party/libwebrtc/modules/video_capture/linux/pipewire_session.cc
+++ b/third_party/libwebrtc/modules/video_capture/linux/pipewire_session.cc
@@ -138,6 +138,10 @@ void PipeWireNode::OnNodeInfo(void* data, const pw_node_info* info) {
uint32_t id = info->params[i].id;
if (id == SPA_PARAM_EnumFormat &&
info->params[i].flags & SPA_PARAM_INFO_READ) {
+ RTC_LOG(LS_INFO)
+ << "Clearing existing capabilities before re-enumeration for "
+ << that->display_name_;
+ that->capabilities_.clear();
pw_node_enum_params(reinterpret_cast<pw_node*>(that->proxy_), 0, id, 0,
UINT32_MAX, nullptr);
break;
diff --git a/third_party/libwebrtc/moz-patch-stack/15229a1c98.no-op-cherry-pick-msg b/third_party/libwebrtc/moz-patch-stack/15229a1c98.no-op-cherry-pick-msg
new file mode 100644
index 000000000000..2e5a0a42a74c
--- /dev/null
+++ b/third_party/libwebrtc/moz-patch-stack/15229a1c98.no-op-cherry-pick-msg
@@ -0,0 +1 @@
+We cherry-picked this in bug 2012006.