5267 Commits

Author SHA1 Message Date
Erik Språng
5e180749a1 Revert "Disable frame dropping from codec settings."
This reverts commit 34aba3cefd9519a8da6700f725a9e2d99ee2ef61.

Reason for revert: Has unintended consequences for vp8 simulcast screenshare.

Original change's description:
> Disable frame dropping from codec settings.
>
> This was broken in https://webrtc-review.googlesource.com/c/src/+/99062/
>
> Bug: webrtc:9734
> Change-Id: Ibce41a732cb2e943354c87fbb05be0dd218acf27
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242366
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35568}

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:9734
Change-Id: I8a4758f6e915f40f89cc45f9530838b6cf6d1a49
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242964
Reviewed-by: Erik Språng <sprang@webrtc.org>
Auto-Submit: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35591}
2021-12-29 12:22:27 +00:00
Max Motovilov
a2631ce89f Replacing deprecated APIs with C++11 standard library facility [D33027868]
Bug: webrtc:13503
Change-Id: I78a30fdbccc2e626d07d4e42196212be2ef0dfc6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242140
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35588}
2021-12-29 07:56:37 +00:00
Shuhai Peng
9753fbc380 Video: Avoid crashing when dump stream with IvfFileWriter.
Currently some RTPVideoHeaders are not filled with width and height
information, such as AV1. If we dump the stream with command line
“--force-fieldtrials=WebRTC-DecoderDataDumpDirectory/./”, and if
width and height are 0, it will crash soon.

This CL aims to avoid crashing when the |encoded_image._encodedWidth|
and |encoded_image._encodedHeight| are 0.

Bug: webrtc:13491
Change-Id: Ie5af58c03f09a9784ed67943dc5b5959850b4368
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242500
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35576}
2021-12-23 13:37:22 +00:00
Sergey Silkin
34aba3cefd Disable frame dropping from codec settings.
This was broken in https://webrtc-review.googlesource.com/c/src/+/99062/

Bug: webrtc:9734
Change-Id: Ibce41a732cb2e943354c87fbb05be0dd218acf27
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242366
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35568}
2021-12-22 12:36:17 +00:00
cschuldt
ce702dbbe4 Optimize SSE2- & AVX2 parts of the matched filter further.
Manually unrolling the multiply-and-accumulate loop of the matched filter allows interleaving of instruction, which gives a significant saving.

Bug: None
Change-Id: Ie7a7d92bd453d81e9dd61812781a7b6d62e1f1f4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/240321
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Christian Schuldt <cschuldt@google.com>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35566}
2021-12-22 10:32:27 +00:00
Jesús de Vicente Peña
875df7e140 AEC3: Changing the default for the use_conservative_tail_frequency_response flag.
Bug: webrtc:13173
Change-Id: If53ca45b28690d7d2ed744508b5a2ef7c8448172
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/241783
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35561}
2021-12-21 17:35:26 +00:00
Sam Zackrisson
03cb7e5a61 APM: Make echo detector an optionally compilable and injectable component
Important: This change does not in any way affect echo cancellation or standardized stats. The user audio experience is unchanged. Only non-standard stats are affected. Echo return loss metrics are unchanged. Residual echo likelihood {recent max} will no longer be computed by default.

Important: The echo detector is no longer enabled by default.

API change, PSA: https://groups.google.com/g/discuss-webrtc/c/mJV5cDysBDI/m/7PTPBjVHCgAJ

This CL removes the default usage of the residual echo detector in APM.
It can now only be used via injection and the helper function webrtc::CreateEchoDetector. See how the function audio_processing_unittest.cc:CreateApm() changed, for an example.

The echo detector implementation is marked poisonous, to avoid accidental dependencies.

Some cleanup is done:
- EchoDetector::PackRenderAudioBuffer is declared in one target but is defined in another target. It is not necessary to keep in the API. It is made an implementation detail, and the echo detector input is documented in the API.
- The internal state of APM is large and difficult to track. Submodule pointers that are set permanently on construction are now appropriately marked const.

Tested:
- existing + new unit tests
- audioproc_f is bitexact on a large number of aecdumps

Bug: webrtc:11539
Change-Id: I00cc2ee112fedb06451a533409311605220064d0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239652
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35550}
2021-12-16 17:39:11 +00:00
cschuldt
4b92af786e Optimize the three band filter bank.
Reducing pointer following. This will allow the compiler to optimize more efficiently with the "-fno-strict-aliasing" flag.

