git: 589b6cd6f56f - 2023Q3 - www/firefox: update to 116.0 (rc1)

From: Christoph Moench-Tegeder <cmt_at_FreeBSD.org>
Date: Mon, 24 Jul 2023 22:02:32 UTC
The branch 2023Q3 has been updated by cmt:

URL: https://cgit.FreeBSD.org/ports/commit/?id=589b6cd6f56faa22986497dd17286473b2aeeca2

commit 589b6cd6f56faa22986497dd17286473b2aeeca2
Author:     Christoph Moench-Tegeder <cmt@FreeBSD.org>
AuthorDate: 2023-07-24 21:59:11 +0000
Commit:     Christoph Moench-Tegeder <cmt@FreeBSD.org>
CommitDate: 2023-07-24 22:02:13 +0000

    www/firefox: update to 116.0 (rc1)
    
    Release Notes (soon):
      https://www.mozilla.org/en-US/firefox/116.0/releasenotes/
    
    (cherry picked from commit 57ca3177d2a513bfd1cd73e6742a35efadc49cd1)
---
 www/firefox/Makefile                               |   4 +-
 www/firefox/distinfo                               |   6 +-
 www/firefox/files/patch-bug1427152                 |  10 -
 www/firefox/files/patch-bug1559213                 |  42 +-
 www/firefox/files/patch-libwebrtc-generated        | 476 ++++++++++++++-------
 www/firefox/files/patch-pipewire_init              |  33 +-
 ...patch-python_mozbuild_mozbuild_gn__processor.py |  16 +-
 ...oolkit_compontents_processtools_procinfo__bsd.c | 104 +++++
 8 files changed, 489 insertions(+), 202 deletions(-)

diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index bcb3629bfd2c..fa09ddf95316 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	firefox
-DISTVERSION=	115.0.2
+DISTVERSION=	116.0
 PORTEPOCH=	2
 CATEGORIES=	www wayland
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}${DISTVERSIONSUFFIX}/source \
@@ -11,7 +11,7 @@ COMMENT=	Web browser based on the browser portion of Mozilla
 WWW=		https://www.mozilla.com/firefox
 
 BUILD_DEPENDS=	nspr>=4.32:devel/nspr \
-		nss>=3.90:security/nss \
+		nss>=3.91:security/nss \
 		icu>=73.1:devel/icu \
 		libevent>=2.1.8:devel/libevent \
 		harfbuzz>=7.3.0:print/harfbuzz \
diff --git a/www/firefox/distinfo b/www/firefox/distinfo
index 824870067b85..6d86b97f5529 100644
--- a/www/firefox/distinfo
+++ b/www/firefox/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1689020718
-SHA256 (firefox-115.0.2.source.tar.xz) = 6b2844124c13b4bd9d97ac7f5840f3e957b7631659591f3bea1ac9a89bee1654
-SIZE (firefox-115.0.2.source.tar.xz) = 506385780
+TIMESTAMP = 1690232273
+SHA256 (firefox-116.0.source.tar.xz) = 2160d681e7dcfd16361d2c482f759eb16c7da3f53dd718a838e825f4dea6c33b
+SIZE (firefox-116.0.source.tar.xz) = 518964476
diff --git a/www/firefox/files/patch-bug1427152 b/www/firefox/files/patch-bug1427152
deleted file mode 100644
index 49bd5a581ac8..000000000000
--- a/www/firefox/files/patch-bug1427152
+++ /dev/null
@@ -1,10 +0,0 @@
---- modules/libpref/Preferences.cpp.orig	2023-05-11 21:42:41 UTC
-+++ modules/libpref/Preferences.cpp
-@@ -6126,6 +6126,7 @@ static const PrefListEntry sDynamicPrefOverrideList[]{
-     PREF_LIST_ENTRY("logging.config.LOG_FILE"),
-     PREF_LIST_ENTRY("media.audio_loopback_dev"),
-     PREF_LIST_ENTRY("media.decoder-doctor."),
-+    PREF_LIST_ENTRY("media.cubeb.backend"),
-     PREF_LIST_ENTRY("media.cubeb.output_device"),
-     PREF_LIST_ENTRY("media.getusermedia.fake-camera-name"),
-     PREF_LIST_ENTRY("media.hls.server.url"),
diff --git a/www/firefox/files/patch-bug1559213 b/www/firefox/files/patch-bug1559213
index 49bbb0fb05ff..516328d61aca 100644
--- a/www/firefox/files/patch-bug1559213
+++ b/www/firefox/files/patch-bug1559213
@@ -11,10 +11,10 @@ Date:   Thu Jun 13 11:53:00 2019 -0700
  4 files changed, 34 insertions(+), 3 deletions(-)
 
 diff --git config/external/moz.build config/external/moz.build
-index ab77121..75595d9 100644
+index a0877c9d717e..5caa2036e0ec 100644
 --- config/external/moz.build
 +++ config/external/moz.build
-@@ -49,8 +49,9 @@ if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
+@@ -45,8 +45,9 @@ if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
      external_dirs += ["media/libvpx"]
  
  if CONFIG["MOZ_AV1"]:
@@ -27,10 +27,10 @@ index ab77121..75595d9 100644
  if not CONFIG["MOZ_SYSTEM_PNG"]:
      external_dirs += ["media/libpng"]
 diff --git config/system-headers.mozbuild config/system-headers.mozbuild
-index a1b58eb..65729f9 100644
+index d9489c8f15e4..4d2f15e18c1c 100644
 --- config/system-headers.mozbuild
 +++ config/system-headers.mozbuild
-@@ -1289,6 +1289,14 @@ if CONFIG['MOZ_ENABLE_LIBPROXY']:
+@@ -1291,6 +1291,14 @@ if CONFIG['MOZ_ENABLE_LIBPROXY']:
          'proxy.h',
      ]
  
