diff --git a/MozillaFirefox.changes b/MozillaFirefox.changes index 6d9f3e6..d92ac10 100644 --- a/MozillaFirefox.changes +++ b/MozillaFirefox.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Sun Oct 16 20:08:21 UTC 2022 - Wolfgang Rosenauer + +- 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 diff --git a/MozillaFirefox.spec b/MozillaFirefox.spec index 2d84a47..1d01faf 100644 --- a/MozillaFirefox.spec +++ b/MozillaFirefox.spec @@ -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 +%define orig_version 106.0 %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: gcc11-c++ 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: libcurl-devel 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 @@ Patch22: mozilla-silence-no-return-type.patch 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 @@ echo "" > .obsenv.sh cat >> .obsenv.sh <= 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. diff --git a/firefox-105.0.3.source.tar.xz b/firefox-105.0.3.source.tar.xz deleted file mode 100644 index ca3154b..0000000 --- a/firefox-105.0.3.source.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f2fa1e03aecdd4dca0bcda94fd228d3a9ef3635862a2c140f8982d32ae7761e7 -size 484942048 diff --git a/firefox-105.0.3.source.tar.xz.asc b/firefox-105.0.3.source.tar.xz.asc deleted file mode 100644 index 3f721ec..0000000 --- a/firefox-105.0.3.source.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmNAVq8ACgkQ6+QekPbx -L20mJRAAqqiryKyEX4+ZwPJlq3UB3TLF/j9Qr1bl59ro/Wr6BRiqQh6er5zki4Or -m68m/wjTOzLq6zIIQxghbfRYMy8qaxsDYtumVgqccDT+e3sAwRUh0XXc3nnBZSQu -0jFBWaHGxVT8dDdd8JEYRNowIDPvNHzPr9ccyqsSZQlE4yTE95hbCxK4IGi/6mKn -IZOZyfyjYoyxmUTDJmYRE8RZRni7NVLKLc2Fodwv1N/v857K1OBdxGVTEATBEmQP -73vIV2rcxglzui/lpONZwhKB2hUR3ZsFPQpsNpilygFnuHhJ8/lQAmuJWf7lWPqp -qEfNTv2R+EHXsIXDd9nqspT7gf8krUJiMMLNKk1RJqLyeR34COqX0p4Sid4T9vTd -lcu9hqx8YmZnOlfsehImM3B/BsvJ1h5HnuMoR/8XnPiE8Qwdin1n8tPl3m37nFFj -F2gFobsZEF2wXas2RJzlOMPGlwbNmh8vnwbOuKk4fyrsVx/xoEuryFOGEj7BZMdC -2ZSkGDJeyathNm0U0z1lhq9+ACpXCShrWw8fjGeeEQ3pMZ3Do6HG7rGyvssnZ9fH -Hky2SCQsxIZCRzJnMEGyTVnU/VBOVbQVQtqzG3uVIzApRCzoaIMln+/0rwlLWYVq -a0IKVxtnM5JTboTzYvwz6/zFEJRFYL6AqZ+YrL7ZHhEnTq+HOhQ= -=6Mf3 ------END PGP SIGNATURE----- diff --git a/firefox-106.0.source.tar.xz b/firefox-106.0.source.tar.xz new file mode 100644 index 0000000..df87b71 --- /dev/null +++ b/firefox-106.0.source.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1546ebfd9d5a814f17479ed626519ed69aa3c89c22c7fb1fe5c84e4d7e5d7e18 +size 500449804 diff --git a/firefox-106.0.source.tar.xz.asc b/firefox-106.0.source.tar.xz.asc new file mode 100644 index 0000000..e1575da --- /dev/null +++ b/firefox-106.0.source.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmNEQ88ACgkQ6+QekPbx +L20/3g/8DOr/EZxi/+FL/+5Q/PjJLsnXfpZng4Yrj5XIdZ654z7uWy62CR7A8ywF +Ka2PW9SYmsHHrzugHGQqi8ef/0OUDKtHarKgaLN8v2J7GoEg7kzJ/1Rm9JPe4GGm +GJNXq9bZMrCi2I/hG/YooLG7tEIbiVQYcgxgac3CD8VGn545i4p7y9Nu4ZuxRrI1 +4C4v/9rjS0AYJ8V5X4siYq3L/SYVJYY0GLLULlQoX9i6jWB3uHbA48mxvPI4QfaK +tlT2D6uEwhRw+s5MeIwC+K8VF/xvNeON1YKoWEon36Bge+LVN1FlfcSRGxwNe/xL +SWQoMTSk02VBgAM3++N0f9e0Nd+Av2iRDV1oG0SicF5DG/0h2bxznksBquU0mOLm +vw4GHGRDHTwRVJ5bidfn/BsT/+CFfOkGhnldpDQ4dVp1S1pQMZwJADRBVbUQ4hgv +9X4GkLSBg1bJwyS2jtjjmPd3u8K0KxMk5EKrwWkFNqB4m9PzC6XPL3f5sUuFd6xN +Y7xZ61KhYNvMQofBiATlSu+u8YomMBmH1ynqsfZyoejXtdKh2slzTCTEGGoJ2SC7 +RHiQeCmHrTF9Gp8Ta/ldLyBnASCyaN2j9+jDGRI+aztoHBq/EcxEBxWz7DZWlmpD +ZerYlKilmFLTENKAaucVDVxz10mg7Yeyd7Qzt8Uvg/BUMZmEYwE= +=IwTy +-----END PGP SIGNATURE----- diff --git a/l10n-105.0.3.tar.xz b/l10n-105.0.3.tar.xz deleted file mode 100644 index 3bbe196..0000000 --- a/l10n-105.0.3.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:997e5ac1ac7ad322e7b27dbb1a2a11157681f88aab5f055097008c80fd537f96 -size 49932256 diff --git a/l10n-106.0.tar.xz b/l10n-106.0.tar.xz new file mode 100644 index 0000000..9306fe4 --- /dev/null +++ b/l10n-106.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:260dab6c8651c4e500aa4ce17e8826d6869015ad69e031810b5a3acd578ef0a4 +size 49353156 diff --git a/mozilla-bmo1504834-part1.patch b/mozilla-bmo1504834-part1.patch index 1ebdbfc..c6fbe4e 100644 --- a/mozilla-bmo1504834-part1.patch +++ b/mozilla-bmo1504834-part1.patch @@ -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/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp 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. // The following values are endian-independent synonyms. The _UINT32 suffix // indicates that the name reflects the layout when viewed as a uint32_t diff --git a/mozilla-i686-build.patch b/mozilla-buildfixes.patch similarity index 67% rename from mozilla-i686-build.patch rename to mozilla-buildfixes.patch index 7a56e00..d62995c 100644 --- a/mozilla-i686-build.patch +++ b/mozilla-buildfixes.patch @@ -1,6 +1,6 @@ # HG changeset patch # User Wolfgang Rosenauer -# Parent 63af48397aee6985bb8d711bd918a201e5c8c282 +# 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 @@ -25,6 +25,28 @@ diff --git a/js/src/jit/GenerateAtomicOperations.py b/js/src/jit/GenerateAtomicO } // 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 diff --git a/mozilla-s390-context.patch b/mozilla-s390-context.patch index 070200a..470ea51 100644 --- a/mozilla-s390-context.patch +++ b/mozilla-s390-context.patch @@ -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 @@ diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers # 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) diff --git a/mozilla-silence-no-return-type.patch b/mozilla-silence-no-return-type.patch index 88233c1..893fd16 100644 --- a/mozilla-silence-no-return-type.patch +++ b/mozilla-silence-no-return-type.patch @@ -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.lock b/Cargo.lock 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 @@ diff --git a/Cargo.toml b/Cargo.toml +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/intl/icu/source/i18n/number_rounding.cpp b/intl/icu/source/i18n/num 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 @@ diff --git a/third_party/libwebrtc/api/adaptation/resource.cc b/third_party/libw 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 @@ diff --git a/third_party/libwebrtc/api/rtp_parameters.cc b/third_party/libwebrtc 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 @@ diff --git a/third_party/libwebrtc/api/video_codecs/video_codec.cc b/third_party 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 @@ diff --git a/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallb 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* frame_types) { @@ -2065,19 +2067,16 @@ diff --git a/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallb 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 @@ diff --git a/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc b/thi 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 @@ diff --git a/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc b/thi 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 @@ diff --git a/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc b/thi 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 @@ diff --git a/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc b/thi 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(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 @@ diff --git a/third_party/libwebrtc/call/simulated_network.cc b/third_party/libwe } return false; } -+ RTC_NOTREACHED(); + RTC_CHECK_NOTREACHED(); + return false; } @@ -2169,19 +2164,16 @@ diff --git a/third_party/libwebrtc/call/simulated_network.cc b/third_party/libwe 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 @@ diff --git a/third_party/libwebrtc/call/video_send_stream.cc b/third_party/libwe 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 Creat + /*adaptive_step_estimation=*/true); + case ClippingPredictorMode::kFixedStepClippingPeakPrediction: + return std::make_unique( + 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(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 PreprocessWeights(rtc + rtc::FunctionView 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 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 @@ diff --git a/third_party/libwebrtc/modules/audio_processing/audio_processing_imp submodules_.noise_suppressor = std::make_unique( 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 ""; } + RTC_CHECK_NOTREACHED(); ++ return ""; } - std::string GainController1ModeToString( - const AudioProcessing::Config::GainController1::Mode& mode) { + std::string GainController1ModeToString(const Agc1Config::Mode& mode) { switch (mode) { - case AudioProcessing::Config::GainController1::Mode::kAdaptiveAnalog: + case Agc1Config::Mode::kAdaptiveAnalog: return "AdaptiveAnalog"; - case AudioProcessing::Config::GainController1::Mode::kAdaptiveDigital: + case Agc1Config::Mode::kAdaptiveDigital: return "AdaptiveDigital"; - case AudioProcessing::Config::GainController1::Mode::kFixedDigital: + case Agc1Config::Mode::kFixedDigital: return "FixedDigital"; -+ default: -+ RTC_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 ""; - } - } - - 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 Cr - return std::make_unique(); - case kVideoCodecVP9: +@@ -33,11 +33,12 @@ std::unique_ptr Cr return std::make_unique(); case kVideoCodecAV1: return std::make_unique(); case kVideoCodecGeneric: case kVideoCodecMultiplex: return std::make_unique(); -+ 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 @@ diff --git a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc b/third 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 @@ diff --git a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc b "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( num_temporal_layers); case Vp8TemporalLayersType::kBitrateDynamic: // Conference mode temporal layering for screen content in base stream. return std::make_unique(num_temporal_layers); -+ default: -+ RTC_NOTREACHED(); -+ return nullptr; } + RTC_CHECK_NOTREACHED(); ++ return nullptr; } TemporalLayersChecker::TemporalLayersChecker(int num_temporal_layers) @@ -2414,29 +2371,28 @@ diff --git a/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_laye 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 GetActiveLayersFlags(const VideoCodec& codec) { + std::vector 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 diff --git a/tar_stamps b/tar_stamps index d8bb347..39da2cb 100644 --- a/tar_stamps +++ b/tar_stamps @@ -1,10 +1,10 @@ PRODUCT="firefox" CHANNEL="release" -VERSION="105.0.3" +VERSION="106.0" VERSION_SUFFIX="" -PREV_VERSION="105.0.2" +PREV_VERSION="105.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="eecea05aff4d09b70d13842a8e07160f04ac0349" +RELEASE_TIMESTAMP="20221010110315"