Bug: None
Change-Id: I8e2d841fa543b28c59eb08c654a2b0515ab39d69
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/241780
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Christian Schuldt <cschuldt@google.com>
Cr-Commit-Position: refs/heads/main@{#35548}
2021-12-16 13:37:30 +00:00
Markus Handell
8d87c463d9 ZeroHertzAdapterMode: slow down repeats on quality convergence.
The frame cadence adapter previously resulted in unconditional
frame repeating at max FPS. Change this to slow down to an idle
rate (1 Hz) when quality convergence in all configured spatial
layers has been achieved.

go/rtc-0hz-present

Bug: chromium:1255737
Change-Id: Ifa593dbf8a61aa29da20ac250da332734ae82791
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/241421
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35547}
2021-12-16 12:01:30 +00:00
Nico Grunbaum
d525e2d9f7 Disambiguate kIvfHeaderSize for Mozilla unified build
kIvfHeaderSize is defined both inside of ivf_file_writer.cc and
ivf_file_reader.cc. This patch moves its definition into a header.

Bug: webrtc:13463
Change-Id: Ia6b2fcc3434f69a1e30a7dae7bf0c90547f11d98
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239722
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35540}
2021-12-15 08:52:00 +00:00
Mirko Bonadei
f8c18fd03a Remove forward header.
A version of WebRTC with the forward header is now present and it
will simplify the migration to the new header.

Bug: webrtc:13429
Change-Id: I14da7a9106e97f826d8ff3874a12ff66f03235e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/241202
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#35536}
2021-12-14 22:12:39 +00:00
Jeremy Leconte
67b0a4476b Remove perf test isac_fix_test.
Bug: b/210641670
Change-Id: If562d1b2aa3486a51efffb4dec471ed7064c5261
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/241360
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#35533}
2021-12-14 16:52:58 +00:00
Jan Grulich
9cb24b8396 Reland "Linux capturers: organize X11 and Wayland implementations into separate folders"
Bug: webrtc:13429
Change-Id: Ibc7488cde807f859ee82a60fe47a7e21c148764e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/240460
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#35527}
2021-12-14 03:20:34 +00:00
cschuldt
c09aed6ba4 Optimize CascadedBiQuadFilter.
Unloading states and coefficients to local variables avoids excessive memory access when building with "-fno-strict-aliasing".

Bug: None
Change-Id: I90bf81ae794c21e9e41500c5040387cf67ebdd38
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/240320
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Christian Schuldt <cschuldt@google.com>
Cr-Commit-Position: refs/heads/main@{#35518}
2021-12-10 14:02:43 +00:00
Nico Grunbaum
a6b138d6b4 Initialize last_cursor_
This ensures that last_cursor_ is intialized before it is checked.
This code is in the Firefox repo with the original review here:
https://phabricator.services.mozilla.com/D113833

Bug: webrtc:13481
Change-Id: I806009cba1aba193ab12bb86e39f98c56043000f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239725
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35509}
2021-12-09 12:56:11 +00:00
Konrad Hofbauer
d2cd8722cd Consider frame orientation for number of spatial layers in VP9.
Addresses case where 540*960 would not get a 135*240 layer.

Bug: webrtc:13469
Change-Id: Icc291c65114fb400cc71659d76a786e359e5996c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239820
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Konrad Hofbauer <hofbauer@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35507}
2021-12-09 09:39:50 +00:00
Henrik Boström
5477961acf Revert "Reland "Linux capturers: organize X11 and Wayland implementations into separate folders""
This reverts commit 913b34e5891823007c5adc7580a4d59126d51cac.

Reason for revert: Suspected for breaking chromium tests.
The WebRTC import was reverted, see:
https://chromium-review.googlesource.com/c/chromium/src/+/3322494

Due to for example failures like:
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20CFI/21522/overview

Example tests: WebRtcScreenCaptureBrowserTestWithPicker

Original change's description:
> Reland "Linux capturers: organize X11 and Wayland implementations into separate folders"
>
> Bug: webrtc:13429
> Change-Id: Ib5e429fe248f058387e23b77339558ca7d064466
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/240184
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Mark Foltz <mfoltz@chromium.org>
> Commit-Queue: Mark Foltz <mfoltz@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#35493}

TBR=mbonadei@webrtc.org,grulja@gmail.com,mfoltz@chromium.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I6d05062c9bc947d5bc6f9db5f6861cbf37d4b9bc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:13429
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/240380
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Auto-Submit: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Owners-Override: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35501}
2021-12-08 14:11:58 +00:00
philipel
ceac5d560e New FrameBuffer3.
FrameBuffer3 keep track of order, decodability and continuity of the inserted frames. Compared to FrameBuffer2 which schedule frames for decoding and is thread safe, FrameBuffer3 does not schedule decoding and is thread unsafe.