@@ -46,10 +46,10 @@ index a1b58eb..65729f9 100644
      system_headers += [
          'vpx_mem/vpx_mem.h',
 diff --git dom/media/platforms/moz.build dom/media/platforms/moz.build
-index 8509aec..eb6f129 100644
+index c71f22a22eee..efbd523b1225 100644
 --- dom/media/platforms/moz.build
 +++ dom/media/platforms/moz.build
-@@ -78,6 +78,11 @@ if CONFIG["MOZ_AV1"]:
+@@ -80,6 +80,11 @@ if CONFIG["MOZ_AV1"]:
          "agnostic/AOMDecoder.cpp",
          "agnostic/DAV1DDecoder.cpp",
      ]
@@ -62,33 +62,33 @@ index 8509aec..eb6f129 100644
  if CONFIG["MOZ_OMX"]:
      EXPORTS += [
 diff --git media/ffvpx/libavcodec/moz.build media/ffvpx/libavcodec/moz.build
-index 0069865..e806fc8 100644
---- media/ffvpx/libavcodec/moz.build.orig
+index 5675c28234a1..56344e5e4c98 100644
+--- media/ffvpx/libavcodec/moz.build
 +++ media/ffvpx/libavcodec/moz.build
-@@ -108,10 +108,14 @@
-         'vp9prob.c',
-         'vp9recon.c'
+@@ -109,10 +109,14 @@ if not CONFIG['MOZ_FFVPX_AUDIOONLY']:
+         'vp9recon.c',
+         'vpx_rac.c',
      ]
 -    USE_LIBS += [
 -        'dav1d',
 -        'media_libdav1d_asm',
 -    ]
 +    if CONFIG["MOZ_SYSTEM_AV1"]:
-+      CFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS']
-+      OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS']
++        CFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS']
++        OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS']
 +    else:
