This CL:
- Changes EchoCancellationImpl to inherit privately from
EchoCancellation.
- Removes usage of AudioProcessing::echo_cancellation() inside most of
the audio processing module and unit tests.
- Default-enables metrics collection in AEC2.
This CL breaks audioproc_f backwards compatibility: It can no longer
use all recorded settings (drift compensation, suppression level), but
prints an error message when such settings are encountered.
Some code in audio_processing_unittest.cc still uses the old interface.
I'll handle that in a separate change, as it is not as straightforward
to preserve coverage.
Bug: webrtc:9535
Change-Id: Ia4d4b8d117ccbe516e5345c15d37298418590686
Reviewed-on: https://webrtc-review.googlesource.com/97603
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24724}
This CL removes a set of DCHECKs in AudioDeviceBuffer (ADB) where the goal has been
to ensure that some methods are called on one and the same native I/O thread.
The implementation of the ADB is platform independent but the underlying (driving)
audio components differ between platforms. This combination has shown to generate complex
corner cases such as:
- OS dependent I/O-thread(s) changes while audio is active
- OS dependent audio device changes and it leads to restart of native I/O threads
- Start/Stop of audio has different timing depending on platform and possibly also usage of
JNI and/or emulators.
To summarize: the gain of maintaining the current strict thread checking (in Debug mode)
is not worth all the efforts trying to resolve complex dynamic cases where the native
I/O threads changes ID.
TBR=glaznev
Bug: b/115385789
Change-Id: I681c89adec497a18b97d2a40421c04ea218fd919
Reviewed-on: https://webrtc-review.googlesource.com/100200
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24723}
Today we use |is_first_packet_in_frame| to know when a frame begins and the
|markerBit| to know when it ends, but the markerbit does not actually mark the
end of a frame, it marks the end of a picture.
Bug: webrtc:9361
Change-Id: Icc70e6075590cdc31e875a4eb9d489868adbb67c
Reviewed-on: https://webrtc-review.googlesource.com/100160
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24722}
MDnsResponderInterface can be accessed by rtc::NetworkManager to
generate mDNS hostnames for local IP addresses, so that the addresses of
ICE host candidates are obfuscated in gathering whenever an mDNS
responder is present. The mDNS responder will handle incoming mDNS
queries about the generated mDNS hostnames, e.g. queries received from
the AsyncResolverInterface of the remote ICE endpoint.
Bug: webrtc:9605
Change-Id: Ib9e77427327b3d1fabdb1f3854d5e8457db40375
Reviewed-on: https://webrtc-review.googlesource.com/97881
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@google.com>
Cr-Commit-Position: refs/heads/master@{#24714}
This change allows supporting additional data for authentication and adds a
requirement for the contributing source to be provided during decryption.
Change-Id: Ifc19cb2d8a7d6c3715c83c95cf12f64df0bca454
Bug: webrtc:9681
Reviewed-on: https://webrtc-review.googlesource.com/100001
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24712}
Currently a bug in InitEncode() sets all stream initially to active.
This CL actually bases the active-flag on available start bitrate.
Bug: webrtc:9747
Change-Id: If197b0c69376d96c717f2a391fba8108895018f3
Reviewed-on: https://webrtc-review.googlesource.com/99960
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24711}
Variance calculation isn't currently used but overflow checks there may
cause unnecessary crash. Instead of completely deleting useful feature
it's now easy to disable it by choosing an appropriate Counter class.
Bug: None
Change-Id: Ifa8bbf2d023553504caa768e08e59ebccfb2fbb4
Reviewed-on: https://webrtc-review.googlesource.com/99561
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24699}
This change passes a pointer (non-owning) down to the MediaChannel when set
in the RtpSender / RtpReceiver. This currently is not used to encrypt frames.
Bug: webrtc:9681
Change-Id: I385fa8b948427803cd3f9cef918c31d7754d1b4f
Reviewed-on: https://webrtc-review.googlesource.com/97000
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Emad Omara <emadomara@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24694}
as iniditcation retransmission shouldn't be limited because of rate.
Bug: None
Change-Id: I579261749515260b972631779dadc6349dfcab46
Reviewed-on: https://webrtc-review.googlesource.com/99541
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24690}
This component was added to work around an issue in iOS 8, which is
no longer supported by WebRTC. It's removal is made more urgent by
the fact that it prevents WebRTC being used by iOS extensions.
Bug: webrtc:9335
Change-Id: I2a3327534fe6d5014c34a9e908096d825e8149e3
Reviewed-on: https://webrtc-review.googlesource.com/87822
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24688}
This reverts commit 49b2c3c4c43359bc86d8510d29d117f3d7a621a3.
Original CL description:
Decrease complexity of RtpPacketHistory::GetBestFittingPacket.
Use a map of packet sizes in RtpPacketHistory instead of looping through the whole history for every call
patch set 1 contains the initial submit from https://webrtc-review.googlesource.com/c/src/+/98882
new patch sets contains the modification.
The problem with the initial submit was the assumption that packets are removed
from history in the same order as they are added which is not always true.
Bug: webrtc:9731
Change-Id: Ic2c8905a0f47287fc46e53f41a019a4c69c3dd8e
Reviewed-on: https://webrtc-review.googlesource.com/99460
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24687}
Set target frame rate of spatial layer equal to minimum of two: maximum
frame rate of layer (SpatialLayer::maxFramerate) and maximum frame rate
of codec (VideoCodec::maxFramerate).
Bug: webrtc:9740, webrtc:9739, chromium:882358
Change-Id: I34f36e7fd2889f0417474347abab5327fa2d9d7c
Reviewed-on: https://webrtc-review.googlesource.com/99501
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24686}
This CL fixes a bug in the filter output transition when the 'from' input
points to the same array as the output. It also includes a slight
improvement to the transition by starting one sample earlier than
previously.
Bug: webrtc:9741,chromium:882789
Change-Id: Ifd5f16c1ac88a74d93499e7f4b4c0e5cb3e4976f
Reviewed-on: https://webrtc-review.googlesource.com/99540
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24683}
This information is useful for downscaling to avoid sampling artifacts.
Bug: webrtc:9617
Change-Id: I3353e8384354bf400b150bb450b38777f4a7aa86
Reviewed-on: https://webrtc-review.googlesource.com/99100
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24681}
If the paced queue gets too long becaused of e.g. encoder overshoot,
the encoder is paused by setting the target bitrate to 0. Don't signal
this 0-bitrate via RTCP TargetBitrate message as the overall target
bitrate is probably unchanged.
Bug: webrtc:9734
Change-Id: I77f23b707a8d4494d0c89fa05005ac1482eace52
Reviewed-on: https://webrtc-review.googlesource.com/99507
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24679}
The min bitrate is too low, and burstiness may cause overuse when first
enabling the stream, if the total available bitrate is low.
Bug: webrtc:9734
Change-Id: I399e0e809648f064feb87c73ece0c23a569b2750
Reviewed-on: https://webrtc-review.googlesource.com/99506
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24678}