1
0

Accepting request 1030290 from mozilla:Factory

i686 and aarch64 should be fixed. No idea for ppc64le

- 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

OBS-URL: https://build.opensuse.org/request/show/1030290
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaFirefox?expand=0&rev=377
This commit is contained in:
Dominique Leuenberger 2022-10-22 12:12:03 +00:00 committed by Git OBS Bridge
commit 44f5500b05
13 changed files with 273 additions and 261 deletions

View File

@ -1,3 +1,34 @@
-------------------------------------------------------------------
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> Sat Oct 8 13:41:12 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>

View File

@ -28,9 +28,9 @@
# orig_suffix b3 # orig_suffix b3
# major 69 # major 69
# mainver %major.99 # mainver %major.99
%define major 105 %define major 106
%define mainver %major.0.3 %define mainver %major.0
%define orig_version 105.0.3 %define orig_version 106.0
%define orig_suffix %{nil} %define orig_suffix %{nil}
%define update_channel release %define update_channel release
%define branding 1 %define branding 1
@ -54,8 +54,10 @@
%ifarch %ix86 %ifarch %ix86
ExclusiveArch: i586 i686 ExclusiveArch: i586 i686
BuildArch: 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 %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 # general build definitions
%define progname firefox %define progname firefox
@ -97,8 +99,8 @@ BuildRequires: gcc11-c++
BuildRequires: gcc-c++ BuildRequires: gcc-c++
%endif %endif
%if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150300 %if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150300
BuildRequires: cargo >= 1.59 BuildRequires: cargo >= 1.61
BuildRequires: rust >= 1.59 BuildRequires: rust >= 1.61
%else %else
# Newer sle/leap/tw use parallel versioned rust releases which have # Newer sle/leap/tw use parallel versioned rust releases which have
# a different method for provides that we can use to request a # a different method for provides that we can use to request a
@ -117,8 +119,8 @@ BuildRequires: libcurl-devel
BuildRequires: libiw-devel BuildRequires: libiw-devel
BuildRequires: libproxy-devel BuildRequires: libproxy-devel
BuildRequires: makeinfo BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.34.1 BuildRequires: mozilla-nspr-devel >= 4.35
BuildRequires: mozilla-nss-devel >= 3.82 BuildRequires: mozilla-nss-devel >= 3.83
BuildRequires: nasm >= 2.14 BuildRequires: nasm >= 2.14
BuildRequires: nodejs >= 10.22.1 BuildRequires: nodejs >= 10.22.1
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
@ -224,7 +226,7 @@ Patch22: mozilla-silence-no-return-type.patch
Patch23: mozilla-bmo531915.patch Patch23: mozilla-bmo531915.patch
Patch25: one_swizzle_to_rule_them_all.patch Patch25: one_swizzle_to_rule_them_all.patch
Patch26: svg-rendering.patch Patch26: svg-rendering.patch
Patch27: mozilla-i686-build.patch Patch27: mozilla-buildfixes.patch
# Firefox/browser # Firefox/browser
Patch101: firefox-kde.patch Patch101: firefox-kde.patch
Patch102: firefox-branded-icons.patch Patch102: firefox-branded-icons.patch
@ -362,15 +364,16 @@ echo "" > .obsenv.sh
cat >> .obsenv.sh <<EOF cat >> .obsenv.sh <<EOF
export CARGO_HOME=${RPM_BUILD_DIR}/%{srcname}-%{orig_version}/.cargo export CARGO_HOME=${RPM_BUILD_DIR}/%{srcname}-%{orig_version}/.cargo
export MOZ_SOURCE_CHANGESET=$RELEASE_TAG export MOZ_SOURCE_CHANGESET=\$RELEASE_TAG
export SOURCE_REPO=$RELEASE_REPO export SOURCE_REPO=\$RELEASE_REPO
export source_repo=$RELEASE_REPO export source_repo=\$RELEASE_REPO
export MOZ_SOURCE_REPO=$RELEASE_REPO export MOZ_SOURCE_REPO=\$RELEASE_REPO
export MOZ_BUILD_DATE=$RELEASE_TIMESTAMP export MOZ_BUILD_DATE=\$RELEASE_TIMESTAMP
export MOZILLA_OFFICIAL=1 export MOZILLA_OFFICIAL=1
export BUILD_OFFICIAL=1 export BUILD_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1 export MOZ_TELEMETRY_REPORTING=1
export MACH_USE_SYSTEM_PYTHON=1 export MACH_USE_SYSTEM_PYTHON=1
export CFLAGS="%{optflags}"
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150400 %if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150400
export CC=gcc-11 export CC=gcc-11
%else %else
@ -378,23 +381,23 @@ export CC=gcc-11
export CC=gcc export CC=gcc
export CXX=g++ export CXX=g++
%if 0%{?gcc_version:%{gcc_version}} >= 12 %if 0%{?gcc_version:%{gcc_version}} >= 12
export CFLAGS="$CFLAGS -fimplicit-constexpr" export CFLAGS="\$CFLAGS -fimplicit-constexpr"
%endif %endif
%endif %endif
%endif %endif
%ifarch %arm %ix86 %ifarch %arm %ix86
# Limit RAM usage during link # 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 # A lie to prevent -Wl,--gc-sections being set which requires more memory than 32bit can offer
export GC_SECTIONS_BREAKS_DEBUG_RANGES=yes export GC_SECTIONS_BREAKS_DEBUG_RANGES=yes
%endif %endif
export LDFLAGS="${LDFLAGS} -fPIC -Wl,-z,relro,-z,now" export LDFLAGS="\$LDFLAGS -fPIC -Wl,-z,relro,-z,now"
%ifarch ppc64 ppc64le %ifarch ppc64 ppc64le
%if 0%{?clang_build} == 0 %if 0%{?clang_build} == 0
export CFLAGS="$CFLAGS -mminimal-toc" export CFLAGS="\$CFLAGS -mminimal-toc"
%endif %endif
%endif %endif
export CXXFLAGS="$CFLAGS" export CXXFLAGS="\$CFLAGS"
export MOZCONFIG=$RPM_BUILD_DIR/mozconfig export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
EOF EOF
# Done with env-variables. # Done with env-variables.

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f2fa1e03aecdd4dca0bcda94fd228d3a9ef3635862a2c140f8982d32ae7761e7
size 484942048