Change-Id: Ic3bd540c4f69cec26fce53a40425f3bcd9afe085
Bug: webrtc:13343
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238985
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35494}
2021-12-07 18:31:37 +00:00
Jan Grulich
913b34e589 Reland "Linux capturers: organize X11 and Wayland implementations into separate folders"
Bug: webrtc:13429
Change-Id: Ib5e429fe248f058387e23b77339558ca7d064466
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/240184
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#35493}
2021-12-07 17:22:15 +00:00
Evan Shrubsole
3d29efd279 Remove FrameBuffer::ReturnReason
This was a remenant leftover from a previous design, which was no longer
valid after the switch to TaskQueues. ReturnReason::kStopped was not
used at all, and so Timeout or FrameFound can be inferred from whether
the frame is null or not.

Bug: webrtc:13343, webrtc:13346
Change-Id: Ib0f847b1e1192e32ea11208e48f5a3892703521e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239651
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35490}
2021-12-07 14:16:17 +00:00
Jianhui Dai
9445779545 TaskQueuePacedSender: Remove pacer status update scheduler
The pacer status is never changed unless MaybeProcessPackets() is
called. This CL removes the scheduler, and updates pacer status after
every MaybeProcessPackets().

Bug: webrtc:10809, webrtc:13417
Change-Id: Ib5f18decf44c1596c0a716d799600a72b2332abd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239120
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35489}
2021-12-07 13:03:29 +00:00
Christoffer Jansson
e9ab88570b Revert "Reland "Linux capturers: organize X11 and Wayland implementations into separate folders""
This reverts commit 3a285224b62b04fc84ce027b0306bcf9ef26041f.

Reason for revert: Still breaking downstream projects due to not using forward headers. I will talk to Mark separately about the usage.

Original change's description:
> Reland "Linux capturers: organize X11 and Wayland implementations into separate folders"
>
> Bug: webrtc:13429
> Change-Id: I6e88de4f7ebcb64076312d83ac2c79db24f85ad8
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239841
> Commit-Queue: Mark Foltz <mfoltz@chromium.org>
> Reviewed-by: Mark Foltz <mfoltz@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#35481}

