This appears unused. If deleted, other code related to isac bandwidth
estimation becomes unused and may be deleted in followup cls.
Bug: webrtc:10098
Change-Id: Ifeac2e90de895b12c337ea28cc33704350b9abf4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153667
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29252}
Currently, APM fakes multichannel in two ways:
- With injected AECs, capture processing is only performed on the left
channel. The result is copied into the other channels.
- With multichannel render audio, all channels are mixed into one
before analysing.
This CL adds a flag to disable these behaviors, ensuring proper
multichannel processing happens throughout the APM pipeline.
Adds killswitches to separately disable render / capture multichannel.
Additionally - AEC3 currently crashes when running with multichannel.
This CL adds the missing pieces to at least have it run without
triggering any DCHECKS, including making the high pass filter properly
handle multichannel.
Bug: webrtc:10913, webrtc:10907
Change-Id: I38795bf8f312b959fcc816a056fba2c68d4e424d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152483
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29248}
This CL allows the user to have more refined control over what band
splitting-scheme is used inside the audio processing module.
Bug: webrtc:6181
Change-Id: I236c3b1f96ab80cc4ffb8c39c045c034764567a1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152480
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29189}
Otherwise it's inconvenient to run the test interactively, since
it leaves the interactive console window topmost preventing any other
window visibility even when the console window is deactivated.
Bug: webrtc:7950
Change-Id: I80a19509f1518550fe93b26feea9e8964b0e405d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150943
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Kimmo Kinnunen FI <kkinnunen@nvidia.com>
Cr-Commit-Position: refs/heads/master@{#29181}
In this CL:
- Render signal analyzer considers a frequency bin a narrow band
(peak) if any channel exhibits narrowband (-peak) behavior.
- The unit tests have to fill frames with noise because small
inaccuracies in the FFT spectrum lead to consistent "narrow bands"
despite spectrum being essentially flat.
Bug: webrtc:10913
Change-Id: I8fa181412c0ee1beeacfda37ffef18251d5f0cd7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151912
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29176}
This method used to be wired down to VCMReceiver and to
VCMJitterBuffer::Stop, but has become a nop. Also delete some
obsoleted comments.
Bug: webrtc:7408
Change-Id: I4c1e67272b1ffda786cc0ff358fa38e594aff304
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152620
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29167}
In DelayBasedBwe, in experiment WebRTC-Bwe-AlrLimitedBackoff, back off relative the BWE only after the first detected overuse. The first time overuse is detected, back down to the acked bitrate.
The idea is to faster drop BWE in the beginning of the call when the initial BWE guess may be too high. Withouth this, it may take a too long time to initially back down.
BUG=webrtc:10542
Change-Id: I2a11457d2391ad25658e7c13d9cae02a38973ecb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152541
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29163}
Both the tests and the code under test are very old, unstaffed and not
a part of webRTC stack.
Here sanitizers make the tests hang, without providing useful report.
So we are just disabling them, without intention to re-enable them.
Bug: webrtc:10951
Change-Id: I40e97208606ba3f0eb5b19d404f7d038e6cc2bdf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152487
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29157}
This mode was added by libvpx team specificaly for this usecase: if a
layer is dropped, all lower layers have to be dropped also.
This ensures that higher layers always have higher framerate than the
lower layers and stream is RTP compatible.
This CL also renames full_superframe_drop_ to !layer_buffering, as it
closer reflects the purpose of that flag (in screenshare mode, no
buffering is needed, because the highest layer is always present in the
superframe, yet, it's not a full-superframe dropping mode).
Bug: webrtc:10257
Change-Id: I2589bfd2b9b63de0e410f277a716276234993843
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151764
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29155}
This CL adds a field trial parameter WebRTC-SlowDownDecoder that is
used to simulate a slow decoder. The parameter specifies how many
extra ms it takes to decode each video frame. This must only be used
in manual testing.
Bug: None
Change-Id: Iad4079100d67b95c224277aaeaf572e38068717f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151911
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29153}
This is a reland of 9e380fd484db09c37323b90a19c5ce7965927975
Patchset 1 is the original CL. The follow-ups adds fix for a test failure
and test for that change.
Original change's description:
> Improve performance of RtpPacketHistory
>
> The data structures in RtpPacketHistory were chosen based on assumption
> of few packets with possible sparse segments due to missing acking.
> In practice high bitrate usages with full histories seem to be more of
> a problem.
> Due to that, change storage from an std::map to an std::deque and live
> with potential segments of nullptr. Also limit size of padding prio
> set so that doesn't become a bottleneck.
>
> Bug: webrtc:8975
> Change-Id: I3b6314fb3255937d25362ff2cd906efb7b1397f7
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145901
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29117}
Bug: webrtc:8975
Change-Id: I5038e5ad2eb79ce75710d2d8b0b3ac01dd41c013
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152282
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29152}
The NetworkStateEstimator is updated on every incoming RTP packet if available.
A rtcp::RemoteEstimate packet is sent every time a rtcp::TransportFeedback packet is sent.
BUG=webrtc:10742
Change-Id: I4cd8e9d85d35faf76aeefd2e26c2a9fe1a62ca3b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152161
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29143}
This CL introduces the handling of multiple microphone channels in
the EchoRemover layer.
The implementation is done such as to support an arbitrary number of
channels in a way that balances stack and heap-space usage.
Bug: webrtc:10913
Change-Id: I475369de6c463b8fe2d7e53799d7322eefb6938f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151647
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29140}
The existing restriction of max 48k seems old and outdated. I am unable to
see any issues by simply extending the support to 96 and utilize the existing
resampler in WebRTC. There are no memory limitations involved either.
It is a rather common case today in Chrome that users need 96k/192k input; hence this
simple change will have a positive impact for many WebRTC clients using gUM.
Bug: webrtc:10958
Test: https://webrtc.github.io/samples/src/content/peerconnection/audio/ using mic @96k
Change-Id: I8123da886ef7d48cbec9482795ec837ec1f61d81
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152162
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29135}
The new target, modules/video_coding:video_coding_legacy, is not
depended upon by any webrtc non-test code.
Bug: webrtc:7408
Change-Id: I94127e2b8b3b8f15917bfa38e602f8face91fcdb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152163
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29133}
Multichannel signals are downmixed to mono before decimation and
delay estimation. This is useful when not all channels play
audio content. The feature can be toggled in the AEC3 configuration.
Bug: webrtc:10913
Change-Id: I7d40edf7732bb51fec69e7f3ca063d821c5069c4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151762
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29126}
A followup cl will move VideoCodingModule and related code into this
target.
Bug: webrtc:7408
Change-Id: Iade572b597769456c9b8c76f584500e2bd9a58f0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152280
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29122}
This reverts commit 9e380fd484db09c37323b90a19c5ce7965927975.
Reason for revert: breaking downstream projects
Original change's description:
> Improve performance of RtpPacketHistory
>
> The data structures in RtpPacketHistory were chosen based on assumption
> of few packets with possible sparse segments due to missing acking.
> In practice high bitrate usages with full histories seem to be more of
> a problem.
> Due to that, change storage from an std::map to an std::deque and live
> with potential segments of nullptr. Also limit size of padding prio
> set so that doesn't become a bottleneck.
>
> Bug: webrtc:8975
> Change-Id: I3b6314fb3255937d25362ff2cd906efb7b1397f7
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145901
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29117}
TBR=danilchap@webrtc.org,sprang@webrtc.org
Change-Id: I5d5b74a6f4d60588e01a52dafe33e26deb9bdf77
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8975
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152220
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29121}
The data structures in RtpPacketHistory were chosen based on assumption
of few packets with possible sparse segments due to missing acking.
In practice high bitrate usages with full histories seem to be more of
a problem.
Due to that, change storage from an std::map to an std::deque and live
with potential segments of nullptr. Also limit size of padding prio
set so that doesn't become a bottleneck.
Bug: webrtc:8975
Change-Id: I3b6314fb3255937d25362ff2cd906efb7b1397f7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145901
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29117}
Reland with fixes for fuzzer found crashes.
This refactoring helps to reduce unnecessary memcpy calls on the receive side.
This CL replaces |uint8 data[IP_PACKET_SIZE]| with |rtc::CopyOnWriteBuffer data| in Packet class, removes |length| field there, and does necessary changes.
Original Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145332
Bug: webrtc:10750
Change-Id: I6775a701bcb2ae25ec1666e1db90041cd49013b7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151131
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29116}