View File

@ -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-----

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1546ebfd9d5a814f17479ed626519ed69aa3c89c22c7fb1fe5c84e4d7e5d7e18
size 500449804

View File

@ -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-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:997e5ac1ac7ad322e7b27dbb1a2a11157681f88aab5f055097008c80fd537f96
size 49932256

3
l10n-106.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:260dab6c8651c4e500aa4ce17e8826d6869015ad69e031810b5a3acd578ef0a4
size 49353156

View File

@ -1,11 +1,11 @@
# HG changeset patch # HG changeset patch
# Parent b5471d23321d16a0bacc25b7afd27d2e16adba1a # Parent 37d8d8fc1d9e42887a736102ff9cdab24d7a9aa8
Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834 Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
--- a/gfx/2d/DrawTargetSkia.cpp --- a/gfx/2d/DrawTargetSkia.cpp
+++ b/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); Rect sampledBounds = inverse.TransformBounds(*aBounds);
if (!sampledBounds.ToIntRect(&bounds)) { if (!sampledBounds.ToIntRect(&bounds)) {
return surfaceBounds; 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 diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
--- a/gfx/2d/Types.h --- a/gfx/2d/Types.h
+++ b/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, Depth,
// This represents the unknown format. // This represents the unknown format.
UNKNOWN, UNKNOWN, // TODO: Replace uses with Maybe<SurfaceFormat>.
// The following values are endian-independent synonyms. The _UINT32 suffix // The following values are endian-independent synonyms. The _UINT32 suffix
// indicates that the name reflects the layout when viewed as a uint32_t // indicates that the name reflects the layout when viewed as a uint32_t

View File

@ -1,6 +1,6 @@
# HG changeset patch # HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org> # User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 63af48397aee6985bb8d711bd918a201e5c8c282 # Parent 39a0846a4f2df1c4669273933d74567a8774e1da
# References: bmo#1792159 - Add missing includes to AtomicOperationsGenerated.h # References: bmo#1792159 - Add missing includes to AtomicOperationsGenerated.h
diff --git a/js/src/jit/GenerateAtomicOperations.py b/js/src/jit/GenerateAtomicOperations.py 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 jit
} // namespace js } // 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 diff --git a/mozglue/misc/SIMD_avx2.cpp b/mozglue/misc/SIMD_avx2.cpp
--- a/mozglue/misc/SIMD_avx2.cpp --- a/mozglue/misc/SIMD_avx2.cpp
+++ b/mozglue/misc/SIMD_avx2.cpp +++ b/mozglue/misc/SIMD_avx2.cpp

View File

@ -3,21 +3,21 @@
# Date 1558452408 -7200 # Date 1558452408 -7200
# Tue May 21 17:26:48 2019 +0200 # Tue May 21 17:26:48 2019 +0200
# Node ID 602e92722e765a3c238d3b96b26c0c8063b5eeb4 # Node ID 602e92722e765a3c238d3b96b26c0c8063b5eeb4
# Parent 136e1f2c44a3099b3e49a576fa62c8ad77aa431e # Parent 263ccc06617bef4b8ef891eec54995190d5d5df3
[mq]: mozilla-s390-context.patch [mq]: mozilla-s390-context.patch
diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
--- a/js/src/wasm/WasmSignalHandlers.cpp --- a/js/src/wasm/WasmSignalHandlers.cpp
+++ b/js/src/wasm/WasmSignalHandlers.cpp +++ b/js/src/wasm/WasmSignalHandlers.cpp
@@ -157,16 +157,20 @@ using mozilla::DebugOnly; @@ -163,16 +163,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])
# define RSP_sig(p) ((p)->uc_mcontext.gregs[3]) # define RSP_sig(p) ((p)->uc_mcontext.gregs[3])
# define RFP_sig(p) ((p)->uc_mcontext.gregs[22]) # define RFP_sig(p) ((p)->uc_mcontext.gregs[22])
# endif # 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__) +# if defined(__linux__) && defined(__s390x__)
+# define GR_sig(p,x) ((p)->uc_mcontext.gregs[x]) +# define GR_sig(p,x) ((p)->uc_mcontext.gregs[x])
+# define PSWa_sig(p) ((p)->uc_mcontext.psw.addr) +# 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 RSP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RSP])
# define RBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RBP]) # define RBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RBP])
# define R11_sig(p) ((p)->uc_mcontext.__gregs[_REG_R11]) # 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 PC_sig(p) R32_sig(p)
# define SP_sig(p) R01_sig(p) # define SP_sig(p) R01_sig(p)
# define FP_sig(p) R01_sig(p) # define FP_sig(p) R01_sig(p)