-+      USE_LIBS += [
-+          'dav1d',
-+          'media_libdav1d_asm',
-+      ]
-     if CONFIG['MOZ_WAYLAND']:
++        USE_LIBS += [
++            'dav1d',
++            'media_libdav1d_asm',
++        ]
+     if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
          LOCAL_INCLUDES += ['/media/mozva']
          SOURCES += [
 diff --git toolkit/moz.configure toolkit/moz.configure
-index 0069865..e806fc8 100644
+index 2e56fa46ce59..23e30935c4bc 100644
 --- toolkit/moz.configure
 +++ toolkit/moz.configure
-@@ -523,7 +523,23 @@ def av1(value):
+@@ -745,7 +745,23 @@ def av1(value):
          return True
  
  
@@ -113,7 +113,7 @@ index 0069865..e806fc8 100644
  def dav1d_asm(target):
      if target.cpu in ("aarch64", "x86", "x86_64"):
          return True
-@@ -539,6 +555,7 @@ set_config("MOZ_DAV1D_ASM", dav1d_asm)
+@@ -761,6 +777,7 @@ set_config("MOZ_DAV1D_ASM", dav1d_asm)
  set_define("MOZ_DAV1D_ASM", dav1d_asm)
  set_config("MOZ_AV1", av1)
  set_define("MOZ_AV1", av1)
diff --git a/www/firefox/files/patch-libwebrtc-generated b/www/firefox/files/patch-libwebrtc-generated
index 2f46714ce495..5f4d18be3d85 100644
--- a/www/firefox/files/patch-libwebrtc-generated
+++ b/www/firefox/files/patch-libwebrtc-generated
@@ -1,7 +1,7 @@
-commit ddd5c82284f974ce7fc5857e2a3061a83ed45094
+commit 22b0397dd637396ffdc5a0fe913cdcc1b7ba7b9b
 Author: Christoph Moench-Tegeder <cmt@FreeBSD.org>
 
-    regenerate FreeBSD libwebrtc patch for Firefox 115
+    regenerate FreeBSD libwebrtc patch for Firefox 116
 
 diff --git third_party/libwebrtc/api/adaptation/resource_adaptation_api_gn/moz.build third_party/libwebrtc/api/adaptation/resource_adaptation_api_gn/moz.build
 index c3f52293bf1b..46d0a26b3591 100644
@@ -13138,7 +13138,7 @@ index 1908dc466677..888e6cd29d2b 100644
  
  Library("field_trial_based_config_gn")
 diff --git third_party/libwebrtc/api/transport/goog_cc_gn/moz.build third_party/libwebrtc/api/transport/goog_cc_gn/moz.build
-index b438b01c9f76..b4bf72798b33 100644
+index 6125806b93a0..b4bf72798b33 100644
 --- third_party/libwebrtc/api/transport/goog_cc_gn/moz.build
 +++ third_party/libwebrtc/api/transport/goog_cc_gn/moz.build
 @@ -12,11 +12,21 @@ AllowCompilerWarnings()
@@ -13163,7 +13163,7 @@ index b438b01c9f76..b4bf72798b33 100644
  
  FINAL_LIBRARY = "webrtc"
  
-@@ -43,180 +53,21 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -43,181 +53,21 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -13183,6 +13183,7 @@ index b438b01c9f76..b4bf72798b33 100644
 -    DEFINES["__STDC_FORMAT_MACROS"] = True
 -
 -    OS_LIBS += [
+-        "GLESv2",
 -        "log"
 -    ]
 -
@@ -15948,7 +15949,7 @@ index decf74cfbedb..4c16ea3d2ae3 100644
  
  Library("encoded_image_gn")
 diff --git third_party/libwebrtc/api/video/frame_buffer_gn/moz.build third_party/libwebrtc/api/video/frame_buffer_gn/moz.build
-index 7a31ccedc72e..01a2a71c9623 100644
+index 7576f10c5c3b..01a2a71c9623 100644
 --- third_party/libwebrtc/api/video/frame_buffer_gn/moz.build
 +++ third_party/libwebrtc/api/video/frame_buffer_gn/moz.build
 @@ -12,11 +12,21 @@ AllowCompilerWarnings()
@@ -15973,7 +15974,7 @@ index 7a31ccedc72e..01a2a71c9623 100644
  
  FINAL_LIBRARY = "webrtc"
  
-@@ -43,180 +53,21 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -43,181 +53,21 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -15993,6 +15994,7 @@ index 7a31ccedc72e..01a2a71c9623 100644
 -    DEFINES["__STDC_FORMAT_MACROS"] = True
 -
 -    OS_LIBS += [
+-        "GLESv2",
 -        "log"
 -    ]
 -
@@ -19861,7 +19863,7 @@ index 6e6ab8ff7de5..28b53698939f 100644
  
  Library("video_codecs_api_gn")
 diff --git third_party/libwebrtc/api/video_codecs/vp8_temporal_layers_factory_gn/moz.build third_party/libwebrtc/api/video_codecs/vp8_temporal_layers_factory_gn/moz.build
-index c9836b7b0116..1be3d8d2cff3 100644
+index 361543a104dd..1be3d8d2cff3 100644
 --- third_party/libwebrtc/api/video_codecs/vp8_temporal_layers_factory_gn/moz.build
 +++ third_party/libwebrtc/api/video_codecs/vp8_temporal_layers_factory_gn/moz.build
 @@ -12,11 +12,21 @@ AllowCompilerWarnings()
@@ -19886,7 +19888,7 @@ index c9836b7b0116..1be3d8d2cff3 100644
  
  FINAL_LIBRARY = "webrtc"
  
-@@ -43,180 +53,21 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -43,181 +53,21 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -19906,6 +19908,7 @@ index c9836b7b0116..1be3d8d2cff3 100644
 -    DEFINES["__STDC_FORMAT_MACROS"] = True
 -
 -    OS_LIBS += [
+-        "GLESv2",
 -        "log"
 -    ]
 -
@@ -20677,7 +20680,7 @@ index ee505ec8852a..e7a97d4d85e3 100644
  
  Library("audio_frame_operations_gn")
 diff --git third_party/libwebrtc/call/adaptation/resource_adaptation_gn/moz.build third_party/libwebrtc/call/adaptation/resource_adaptation_gn/moz.build
-index ade930c107f0..148769984dcc 100644
+index 4307f8342cf0..148769984dcc 100644
 --- third_party/libwebrtc/call/adaptation/resource_adaptation_gn/moz.build
 +++ third_party/libwebrtc/call/adaptation/resource_adaptation_gn/moz.build
 @@ -12,11 +12,21 @@ AllowCompilerWarnings()
@@ -20702,7 +20705,7 @@ index ade930c107f0..148769984dcc 100644
  
  FINAL_LIBRARY = "webrtc"
  
-@@ -52,180 +62,21 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -52,181 +62,21 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -20722,6 +20725,7 @@ index ade930c107f0..148769984dcc 100644
 -    DEFINES["__STDC_FORMAT_MACROS"] = True
 -
 -    OS_LIBS += [
+-        "GLESv2",
 -        "log"
 -    ]
 -
@@ -22331,7 +22335,7 @@ index 101cc096c354..db8671bd8a10 100644
  
  Library("rtp_interfaces_gn")
 diff --git third_party/libwebrtc/call/rtp_receiver_gn/moz.build third_party/libwebrtc/call/rtp_receiver_gn/moz.build
-index 4a67ac908095..06947d77d001 100644
+index f480482035e1..06947d77d001 100644
 --- third_party/libwebrtc/call/rtp_receiver_gn/moz.build
 +++ third_party/libwebrtc/call/rtp_receiver_gn/moz.build
 @@ -12,11 +12,21 @@ AllowCompilerWarnings()
@@ -22356,7 +22360,7 @@ index 4a67ac908095..06947d77d001 100644
  
  FINAL_LIBRARY = "webrtc"
  
-@@ -45,180 +55,21 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -45,181 +55,21 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -22376,6 +22380,7 @@ index 4a67ac908095..06947d77d001 100644
 -    DEFINES["__STDC_FORMAT_MACROS"] = True
 -
 -    OS_LIBS += [
+-        "GLESv2",
 -        "log"
 -    ]
 -
@@ -22542,7 +22547,7 @@ index 4a67ac908095..06947d77d001 100644
  
  Library("rtp_receiver_gn")
 diff --git third_party/libwebrtc/call/rtp_sender_gn/moz.build third_party/libwebrtc/call/rtp_sender_gn/moz.build
-index 99122e269600..c29148b84f8d 100644
+index 52c4be0298ec..c29148b84f8d 100644
 --- third_party/libwebrtc/call/rtp_sender_gn/moz.build
 +++ third_party/libwebrtc/call/rtp_sender_gn/moz.build
 @@ -12,11 +12,21 @@ AllowCompilerWarnings()
@@ -22567,7 +22572,7 @@ index 99122e269600..c29148b84f8d 100644
  
  FINAL_LIBRARY = "webrtc"
  
-@@ -45,180 +55,21 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -45,181 +55,21 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -22587,6 +22592,7 @@ index 99122e269600..c29148b84f8d 100644
 -    DEFINES["__STDC_FORMAT_MACROS"] = True
 -
 -    OS_LIBS += [
+-        "GLESv2",
 -        "log"
 -    ]
 -
@@ -23514,7 +23520,7 @@ index 04d8ea56823e..2420d6b05b3a 100644
 -
  Library("common_audio_c_arm_asm_gn")
 diff --git third_party/libwebrtc/common_audio/common_audio_c_gn/moz.build third_party/libwebrtc/common_audio/common_audio_c_gn/moz.build
-index 4ade815eaf3d..bafd0444d592 100644
+index bb32b976d963..bafd0444d592 100644
 --- third_party/libwebrtc/common_audio/common_audio_c_gn/moz.build
 +++ third_party/libwebrtc/common_audio/common_audio_c_gn/moz.build
 @@ -12,11 +12,21 @@ AllowCompilerWarnings()
@@ -23555,7 +23561,7 @@ index 4ade815eaf3d..bafd0444d592 100644
      "/third_party/libwebrtc/common_audio/signal_processing/filter_ma_fast_q12.c",
      "/third_party/libwebrtc/common_audio/signal_processing/get_hanning_window.c",
      "/third_party/libwebrtc/common_audio/signal_processing/get_scaling_square.c",
-@@ -81,236 +93,21 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -81,243 +93,21 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -23693,6 +23699,13 @@ index 4ade815eaf3d..bafd0444d592 100644
 -        "/third_party/libwebrtc/common_audio/signal_processing/filter_ar_fast_q12.c"
 -    ]
 -
