NetEq was (up until this CL) capable of fading over to generating a
constant background noise when voice expansion had lasted too long.
However, the code has for a really long time only ever used the "off"
mode, which meant that long expansions are faded down to complete
silence (only zeros), i.e., background noise fill was not used.
Removing the other two modes ("on" and "fade") simplifies the code.
Bug: webrtc:9180
Change-Id: Ia2d46960208f3d75c9659ad3f027c52e5ecfb6b0
Reviewed-on: https://webrtc-review.googlesource.com/71485
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22969}
The target modules/audio_coding:isac_neon needs to link with
transform_tables.c but adding a dependency between isac_neon and
isac_fix_c creates a circular dependency.
This CL moves transform_tables.c to isac_fix_common (which is already a
dependency of isac_neon).
Bug: None
Change-Id: I4135ec772b0017e77f1411e9a8093b495220c636
Reviewed-on: https://webrtc-review.googlesource.com/71581
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22968}
Proper header include is missing for this file causing clang to complain about missing prototype for function `WebRtcIsacfix_AllpassFilter2FixDec16Neon`
Bug: None
Change-Id: Idb32e9fab6760a9a56f1db2d43e7c8e2e1fe5359
Reviewed-on: https://webrtc-review.googlesource.com/70370
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22967}
This causes the SRTCP index and SRTP ROC to be reset, which will cause replay
detection errors in decrypting SRTCP packets, and errors in decrypting SRTP
packets if the ROC was nonzero.
Bug: webrtc:8996
Change-Id: I3bf6c136d928f39b19de05616d5cd2833f42223c
Reviewed-on: https://webrtc-review.googlesource.com/71300
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22965}
We want to allow the application to set it's own content mode.
Bug: b/73147161
Change-Id: I60fab454353a4c39731e49b7b6066e51d8e9a94d
Reviewed-on: https://webrtc-review.googlesource.com/70501
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22962}
In this CL the DecodedImageCallback functions are implemented.
Bug: webrtc:8909
Change-Id: I27ba4525702a6b372697f92c6c97a52ed5bed3c6
Reviewed-on: https://webrtc-review.googlesource.com/67162
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22961}
This is a follow-up CL to stop building 'all' on iOS bots since they
will end up building invalid Abseil build targets.
Original CL: https://webrtc-review.googlesource.com/70140.
Bug: webrtc:8821
Change-Id: I58e4dbc10377f670ce80552a9b695607b81da284
Reviewed-on: https://webrtc-review.googlesource.com/71280
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22960}
- No need to have a unique ptr for the swap queue
- Remove default case from the switch in
AudioProcessingImpl::HandleRuntimeSettings()
Bug: webrtc:9138
Change-Id: I346ba1db6510b5caa637510298b67ead07197b81
Reviewed-on: https://webrtc-review.googlesource.com/71164
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22958}
Currently this warnings prevernt chromium roll into webrtc, because we
consider them as errors. So to unblock roll all warning are suppressed.
All places are documented into bug and will be fixed later.
TBR=henrika@webrtc.org
Bug: webrtc:9175
Change-Id: I0bf5a4b65eb49308e28f71a92d42b5fad6a99b74
Reviewed-on: https://webrtc-review.googlesource.com/71420
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22956}
PeerConnectionFactory.initialize() should be the first call before
any other call to the Android WebRTC API. The reason this is important
is mainly because PeerConnectionFactory.initialize() loads the native
C++ code, so all other WebRTC calls that rely on native calls will fail
before this has been done.
Bug: webrtc:7474, webrtc:9153
Change-Id: Id0cb78eaf18ea036f39d616d00ac6e32696266bb
Reviewed-on: https://webrtc-review.googlesource.com/70428
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22954}
In my local build of libjingle_peerconnection_so.so, this reduces
the binary size by 8K.
Change-Id: I727fc13c2baa3c70cda5f97c65eb17a08aaf8950
Bug: webrtc:9109
Reviewed-on: https://webrtc-review.googlesource.com/70460
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22953}
In this code, the problem was that the ptr could sometimes point
outside of the allocated arrays, in particular before the array,
causing a pointer overflow warning. However, the memory pointed to was
never read or written while the pointer was off.
With this change, we keep an index instead of a pointer, which avoids
warnings for pointer overflow. The index might be negative at times,
but the index will not be used to address the arrays while negative.
Bug: webrtc:9166
Change-Id: I3a32d8e814660f43be9d4c94889d00ac3f8403a5
Reviewed-on: https://webrtc-review.googlesource.com/71165
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22951}
It's audio data, not an index or anything like that, so the most an
overflow can do is make it sound worse.
Bug: chromium:834531
Change-Id: Icb39c1bb011219c1a6fe67bc582390daa2693379
Reviewed-on: https://webrtc-review.googlesource.com/71160
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22947}
Functions to estimate the inverse filter via LPC and compute the LP
residual applying the inverse filter.
This CL also includes test utilities, in particular BinaryFileReader,
used to read chunks of data and optionally cast them on the fly, and
Create*Reader() functions to read resource files available at test
time.
Bug: webrtc:9076
Change-Id: Ia4793b8ad6a63cb3089ed11ddad89d1aa0b840f6
Reviewed-on: https://webrtc-review.googlesource.com/70244
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22946}
There currently are no Objective-C API's to create a buffer with that data.
This change allows us to create a buffer with yuv data.
Bug: webrtc:9167
Change-Id: I00f1b91b04bbaa013a88137d0f54bef44287c5aa
Reviewed-on: https://webrtc-review.googlesource.com/70563
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Zeke Chin <tkchin@webrtc.org>
Commit-Queue: Peter Slatala <psla@google.com>
Cr-Commit-Position: refs/heads/master@{#22945}
The MTL renderer should also have a way to notify it's delegate
that it's content size changed.
The plan is to introduce this new protocol, move existing clients over
to implementing it in favour of RTCEAGLVideoViewDelegate, and then finally
removing the old protocol.
Bug: b/73147161
Change-Id: I908d7b2667e44e02a58066d701a48efec0e98d14
Reviewed-on: https://webrtc-review.googlesource.com/70243
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22944}
Adding a data structure to cache the results of pair-wise comparisons
between items stored in a ring buffer. This is used to avoid recomputing
the pair-wise comparison every time that a new item is added in a ring
buffer.
Bug: webrtc:9076
Change-Id: I88fb67a80bd3fd8497764dc7ae7e0a577c06b20f
Reviewed-on: https://webrtc-review.googlesource.com/70162
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22942}
This is used to allow mocking in tests in later CLs.
Bug: None
Change-Id: Id610471efb4a86c903530585dd4ee2fa1d1ea5bc
Reviewed-on: https://webrtc-review.googlesource.com/70880
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22941}
Ring buffer template for a finite number of arrays of given type and size.
Bug: webrtc:9076
Change-Id: Ia6c2065b0013f4a00f693966641f9aebe09f6f5c
Reviewed-on: https://webrtc-review.googlesource.com/70161
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22939}
This work is also done as a preparation for adding stereo support to the
FineAudioBuffer.
Review hints:
Actual changes are in modules/audio_device/fine_audio_buffer.h,cc, the rest is
just adaptations to match these changes.
We do have a forked ADM today, hence, some changes are duplicated.
The changes have been verified on all affected platforms.
Bug: webrtc:6560
Change-Id: I413af41c43809f61455c45ad383fc4b1c65e1fa1
Reviewed-on: https://webrtc-review.googlesource.com/70781
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22938}
Any native call before PeerConnectionFactory.initialize() will fail.
This means creation of JavaAudioDeviceModule will fail if it's created
before PeerConnectionFactory.initialize(). Clients should technically
always call PeerConnectionFactory.initialize() first, but we can help
the situation by deferring creation of the native ADM until it's
actually needed.
Bug: webrtc:7452
Change-Id: I53df2bdb980a8bdc413975f1cea6bcf297b453d5
Reviewed-on: https://webrtc-review.googlesource.com/70763
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22936}
We can then also drop the system_wrappers dependency from the common_video
build target.
Bug: webrtc:6733
Change-Id: I501113d100322d1ebc51b2286970697a24b70a43
Reviewed-on: https://webrtc-review.googlesource.com/70381
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22934}
This makes it easier to refactor the interface in upcoming CLs.
Bug: None
Change-Id: I67d0216e24f087294e95ac96f7278f302bf69832
Reviewed-on: https://webrtc-review.googlesource.com/71041
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22933}
This is a reland of fb82fcc7f9c414dc8ba1ddd314e9524fee54cb80
Original change's description:
> Move creating encoder to VideoStreamEncoder.
>
> This used to be in WebRtcVideoChannel::WebRtcVideoSendStream.
> One implication is that encoder is not created until the first
> frame arrives, and some of the tests needed updates to emit a
> frame or two.
>
> Bug: webrtc:8830
> Change-Id: I78169b2bb4dfa4197b4b4229af9fd69d0f747835
> Reviewed-on: https://webrtc-review.googlesource.com/64885
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22905}
TBR=magjed@webrtc.org,kwiberg@webrtc.org
Bug: webrtc:8830
Change-Id: I9565095ea1880fb49d15111198c08b2fcb84f18c
Reviewed-on: https://webrtc-review.googlesource.com/70740
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22930}
This reverts commit 9d8f3850f4c4faad5dc5ab32ab6f2c9c43df7b6c.
Reason for revert: Breaks some trybots: https://build.chromium.org/p/client.webrtc/builders/iOS64%20Release/builds/12793.
Original change's description:
> Adding absl includes and defines to rtc_* templates.
>
> This CL implicitly adds the -I compiler flag and absl macros to WebRTC
> templates. In order to include absl headers using relative paths, WebRTC
> needs to ensure that all its build targets are able to see absl headers.
>
> This can also be done with public_deps, but WebRTC is trying to avoid
> it because it creates problems with other build systems. Given this
> constraint, using rtc_* templates is the most reliable solution.
>
> Please note that rtc_* templates are adding absl includes and defines
> as public_configs, this means that build targets with WebRTC targets
> in their public_deps will propagate these configs following the GN
> guideline.
>
> Bug: webrtc:8821
> Change-Id: I4aa594a524f4bd045bcb3e80d76cc27f06fe01d7
> Reviewed-on: https://webrtc-review.googlesource.com/70367
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22927}
TBR=phoglund@webrtc.org,mbonadei@webrtc.org
Change-Id: Id8e1f881c57553386566eb1970f6b9f8632cab37
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8821
Reviewed-on: https://webrtc-review.googlesource.com/71000
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22928}
This CL implicitly adds the -I compiler flag and absl macros to WebRTC
templates. In order to include absl headers using relative paths, WebRTC
needs to ensure that all its build targets are able to see absl headers.
This can also be done with public_deps, but WebRTC is trying to avoid
it because it creates problems with other build systems. Given this
constraint, using rtc_* templates is the most reliable solution.
Please note that rtc_* templates are adding absl includes and defines
as public_configs, this means that build targets with WebRTC targets
in their public_deps will propagate these configs following the GN
guideline.
Bug: webrtc:8821
Change-Id: I4aa594a524f4bd045bcb3e80d76cc27f06fe01d7
Reviewed-on: https://webrtc-review.googlesource.com/70367
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22927}
This prepares for adding unit tests for VideoSendStreamImpl.
Bug: None
Change-Id: I488041b09f4a455ce4cf1bdc7b8163ef6ad19a8a
Reviewed-on: https://webrtc-review.googlesource.com/70782
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22926}
Change error code for "state mismatch" to "State error",
and also change some parameter errors to "Illegal parameter".
Bug: chromium:819629
Change-Id: I9347d4161344b4ff2bcb58ad82fa6d533cd476fb
Reviewed-on: https://webrtc-review.googlesource.com/69815
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22924}