View File

@ -1,10 +1,10 @@
# HG changeset patch # HG changeset patch
# Parent 602c790a8615e43dbfe8ce15a30d020e0fb4f5e7 # Parent ccd8f974707cba440cffeb0c66b5bcc0cda73c63
diff --git a/Cargo.lock b/Cargo.lock diff --git a/Cargo.lock b/Cargo.lock
--- a/Cargo.lock --- a/Cargo.lock
+++ b/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" version = "0.1.0"
dependencies = [ dependencies = [
"glsl", "glsl",
@ -26,7 +26,7 @@ diff --git a/Cargo.lock b/Cargo.lock
diff --git a/Cargo.toml b/Cargo.toml diff --git a/Cargo.toml b/Cargo.toml
--- a/Cargo.toml --- a/Cargo.toml
+++ b/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 = { git = "https://github.com/hsivonen/chardetng", rev="3484d3e3ebdc8931493aa5df4d7ee9360a90e76b" }
chardetng_c = { git = "https://github.com/hsivonen/chardetng_c", rev="ed8a4c6f900a90d4dbc1d64b856e61490a1c3570" } chardetng_c = { git = "https://github.com/hsivonen/chardetng_c", rev="ed8a4c6f900a90d4dbc1d64b856e61490a1c3570" }
coremidi = { git = "https://github.com/chris-zen/coremidi.git", rev="fc68464b5445caf111e41f643a2e69ccce0b4f83" } 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/" } +glslopt = { path = "third_party/rust/glslopt/" }
# application-services overrides to make updating them all simpler. # application-services overrides to make updating them all simpler.
interrupt-support = { 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 = "2689788cecf24c385e6b7440e3aa1a89c511f14a" } sql-support = { git = "https://github.com/mozilla/application-services", rev = "fb1c78b13c27b5db1fd5458b8c2d8f433855dd61" }
sync15-traits = { git = "https://github.com/mozilla/application-services", rev = "2689788cecf24c385e6b7440e3aa1a89c511f14a" } sync15-traits = { git = "https://github.com/mozilla/application-services", rev = "fb1c78b13c27b5db1fd5458b8c2d8f433855dd61" }
viaduct = { git = "https://github.com/mozilla/application-services", rev = "2689788cecf24c385e6b7440e3aa1a89c511f14a" } viaduct = { git = "https://github.com/mozilla/application-services", rev = "fb1c78b13c27b5db1fd5458b8c2d8f433855dd61" }
webext-storage = { git = "https://github.com/mozilla/application-services", rev = "2689788cecf24c385e6b7440e3aa1a89c511f14a" } 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 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 --- 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 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 --- a/third_party/libwebrtc/api/adaptation/resource.cc
+++ b/third_party/libwebrtc/api/adaptation/resource.cc +++ b/third_party/libwebrtc/api/adaptation/resource.cc
@@ -4,25 +4,29 @@ @@ -17,16 +17,17 @@ namespace webrtc {
* 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 {
const char* ResourceUsageStateToString(ResourceUsageState usage_state) { const char* ResourceUsageStateToString(ResourceUsageState usage_state) {
switch (usage_state) { switch (usage_state) {
case ResourceUsageState::kOveruse: case ResourceUsageState::kOveruse:
return "kOveruse"; return "kOveruse";
case ResourceUsageState::kUnderuse: case ResourceUsageState::kUnderuse:
return "kUnderuse"; return "kUnderuse";
+ default:
+ RTC_NOTREACHED();
+ return "";
} }
RTC_CHECK_NOTREACHED();
+ return nullptr;
} }
ResourceListener::~ResourceListener() {} ResourceListener::~ResourceListener() {}
@ -1973,22 +1960,20 @@ diff --git a/third_party/libwebrtc/api/adaptation/resource.cc b/third_party/libw
Resource::Resource() {} Resource::Resource() {}
Resource::~Resource() {} Resource::~Resource() {}
diff --git a/third_party/libwebrtc/api/rtp_parameters.cc b/third_party/libwebrtc/api/rtp_parameters.cc 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 --- a/third_party/libwebrtc/api/rtp_parameters.cc
+++ b/third_party/libwebrtc/api/rtp_parameters.cc +++ b/third_party/libwebrtc/api/rtp_parameters.cc
@@ -24,16 +24,19 @@ const char* DegradationPreferenceToStrin @@ -27,16 +27,17 @@ const char* DegradationPreferenceToStrin
case DegradationPreference::DISABLED:
return "disabled";
case DegradationPreference::MAINTAIN_FRAMERATE: case DegradationPreference::MAINTAIN_FRAMERATE:
return "maintain-framerate"; return "maintain-framerate";
case DegradationPreference::MAINTAIN_RESOLUTION: case DegradationPreference::MAINTAIN_RESOLUTION:
return "maintain-resolution"; return "maintain-resolution";
case DegradationPreference::BALANCED: case DegradationPreference::BALANCED:
return "balanced"; return "balanced";
+ default:
+ RTC_NOTREACHED();
+ return "";
} }
RTC_CHECK_NOTREACHED();
+ return "";
} }
const double kDefaultBitratePriority = 1.0; 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() = default;
RtcpFeedback::RtcpFeedback(RtcpFeedbackType type) : type(type) {} RtcpFeedback::RtcpFeedback(RtcpFeedbackType type) : type(type) {}
RtcpFeedback::RtcpFeedback(RtcpFeedbackType 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 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 --- a/third_party/libwebrtc/api/video_codecs/video_codec.cc
+++ b/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 @@ -117,16 +117,17 @@ const char* CodecTypeToPayloadString(Vid
case kVideoCodecAV1:
return kPayloadNameAv1;
case kVideoCodecH264: case kVideoCodecH264:
return kPayloadNameH264; return kPayloadNameH264;
case kVideoCodecMultiplex: case kVideoCodecMultiplex:
return kPayloadNameMultiplex; return kPayloadNameMultiplex;
case kVideoCodecGeneric: case kVideoCodecGeneric:
return kPayloadNameGeneric; return kPayloadNameGeneric;
+ default:
+ RTC_NOTREACHED();
+ return "";
} }
RTC_CHECK_NOTREACHED();
+ return "";
} }
VideoCodecType PayloadStringToCodecType(const std::string& name) { 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; return kVideoCodecVP8;
if (absl::EqualsIgnoreCase(name, kPayloadNameVp9)) if (absl::EqualsIgnoreCase(name, kPayloadNameVp9))
return kVideoCodecVP9; 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 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 --- 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 +++ b/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
@@ -156,16 +156,19 @@ class VideoEncoderSoftwareFallbackWrappe @@ -158,16 +158,17 @@ class VideoEncoderSoftwareFallbackWrappe
<< "Trying to access encoder in uninitialized fallback wrapper."; [[fallthrough]];
// Return main encoder to preserve previous behavior.
ABSL_FALLTHROUGH_INTENDED;
case EncoderState::kMainEncoderUsed: case EncoderState::kMainEncoderUsed:
return encoder_.get(); return encoder_.get();
case EncoderState::kFallbackDueToFailure: case EncoderState::kFallbackDueToFailure:
case EncoderState::kForcedFallback: case EncoderState::kForcedFallback:
return fallback_encoder_.get(); return fallback_encoder_.get();
+ default:
+ RTC_NOTREACHED();
+ return nullptr;
} }
RTC_CHECK_NOTREACHED();
+ return nullptr;
} }
// Updates encoder with last observed parameters, such as callbacks, rates, // 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; void PrimeEncoder(VideoEncoder* encoder) const;
// Settings used in the last InitEncode call and used if a dynamic fallback to // Settings used in the last InitEncode call and used if a dynamic fallback to
@@ -334,16 +337,19 @@ int32_t VideoEncoderSoftwareFallbackWrap // software is required.
case EncoderState::kUninitialized: @@ -338,16 +339,17 @@ int32_t VideoEncoderSoftwareFallbackWrap
return WEBRTC_VIDEO_CODEC_ERROR;
case EncoderState::kMainEncoderUsed: { case EncoderState::kMainEncoderUsed: {
return EncodeWithMainEncoder(frame, frame_types); return EncodeWithMainEncoder(frame, frame_types);
} }
case EncoderState::kFallbackDueToFailure: case EncoderState::kFallbackDueToFailure:
case EncoderState::kForcedFallback: case EncoderState::kForcedFallback:
return fallback_encoder_->Encode(frame, frame_types); 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( int32_t VideoEncoderSoftwareFallbackWrapper::EncodeWithMainEncoder(
const VideoFrame& frame, const VideoFrame& frame,
const std::vector<VideoFrameType>* frame_types) { const std::vector<VideoFrameType>* 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 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 --- a/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc
+++ b/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 @@ -163,16 +163,17 @@ const char* Adaptation::StatusToString(A
case Adaptation::Status::kAwaitingPreviousAdaptation:
return "kAwaitingPreviousAdaptation";
case Status::kInsufficientInput: case Status::kInsufficientInput:
return "kInsufficientInput"; return "kInsufficientInput";
case Status::kAdaptationDisabled: case Status::kAdaptationDisabled:
return "kAdaptationDisabled"; return "kAdaptationDisabled";
case Status::kRejectedByConstraint: case Status::kRejectedByConstraint:
return "kRejectedByConstraint"; return "kRejectedByConstraint";
+ default:
+ RTC_NOTREACHED();
+ return "";
} }
RTC_CHECK_NOTREACHED();
+ return "";
} }
Adaptation::Adaptation(int validation_id, 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, VideoAdaptationCounters counters,
VideoStreamInputState input_state) VideoStreamInputState input_state)
: validation_id_(validation_id), : validation_id_(validation_id),
@@ -375,16 +378,19 @@ VideoStreamAdapter::RestrictionsOrState status_(Status::kValid),
return IncreaseResolution(input_state, current_restrictions_); @@ -385,16 +386,17 @@ VideoStreamAdapter::RestrictionsOrState
}
case DegradationPreference::MAINTAIN_RESOLUTION: { case DegradationPreference::MAINTAIN_RESOLUTION: {
// Scale up framerate. // Scale up framerate.
return IncreaseFramerate(input_state, current_restrictions_); return IncreaseFramerate(input_state, current_restrictions_);
} }
case DegradationPreference::DISABLED: case DegradationPreference::DISABLED:
return Adaptation::Status::kAdaptationDisabled; return Adaptation::Status::kAdaptationDisabled;
+ default:
+ RTC_NOTREACHED();
+ return Adaptation::Status::kAdaptationDisabled;
} }
RTC_CHECK_NOTREACHED();
+ return Adaptation::Status::kAdaptationDisabled;
} }
Adaptation VideoStreamAdapter::GetAdaptationDown() { 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(); VideoStreamInputState input_state = input_state_provider_->InputState();
++adaptation_validation_id_; ++adaptation_validation_id_;
RestrictionsOrState restrictions_or_state = RestrictionsOrState restrictions_or_state =
@@ -454,16 +460,19 @@ VideoStreamAdapter::GetAdaptationDownSte GetAdaptationDownStep(input_state, current_restrictions_);
case DegradationPreference::MAINTAIN_FRAMERATE: { @@ -467,16 +469,17 @@ VideoStreamAdapter::GetAdaptationDownSte
return DecreaseResolution(input_state, current_restrictions);
} }
case DegradationPreference::MAINTAIN_RESOLUTION: { case DegradationPreference::MAINTAIN_RESOLUTION: {
return DecreaseFramerate(input_state, current_restrictions); return DecreaseFramerate(input_state, current_restrictions);
} }
case DegradationPreference::DISABLED: case DegradationPreference::DISABLED:
return Adaptation::Status::kAdaptationDisabled; return Adaptation::Status::kAdaptationDisabled;
+ default:
+ RTC_NOTREACHED();
+ return Adaptation::Status::kAdaptationDisabled;
} }
RTC_CHECK_NOTREACHED();
+ return Adaptation::Status::kAdaptationDisabled;
} }
VideoStreamAdapter::RestrictionsOrState VideoStreamAdapter::DecreaseResolution( 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) { const RestrictionsWithCounters& current_restrictions) {
int target_pixels = int target_pixels =
GetLowerResolutionThan(input_state.frame_size_pixels().value()); 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: case DegradationPreference::MAINTAIN_FRAMERATE:
return GetAdaptationDown(); return GetAdaptationDown();
case DegradationPreference::BALANCED: { case DegradationPreference::BALANCED: {
return RestrictionsOrStateToAdaptation( return RestrictionsOrStateToAdaptation(
GetAdaptDownResolutionStepForBalanced(input_state), input_state); 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 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 { const VideoStreamInputState& input_state) const {
// Adapt twice if the first adaptation did not decrease resolution. // Adapt twice if the first adaptation did not decrease resolution.
auto first_step = GetAdaptationDownStep(input_state, current_restrictions_); 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 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 --- a/third_party/libwebrtc/call/simulated_network.cc
+++ b/third_party/libwebrtc/call/simulated_network.cc +++ b/third_party/libwebrtc/call/simulated_network.cc
@@ -72,16 +72,18 @@ bool CoDelSimulation::DropDequeuedPacket @@ -73,16 +73,17 @@ bool CoDelSimulation::DropDequeuedPacket
if (queue_size - packet_size < kMaxPacketSize)
state_ = kPending; state_ = kPending;
last_drop_at_ = next_drop_at; last_drop_at_ = next_drop_at;
++drop_count_; ++drop_count_;
@ -2156,7 +2151,7 @@ diff --git a/third_party/libwebrtc/call/simulated_network.cc b/third_party/libwe
} }
return false; return false;
} }
+ RTC_NOTREACHED(); RTC_CHECK_NOTREACHED();
+ return false; + 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 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 --- a/third_party/libwebrtc/call/video_send_stream.cc
+++ b/third_party/libwebrtc/call/video_send_stream.cc +++ b/third_party/libwebrtc/call/video_send_stream.cc
@@ -22,16 +22,19 @@ namespace { @@ -25,16 +25,17 @@ const char* StreamTypeToString(VideoSend
const char* StreamTypeToString(VideoSendStream::StreamStats::StreamType type) {
switch (type) {
case VideoSendStream::StreamStats::StreamType::kMedia: case VideoSendStream::StreamStats::StreamType::kMedia:
return "media"; return "media";
case VideoSendStream::StreamStats::StreamType::kRtx: case VideoSendStream::StreamStats::StreamType::kRtx:
return "rtx"; return "rtx";
case VideoSendStream::StreamStats::StreamType::kFlexfec: case VideoSendStream::StreamStats::StreamType::kFlexfec:
return "flexfec"; return "flexfec";
+ default:
+ RTC_NOTREACHED();
+ return "";
} }
RTC_CHECK_NOTREACHED();
+ return "";
} }
} // namespace } // 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;
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 std::string VideoSendStream::StreamStats::ToString() const {
--- a/third_party/libwebrtc/modules/audio_coding/neteq/decision_logic.cc diff --git a/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc b/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc
+++ b/third_party/libwebrtc/modules/audio_coding/neteq/decision_logic.cc --- a/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc
@@ -347,17 +347,17 @@ NetEq::Operation DecisionLogic::FuturePa +++ b/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc
return NetEq::Operation::kNormal; @@ -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. } // namespace webrtc
if (prev_mode == NetEq::Mode::kRfc3389Cng || 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
prev_mode == NetEq::Mode::kCodecInternalCng) { --- a/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
size_t cur_size_samples = +++ b/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
estimate_dtx_delay_ @@ -54,16 +54,18 @@ std::vector<float> PreprocessWeights(rtc
- ? cur_size_samples = span_samples_in_packet_buffer rtc::FunctionView<float(float)> GetActivationFunction(
+ ? span_samples_in_packet_buffer ActivationFunction activation_function) {
: num_packets_in_packet_buffer * decoder_frame_length; switch (activation_function) {
// Target level is in number of packets in Q8. case ActivationFunction::kTansigApproximated:
const size_t target_level_samples = return ::rnnoise::TansigApproximated;
(delay_manager_->TargetLevel() * packet_length_samples_) >> 8; case ActivationFunction::kSigmoidApproximated:
const bool generated_enough_noise = return ::rnnoise::SigmoidApproximated;
static_cast<uint32_t>(generated_noise_samples + target_timestamp) >= }
available_timestamp; + // 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 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 --- a/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
+++ b/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 @@ -116,16 +116,17 @@ GainControl::Mode Agc1ConfigModeToInterf
using Agc1Config = AudioProcessing::Config::GainController1;
switch (mode) {
case Agc1Config::kAdaptiveAnalog: case Agc1Config::kAdaptiveAnalog:
return GainControl::kAdaptiveAnalog; return GainControl::kAdaptiveAnalog;
case Agc1Config::kAdaptiveDigital: case Agc1Config::kAdaptiveDigital:
return GainControl::kAdaptiveDigital; return GainControl::kAdaptiveDigital;
case Agc1Config::kFixedDigital: case Agc1Config::kFixedDigital:
return GainControl::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 // Maximum lengths that frame of samples being passed from the render side to
// the capture side can have (does not apply to AEC3). // the capture side can have (does not apply to AEC3).
static const size_t kMaxAllowedValuesOfSamplesPerBand = 160; @@ -1921,16 +1922,17 @@ void AudioProcessingImpl::InitializeNois
static const size_t kMaxAllowedValuesOfSamplesPerFrame = 480;
@@ -1847,16 +1850,17 @@ void AudioProcessingImpl::InitializeNois
case NoiseSuppresionConfig::kModerate: case NoiseSuppresionConfig::kModerate:
return NsConfig::SuppressionLevel::k12dB; return NsConfig::SuppressionLevel::k12dB;
case NoiseSuppresionConfig::kHigh: case NoiseSuppresionConfig::kHigh:
return NsConfig::SuppressionLevel::k18dB; return NsConfig::SuppressionLevel::k18dB;
case NoiseSuppresionConfig::kVeryHigh: case NoiseSuppresionConfig::kVeryHigh:
return NsConfig::SuppressionLevel::k21dB; return NsConfig::SuppressionLevel::k21dB;
default:
RTC_NOTREACHED();
+ return NsConfig::SuppressionLevel::k6dB;
} }
RTC_CHECK_NOTREACHED();
+ return NsConfig::SuppressionLevel::k6dB;
}; };
NsConfig cfg; NsConfig cfg;
@ -2252,115 +2258,70 @@ diff --git a/third_party/libwebrtc/modules/audio_processing/audio_processing_imp
submodules_.noise_suppressor = std::make_unique<NoiseSuppressor>( submodules_.noise_suppressor = std::make_unique<NoiseSuppressor>(
cfg, proc_sample_rate_hz(), num_proc_channels()); 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 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 --- a/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc
+++ b/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 @@ -27,28 +27,30 @@ std::string NoiseSuppressionLevelToStrin
case AudioProcessing::Config::NoiseSuppression::Level::kLow:
return "Low";
case AudioProcessing::Config::NoiseSuppression::Level::kModerate: case AudioProcessing::Config::NoiseSuppression::Level::kModerate:
return "Moderate"; return "Moderate";
case AudioProcessing::Config::NoiseSuppression::Level::kHigh: case AudioProcessing::Config::NoiseSuppression::Level::kHigh:
return "High"; return "High";
case AudioProcessing::Config::NoiseSuppression::Level::kVeryHigh: case AudioProcessing::Config::NoiseSuppression::Level::kVeryHigh:
return "VeryHigh"; return "VeryHigh";
+ default:
+ RTC_NOTREACHED();
+ return "";
} }
RTC_CHECK_NOTREACHED();
+ return "";
} }
std::string GainController1ModeToString( std::string GainController1ModeToString(const Agc1Config::Mode& mode) {
const AudioProcessing::Config::GainController1::Mode& mode) {
switch (mode) { switch (mode) {
case AudioProcessing::Config::GainController1::Mode::kAdaptiveAnalog: case Agc1Config::Mode::kAdaptiveAnalog:
return "AdaptiveAnalog"; return "AdaptiveAnalog";
case AudioProcessing::Config::GainController1::Mode::kAdaptiveDigital: case Agc1Config::Mode::kAdaptiveDigital:
return "AdaptiveDigital"; return "AdaptiveDigital";
case AudioProcessing::Config::GainController1::Mode::kFixedDigital: case Agc1Config::Mode::kFixedDigital:
return "FixedDigital"; 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 } // namespace
const TimeDelta PacingController::kMaxExpectedQueueLength = constexpr int AudioProcessing::kNativeSampleRatesHz[];
TimeDelta::Millis(2000);
const float PacingController::kDefaultPaceMultiplier = 2.5f; 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 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 --- 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 +++ b/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
@@ -31,12 +31,15 @@ std::unique_ptr<VideoRtpDepacketizer> Cr @@ -33,11 +33,12 @@ std::unique_ptr<VideoRtpDepacketizer> Cr
return std::make_unique<VideoRtpDepacketizerVp8>();
case kVideoCodecVP9:
return std::make_unique<VideoRtpDepacketizerVp9>(); return std::make_unique<VideoRtpDepacketizerVp9>();
case kVideoCodecAV1: case kVideoCodecAV1:
return std::make_unique<VideoRtpDepacketizerAv1>(); return std::make_unique<VideoRtpDepacketizerAv1>();
case kVideoCodecGeneric: case kVideoCodecGeneric:
case kVideoCodecMultiplex: case kVideoCodecMultiplex:
return std::make_unique<VideoRtpDepacketizerGeneric>(); return std::make_unique<VideoRtpDepacketizerGeneric>();
+ default:
+ RTC_NOTREACHED();
+ return nullptr;
} }
RTC_CHECK_NOTREACHED();
+ return nullptr;
} }
} // namespace webrtc } // 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 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 --- a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
+++ b/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 @@ -132,16 +132,17 @@ bool IsNonVolatile(RTPExtensionType type
case kRtpExtensionNone: #if defined(WEBRTC_MOZILLA_BUILD)
case kRtpExtensionNumberOfExtensions:
RTC_NOTREACHED();
return false;
case kRtpExtensionCsrcAudioLevel: case kRtpExtensionCsrcAudioLevel:
// TODO: Mozilla implement for CsrcAudioLevel // TODO: Mozilla implement for CsrcAudioLevel
RTC_CHECK(false); RTC_CHECK(false);
return false; return false;
+ default: #endif
+ RTC_NOTREACHED();
+ return false;
} }
RTC_CHECK_NOTREACHED();
+ return false;
} }
bool HasBweExtension(const RtpHeaderExtensionMap& extensions_map) { 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(kRtpExtensionTransportSequenceNumber02) ||
extensions_map.IsRegistered(kRtpExtensionAbsoluteSendTime) || extensions_map.IsRegistered(kRtpExtensionAbsoluteSendTime) ||
extensions_map.IsRegistered(kRtpExtensionTransmissionTimeOffset); 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 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 --- a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc
+++ b/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 { @@ -42,16 +42,17 @@ const char* FrameTypeToString(AudioFrame
const char* FrameTypeToString(AudioFrameType frame_type) {
switch (frame_type) {
case AudioFrameType::kEmptyFrame: case AudioFrameType::kEmptyFrame:
return "empty"; return "empty";
case AudioFrameType::kAudioFrameSpeech: case AudioFrameType::kAudioFrameSpeech:
return "audio_speech"; return "audio_speech";
case AudioFrameType::kAudioFrameCN: case AudioFrameType::kAudioFrameCN:
return "audio_cn"; return "audio_cn";
+ default:
+ RTC_NOTREACHED();
+ return "";
} }
RTC_CHECK_NOTREACHED();
+ return "";
} }
#endif #endif
@ -2391,22 +2350,20 @@ diff --git a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc b
"WebRTC-IncludeCaptureClockOffset"; "WebRTC-IncludeCaptureClockOffset";
} // namespace } // 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 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 --- 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 +++ b/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
@@ -23,16 +23,19 @@ TemporalLayersChecker::CreateTemporalLay @@ -25,16 +25,17 @@ TemporalLayersChecker::CreateTemporalLay
int num_temporal_layers) {
switch (type) {
case Vp8TemporalLayersType::kFixedPattern: case Vp8TemporalLayersType::kFixedPattern:
return std::make_unique<DefaultTemporalLayersChecker>( return std::make_unique<DefaultTemporalLayersChecker>(
num_temporal_layers); num_temporal_layers);
case Vp8TemporalLayersType::kBitrateDynamic: case Vp8TemporalLayersType::kBitrateDynamic:
// Conference mode temporal layering for screen content in base stream. // Conference mode temporal layering for screen content in base stream.
return std::make_unique<TemporalLayersChecker>(num_temporal_layers); return std::make_unique<TemporalLayersChecker>(num_temporal_layers);
+ default:
+ RTC_NOTREACHED();
+ return nullptr;
} }
RTC_CHECK_NOTREACHED();
+ return nullptr;
} }
TemporalLayersChecker::TemporalLayersChecker(int num_temporal_layers) 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), sequence_number_(0),
last_sync_sequence_number_(0), last_sync_sequence_number_(0),
last_tl0_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 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 --- a/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc
+++ b/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) { std::string ToString(VideoAdaptationReason reason) {
switch (reason) { switch (reason) {
case VideoAdaptationReason::kQuality: case VideoAdaptationReason::kQuality:
return "quality"; return "quality";
case VideoAdaptationReason::kCpu: case VideoAdaptationReason::kCpu:
return "cpu"; return "cpu";
+ default:
+ RTC_NOTREACHED();
+ return "";
} }
RTC_CHECK_NOTREACHED();
+ return "";
} }
} // namespace std::vector<bool> GetActiveLayersFlags(const VideoCodec& codec) {
std::vector<bool> flags;
class VideoStreamEncoderResourceManager::InitialFrameDropper { if (codec.codecType == VideoCodecType::kVideoCodecVP9) {
public: flags.resize(codec.VP9().numberOfSpatialLayers);
explicit InitialFrameDropper( 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 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 --- 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 +++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_to_hir.cpp

View File

@ -1,10 +1,10 @@
PRODUCT="firefox" PRODUCT="firefox"
CHANNEL="release" CHANNEL="release"
VERSION="105.0.3" VERSION="106.0"
VERSION_SUFFIX="" VERSION_SUFFIX=""
PREV_VERSION="105.0.2" PREV_VERSION="105.0.3"
PREV_VERSION_SUFFIX="" PREV_VERSION_SUFFIX=""
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release" RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release"
RELEASE_TAG="5a2af3ed86a64618b34bde6f427f2132b13f6bed" RELEASE_TAG="eecea05aff4d09b70d13842a8e07160f04ac0349"
RELEASE_TIMESTAMP="20221007134813" RELEASE_TIMESTAMP="20221010110315"