+-if CONFIG["CPU_ARCH"] == "riscv64":
+-
+-    UNIFIED_SOURCES += [
+-        "/third_party/libwebrtc/common_audio/signal_processing/complex_bit_reverse.c",
+-        "/third_party/libwebrtc/common_audio/signal_processing/filter_ar_fast_q12.c"
+-    ]
+-
 -if CONFIG["MOZ_DEBUG"] == "1" and CONFIG["OS_TARGET"] == "Android":
 -
 -    DEFINES["_DEBUG"] = True
@@ -23732,11 +23745,12 @@ index 4ade815eaf3d..bafd0444d592 100644
 -    ]
 -
 -if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Android":
--
--    CFLAGS += [
--        "-msse2"
--    ]
--
++if CONFIG["CPU_ARCH"] == "x86":
+ 
+     CFLAGS += [
+         "-msse2"
+     ]
+ 
 -    OS_LIBS += [
 -        "android_support"
 -    ]
@@ -23747,7 +23761,8 @@ index 4ade815eaf3d..bafd0444d592 100644
 -    ]
 -
 -if CONFIG["CPU_ARCH"] == "x86_64" and CONFIG["OS_TARGET"] == "Android":
--
++if CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "FreeBSD":
+ 
 -    UNIFIED_SOURCES += [
 -        "/third_party/libwebrtc/common_audio/signal_processing/complex_bit_reverse.c",
 -        "/third_party/libwebrtc/common_audio/signal_processing/filter_ar_fast_q12.c"
@@ -23769,12 +23784,11 @@ index 4ade815eaf3d..bafd0444d592 100644
 -    DEFINES["_GNU_SOURCE"] = True
 -
 -if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Linux":
-+if CONFIG["CPU_ARCH"] == "x86":
- 
-     CFLAGS += [
-         "-msse2"
-     ]
- 
+-
+-    CFLAGS += [
+-        "-msse2"
+-    ]
+-
 -    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["_GNU_SOURCE"] = True
 -
@@ -23787,8 +23801,7 @@ index 4ade815eaf3d..bafd0444d592 100644
 -
 -    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["_GNU_SOURCE"] = True
-+if CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "FreeBSD":
- 
+-
 -    UNIFIED_SOURCES += [
 -        "/third_party/libwebrtc/common_audio/signal_processing/complex_bit_reverse.c",
 -        "/third_party/libwebrtc/common_audio/signal_processing/filter_ar_fast_q12.c"
@@ -25807,7 +25820,7 @@ index 13785e1c90b5..1f876a0c4821 100644
  
  Library("fft_size_256_gn")
 diff --git third_party/libwebrtc/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor_gn/moz.build third_party/libwebrtc/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor_gn/moz.build
-index 86e8bb195287..7fd37387bf8c 100644
+index 16bb5784fdc4..7fd37387bf8c 100644
 --- third_party/libwebrtc/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor_gn/moz.build
 +++ third_party/libwebrtc/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor_gn/moz.build
 @@ -12,11 +12,21 @@ AllowCompilerWarnings()
@@ -25843,7 +25856,7 @@ index 86e8bb195287..7fd37387bf8c 100644
  if not CONFIG["MOZ_DEBUG"]:
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "0"
-@@ -39,211 +53,21 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -39,217 +53,21 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -25962,6 +25975,12 @@ index 86e8bb195287..7fd37387bf8c 100644
 -        "/third_party/libwebrtc/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.c"
 -    ]
 -
+-if CONFIG["CPU_ARCH"] == "riscv64":
+-
+-    UNIFIED_SOURCES += [
+-        "/third_party/libwebrtc/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.c"
+-    ]
+-
 -if CONFIG["MOZ_DEBUG"] == "1" and CONFIG["OS_TARGET"] == "Android":
 -
 -    DEFINES["_DEBUG"] = True
@@ -49353,7 +49372,7 @@ index 3188f9057cf4..3d4123fe9245 100644
  
  Library("vad_gn")
 diff --git third_party/libwebrtc/modules/congestion_controller/congestion_controller_gn/moz.build third_party/libwebrtc/modules/congestion_controller/congestion_controller_gn/moz.build
-index b4738197183c..70906ddfce2b 100644
+index dad1ea662095..70906ddfce2b 100644
 --- third_party/libwebrtc/modules/congestion_controller/congestion_controller_gn/moz.build
 +++ third_party/libwebrtc/modules/congestion_controller/congestion_controller_gn/moz.build
 @@ -13,11 +13,21 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
@@ -49378,7 +49397,7 @@ index b4738197183c..70906ddfce2b 100644
  
  FINAL_LIBRARY = "webrtc"
  
-@@ -45,180 +55,21 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -45,181 +55,21 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -49398,6 +49417,7 @@ index b4738197183c..70906ddfce2b 100644
 -    DEFINES["__STDC_FORMAT_MACROS"] = True
 -
 -    OS_LIBS += [
+-        "GLESv2",
 -        "log"
 -    ]
 -
@@ -49768,7 +49788,7 @@ index 673e3b28ebc0..18ef7216ba3d 100644
  
  Library("alr_detector_gn")
 diff --git third_party/libwebrtc/modules/congestion_controller/goog_cc/delay_based_bwe_gn/moz.build third_party/libwebrtc/modules/congestion_controller/goog_cc/delay_based_bwe_gn/moz.build
-index 0a7053cdc2b5..d549b16faaf1 100644
+index cacce96f8838..d549b16faaf1 100644
 --- third_party/libwebrtc/modules/congestion_controller/goog_cc/delay_based_bwe_gn/moz.build
 +++ third_party/libwebrtc/modules/congestion_controller/goog_cc/delay_based_bwe_gn/moz.build
 @@ -13,11 +13,21 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
@@ -49793,7 +49813,7 @@ index 0a7053cdc2b5..d549b16faaf1 100644
  
  FINAL_LIBRARY = "webrtc"
  
-@@ -45,180 +55,21 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -45,181 +55,21 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -49813,6 +49833,7 @@ index 0a7053cdc2b5..d549b16faaf1 100644
 -    DEFINES["__STDC_FORMAT_MACROS"] = True
 -
 -    OS_LIBS += [
+-        "GLESv2",
 -        "log"
 -    ]
 -
@@ -50190,7 +50211,7 @@ index a75ba289fcc7..a37a5a617b4d 100644
  
  Library("estimators_gn")
 diff --git third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_gn/moz.build third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_gn/moz.build
-index 5a9a2ff159d1..7dd9df879aeb 100644
+index c792c01f32b3..7dd9df879aeb 100644
 --- third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_gn/moz.build
 +++ third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_gn/moz.build
 @@ -13,11 +13,21 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
@@ -50215,7 +50236,7 @@ index 5a9a2ff159d1..7dd9df879aeb 100644
  
  FINAL_LIBRARY = "webrtc"
  
-@@ -44,180 +54,21 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -44,181 +54,21 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -50235,6 +50256,7 @@ index 5a9a2ff159d1..7dd9df879aeb 100644
 -    DEFINES["__STDC_FORMAT_MACROS"] = True
 -
 -    OS_LIBS += [
+-        "GLESv2",
 -        "log"
 -    ]
 -
@@ -51635,7 +51657,7 @@ index e5085dddc7cc..1e2eae1bb0e5 100644
  
  Library("send_side_bwe_gn")
 diff --git third_party/libwebrtc/modules/congestion_controller/rtp/control_handler_gn/moz.build third_party/libwebrtc/modules/congestion_controller/rtp/control_handler_gn/moz.build
-index 0f02a2523d3e..e107dc439687 100644
+index 7303066f89fd..e107dc439687 100644
 --- third_party/libwebrtc/modules/congestion_controller/rtp/control_handler_gn/moz.build
 +++ third_party/libwebrtc/modules/congestion_controller/rtp/control_handler_gn/moz.build
 @@ -12,11 +12,21 @@ AllowCompilerWarnings()
@@ -51660,7 +51682,7 @@ index 0f02a2523d3e..e107dc439687 100644
  
  FINAL_LIBRARY = "webrtc"
  
-@@ -43,180 +53,21 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -43,181 +53,21 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -51680,6 +51702,7 @@ index 0f02a2523d3e..e107dc439687 100644
 -    DEFINES["__STDC_FORMAT_MACROS"] = True
 -
 -    OS_LIBS += [
+-        "GLESv2",
 -        "log"
 -    ]
 -
@@ -52199,7 +52222,7 @@ index 06e178901e14..8c38587543bd 100644
 -
  Library("desktop_capture_differ_sse2_gn")
 diff --git third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn/moz.build third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn/moz.build
-index 98561c261af8..a655376d372a 100644
+index d556763c7a51..a655376d372a 100644
 --- third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn/moz.build
 +++ third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn/moz.build
 @@ -14,11 +14,21 @@ AllowCompilerWarnings()
@@ -52224,7 +52247,7 @@ index 98561c261af8..a655376d372a 100644
  
  FINAL_LIBRARY = "webrtc"
  
-@@ -70,348 +80,28 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -70,436 +80,28 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -52351,6 +52374,7 @@ index 98561c261af8..a655376d372a 100644
 -        "dxgi",
 -        "iphlpapi",
 -        "secur32",
+-        "shcore",
 -        "winmm"
 -    ]
 -
