--- a/MozillaFirefox/MozillaFirefox.changes Mon Oct 17 21:08:02 2022 +0200
+++ b/MozillaFirefox/MozillaFirefox.changes Tue Nov 15 15:11:07 2022 +0100
@@ -1,4 +1,71 @@
-------------------------------------------------------------------
+Sat Nov 5 13:16:42 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
+
+- Mozilla Firefox 106.0.5:
+ * Addresses a crash experienced by users with Intel Gemini Lake
+ CPUs (bmo#1702019)
+- Mozilla Firefox 106.0.4:
+ * Fixed an issue with DRM Video playback (bmo#1797292)
+ * Fixed broken layout of datetime input when switching
+ types (bmo#1797139)
+
+-------------------------------------------------------------------
+Tue Nov 1 19:26:39 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
+
+- Mozilla Firefox 106.0.3
+ * Fixes for other platforms
+
+-------------------------------------------------------------------
+Thu Oct 27 18:07:29 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
+
+- Mozilla Firefox 106.0.2
+ * Fix missing content on some PDF forms (bmo#1794351)
+ * Fix column width for the Notification sub-panel in Settings
+ (bmo#1793558)
+ * Fix a browser freeze with accessibility enabled on some sites
+ such as the Proxmox Web UI (bmo#1793748)
+ * Fix page reloading not working with Firefox View and not
+ refreshing synced data (bmo#1792680, bmo#1794474)
+
+-------------------------------------------------------------------
+Sun Oct 23 07:34:50 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
+
+- Mozilla Firefox 106.0.1
+ * Addresses a crash experienced by users with AMD Zen 1 CPUs
+ (bmo#1796126)
+
+-------------------------------------------------------------------
+Sun Oct 16 20:08:21 UTC 2022 - Wolfgang Rosenauer <wr@rosenauer.org>
+
+- Mozilla Firefox 106.0
+ * support editing of PDFs
+ * introduced Firefox View
+ * major WebRTC update
+ - Better screen sharing for Windows and Linux Wayland users
+ - RTP performance and reliability improvements
+ - Richer statistics
+ - Cross-browser and service compatibility improvements
+ * detailed releasenotes
+ https://www.mozilla.org/en-US/firefox/106.0/releasenotes
+ MFSA 2022-44 (bsc#1204421)
+ * CVE-2022-42927 (bmo#1789128)
+ Same-origin policy violation could have leaked cross-origin URLs
+ * CVE-2022-42928 (bmo#1791520)
+ Memory Corruption in JS Engine
+ * CVE-2022-42929 (bmo#1789439)
+ Denial of Service via window.print
+ * CVE-2022-42930 (bmo#1789503)
+ Race condition in DOM Workers
+ * CVE-2022-42931 (bmo#1780571)
+ Username saved to a plaintext file on disk
+ * CVE-2022-42932 (bmo#1789729, bmo#1791363, bmo#1792041)
+ Memory safety bugs fixed in Firefox
+- added -msse2 flag to fix i386 build and workaround bmo#1795993
+- fixed used buildflags
+- renamed mozilla-i686-build.patch to mozilla-buildfixes.patch
+ as it was extended with changes for other archs
+
+-------------------------------------------------------------------
Sat Oct 8 13:41:12 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
- Mozilla Firefox 105.0.3:
--- a/MozillaFirefox/MozillaFirefox.spec Mon Oct 17 21:08:02 2022 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec Tue Nov 15 15:11:07 2022 +0100
@@ -1,5 +1,5 @@
#
-# spec file
+# spec file for package MozillaFirefox
#
# Copyright (c) 2022 SUSE LLC
# 2006-2022 Wolfgang Rosenauer <wr@rosenauer.org>
@@ -28,9 +28,9 @@
# orig_suffix b3
# major 69
# mainver %major.99
-%define major 105
-%define mainver %major.0.3
-%define orig_version 105.0.3
+%define major 106
+%define mainver %major.0.5
+%define orig_version 106.0.5
%define orig_suffix %{nil}
%define update_channel release
%define branding 1
@@ -54,8 +54,10 @@
%ifarch %ix86
ExclusiveArch: i586 i686
BuildArch: i686
-%{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic}
+%{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic -msse2}
%endif
+%{expand:%%global optflags %(echo "%optflags"|sed -e s/-Werror=return-type//) }
+%{expand:%%global optflags %(echo "%optflags"|sed -e s/-flto=auto//) }
# general build definitions
%define progname firefox
@@ -97,8 +99,8 @@
BuildRequires: gcc-c++
%endif
%if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150300
-BuildRequires: cargo >= 1.59
-BuildRequires: rust >= 1.59
+BuildRequires: cargo >= 1.61
+BuildRequires: rust >= 1.61
%else
# Newer sle/leap/tw use parallel versioned rust releases which have
# a different method for provides that we can use to request a
@@ -117,8 +119,8 @@
BuildRequires: libiw-devel
BuildRequires: libproxy-devel
BuildRequires: makeinfo
-BuildRequires: mozilla-nspr-devel >= 4.34.1
-BuildRequires: mozilla-nss-devel >= 3.82
+BuildRequires: mozilla-nspr-devel >= 4.35
+BuildRequires: mozilla-nss-devel >= 3.83
BuildRequires: nasm >= 2.14
BuildRequires: nodejs >= 10.22.1
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
@@ -224,7 +226,7 @@
Patch23: mozilla-bmo531915.patch
Patch25: one_swizzle_to_rule_them_all.patch
Patch26: svg-rendering.patch
-Patch27: mozilla-i686-build.patch
+Patch27: mozilla-buildfixes.patch
# Firefox/browser
Patch101: firefox-kde.patch
Patch102: firefox-branded-icons.patch
@@ -362,15 +364,16 @@
cat >> .obsenv.sh <<EOF
export CARGO_HOME=${RPM_BUILD_DIR}/%{srcname}-%{orig_version}/.cargo
-export MOZ_SOURCE_CHANGESET=$RELEASE_TAG
-export SOURCE_REPO=$RELEASE_REPO
-export source_repo=$RELEASE_REPO
-export MOZ_SOURCE_REPO=$RELEASE_REPO
-export MOZ_BUILD_DATE=$RELEASE_TIMESTAMP
+export MOZ_SOURCE_CHANGESET=\$RELEASE_TAG
+export SOURCE_REPO=\$RELEASE_REPO
+export source_repo=\$RELEASE_REPO
+export MOZ_SOURCE_REPO=\$RELEASE_REPO
+export MOZ_BUILD_DATE=\$RELEASE_TIMESTAMP
export MOZILLA_OFFICIAL=1
export BUILD_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1
export MACH_USE_SYSTEM_PYTHON=1
+export CFLAGS="%{optflags}"
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150400
export CC=gcc-11
%else
@@ -378,23 +381,23 @@
export CC=gcc
export CXX=g++
%if 0%{?gcc_version:%{gcc_version}} >= 12
-export CFLAGS="$CFLAGS -fimplicit-constexpr"
+export CFLAGS="\$CFLAGS -fimplicit-constexpr"
%endif
%endif
%endif
%ifarch %arm %ix86
# Limit RAM usage during link
-export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
+export LDFLAGS="\$LDFLAGS -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
# A lie to prevent -Wl,--gc-sections being set which requires more memory than 32bit can offer
export GC_SECTIONS_BREAKS_DEBUG_RANGES=yes
%endif
-export LDFLAGS="${LDFLAGS} -fPIC -Wl,-z,relro,-z,now"
+export LDFLAGS="\$LDFLAGS -fPIC -Wl,-z,relro,-z,now"
%ifarch ppc64 ppc64le
%if 0%{?clang_build} == 0
-export CFLAGS="$CFLAGS -mminimal-toc"
+export CFLAGS="\$CFLAGS -mminimal-toc"
%endif
%endif
-export CXXFLAGS="$CFLAGS"
+export CXXFLAGS="\$CFLAGS"
export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
EOF
# Done with env-variables.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/MozillaFirefox/mozilla-buildfixes.patch Tue Nov 15 15:11:07 2022 +0100
@@ -0,0 +1,1 @@
+../mozilla-buildfixes.patch
\ No newline at end of file
--- a/MozillaFirefox/mozilla-i686-build.patch Mon Oct 17 21:08:02 2022 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-i686-build.patch
\ No newline at end of file
--- a/MozillaFirefox/tar_stamps Mon Oct 17 21:08:02 2022 +0200
+++ b/MozillaFirefox/tar_stamps Tue Nov 15 15:11:07 2022 +0100
@@ -1,10 +1,10 @@
PRODUCT="firefox"
CHANNEL="release"
-VERSION="105.0.3"
+VERSION="106.0.5"
VERSION_SUFFIX=""
-PREV_VERSION="105.0.2"
+PREV_VERSION="106.0.3"
PREV_VERSION_SUFFIX=""
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release"
-RELEASE_TAG="5a2af3ed86a64618b34bde6f427f2132b13f6bed"
-RELEASE_TIMESTAMP="20221007134813"
+RELEASE_TAG="aaf1f34d6010a4ae9384998d9e2e57911eb28aa7"
+RELEASE_TIMESTAMP="20221104133228"
--- a/mozilla-bmo1504834-part1.patch Mon Oct 17 21:08:02 2022 +0200
+++ b/mozilla-bmo1504834-part1.patch Tue Nov 15 15:11:07 2022 +0100
@@ -1,11 +1,11 @@
# HG changeset patch
-# Parent b5471d23321d16a0bacc25b7afd27d2e16adba1a
+# Parent 37d8d8fc1d9e42887a736102ff9cdab24d7a9aa8
Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
--- a/gfx/2d/DrawTargetSkia.cpp
+++ b/gfx/2d/DrawTargetSkia.cpp
-@@ -130,18 +130,17 @@ static IntRect CalculateSurfaceBounds(co
+@@ -147,18 +147,17 @@ static IntRect CalculateSurfaceBounds(co
Rect sampledBounds = inverse.TransformBounds(*aBounds);
if (!sampledBounds.ToIntRect(&bounds)) {
return surfaceBounds;
@@ -28,11 +28,11 @@
diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
--- a/gfx/2d/Types.h
+++ b/gfx/2d/Types.h
-@@ -84,25 +84,18 @@ enum class SurfaceFormat : int8_t {
+@@ -87,25 +87,18 @@ enum class SurfaceFormat : int8_t {
Depth,
// This represents the unknown format.
- UNKNOWN,
+ UNKNOWN, // TODO: Replace uses with Maybe<SurfaceFormat>.
// The following values are endian-independent synonyms. The _UINT32 suffix
// indicates that the name reflects the layout when viewed as a uint32_t
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-buildfixes.patch Tue Nov 15 15:11:07 2022 +0100
@@ -0,0 +1,71 @@
+# HG changeset patch
+# User Wolfgang Rosenauer <wr@rosenauer.org>
+# Parent 39a0846a4f2df1c4669273933d74567a8774e1da
+# References: bmo#1792159 - Add missing includes to AtomicOperationsGenerated.h
+
+diff --git a/js/src/jit/GenerateAtomicOperations.py b/js/src/jit/GenerateAtomicOperations.py
+--- a/js/src/jit/GenerateAtomicOperations.py
++++ b/js/src/jit/GenerateAtomicOperations.py
+@@ -702,16 +702,18 @@ HEADER_TEMPLATE = """\
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+ #ifndef jit_AtomicOperationsGenerated_h
+ #define jit_AtomicOperationsGenerated_h
+
+ /* This file is generated by jit/GenerateAtomicOperations.py. Do not edit! */
+
++#include "mozilla/Attributes.h"
++
+ namespace js {
+ namespace jit {
+
+ %(contents)s
+
+ } // namespace jit
+ } // namespace js
+
+diff --git a/media/ffvpx/config_unix_aarch64.h b/media/ffvpx/config_unix_aarch64.h
+--- a/media/ffvpx/config_unix_aarch64.h
++++ b/media/ffvpx/config_unix_aarch64.h
+@@ -324,17 +324,17 @@
+ #define HAVE_SETCONSOLETEXTATTRIBUTE 0
+ #define HAVE_SETCONSOLECTRLHANDLER 0
+ #define HAVE_SETDLLDIRECTORY 0
+ #define HAVE_SETMODE 0
+ #define HAVE_SETRLIMIT 1
+ #define HAVE_SLEEP 0
+ #define HAVE_STRERROR_R 1
+ #define HAVE_SYSCONF 1
+-#define HAVE_SYSCTL 1
++#define HAVE_SYSCTL 0
+ #define HAVE_USLEEP 1
+ #define HAVE_UTGETOSTYPEFROMSTRING 0
+ #define HAVE_VIRTUALALLOC 0
+ #define HAVE_WGLGETPROCADDRESS 0
+ #define HAVE_BCRYPT 0
+ #define HAVE_VAAPI_DRM 0
+ #define HAVE_VAAPI_X11 0
+ #define HAVE_VDPAU_X11 0
+diff --git a/mozglue/misc/SIMD_avx2.cpp b/mozglue/misc/SIMD_avx2.cpp
+--- a/mozglue/misc/SIMD_avx2.cpp
++++ b/mozglue/misc/SIMD_avx2.cpp
+@@ -50,17 +50,17 @@ template <typename TValue>
+ }
+ if (sizeof(TValue) == 2) {
+ return _mm256_cmpeq_epi16(a, b);
+ }
+
+ return _mm256_cmpeq_epi64(a, b);
+ }
+
+-# if defined(__GNUC__) && !defined(__clang__)
++# if 0
+
+ // See the comment in SIMD.cpp over Load32BitsIntoXMM. This is just adapted
+ // from that workaround. Testing this, it also yields the correct instructions
+ // across all tested compilers.
+ __m128i Load64BitsIntoXMM(uintptr_t ptr) {
+ int64_t tmp;
+ memcpy(&tmp, reinterpret_cast<const void*>(ptr), sizeof(tmp));
+ return _mm_cvtsi64_si128(tmp);
--- a/mozilla-i686-build.patch Mon Oct 17 21:08:02 2022 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-# HG changeset patch
-# User Wolfgang Rosenauer <wr@rosenauer.org>
-# Parent 63af48397aee6985bb8d711bd918a201e5c8c282
-# References: bmo#1792159 - Add missing includes to AtomicOperationsGenerated.h
-
-diff --git a/js/src/jit/GenerateAtomicOperations.py b/js/src/jit/GenerateAtomicOperations.py
---- a/js/src/jit/GenerateAtomicOperations.py
-+++ b/js/src/jit/GenerateAtomicOperations.py
-@@ -702,16 +702,18 @@ HEADER_TEMPLATE = """\
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
- #ifndef jit_AtomicOperationsGenerated_h
- #define jit_AtomicOperationsGenerated_h
-
- /* This file is generated by jit/GenerateAtomicOperations.py. Do not edit! */
-
-+#include "mozilla/Attributes.h"
-+
- namespace js {
- namespace jit {
-
- %(contents)s
-
- } // namespace jit
- } // namespace js
-
-diff --git a/mozglue/misc/SIMD_avx2.cpp b/mozglue/misc/SIMD_avx2.cpp
---- a/mozglue/misc/SIMD_avx2.cpp
-+++ b/mozglue/misc/SIMD_avx2.cpp
-@@ -50,17 +50,17 @@ template <typename TValue>
- }
- if (sizeof(TValue) == 2) {
- return _mm256_cmpeq_epi16(a, b);
- }
-
- return _mm256_cmpeq_epi64(a, b);
- }
-
--# if defined(__GNUC__) && !defined(__clang__)
-+# if 0
-
- // See the comment in SIMD.cpp over Load32BitsIntoXMM. This is just adapted
- // from that workaround. Testing this, it also yields the correct instructions
- // across all tested compilers.
- __m128i Load64BitsIntoXMM(uintptr_t ptr) {
- int64_t tmp;
- memcpy(&tmp, reinterpret_cast<const void*>(ptr), sizeof(tmp));
- return _mm_cvtsi64_si128(tmp);
--- a/mozilla-s390-context.patch Mon Oct 17 21:08:02 2022 +0200
+++ b/mozilla-s390-context.patch Tue Nov 15 15:11:07 2022 +0100
@@ -3,21 +3,21 @@
# Date 1558452408 -7200
# Tue May 21 17:26:48 2019 +0200
# Node ID 602e92722e765a3c238d3b96b26c0c8063b5eeb4
-# Parent 136e1f2c44a3099b3e49a576fa62c8ad77aa431e
+# Parent 263ccc06617bef4b8ef891eec54995190d5d5df3
[mq]: mozilla-s390-context.patch
diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
--- a/js/src/wasm/WasmSignalHandlers.cpp
+++ b/js/src/wasm/WasmSignalHandlers.cpp
-@@ -157,16 +157,20 @@ using mozilla::DebugOnly;
- # define R32_sig(p) ((p)->uc_mcontext.gp_regs[32])
- # endif
- # if defined(__linux__) && defined(__loongarch__)
- # define EPC_sig(p) ((p)->uc_mcontext.pc)
- # define RRA_sig(p) ((p)->uc_mcontext.gregs[1])
+@@ -163,16 +163,20 @@ using mozilla::DebugOnly;
# define RSP_sig(p) ((p)->uc_mcontext.gregs[3])
# define RFP_sig(p) ((p)->uc_mcontext.gregs[22])
# endif
+ # if defined(__sun__) && defined(__sparc__)
+ # define PC_sig(p) ((p)->uc_mcontext.gregs[REG_PC])
+ # define FP_sig(p) ((p)->uc_mcontext.gregs[REG_FPRS])
+ # define SP_sig(p) ((p)->uc_mcontext.gregs[REG_SP])
+ # endif
+# if defined(__linux__) && defined(__s390x__)
+# define GR_sig(p,x) ((p)->uc_mcontext.gregs[x])
+# define PSWa_sig(p) ((p)->uc_mcontext.psw.addr)
@@ -30,7 +30,7 @@
# define RSP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RSP])
# define RBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RBP])
# define R11_sig(p) ((p)->uc_mcontext.__gregs[_REG_R11])
-@@ -399,16 +403,20 @@ struct macos_aarch64_context {
+@@ -405,16 +409,20 @@ struct macos_aarch64_context {
# define PC_sig(p) R32_sig(p)
# define SP_sig(p) R01_sig(p)
# define FP_sig(p) R01_sig(p)
--- a/mozilla-silence-no-return-type.patch Mon Oct 17 21:08:02 2022 +0200
+++ b/mozilla-silence-no-return-type.patch Tue Nov 15 15:11:07 2022 +0100
@@ -1,10 +1,10 @@
# HG changeset patch
-# Parent 602c790a8615e43dbfe8ce15a30d020e0fb4f5e7
+# Parent ccd8f974707cba440cffeb0c66b5bcc0cda73c63
diff --git a/Cargo.lock b/Cargo.lock
--- a/Cargo.lock
+++ b/Cargo.lock
-@@ -2298,18 +2298,16 @@ name = "glsl-to-cxx"
+@@ -2296,18 +2296,16 @@ name = "glsl-to-cxx"
version = "0.1.0"
dependencies = [
"glsl",
@@ -26,7 +26,7 @@
diff --git a/Cargo.toml b/Cargo.toml
--- a/Cargo.toml
+++ b/Cargo.toml
-@@ -146,16 +146,17 @@ async-task = { git = "https://github.com
+@@ -143,16 +143,17 @@ async-task = { git = "https://github.com
chardetng = { git = "https://github.com/hsivonen/chardetng", rev="3484d3e3ebdc8931493aa5df4d7ee9360a90e76b" }
chardetng_c = { git = "https://github.com/hsivonen/chardetng_c", rev="ed8a4c6f900a90d4dbc1d64b856e61490a1c3570" }
coremidi = { git = "https://github.com/chris-zen/coremidi.git", rev="fc68464b5445caf111e41f643a2e69ccce0b4f83" }
@@ -38,11 +38,11 @@
+glslopt = { path = "third_party/rust/glslopt/" }
# application-services overrides to make updating them all simpler.
- interrupt-support = { git = "https://github.com/mozilla/application-services", rev = "2689788cecf24c385e6b7440e3aa1a89c511f14a" }
- sql-support = { git = "https://github.com/mozilla/application-services", rev = "2689788cecf24c385e6b7440e3aa1a89c511f14a" }
- sync15-traits = { git = "https://github.com/mozilla/application-services", rev = "2689788cecf24c385e6b7440e3aa1a89c511f14a" }
- viaduct = { git = "https://github.com/mozilla/application-services", rev = "2689788cecf24c385e6b7440e3aa1a89c511f14a" }
- webext-storage = { git = "https://github.com/mozilla/application-services", rev = "2689788cecf24c385e6b7440e3aa1a89c511f14a" }
+ interrupt-support = { git = "https://github.com/mozilla/application-services", rev = "fb1c78b13c27b5db1fd5458b8c2d8f433855dd61" }
+ sql-support = { git = "https://github.com/mozilla/application-services", rev = "fb1c78b13c27b5db1fd5458b8c2d8f433855dd61" }
+ sync15-traits = { git = "https://github.com/mozilla/application-services", rev = "fb1c78b13c27b5db1fd5458b8c2d8f433855dd61" }
+ viaduct = { git = "https://github.com/mozilla/application-services", rev = "fb1c78b13c27b5db1fd5458b8c2d8f433855dd61" }
+ webext-storage = { git = "https://github.com/mozilla/application-services", rev = "fb1c78b13c27b5db1fd5458b8c2d8f433855dd61" }
diff --git a/gfx/skia/skia/include/codec/SkEncodedOrigin.h b/gfx/skia/skia/include/codec/SkEncodedOrigin.h
--- a/gfx/skia/skia/include/codec/SkEncodedOrigin.h
@@ -1943,29 +1943,16 @@
diff --git a/third_party/libwebrtc/api/adaptation/resource.cc b/third_party/libwebrtc/api/adaptation/resource.cc
--- a/third_party/libwebrtc/api/adaptation/resource.cc
+++ b/third_party/libwebrtc/api/adaptation/resource.cc
-@@ -4,25 +4,29 @@
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
- #include "api/adaptation/resource.h"
-+#include "rtc_base/checks.h"
-
- namespace webrtc {
-
+@@ -17,16 +17,17 @@ namespace webrtc {
const char* ResourceUsageStateToString(ResourceUsageState usage_state) {
switch (usage_state) {
case ResourceUsageState::kOveruse:
return "kOveruse";
case ResourceUsageState::kUnderuse:
return "kUnderuse";
-+ default:
-+ RTC_NOTREACHED();
-+ return "";
}
+ RTC_CHECK_NOTREACHED();
++ return nullptr;
}
ResourceListener::~ResourceListener() {}
@@ -1973,22 +1960,20 @@
Resource::Resource() {}
Resource::~Resource() {}
+
diff --git a/third_party/libwebrtc/api/rtp_parameters.cc b/third_party/libwebrtc/api/rtp_parameters.cc
--- a/third_party/libwebrtc/api/rtp_parameters.cc
+++ b/third_party/libwebrtc/api/rtp_parameters.cc
-@@ -24,16 +24,19 @@ const char* DegradationPreferenceToStrin
- case DegradationPreference::DISABLED:
- return "disabled";
+@@ -27,16 +27,17 @@ const char* DegradationPreferenceToStrin
case DegradationPreference::MAINTAIN_FRAMERATE:
return "maintain-framerate";
case DegradationPreference::MAINTAIN_RESOLUTION:
return "maintain-resolution";
case DegradationPreference::BALANCED:
return "balanced";
-+ default:
-+ RTC_NOTREACHED();
-+ return "";
}
+ RTC_CHECK_NOTREACHED();
++ return "";
}
const double kDefaultBitratePriority = 1.0;
@@ -1996,22 +1981,42 @@
RtcpFeedback::RtcpFeedback() = default;
RtcpFeedback::RtcpFeedback(RtcpFeedbackType type) : type(type) {}
RtcpFeedback::RtcpFeedback(RtcpFeedbackType type,
+ RtcpFeedbackMessageType message_type)
+diff --git a/third_party/libwebrtc/api/video/video_frame_buffer.cc b/third_party/libwebrtc/api/video/video_frame_buffer.cc
+--- a/third_party/libwebrtc/api/video/video_frame_buffer.cc
++++ b/third_party/libwebrtc/api/video/video_frame_buffer.cc
+@@ -87,16 +87,18 @@ const char* VideoFrameBufferTypeToString
+ return "kI422";
+ case VideoFrameBuffer::Type::kI010:
+ return "kI010";
+ case VideoFrameBuffer::Type::kNV12:
+ return "kNV12";
+ default:
+ RTC_DCHECK_NOTREACHED();
+ }
++ RTC_DCHECK_NOTREACHED();
++ return nullptr;
+ }
+
+ int I420BufferInterface::ChromaWidth() const {
+ return (width() + 1) / 2;
+ }
+
+ int I420BufferInterface::ChromaHeight() const {
+ return (height() + 1) / 2;
diff --git a/third_party/libwebrtc/api/video_codecs/video_codec.cc b/third_party/libwebrtc/api/video_codecs/video_codec.cc
--- a/third_party/libwebrtc/api/video_codecs/video_codec.cc
+++ b/third_party/libwebrtc/api/video_codecs/video_codec.cc
-@@ -114,16 +114,19 @@ const char* CodecTypeToPayloadString(Vid
- case kVideoCodecAV1:
- return kPayloadNameAv1;
+@@ -117,16 +117,17 @@ const char* CodecTypeToPayloadString(Vid
case kVideoCodecH264:
return kPayloadNameH264;
case kVideoCodecMultiplex:
return kPayloadNameMultiplex;
case kVideoCodecGeneric:
return kPayloadNameGeneric;
-+ default:
-+ RTC_NOTREACHED();
-+ return "";
}
+ RTC_CHECK_NOTREACHED();
++ return "";
}
VideoCodecType PayloadStringToCodecType(const std::string& name) {
@@ -2019,22 +2024,20 @@
return kVideoCodecVP8;
if (absl::EqualsIgnoreCase(name, kPayloadNameVp9))
return kVideoCodecVP9;
+ if (absl::EqualsIgnoreCase(name, kPayloadNameAv1) ||
diff --git a/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc b/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
--- a/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
+++ b/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
-@@ -156,16 +156,19 @@ class VideoEncoderSoftwareFallbackWrappe
- << "Trying to access encoder in uninitialized fallback wrapper.";
- // Return main encoder to preserve previous behavior.
- ABSL_FALLTHROUGH_INTENDED;
+@@ -158,16 +158,17 @@ class VideoEncoderSoftwareFallbackWrappe
+ [[fallthrough]];
case EncoderState::kMainEncoderUsed:
return encoder_.get();
case EncoderState::kFallbackDueToFailure:
case EncoderState::kForcedFallback:
return fallback_encoder_.get();
-+ default:
-+ RTC_NOTREACHED();
-+ return nullptr;
}
+ RTC_CHECK_NOTREACHED();
++ return nullptr;
}
// Updates encoder with last observed parameters, such as callbacks, rates,
@@ -2042,20 +2045,19 @@
void PrimeEncoder(VideoEncoder* encoder) const;
// Settings used in the last InitEncode call and used if a dynamic fallback to
-@@ -334,16 +337,19 @@ int32_t VideoEncoderSoftwareFallbackWrap
- case EncoderState::kUninitialized:
- return WEBRTC_VIDEO_CODEC_ERROR;
+ // software is required.
+@@ -338,16 +339,17 @@ int32_t VideoEncoderSoftwareFallbackWrap
case EncoderState::kMainEncoderUsed: {
return EncodeWithMainEncoder(frame, frame_types);
}
case EncoderState::kFallbackDueToFailure:
case EncoderState::kForcedFallback:
return fallback_encoder_->Encode(frame, frame_types);
-+ default:
-+ RTC_NOTREACHED();
-+ return WEBRTC_VIDEO_CODEC_ERROR;
}
+ RTC_CHECK_NOTREACHED();
++ return WEBRTC_VIDEO_CODEC_ERROR;
}
+
int32_t VideoEncoderSoftwareFallbackWrapper::EncodeWithMainEncoder(
const VideoFrame& frame,
const std::vector<VideoFrameType>* frame_types) {
@@ -2065,19 +2067,16 @@
diff --git a/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc b/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc
--- a/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc
+++ b/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc
-@@ -156,16 +156,19 @@ const char* Adaptation::StatusToString(A
- case Adaptation::Status::kAwaitingPreviousAdaptation:
- return "kAwaitingPreviousAdaptation";
+@@ -163,16 +163,17 @@ const char* Adaptation::StatusToString(A
case Status::kInsufficientInput:
return "kInsufficientInput";
case Status::kAdaptationDisabled:
return "kAdaptationDisabled";
case Status::kRejectedByConstraint:
return "kRejectedByConstraint";
-+ default:
-+ RTC_NOTREACHED();
-+ return "";
}
+ RTC_CHECK_NOTREACHED();
++ return "";
}
Adaptation::Adaptation(int validation_id,
@@ -2085,19 +2084,17 @@
VideoAdaptationCounters counters,
VideoStreamInputState input_state)
: validation_id_(validation_id),
-@@ -375,16 +378,19 @@ VideoStreamAdapter::RestrictionsOrState
- return IncreaseResolution(input_state, current_restrictions_);
- }
+ status_(Status::kValid),
+@@ -385,16 +386,17 @@ VideoStreamAdapter::RestrictionsOrState
case DegradationPreference::MAINTAIN_RESOLUTION: {
// Scale up framerate.
return IncreaseFramerate(input_state, current_restrictions_);
}
case DegradationPreference::DISABLED:
return Adaptation::Status::kAdaptationDisabled;
-+ default:
-+ RTC_NOTREACHED();
-+ return Adaptation::Status::kAdaptationDisabled;
}
+ RTC_CHECK_NOTREACHED();
++ return Adaptation::Status::kAdaptationDisabled;
}
Adaptation VideoStreamAdapter::GetAdaptationDown() {
@@ -2105,19 +2102,17 @@
VideoStreamInputState input_state = input_state_provider_->InputState();
++adaptation_validation_id_;
RestrictionsOrState restrictions_or_state =
-@@ -454,16 +460,19 @@ VideoStreamAdapter::GetAdaptationDownSte
- case DegradationPreference::MAINTAIN_FRAMERATE: {
- return DecreaseResolution(input_state, current_restrictions);
+ GetAdaptationDownStep(input_state, current_restrictions_);
+@@ -467,16 +469,17 @@ VideoStreamAdapter::GetAdaptationDownSte
}
case DegradationPreference::MAINTAIN_RESOLUTION: {
return DecreaseFramerate(input_state, current_restrictions);
}
case DegradationPreference::DISABLED:
return Adaptation::Status::kAdaptationDisabled;
-+ default:
-+ RTC_NOTREACHED();
-+ return Adaptation::Status::kAdaptationDisabled;
}
+ RTC_CHECK_NOTREACHED();
++ return Adaptation::Status::kAdaptationDisabled;
}
VideoStreamAdapter::RestrictionsOrState VideoStreamAdapter::DecreaseResolution(
@@ -2125,18 +2120,18 @@
const RestrictionsWithCounters& current_restrictions) {
int target_pixels =
GetLowerResolutionThan(input_state.frame_size_pixels().value());
-@@ -594,16 +603,18 @@ Adaptation VideoStreamAdapter::GetAdaptD
+ // Use single active stream if set, this stream could be lower than the input.
+@@ -620,16 +623,18 @@ Adaptation VideoStreamAdapter::GetAdaptD
case DegradationPreference::MAINTAIN_FRAMERATE:
return GetAdaptationDown();
case DegradationPreference::BALANCED: {
return RestrictionsOrStateToAdaptation(
GetAdaptDownResolutionStepForBalanced(input_state), input_state);
}
- default:
- RTC_NOTREACHED();
-+ return RestrictionsOrStateToAdaptation(
-+ Adaptation::Status::kAdaptationDisabled, input_state);
}
+ RTC_CHECK_NOTREACHED();
++ return RestrictionsOrStateToAdaptation(
++ Adaptation::Status::kAdaptationDisabled, input_state);
}
VideoStreamAdapter::RestrictionsOrState
@@ -2144,11 +2139,11 @@
const VideoStreamInputState& input_state) const {
// Adapt twice if the first adaptation did not decrease resolution.
auto first_step = GetAdaptationDownStep(input_state, current_restrictions_);
+ if (!absl::holds_alternative<RestrictionsWithCounters>(first_step)) {
diff --git a/third_party/libwebrtc/call/simulated_network.cc b/third_party/libwebrtc/call/simulated_network.cc
--- a/third_party/libwebrtc/call/simulated_network.cc
+++ b/third_party/libwebrtc/call/simulated_network.cc
-@@ -72,16 +72,18 @@ bool CoDelSimulation::DropDequeuedPacket
- if (queue_size - packet_size < kMaxPacketSize)
+@@ -73,16 +73,17 @@ bool CoDelSimulation::DropDequeuedPacket
state_ = kPending;
last_drop_at_ = next_drop_at;
++drop_count_;
@@ -2156,7 +2151,7 @@
}
return false;
}
-+ RTC_NOTREACHED();
+ RTC_CHECK_NOTREACHED();
+ return false;
}
@@ -2169,19 +2164,16 @@
diff --git a/third_party/libwebrtc/call/video_send_stream.cc b/third_party/libwebrtc/call/video_send_stream.cc
--- a/third_party/libwebrtc/call/video_send_stream.cc
+++ b/third_party/libwebrtc/call/video_send_stream.cc
-@@ -22,16 +22,19 @@ namespace {
- const char* StreamTypeToString(VideoSendStream::StreamStats::StreamType type) {
- switch (type) {
+@@ -25,16 +25,17 @@ const char* StreamTypeToString(VideoSend
case VideoSendStream::StreamStats::StreamType::kMedia:
return "media";
case VideoSendStream::StreamStats::StreamType::kRtx:
return "rtx";
case VideoSendStream::StreamStats::StreamType::kFlexfec:
return "flexfec";
-+ default:
-+ RTC_NOTREACHED();
-+ return "";
}
+ RTC_CHECK_NOTREACHED();
++ return "";
}
} // namespace
@@ -2189,62 +2181,76 @@
VideoSendStream::StreamStats::StreamStats() = default;
VideoSendStream::StreamStats::~StreamStats() = default;
-diff --git a/third_party/libwebrtc/modules/audio_coding/neteq/decision_logic.cc b/third_party/libwebrtc/modules/audio_coding/neteq/decision_logic.cc
---- a/third_party/libwebrtc/modules/audio_coding/neteq/decision_logic.cc
-+++ b/third_party/libwebrtc/modules/audio_coding/neteq/decision_logic.cc
-@@ -347,17 +347,17 @@ NetEq::Operation DecisionLogic::FuturePa
- return NetEq::Operation::kNormal;
+ std::string VideoSendStream::StreamStats::ToString() const {
+diff --git a/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc b/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc
+--- a/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc
++++ b/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc
+@@ -373,11 +373,12 @@ std::unique_ptr<ClippingPredictor> Creat
+ /*adaptive_step_estimation=*/true);
+ case ClippingPredictorMode::kFixedStepClippingPeakPrediction:
+ return std::make_unique<ClippingPeakPredictor>(
+ num_channels, config.window_length, config.reference_window_length,
+ config.reference_window_delay, config.clipping_threshold,
+ /*adaptive_step_estimation=*/false);
}
+ RTC_DCHECK_NOTREACHED();
++ return nullptr;
+ }
- // If previous was comfort noise, then no merge is needed.
- if (prev_mode == NetEq::Mode::kRfc3389Cng ||
- prev_mode == NetEq::Mode::kCodecInternalCng) {
- size_t cur_size_samples =
- estimate_dtx_delay_
-- ? cur_size_samples = span_samples_in_packet_buffer
-+ ? span_samples_in_packet_buffer
- : num_packets_in_packet_buffer * decoder_frame_length;
- // Target level is in number of packets in Q8.
- const size_t target_level_samples =
- (delay_manager_->TargetLevel() * packet_length_samples_) >> 8;
- const bool generated_enough_noise =
- static_cast<uint32_t>(generated_noise_samples + target_timestamp) >=
- available_timestamp;
+ } // namespace webrtc
+diff --git a/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc b/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
+--- a/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
++++ b/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
+@@ -54,16 +54,18 @@ std::vector<float> PreprocessWeights(rtc
+ rtc::FunctionView<float(float)> GetActivationFunction(
+ ActivationFunction activation_function) {
+ switch (activation_function) {
+ case ActivationFunction::kTansigApproximated:
+ return ::rnnoise::TansigApproximated;
+ case ActivationFunction::kSigmoidApproximated:
+ return ::rnnoise::SigmoidApproximated;
+ }
++ // supposed to be never reached apparently therefore returning bogus
++ return ::rnnoise::TansigApproximated;
+ }
+ } // namespace
+
+ FullyConnectedLayer::FullyConnectedLayer(
+ const int input_size,
+ const int output_size,
+ const rtc::ArrayView<const int8_t> bias,
diff --git a/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc b/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
--- a/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
+++ b/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
-@@ -108,16 +108,19 @@ GainControl::Mode Agc1ConfigModeToInterf
- using Agc1Config = AudioProcessing::Config::GainController1;
- switch (mode) {
+@@ -116,16 +116,17 @@ GainControl::Mode Agc1ConfigModeToInterf
case Agc1Config::kAdaptiveAnalog:
return GainControl::kAdaptiveAnalog;
case Agc1Config::kAdaptiveDigital:
return GainControl::kAdaptiveDigital;
case Agc1Config::kFixedDigital:
return GainControl::kFixedDigital;
-+ default:
-+ RTC_NOTREACHED();
-+ return GainControl::kAdaptiveAnalog;
}
+ RTC_CHECK_NOTREACHED();
++ return GainControl::kAdaptiveAnalog;
+ }
+
+ bool MinimizeProcessingForUnusedOutput() {
+ return !field_trial::IsEnabled("WebRTC-MutedStateKillSwitch");
}
// Maximum lengths that frame of samples being passed from the render side to
// the capture side can have (does not apply to AEC3).
- static const size_t kMaxAllowedValuesOfSamplesPerBand = 160;
- static const size_t kMaxAllowedValuesOfSamplesPerFrame = 480;
-
-@@ -1847,16 +1850,17 @@ void AudioProcessingImpl::InitializeNois
+@@ -1921,16 +1922,17 @@ void AudioProcessingImpl::InitializeNois
case NoiseSuppresionConfig::kModerate:
return NsConfig::SuppressionLevel::k12dB;
case NoiseSuppresionConfig::kHigh:
return NsConfig::SuppressionLevel::k18dB;
case NoiseSuppresionConfig::kVeryHigh:
return NsConfig::SuppressionLevel::k21dB;
- default:
- RTC_NOTREACHED();
-+ return NsConfig::SuppressionLevel::k6dB;
}
+ RTC_CHECK_NOTREACHED();
++ return NsConfig::SuppressionLevel::k6dB;
};
NsConfig cfg;
@@ -2252,115 +2258,70 @@
submodules_.noise_suppressor = std::make_unique<NoiseSuppressor>(
cfg, proc_sample_rate_hz(), num_proc_channels());
}
+ }
diff --git a/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc b/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc
--- a/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc
+++ b/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc
-@@ -22,38 +22,47 @@ std::string NoiseSuppressionLevelToStrin
- case AudioProcessing::Config::NoiseSuppression::Level::kLow:
- return "Low";
+@@ -27,28 +27,30 @@ std::string NoiseSuppressionLevelToStrin
case AudioProcessing::Config::NoiseSuppression::Level::kModerate:
return "Moderate";
case AudioProcessing::Config::NoiseSuppression::Level::kHigh:
return "High";
case AudioProcessing::Config::NoiseSuppression::Level::kVeryHigh:
return "VeryHigh";
-+ default:
-+ RTC_NOTREACHED();
-+ return "";
}
- }
-
- std::string GainController1ModeToString(
- const AudioProcessing::Config::GainController1::Mode& mode) {
- switch (mode) {
- case AudioProcessing::Config::GainController1::Mode::kAdaptiveAnalog:
- return "AdaptiveAnalog";
- case AudioProcessing::Config::GainController1::Mode::kAdaptiveDigital:
- return "AdaptiveDigital";
- case AudioProcessing::Config::GainController1::Mode::kFixedDigital:
- return "FixedDigital";
-+ default:
-+ RTC_NOTREACHED();
-+ return "";
- }
+ RTC_CHECK_NOTREACHED();
++ return "";
}
- std::string GainController2LevelEstimatorToString(
- const AudioProcessing::Config::GainController2::LevelEstimator& level) {
- switch (level) {
- case AudioProcessing::Config::GainController2::LevelEstimator::kRms:
- return "Rms";
- case AudioProcessing::Config::GainController2::LevelEstimator::kPeak:
- return "Peak";
-+ default:
-+ RTC_NOTREACHED();
-+ return "";
+ std::string GainController1ModeToString(const Agc1Config::Mode& mode) {
+ switch (mode) {
+ case Agc1Config::Mode::kAdaptiveAnalog:
+ return "AdaptiveAnalog";
+ case Agc1Config::Mode::kAdaptiveDigital:
+ return "AdaptiveDigital";
+ case Agc1Config::Mode::kFixedDigital:
+ return "FixedDigital";
}
- }
-
- int GetDefaultMaxInternalRate() {
- #ifdef WEBRTC_ARCH_ARM_FAMILY
- return 32000;
- #else
- return 48000;
-diff --git a/third_party/libwebrtc/modules/pacing/pacing_controller.cc b/third_party/libwebrtc/modules/pacing/pacing_controller.cc
---- a/third_party/libwebrtc/modules/pacing/pacing_controller.cc
-+++ b/third_party/libwebrtc/modules/pacing/pacing_controller.cc
-@@ -78,16 +78,19 @@ int GetPriorityForType(RtpPacketMediaTyp
- // Video has "normal" priority, in the old speak.
- // Send redundancy concurrently to video. If it is delayed it might have a
- // lower chance of being useful.
- return kFirstPriority + 3;
- case RtpPacketMediaType::kPadding:
- // Packets that are in themselves likely useless, only sent to keep the
- // BWE high.
- return kFirstPriority + 4;
-+ default:
-+ RTC_NOTREACHED();
-+ return -1;
- }
+ RTC_CHECK_NOTREACHED();
++ return "";
}
} // namespace
- const TimeDelta PacingController::kMaxExpectedQueueLength =
- TimeDelta::Millis(2000);
- const float PacingController::kDefaultPaceMultiplier = 2.5f;
+ constexpr int AudioProcessing::kNativeSampleRatesHz[];
+
+ void CustomProcessing::SetRuntimeSetting(
+ AudioProcessing::RuntimeSetting setting) {}
diff --git a/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc b/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
--- a/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
+++ b/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
-@@ -31,12 +31,15 @@ std::unique_ptr<VideoRtpDepacketizer> Cr
- return std::make_unique<VideoRtpDepacketizerVp8>();
- case kVideoCodecVP9:
+@@ -33,11 +33,12 @@ std::unique_ptr<VideoRtpDepacketizer> Cr
return std::make_unique<VideoRtpDepacketizerVp9>();
case kVideoCodecAV1:
return std::make_unique<VideoRtpDepacketizerAv1>();
case kVideoCodecGeneric:
case kVideoCodecMultiplex:
return std::make_unique<VideoRtpDepacketizerGeneric>();
-+ default:
-+ RTC_NOTREACHED();
-+ return nullptr;
}
+ RTC_CHECK_NOTREACHED();
++ return nullptr;
}
} // namespace webrtc
diff --git a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc b/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
--- a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
+++ b/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
-@@ -125,16 +125,19 @@ bool IsNonVolatile(RTPExtensionType type
- case kRtpExtensionNone:
- case kRtpExtensionNumberOfExtensions:
- RTC_NOTREACHED();
- return false;
+@@ -132,16 +132,17 @@ bool IsNonVolatile(RTPExtensionType type
+ #if defined(WEBRTC_MOZILLA_BUILD)
case kRtpExtensionCsrcAudioLevel:
// TODO: Mozilla implement for CsrcAudioLevel
RTC_CHECK(false);
return false;
-+ default:
-+ RTC_NOTREACHED();
-+ return false;
+ #endif
}
+ RTC_CHECK_NOTREACHED();
++ return false;
}
bool HasBweExtension(const RtpHeaderExtensionMap& extensions_map) {
@@ -2368,22 +2329,20 @@
extensions_map.IsRegistered(kRtpExtensionTransportSequenceNumber02) ||
extensions_map.IsRegistered(kRtpExtensionAbsoluteSendTime) ||
extensions_map.IsRegistered(kRtpExtensionTransmissionTimeOffset);
+ }
diff --git a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc b/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc
--- a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc
+++ b/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc
-@@ -40,16 +40,19 @@ namespace {
- const char* FrameTypeToString(AudioFrameType frame_type) {
- switch (frame_type) {
+@@ -42,16 +42,17 @@ const char* FrameTypeToString(AudioFrame
case AudioFrameType::kEmptyFrame:
return "empty";
case AudioFrameType::kAudioFrameSpeech:
return "audio_speech";
case AudioFrameType::kAudioFrameCN:
return "audio_cn";
-+ default:
-+ RTC_NOTREACHED();
-+ return "";
}
+ RTC_CHECK_NOTREACHED();
++ return "";
}
#endif
@@ -2391,22 +2350,20 @@
"WebRTC-IncludeCaptureClockOffset";
} // namespace
+
diff --git a/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc b/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
--- a/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
+++ b/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
-@@ -23,16 +23,19 @@ TemporalLayersChecker::CreateTemporalLay
- int num_temporal_layers) {
- switch (type) {
+@@ -25,16 +25,17 @@ TemporalLayersChecker::CreateTemporalLay
case Vp8TemporalLayersType::kFixedPattern:
return std::make_unique<DefaultTemporalLayersChecker>(
num_temporal_layers);
case Vp8TemporalLayersType::kBitrateDynamic:
// Conference mode temporal layering for screen content in base stream.
return std::make_unique<TemporalLayersChecker>(num_temporal_layers);
-+ default:
-+ RTC_NOTREACHED();
-+ return nullptr;
}
+ RTC_CHECK_NOTREACHED();
++ return nullptr;
}
TemporalLayersChecker::TemporalLayersChecker(int num_temporal_layers)
@@ -2414,29 +2371,28 @@
sequence_number_(0),
last_sync_sequence_number_(0),
last_tl0_sequence_number_(0) {}
+
diff --git a/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc b/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc
--- a/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc
+++ b/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc
-@@ -49,16 +49,19 @@ bool IsFramerateScalingEnabled(Degradati
- }
-
+@@ -58,16 +58,17 @@ bool IsFramerateScalingEnabled(Degradati
std::string ToString(VideoAdaptationReason reason) {
switch (reason) {
case VideoAdaptationReason::kQuality:
return "quality";
case VideoAdaptationReason::kCpu:
return "cpu";
-+ default:
-+ RTC_NOTREACHED();
-+ return "";
}
+ RTC_CHECK_NOTREACHED();
++ return "";
}
- } // namespace
-
- class VideoStreamEncoderResourceManager::InitialFrameDropper {
- public:
- explicit InitialFrameDropper(
+ std::vector<bool> GetActiveLayersFlags(const VideoCodec& codec) {
+ std::vector<bool> flags;
+ if (codec.codecType == VideoCodecType::kVideoCodecVP9) {
+ flags.resize(codec.VP9().numberOfSpatialLayers);
+ for (size_t i = 0; i < flags.size(); ++i) {
+ flags[i] = codec.spatialLayers[i].active;
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_to_hir.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_to_hir.cpp
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_to_hir.cpp
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_to_hir.cpp
--- a/series Mon Oct 17 21:08:02 2022 +0200
+++ b/series Tue Nov 15 15:11:07 2022 +0100
@@ -21,7 +21,7 @@
mozilla-bmo531915.patch
one_swizzle_to_rule_them_all.patch
svg-rendering.patch
-mozilla-i686-build.patch
+mozilla-buildfixes.patch
# Firefox patches
firefox-kde.patch