TBR=grulja@gmail.com,mfoltz@chromium.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I1f75e3d89495f2a9a31d0f4406a3efdf0d95f74a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:13429
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/240064
Owners-Override: Christoffer Jansson <jansson@google.com>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/main@{#35484}
2021-12-07 10:53:08 +00:00
Jan Grulich
3a285224b6 Reland "Linux capturers: organize X11 and Wayland implementations into separate folders"
Bug: webrtc:13429
Change-Id: I6e88de4f7ebcb64076312d83ac2c79db24f85ad8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239841
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#35481}
2021-12-06 17:30:16 +00:00
cschuldt
4647528911 Optimize the saturation detection (used by AnalyzeCapture()).
Changing to an index for-loop (instead of a range for-loop) allows the compiler (clang for x86 at least) to unroll it x2.

Bug: None
Change-Id: I9b9612a8513a06e8aa3b12ae39f6911217da55fa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239741
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Christian Schuldt <cschuldt@google.com>
Cr-Commit-Position: refs/heads/main@{#35478}
2021-12-06 13:00:59 +00:00
Mirko Bonadei
fec9900cc0 Revert "Linux capturers: organize X11 and Wayland implementations into separate folders"
This reverts commit 998e9bd5c55de253106b697af691169853a4e91f.

Reason for revert: Breaks downstream projects because some headers
have been renamed without providing a forward header for backwards
compatibility.

Original change's description:
> Linux capturers: organize X11 and Wayland implementations into separate folders
>
> Bug: webrtc:13429
> Change-Id: I2db727797c2ca2bd85937ff732ce3f68bb45469a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238173
> Reviewed-by: Mark Foltz <mfoltz@chromium.org>
> Commit-Queue: Mark Foltz <mfoltz@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#35471}

TBR=tommi@webrtc.org,sprang@chromium.org,mfoltz@chromium.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com,grulja@gmail.com

Change-Id: I2aadfeb30151fcbe1a8c05e856be989d60bb10a3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:13429
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239821
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#35472}
2021-12-03 21:17:14 +00:00
Jan Grulich
998e9bd5c5 Linux capturers: organize X11 and Wayland implementations into separate folders
Bug: webrtc:13429
Change-Id: I2db727797c2ca2bd85937ff732ce3f68bb45469a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238173
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#35471}
2021-12-03 18:31:58 +00:00
Jan Grulich
5644e55c60 PipeWire capturer: fix issues reported by presubmit check
Bug: webrtc:13429
Change-Id: I409a29dad96538e8c555d12b4b455efb3a71e483
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239184
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#35466}
2021-12-03 00:33:37 +00:00
Alex Cooper
7bafbd6c8c DesktopCaptureOptions should return refptrs where possible
There are cases for each of these getters where other code later takes
a reference to the passed object, meaning that these getters should be
returning a refptr. To prevent additional overhead from places that
simply access the getter to call additional methods without needing to
worry about taking a ref, the return values are converted to const refs.

Bug: webrtc:13465
Change-Id: Ib27969c7f5ef9d6aadf3c95ac171ae6e778cdbfa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239720
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#35465}
2021-12-02 23:54:57 +00:00
Danil Chapovalov
4ad09762da Delete legacy RtpPacketSendInfo::ssrc field
Bug: webrtc:12713
Change-Id: I8785eaabbb8725fb119067f5897ef245e6187996
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239642
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35460}
2021-12-02 11:59:37 +00:00
Ivo Creusen
500d6e7f14 Return kSampleUnderrun if the number of samples does not fit in an AudioFrame.
If the number of samples does not fit in an AudioFrame, we should return
kSampleUnderrun to avoid crashes further downstream.

Bug: chromium:1265806
Change-Id: Ie94e1de53810167fd9b52ade72b3cb669a2a4f06
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238666
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35459}
2021-12-02 11:48:17 +00:00
philipel
0763ccc8e3 Don't configure SVC params without per layer bitrate configured.
Change-Id: Ieb200ce1a710078e380047ed8af73db0c5e0c751
Bug: none
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239442
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35457}
2021-12-02 09:52:32 +00:00
cschuldt
794cc227dc Optimize RenderBuffer.
Changing to an index for-loop (instead of using std::transform) allows the compiler (clang for x86 at least) to use 3 different registers in the loop rather than just 1, resulting in less pipeline stall (I'd assume). Interestingly, the compiler unrolls the loop(s) completely in both cases.

Bug: None
Change-Id: I586773bc525e91bb6eb6638d5399928482306b9f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239364
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Christian Schuldt <cschuldt@google.com>
Cr-Commit-Position: refs/heads/main@{#35453}
2021-12-01 14:52:21 +00:00
Jianhui Dai
ff05f1fd89 TaskQueuePacedSender: Process packets after outstanding data update
Bug: webrtc:10809
Change-Id: I31785c529d331891830777c93d7067f96580ea39
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238967
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35450}
2021-12-01 11:59:01 +00:00
Mirko Bonadei
9937c32371 Roll chromium_revision 1ce7d592c3..fe555f2e69 (944520:945923)
This CL also adds COM_DECLSPEC_NOTHROW where needed since Windows
is compiled with -std=c++17.

Change log: 1ce7d592c3..fe555f2e69
Full diff: 1ce7d592c3..fe555f2e69

Changed dependencies
* src/base: a0e30222a6..c8a98d6969
* src/build: 749ecdaeea..245517235e
* src/buildtools/linux64: git_revision:4aa9bdfa05b688c58d3d7d3e496f3f18cbb3d89e..git_revision:b79031308cc878488202beb99883ec1f2efd9a6d
* src/buildtools/mac: git_revision:4aa9bdfa05b688c58d3d7d3e496f3f18cbb3d89e..git_revision:b79031308cc878488202beb99883ec1f2efd9a6d
* src/buildtools/third_party/libc++abi/trunk: e504863f9e..665b74f7d1
* src/buildtools/third_party/libunwind/trunk: 038090f742..c936d73ff7
* src/buildtools/win: git_revision:4aa9bdfa05b688c58d3d7d3e496f3f18cbb3d89e..git_revision:b79031308cc878488202beb99883ec1f2efd9a6d
* src/ios: d9a982f504..bc9340854d
* src/testing: 4e888a310b..6410d12020
* src/third_party: 7d86ceacba..51b895633d
* src/third_party/androidx: ftwyhL300WgpRNfRASqCL9olp8f0SJTlzIAgKWR_lwUC..qVa1DxDFLR8hbH6wr8ziYpbEPLeUQNDBDCtZaWb0As8C
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/4b9301e9c5..75423c310e
* src/third_party/depot_tools: a29f589a15..2ffa1bde79
* src/third_party/freetype/src: 3cabd142ce..cff026d415
* src/third_party/googletest/src: 3e0e32ba30..e2f3978937
* src/third_party/libjpeg_turbo: 49836d72bd..02959c3ee1
* src/third_party/libvpx/source/libvpx: ec80f88c5d..13f984c216
* src/third_party/perfetto: d5cb19a57d..889d9a924c
* src/third_party/r8: nqWomZTwNDoogX26WeCSoFGg6aQN1FrwzoU4hCS0duEC..CokGsfuGfcV-GjGwN98h28Phet4ai_xhPGZkGCqotWMC
* src/tools: 0e9c2f5abf..7c7f2ccfb1
* src/tools/luci-go: git_revision:2dfe2f218f0395673f336d17b841edf629907ae3..git_revision:81cc063690e374fdad0215a7565a0951e7db8a07
* src/tools/luci-go: git_revision:2dfe2f218f0395673f336d17b841edf629907ae3..git_revision:81cc063690e374fdad0215a7565a0951e7db8a07
DEPS diff: 1ce7d592c3..fe555f2e69/DEPS

No update to Clang.

BUG=None

Change-Id: I9f889473ef8a9453b1c9828d0b2d4be2d3a4e2c6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239355
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35433}
2021-11-29 16:23:30 +00:00
Harald Alvestrand
ef5b21e637 Deprecate and remove usage for WARNING log level
Bug: webrtc:13362
Change-Id: Ida112158e4ac5f667e533a0ebfedb400c84df4d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239124
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35425}
2021-11-27 22:21:54 +00:00
Ivo Creusen
deb1b1bc70 Always call IsOk() to ensure audio codec configuration is valid when negotiating.
We should avoid creating codecs with invalid parameters, since this can
expose security issues. For many codecs the IsOk() method to check the
codec config is only called in DCHECKs. This CL ensures IsOk() is always
called, also in non-debug builds.