@@ -52460,6 +52484,35 @@ index 98561c261af8..a655376d372a 100644
 -        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_window_property.cc"
 -    ]
 -
+-if CONFIG["CPU_ARCH"] == "riscv64":
+-
+-    DEFINES["USE_X11"] = "1"
+-    DEFINES["WEBRTC_USE_X11"] = True
+-
+-    OS_LIBS += [
+-        "X11",
+-        "Xcomposite",
+-        "Xdamage",
+-        "Xext",
+-        "Xfixes",
+-        "Xrandr",
+-        "Xrender",
+-        "Xtst"
+-    ]
+-
+-    UNIFIED_SOURCES += [
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/mouse_cursor_monitor_x11.cc",
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/screen_capturer_x11.cc",
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/shared_x_display.cc",
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/window_capturer_x11.cc",
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/window_finder_x11.cc",
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/window_list_utils.cc",
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_atom_cache.cc",
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_error_trap.cc",
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_server_pixel_buffer.cc",
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_window_property.cc"
+-    ]
+-
 -if CONFIG["MOZ_DEBUG"] == "1" and CONFIG["OS_TARGET"] == "Darwin":
 -
 -    DEFINES["_DEBUG"] = True
@@ -52560,9 +52613,8 @@ index 98561c261af8..a655376d372a 100644
 -    SOURCES += [
 -        "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc"
 -    ]
