This is a no-op change because rtc::Optional is an alias to absl::optional
This CL generated by running script with parameter 'modules/audio_coding'
find $@ -type f \( -name \*.h -o -name \*.cc \) \
-exec sed -i 's|rtc::Optional|absl::optional|g' {} \+ \
-exec sed -i 's|rtc::nullopt|absl::nullopt|g' {} \+ \
-exec sed -i 's|#include "api/optional.h"|#include "absl/types/optional.h"|' {} \+
find $@ -type f -name BUILD.gn \
-exec sed -r -i 's|"[\./api]*:optional"|"//third_party/abseil-cpp/absl/types:optional"|' {} \+;
git cl format
Bug: webrtc:9078
Change-Id: Ic980ee605148fdb160666d4aa03cc87175e48fe8
Reviewed-on: https://webrtc-review.googlesource.com/84130
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23659}
Reduce noise of the nearend spectrum estimation by averaging multiple
frames.
Bug: webrtc:9420,chromium:853699
Change-Id: Iad7e68b1209a369e263b2d892791943e42bfbb3f
Reviewed-on: https://webrtc-review.googlesource.com/83960
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23655}
This is a no-op change because rtc::Optional is an alias to absl::optional
This CL generated by running script with parameter 'modules/audio_processing'
find $@ -type f \( -name \*.h -o -name \*.cc \) \
-exec sed -i 's|rtc::Optional|absl::optional|g' {} \+ \
-exec sed -i 's|rtc::nullopt|absl::nullopt|g' {} \+ \
-exec sed -i 's|#include "api/optional.h"|#include "absl/types/optional.h"|' {} \+
find $@ -type f -name BUILD.gn \
-exec sed -r -i 's|"(../)*api:optional"|"//third_party/abseil-cpp/absl/types:optional"|' {} \+;
git cl format
Bug: webrtc:9078
Change-Id: Id29f8de59dba704787c2c38a3d05c60827c181b0
Reviewed-on: https://webrtc-review.googlesource.com/83982
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23653}
This removes beamformer references from audioproc_f, some non-beamformer tests, and a few other bits and bobs.
The beamformer is, after this, very decoupled from the remaining APM code.
Bug: webrtc:9402
Change-Id: Iaafc95517013d7a17723ef2329f17b5e09069bc9
Reviewed-on: https://webrtc-review.googlesource.com/83983
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23649}
This cl is to move the RegisterRefreshAndMoveHandlers to be done on
capture thread, and reverse some execution order of releasing processing,
also remove a lock since the handler is on capturing thread too.
As we doubt the existing sequence may be the cause of a crash due to
race conditions at end of capture.
Bug: chromium:851883
Change-Id: I2254a69815144415424a77b4c82f150cfc369585
Reviewed-on: https://webrtc-review.googlesource.com/83822
Commit-Queue: Brave Yao <braveyao@webrtc.org>
Reviewed-by: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#23647}
Extract rtc_base/base64.h and rtc_base/base64.cc into separate target
to prepare to move them into third_party
Bug: webrtc:8366
Change-Id: I477e6da2b9d09307439b3272261f31042f479d74
Reviewed-on: https://webrtc-review.googlesource.com/83980
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23645}
Removes the usage of an injected/enabled beamformer in APM, and marks
the API parts as deprecated.
Initialization and process calls are removed, and all enabled/disabled
flags are replaced by assuming no beamforming. Additionally, an AGC test
relying on the beamformer as a VAD is removed.
Bug: webrtc:9402
Change-Id: I0d3d0b9773da083ce43c28045db9a77278f59f95
Reviewed-on: https://webrtc-review.googlesource.com/83341
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23643}
This is a no-op change because rtc::Optional is an alias to absl::optional
This CL generated by running script from modules with parameters
'pacing video_coding congestion_controller remote_bitrate_estimator':
find $@ -type f \( -name \*.h -o -name \*.cc \) \
-exec sed -i 's|rtc::Optional|absl::optional|g' {} \+ \
-exec sed -i 's|rtc::nullopt|absl::nullopt|g' {} \+ \
-exec sed -i 's|#include "api/optional.h"|#include "absl/types/optional.h"|' {} \+
find $@ -type f -name BUILD.gn \
-exec sed -r -i 's|"(../)*api:optional"|"//third_party/abseil-cpp/absl/types:optional"|' {} \+;
git cl format
Bug: webrtc:9078
Change-Id: I8ea501d7f1ee36e8d8cd3ed37e6b763c7fe29118
Reviewed-on: https://webrtc-review.googlesource.com/83900
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23640}
This CL adds a field trial to ensure that audio packets are only blocked
if they are also accounted for. Without the field trial active, audio
packets are blocked due to full congestion windows and media budget
overuse caused by video packets, even it the audio is not accounted for.
Bug: webrtc:8415
Change-Id: I64c3507fcc6e91e6b0759e5f97b34d7f99492658
Reviewed-on: https://webrtc-review.googlesource.com/81187
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23635}
In rare case the packets number may loop around and in the same FEC-protected group the packet sequence number became out of order.
Bug: chromium:850493
Change-Id: Ice82aafd537e0edc1dbdb8b934e11e7c42a4cf60
Reviewed-on: https://webrtc-review.googlesource.com/82802
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23633}
This can be used to avoid getting stuck in a state where the encoder
is paused due to low bandwidth estimate which means no additional
feedback is received to update the bandwidth estimate. This could
happen if feedback packets are lost.
Bug: webrtc:8415
Change-Id: I59cd60c0277e8b31a6b911b25e8e488af9008fc2
Reviewed-on: https://webrtc-review.googlesource.com/80880
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23632}
This CL makes the congestion window parameters, initial window, minimum
window, and maximum window more similar to the values for the
implementation in QUIC.
It also contains minor behavioral changes to better match the Quic
implementation.
Bug: webrtc:8415
Change-Id: I26f4b35b6cbb00178ea47a4aee871b1b700c153b
Reviewed-on: https://webrtc-review.googlesource.com/83587
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23630}
This is a no-op change because rtc::Optional is an alias to absl::optional
This CL generated using script:
#!/bin/bash
dir=modules/rtp_rtcp
find $dir -type f \( -name \*.h -o -name \*.cc \) \
-exec sed -i 's|rtc::Optional|absl::optional|' {} \+ \
-exec sed -i 's|rtc::nullopt|absl::nullopt|' {} \+ \
-exec sed -i 's|#include "api/optional.h"|#include "absl/types/optional.h"|' {} \+
find $dir -type f -name BUILD.gn \
-exec sed -r -i 's|"(../)*api:optional"|"//third_party/abseil-cpp/absl/types:optional"|' {} \+;
git cl format
Bug: webrtc:9078
Change-Id: Ife720849709959046329c1c9faa3f31aa13274dc
Reviewed-on: https://webrtc-review.googlesource.com/83584
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23624}
This test is so old, it used to be interactive with an automated mode
bolted on to the side. That automatic mode is the only one that's used
nowadays.
Bug: webrtc:8396
Change-Id: I3b473f53ff6afa363b9691e8471a5754f46d3d3f
Reviewed-on: https://webrtc-review.googlesource.com/83583
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23620}
It appears to have been created in mid-2013, and hasn't been changed
since except to keep the compiler happy when surrounding code changed.
It crashes when I try to run it without arguments, and no one
remembers how to use it.
Bug: webrtc:8396
Change-Id: I2eae36cf468f28c5bf05c85e6a3aaeebc48a1ffc
Reviewed-on: https://webrtc-review.googlesource.com/83581
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23618}
The echo detector is currently stored as a unique_ptr, but when injecting an echo detector, a scoped_refptr makes more sense since the ownership will be shared.
Bug: webrtc:8732
Change-Id: I2180014acb84f1cd5c361864a444b7b6574520f5
Reviewed-on: https://webrtc-review.googlesource.com/83325
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23610}
In this work we introduce some changes on how the reverberation model for AEC3 is applied. Currently, the exponential modelling of the tails is applied over the linear echo estimates. That might result in an overestimation of the reverberation tails under certain conditions. In this work, the reverberation model is instead applied over an estimate of the energies at the tails of the linear estimate.
Additionally, the stationary estimator is changed so it does not disable the aec immediately after a burst of activity.
Bug: webrtc:9384,webrtc:9400,chromium:852257
Change-Id: Ia486694ed326cfe231fc688877c0b9b6e2c450ff
Reviewed-on: https://webrtc-review.googlesource.com/82161
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23599}
They have been disabled by default for years, and should have been made redundant by the event logs.
Bug: webrtc:8982
Change-Id: I491923cbc93378d28f5166d24756b335619d9c12
Reviewed-on: https://webrtc-review.googlesource.com/82800
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23598}
This allows constructing TestAudioDeviceModule on a different thread
than the worker thread and avoids unnecessary invoke. Before,
thread->Start() would fail in a thread check.
Bug: b/79961243
Change-Id: I5c55d8feada2b0ae12bc121f3f795e76a8d04059
Reviewed-on: https://webrtc-review.googlesource.com/82941
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23574}
This is a reland of efc71e565e9b36bcdfb4571f59e34bbd8fabd0cd
Differs from the original cl by not widening the type of
VideoCodec::width and VideoCodec::height.
Original change's description:
> Move class VideoCodec from common_types.h to its own api header file.
>
> Bug: webrtc:7660
> Change-Id: I91f19bfc2565461328f30081f8383e136419aefb
> Reviewed-on: https://webrtc-review.googlesource.com/79881
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23544}
Bug: webrtc:7660
Change-Id: I7cf74a85a61ea2b831e6f32b3b3e17514ebefec8
Reviewed-on: https://webrtc-review.googlesource.com/82140
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23569}
Store the last known throughput estimate and use that if we're lacking a new measurement.
Bug: webrtc:9363
Change-Id: Ib7a9a495b446bd0f5799382cc095ccff894e0c2b
Reviewed-on: https://webrtc-review.googlesource.com/81749
Commit-Queue: Anastasia Koloskova <koloskova@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23565}
Summary of what this CL does:
Existing users can keep using the old ADM for Windows as before.
A new ADM for Windows is created and a dedicated factory method is used
to create it. The old way (using AudioDeviceImpl) is not utilized.
The new ADM is based on a structure where most of the "action" takes
place in new AudioInput/AudioOutput implementations. This is inline
with our mobile platforms and also makes it easier to break out common
parts into a base class.
The AudioDevice unittest has always mainly focused on the "Start/Stop"-
parts of the ADM and not the complete ADM interface. This new ADM supports
all tests in AudioDeviceTest and is therefore tested in combination with
the old version. A value-parametrized test us added for Windows builds.
Improved readability, threading model and makes the code easier to maintain.
Uses the previously landed methods in webrtc::webrtc_win::core_audio_utility.
Bug: webrtc:9265
Change-Id: If2894b44528e74a181cf7ad1216f57386ee3a24d
Reviewed-on: https://webrtc-review.googlesource.com/78060
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23554}
This reverts commit 16e28d143a32ff3552efe0a014178f68006812b8.
Reason for revert: Fix has supposedly landed upstream.
Original change's description:
> Disabling VeryLowBitrateVP9 to unblock roll.
>
> This should be re-enabled very soon since the libvpx thinks this
> is fixed upstream and is only waiting for merge.
>
> TBR=marpan@google.com
>
> Bug: webrtc:9292
> Change-Id: Ib78ea1462059c333b7168a52756329dc9a385b54
> Reviewed-on: https://webrtc-review.googlesource.com/81660
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23525}
TBR=phoglund@webrtc.org,marpan@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: webrtc:9292
Change-Id: I995953070536e8ee3540e7c30bc11dc1200e0463
Reviewed-on: https://webrtc-review.googlesource.com/82200
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23552}
Since it isn't being run by the bots, it has bit rotted; when I try to
run it manually, it fails with a long list of error messages:
Error Calling API in file ../../modules/audio_coding/test/APITest.cc at line 995
Error Calling API in file ../../modules/audio_coding/test/APITest.cc at line 996
>>> Error Enabling VAD <<<
Error Calling API in file ../../modules/audio_coding/test/APITest.cc at line 995
Error Calling API in file ../../modules/audio_coding/test/APITest.cc at line 996
>>> Error Enabling DTX <<<
>>> Error Enabling VAD <<<
Error Calling API in file ../../modules/audio_coding/test/APITest.cc at line 995
Error Calling API in file ../../modules/audio_coding/test/APITest.cc at line 996
>>> Error Enabling VAD <<<
Error Calling API in file ../../modules/audio_coding/test/APITest.cc at line 995
Error Calling API in file ../../modules/audio_coding/test/APITest.cc at line 996
Error Calling API in file ../../modules/audio_coding/test/APITest.cc at line 985
...and so on.
Bug: webrtc:8396
Change-Id: Id8f1e01a751b4bb3527702b7b7a4986ce0abb378
Reviewed-on: https://webrtc-review.googlesource.com/81745
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23542}
This CL ensures that the linear-filter based refined delay is chosen to
match the delay that was detected by the delay estimator during the time
it takes for the linear filter to converge.
Bug: webrtc:9371,chromium:850451
Change-Id: Ib9cf532df0577ceca10a260d9d2deba5306f88bb
Reviewed-on: https://webrtc-review.googlesource.com/81682
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23537}