Bug: chromium:1265806
Change-Id: Ibd3c6c65d3bb547cd2603e11808ac40ac693a8b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238801
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35422}
2021-11-26 10:11:21 +00:00
Jakob Ivarsson
e1bbef1e6b Add options to only NACK if there is a valid RTT and if loss rate is below a configured value.
Bug: webrtc:10178
Change-Id: I16a74ed6fb380cecaf82a303bb14bf215c944a73
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238988
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35419}
2021-11-25 16:30:17 +00:00
Sergey Silkin
144e5bf87d Use NONE if scalability mode is not specified
Bug: none
Change-Id: I8ffdb7fc41dec3c5b37483a6dcbb8fe7f03b59da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238984
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35418}
2021-11-25 13:50:14 +00:00
Harald Alvestrand
5f34130f26 Declare LERROR deprecated and remove all usage in webrtc
Bug: webrtc:13362
Change-Id: I1c6c6eccd950d73be616b34f96db7832ff94377e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238804
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35416}
2021-11-24 14:34:24 +00:00
cschuldt
a018e677f2 Optimize block_delay_buffer.
Reducing pointer following. This will allow the compiler to optimize more efficiently with the "-fno-strict-aliasing" flag.

Bug: None
Change-Id: Ic126bd2d53969a7e9d15e1c1081d5278e27a816c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238664
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Christian Schuldt <cschuldt@google.com>
Cr-Commit-Position: refs/heads/main@{#35414}
2021-11-24 12:20:28 +00:00
Ivo Creusen
624fb67bbc Revert "Fix out-of-bounds memory access due to large number of audio channels."
This reverts commit 4cbfe4192cd5b8289f7896ce14e0bd8c4ae41a97.

Reason for revert: The fix in this CL is ineffective. A better one has been created here: https://webrtc-review.googlesource.com/c/src/+/238666

Original change's description:
> Fix out-of-bounds memory access due to large number of audio channels.
>
> The number of audio channels can be configured in SDP, and can thus be
> set to arbitrary values by an attacker. This CL fixes an out-of-bounds
> memory access that could occur when the number of channels is set to a
> large number.
>
> Bug: chromium:1265806
> Change-Id: Ic88ff6d85b978b8eb99bf03cc52457a4552e8c24
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237808
> Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
> Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35354}

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: chromium:1265806
Change-Id: If695ed92f831c2a9631efdf47f1568f5a15c1841
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238803
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35413}
2021-11-24 11:45:55 +00:00
philipel
b09d87232b Reland "Add dav1d decoder to WebRTC."
This reverts commit 8498b7e7f6b90fa036de2a6887d34256f0565b4f.