-+if not CONFIG["MOZ_X11"] and CONFIG["OS_TARGET"] == "FreeBSD":
- 
-     UNIFIED_SOURCES += [
+-
+-    UNIFIED_SOURCES += [
 -        "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc",
 -        "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/mouse_cursor_monitor_pipewire.cc",
 -        "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/restore_token_manager.cc",
@@ -52570,34 +52622,9 @@ index 98561c261af8..a655376d372a 100644
 -        "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc",
 -        "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_stream_utils.cc",
 -        "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc"
-+        "/third_party/libwebrtc/modules/desktop_capture/mouse_cursor_monitor_null.cc",
-+        "/third_party/libwebrtc/modules/desktop_capture/screen_capturer_null.cc",
-+        "/third_party/libwebrtc/modules/desktop_capture/window_capturer_null.cc"
-     ]
- 
--if CONFIG["CPU_ARCH"] == "aarch64" and CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "Linux":
-+if CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "FreeBSD":
- 
-     DEFINES["USE_X11"] = "1"
-     DEFINES["WEBRTC_USE_X11"] = True
-@@ -427,91 +117,8 @@ if CONFIG["CPU_ARCH"] == "aarch64" and CONFIG["MOZ_X11"] == "1" and CONFIG["OS_T
-         "Xtst"
-     ]
- 
--    UNIFIED_SOURCES += [
--        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/mouse_cursor_monitor_x11.cc",
--        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/screen_capturer_x11.cc",
--        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/shared_x_display.cc",
--        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/window_capturer_x11.cc",
--        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/window_finder_x11.cc",
--        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/window_list_utils.cc",
--        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_atom_cache.cc",
--        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_error_trap.cc",
--        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_server_pixel_buffer.cc",
--        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_window_property.cc"
 -    ]
 -
--if CONFIG["CPU_ARCH"] == "arm" and CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "Linux":
+-if CONFIG["CPU_ARCH"] == "aarch64" and CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "Linux":
 -
 -    DEFINES["USE_X11"] = "1"
 -    DEFINES["WEBRTC_USE_X11"] = True
@@ -52626,7 +52653,7 @@ index 98561c261af8..a655376d372a 100644
 -        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_window_property.cc"
 -    ]
 -
--if CONFIG["CPU_ARCH"] == "x86" and CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "Linux":
+-if CONFIG["CPU_ARCH"] == "arm" and CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "Linux":
 -
 -    DEFINES["USE_X11"] = "1"
 -    DEFINES["WEBRTC_USE_X11"] = True
@@ -52641,7 +52668,33 @@ index 98561c261af8..a655376d372a 100644
 -        "Xrender",
 -        "Xtst"
 -    ]