Reason for revert: Updating CL to include conditional build flag.

Original change's description:
> Revert "Add dav1d decoder to WebRTC."
>
> This reverts commit 147858577d4db6d257d3cc248fe571a1bbf887e3.
>
> Reason for revert: High binary size increase
>
> Original change's description:
> > Add dav1d decoder to WebRTC.
> >
> > Bug: none
> > Change-Id: I7642f42e592dcf510679f881f118bc4dab93b31c
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237504
> > Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> > Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
> > Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
> > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#35394}
>
> TBR=danilchap@webrtc.org,mbonadei@webrtc.org,ilnik@webrtc.org,philipel@webrtc.org,mflodman@webrtc.org,ssilkin@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com
>
> Change-Id: I00a8acd6ea94ce523c2d5ba705333c9174678180
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: none
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238560
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
> Owners-Override: Artem Titov <titovartem@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35395}

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: none
Change-Id: Iff51848731646159e87e075c38af7cb6355f5b5b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238661
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35409}
2021-11-23 15:59:58 +00:00
Sergey Silkin
984cf9b837 Explicitly set encoder and decoder format in codec tests.
This allows to differentiate and test codecs of the same type but
different implementations/settings.

Bug: none
Change-Id: I74f799b36411e63387513133ffc19a7f0c45d550
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238165
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35396}
2021-11-22 08:18:25 +00:00
Artem Titov
8498b7e7f6 Revert "Add dav1d decoder to WebRTC."
This reverts commit 147858577d4db6d257d3cc248fe571a1bbf887e3.

Reason for revert: High binary size increase

Original change's description:
> Add dav1d decoder to WebRTC.
>
> Bug: none
> Change-Id: I7642f42e592dcf510679f881f118bc4dab93b31c
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237504
> Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
> Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35394}

TBR=danilchap@webrtc.org,mbonadei@webrtc.org,ilnik@webrtc.org,philipel@webrtc.org,mflodman@webrtc.org,ssilkin@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I00a8acd6ea94ce523c2d5ba705333c9174678180
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: none
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238560
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Owners-Override: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35395}
2021-11-19 18:47:42 +00:00
philipel
147858577d Add dav1d decoder to WebRTC.
Bug: none
Change-Id: I7642f42e592dcf510679f881f118bc4dab93b31c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237504
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35394}
2021-11-19 15:03:12 +00:00
cschuldt
ae47cf7dc6 Optimize suppression_filter.
Reducing pointer following. This will allow the compiler to optimize more efficiently with the "-fno-strict-aliasing" flag.

Bug: None
Change-Id: I7cde835161e2d3e85fc7c919556fa9a9e87ef6df
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238169
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Christian Schuldt <cschuldt@google.com>
Cr-Commit-Position: refs/heads/main@{#35393}
2021-11-19 14:17:31 +00:00
Alessio Bazzica
a83f874d03 AGC2 limiter: faster recovery
New limiter tuning to more quickly go back to 0 dB after the limiter
kicks in and the input peak level goes back to normal.

Bug: webrtc:7494
Change-Id: I1050957ca4caf12c4562b899b16c306957dce169
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237701
Reviewed-by: Hanna Silen <silen@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35384}
2021-11-19 10:00:21 +00:00
cschuldt
6002b15cd1 Optimize ComputeFrequencyResponse().
Reducing pointer following. This will allow the compiler to optimize more efficiently with the "-fno-strict-aliasing" flag.

Bug: None
Change-Id: Ib1fd3a1cf3f89471b0ec87404650a6061eec5e2d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237782
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Christian Schuldt <cschuldt@google.com>
Cr-Commit-Position: refs/heads/main@{#35374}
2021-11-18 08:49:25 +00:00
Sergey Silkin
4de99443dd Delete memory allocated by GetStreamCaps
Bug: webrtc:13260
Change-Id: I18c23e2c3aad7c711c33c8cc381d46275473b4a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237344
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35369}
2021-11-17 15:06:31 +00:00
Ivo Creusen
d823259c7f Set the maximum number of audio channels to 24
The number of audio channels can be configured in SDP, and can thus be
set to arbitrary values. However, the audio code has limitations that
prevent a high number of channels from working well in practice.

Bug: chromium:1265806
Change-Id: I6f6c3f68a3791bb189a614eece6bd0ed7874f252
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237807
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35359}
2021-11-16 17:01:54 +00:00