--
++if not CONFIG["MOZ_X11"] and CONFIG["OS_TARGET"] == "FreeBSD":
+ 
+     UNIFIED_SOURCES += [
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/mouse_cursor_monitor_x11.cc",
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/screen_capturer_x11.cc",
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/shared_x_display.cc",
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/window_capturer_x11.cc",
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/window_finder_x11.cc",
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/window_list_utils.cc",
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_atom_cache.cc",
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_error_trap.cc",
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_server_pixel_buffer.cc",
+-        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_window_property.cc"
++        "/third_party/libwebrtc/modules/desktop_capture/mouse_cursor_monitor_null.cc",
++        "/third_party/libwebrtc/modules/desktop_capture/screen_capturer_null.cc",
++        "/third_party/libwebrtc/modules/desktop_capture/window_capturer_null.cc"
+     ]
+ 
+-if CONFIG["CPU_ARCH"] == "x86" and CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "Linux":
++if CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "FreeBSD":
+ 
+     DEFINES["USE_X11"] = "1"
+     DEFINES["WEBRTC_USE_X11"] = True
+@@ -515,33 +117,8 @@ if CONFIG["CPU_ARCH"] == "x86" and CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGE
+         "Xtst"
+     ]
+ 
 -    UNIFIED_SOURCES += [
 -        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/mouse_cursor_monitor_x11.cc",
 -        "/third_party/libwebrtc/modules/desktop_capture/linux/x11/screen_capturer_x11.cc",
@@ -52674,7 +52727,7 @@ index 98561c261af8..a655376d372a 100644
      ]
  
      UNIFIED_SOURCES += [
-@@ -524,7 +131,9 @@ if CONFIG["CPU_ARCH"] == "x86_64" and CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TA
+@@ -554,7 +131,9 @@ if CONFIG["CPU_ARCH"] == "x86_64" and CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TA
          "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_atom_cache.cc",
          "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_error_trap.cc",
          "/third_party/libwebrtc/modules/desktop_capture/linux/x11/x_server_pixel_buffer.cc",
@@ -52766,7 +52819,7 @@ index c1f487a75c4c..000000000000
 -
 -Library("desktop_capture_objc_gn")
 diff --git third_party/libwebrtc/modules/desktop_capture/primitives_gn/moz.build third_party/libwebrtc/modules/desktop_capture/primitives_gn/moz.build
-index 6daa8be7ae1a..d75c3ca29539 100644
+index 3425de316975..d75c3ca29539 100644
 --- third_party/libwebrtc/modules/desktop_capture/primitives_gn/moz.build
 +++ third_party/libwebrtc/modules/desktop_capture/primitives_gn/moz.build
 @@ -12,11 +12,21 @@ AllowCompilerWarnings()
@@ -52791,7 +52844,7 @@ index 6daa8be7ae1a..d75c3ca29539 100644
  
  FINAL_LIBRARY = "webrtc"
  
-@@ -49,142 +59,20 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -49,146 +59,20 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -52884,6 +52937,10 @@ index 6daa8be7ae1a..d75c3ca29539 100644
 -
 -    DEFINES["USE_X11"] = "1"
 -
+-if CONFIG["CPU_ARCH"] == "riscv64":
+-
+-    DEFINES["USE_X11"] = "1"
+-
 -if CONFIG["MOZ_DEBUG"] == "1" and CONFIG["OS_TARGET"] == "Darwin":
 -
 -    DEFINES["_DEBUG"] = True
@@ -53684,7 +53741,7 @@ index 27033613552f..0aeb0b97b0db 100644
  
  Library("interval_budget_gn")
 diff --git third_party/libwebrtc/modules/pacing/pacing_gn/moz.build third_party/libwebrtc/modules/pacing/pacing_gn/moz.build
-index 49d5881a3b37..010c64914b95 100644
+index a6c94f62609f..010c64914b95 100644
 --- third_party/libwebrtc/modules/pacing/pacing_gn/moz.build
 +++ third_party/libwebrtc/modules/pacing/pacing_gn/moz.build
 @@ -12,11 +12,21 @@ AllowCompilerWarnings()
@@ -53709,7 +53766,7 @@ index 49d5881a3b37..010c64914b95 100644
  
  FINAL_LIBRARY = "webrtc"
  
-@@ -50,180 +60,21 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -50,181 +60,21 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -53729,6 +53786,7 @@ index 49d5881a3b37..010c64914b95 100644
 -    DEFINES["__STDC_FORMAT_MACROS"] = True
 -
 -    OS_LIBS += [
+-        "GLESv2",
 -        "log"
 -    ]
 -
@@ -54618,7 +54676,7 @@ index 67966cf7a9e3..6ed3a251e50c 100644
  
  Library("rtp_rtcp_format_gn")
 diff --git third_party/libwebrtc/modules/rtp_rtcp/rtp_rtcp_gn/moz.build third_party/libwebrtc/modules/rtp_rtcp/rtp_rtcp_gn/moz.build
-index 545b4d32c1d9..e9342cc76a40 100644
+index cde6cd406467..8777095f3316 100644
 --- third_party/libwebrtc/modules/rtp_rtcp/rtp_rtcp_gn/moz.build
 +++ third_party/libwebrtc/modules/rtp_rtcp/rtp_rtcp_gn/moz.build
 @@ -13,11 +13,21 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
@@ -54643,7 +54701,7 @@ index 545b4d32c1d9..e9342cc76a40 100644
  
  FINAL_LIBRARY = "webrtc"
  
-@@ -95,180 +105,21 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -97,181 +107,21 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -54663,6 +54721,7 @@ index 545b4d32c1d9..e9342cc76a40 100644
 -    DEFINES["__STDC_FORMAT_MACROS"] = True
 -
 -    OS_LIBS += [
+-        "GLESv2",
 -        "log"
 -    ]
 -
@@ -55829,10 +55888,10 @@ index 0046075b68b4..8d216e646134 100644
  
  Library("utility_gn")
 diff --git third_party/libwebrtc/modules/video_capture/video_capture_internal_impl_gn/moz.build third_party/libwebrtc/modules/video_capture/video_capture_internal_impl_gn/moz.build
-index 0efb49460601..a6ab11c23960 100644
+index e64763f2ee81..d4b1d0888a7d 100644
 --- third_party/libwebrtc/modules/video_capture/video_capture_internal_impl_gn/moz.build
 +++ third_party/libwebrtc/modules/video_capture/video_capture_internal_impl_gn/moz.build
-@@ -12,11 +12,21 @@ AllowCompilerWarnings()
+@@ -14,11 +14,21 @@ AllowCompilerWarnings()
  DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
  DEFINES["RTC_DAV1D_IN_INTERNAL_DECODER_FACTORY"] = True
  DEFINES["RTC_ENABLE_VP9"] = True
@@ -55854,21 +55913,18 @@ index 0efb49460601..a6ab11c23960 100644
  
  FINAL_LIBRARY = "webrtc"
  
-@@ -30,6 +40,13 @@ LOCAL_INCLUDES += [
-     "/tools/profiler/public"
+@@ -33,6 +43,10 @@ LOCAL_INCLUDES += [
  ]
  
-+UNIFIED_SOURCES += [
+ UNIFIED_SOURCES += [
 +    "/third_party/libwebrtc/modules/video_capture/linux/device_info_linux.cc",
 +    "/third_party/libwebrtc/modules/video_capture/linux/device_info_v4l2.cc",
 +    "/third_party/libwebrtc/modules/video_capture/linux/video_capture_linux.cc",
-+    "/third_party/libwebrtc/modules/video_capture/linux/video_capture_v4l2.cc"
-+]
-+
- if not CONFIG["MOZ_DEBUG"]:
++    "/third_party/libwebrtc/modules/video_capture/linux/video_capture_v4l2.cc",
+     "/third_party/libwebrtc/modules/video_capture/video_capture_options.cc"
+ ]
  
-     DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "0"
-@@ -39,206 +56,21 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -45,282 +59,21 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -56006,6 +56062,10 @@ index 0efb49460601..a6ab11c23960 100644
  
 -if CONFIG["CPU_ARCH"] == "arm":
 -
+-    CXXFLAGS += [
+-        "-mfpu=neon"
+-    ]
+-
 -    DEFINES["WEBRTC_ARCH_ARM"] = True
 -    DEFINES["WEBRTC_ARCH_ARM_V7"] = True
 -    DEFINES["WEBRTC_HAS_NEON"] = True
@@ -56043,6 +56103,10 @@ index 0efb49460601..a6ab11c23960 100644
 -
 -if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Android":
 -
+-    CXXFLAGS += [
+-        "-msse2"
+-    ]
+-
 -    OS_LIBS += [
 -        "android_support"
 -    ]
@@ -56050,17 +56114,49 @@ index 0efb49460601..a6ab11c23960 100644
 -if CONFIG["CPU_ARCH"] == "aarch64" and CONFIG["OS_TARGET"] == "Linux":
 -
 -    DEFINES["WEBRTC_ENABLE_AVX2"] = True
+-    DEFINES["WEBRTC_USE_PIPEWIRE"] = True
 -    DEFINES["_GNU_SOURCE"] = True
 -
--if CONFIG["CPU_ARCH"] == "arm" and CONFIG["OS_TARGET"] == "Linux":
+-    LOCAL_INCLUDES += [
+-        "/gfx/angle/checkout/include/",
+-        "/third_party/drm/drm/",
+-        "/third_party/drm/drm/include/",
+-        "/third_party/drm/drm/include/libdrm/",
+-        "/third_party/gbm/gbm/",
+-        "/third_party/libepoxy/libepoxy/include/",
+-        "/third_party/pipewire/"
+-    ]
 -
--    CXXFLAGS += [
--        "-mfpu=neon"
+-    UNIFIED_SOURCES += [
+-        "/third_party/libwebrtc/modules/video_capture/linux/camera_portal.cc",
+-        "/third_party/libwebrtc/modules/video_capture/linux/device_info_pipewire.cc",
+-        "/third_party/libwebrtc/modules/video_capture/linux/pipewire_session.cc",
+-        "/third_party/libwebrtc/modules/video_capture/linux/video_capture_pipewire.cc"
 -    ]
 -
+-if CONFIG["CPU_ARCH"] == "arm" and CONFIG["OS_TARGET"] == "Linux":
+-
 -    DEFINES["WEBRTC_ENABLE_AVX2"] = True
+-    DEFINES["WEBRTC_USE_PIPEWIRE"] = True
 -    DEFINES["_GNU_SOURCE"] = True
 -
+-    LOCAL_INCLUDES += [
+-        "/gfx/angle/checkout/include/",
+-        "/third_party/drm/drm/",
+-        "/third_party/drm/drm/include/",
+-        "/third_party/drm/drm/include/libdrm/",
+-        "/third_party/gbm/gbm/",
+-        "/third_party/libepoxy/libepoxy/include/",
+-        "/third_party/pipewire/"
+-    ]
+-
+-    UNIFIED_SOURCES += [
+-        "/third_party/libwebrtc/modules/video_capture/linux/camera_portal.cc",
+-        "/third_party/libwebrtc/modules/video_capture/linux/device_info_pipewire.cc",
+-        "/third_party/libwebrtc/modules/video_capture/linux/pipewire_session.cc",
+-        "/third_party/libwebrtc/modules/video_capture/linux/video_capture_pipewire.cc"
+-    ]
+-
 -if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Linux":
 +if CONFIG["CPU_ARCH"] == "x86":
  
@@ -56069,13 +56165,49 @@ index 0efb49460601..a6ab11c23960 100644
      ]
  
 -    DEFINES["WEBRTC_ENABLE_AVX2"] = True
+-    DEFINES["WEBRTC_USE_PIPEWIRE"] = True
 -    DEFINES["_GNU_SOURCE"] = True
--
--if CONFIG["CPU_ARCH"] == "x86_64" and CONFIG["OS_TARGET"] == "Linux":
 +if CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "FreeBSD":
  
+-    LOCAL_INCLUDES += [
+-        "/gfx/angle/checkout/include/",
+-        "/third_party/drm/drm/",
+-        "/third_party/drm/drm/include/",
+-        "/third_party/drm/drm/include/libdrm/",
+-        "/third_party/gbm/gbm/",
+-        "/third_party/libepoxy/libepoxy/include/",
+-        "/third_party/pipewire/"
+-    ]
+-
+-    UNIFIED_SOURCES += [
+-        "/third_party/libwebrtc/modules/video_capture/linux/camera_portal.cc",
+-        "/third_party/libwebrtc/modules/video_capture/linux/device_info_pipewire.cc",
+-        "/third_party/libwebrtc/modules/video_capture/linux/pipewire_session.cc",
+-        "/third_party/libwebrtc/modules/video_capture/linux/video_capture_pipewire.cc"
+-    ]
+-
+-if CONFIG["CPU_ARCH"] == "x86_64" and CONFIG["OS_TARGET"] == "Linux":
+-
 -    DEFINES["WEBRTC_ENABLE_AVX2"] = True
+-    DEFINES["WEBRTC_USE_PIPEWIRE"] = True
 -    DEFINES["_GNU_SOURCE"] = True
+-
+-    LOCAL_INCLUDES += [
+-        "/gfx/angle/checkout/include/",
+-        "/third_party/drm/drm/",
+-        "/third_party/drm/drm/include/",
+-        "/third_party/drm/drm/include/libdrm/",
+-        "/third_party/gbm/gbm/",
+-        "/third_party/libepoxy/libepoxy/include/",
+-        "/third_party/pipewire/"
+-    ]
+-
+-    UNIFIED_SOURCES += [
+-        "/third_party/libwebrtc/modules/video_capture/linux/camera_portal.cc",
+-        "/third_party/libwebrtc/modules/video_capture/linux/device_info_pipewire.cc",
+-        "/third_party/libwebrtc/modules/video_capture/linux/pipewire_session.cc",
+-        "/third_party/libwebrtc/modules/video_capture/linux/video_capture_pipewire.cc"
+-    ]
 +    DEFINES["USE_X11"] = "1"
  
  Library("video_capture_internal_impl_gn")
@@ -58745,10 +58877,10 @@ index 580529c54a58..5362bea2a05c 100644
 +    DEFINES["USE_X11"] = "1"
  
  Library("svc_rate_allocator_gn")
-diff --git third_party/libwebrtc/modules/video_coding/timing/codec_timer_gn/moz.build third_party/libwebrtc/modules/video_coding/timing/codec_timer_gn/moz.build
-index 1caa58b13ffd..1fe3fc027e55 100644
---- third_party/libwebrtc/modules/video_coding/timing/codec_timer_gn/moz.build
-+++ third_party/libwebrtc/modules/video_coding/timing/codec_timer_gn/moz.build
*** 624 LINES SKIPPED ***