Commit Graph

4983 Commits

Author SHA1 Message Date
530781d03f AGC2 VadWithLevel(::LevelAndProbability) renamed + injectable VAD
Refactoring CL to improve names and allow to inject a VAD into
`VadLevelAnalyzer` (new name for `VadWithLevel`).

The injectable VAD is needed to inject a mock VAD and write better
unit tests as new features are going to be added to the class.

Bug: webrtc:7494
Change-Id: Ic0cea1e86a19a82533bd40fa04c061be3c44f068
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185180
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32195}
2020-09-25 12:11:12 +00:00
ad148272b8 Activating AVX2 support by default
This CL activates the newly added AVX2 support by default.
The activation is done beneath a kill-switch.

Beyond the above, the CL also changes an incorrect DCHECK_GT
to a DCHECK_GE.

Bug: webrtc:11663
Change-Id: I231ccb2f5efabf74cd8190411daa954b2b94a2a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183042
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32193}
2020-09-25 11:30:22 +00:00
39a3f081c1 Disable transparent mode when ERL is bounded
A bounded ERL disables all TransparentMode implementations.

Bug: webrtc:10232
Change-Id: I5a3641b356c2abf42cd6d055cee4007327528a41
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185301
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32187}
2020-09-24 20:53:09 +00:00
9e81182f8e RNN VAD build file refactoring: split into separate (private) targets
First step to only expose the relevant RNN VAD API to AGC2.

Bug: webrtc:7494
Change-Id: I7f11f6eebded124c30cabd64963c8e3ccc35e58f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185124
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32185}
2020-09-24 14:33:14 +00:00
afef7a74a7 HMM based transparent mode classifier
This change introduces a new Hidden Markov Model based classifier for
AEC3's 'transparent mode'. Transparent mode is used with
headsets/headphones where the speaker signal does not leak into the
microphone signal.

The current classifier suffers from two problems:
1. It sometimes takes a long time to enter transparent mode.
2. Sometimes transparent mode is left (and it once again takes a long
time to re-enter).

Both problems have a severe effect on AEC transparency.

The new classifier enters transparent mode quicker and is less likely
to exit transparent mode when there is no echo. This improves the
audio experience when using headset/headphones.

Another (minor) benefit of this change is that when transparent mode
is disabled no classifier is run (or even created) saving some memory
and CPU cycles.

Bug: webrtc:10232
Change-Id: I509af0e22b59463aeaead53c78c35be1e97fe8c3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184500
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32182}
2020-09-24 08:25:50 +00:00
d60e32a953 Demote method EncodedImage::capacity() to private.
Bug: webrtc:9378
Change-Id: I83be267334fc778aff4eb2ad128d3ed693f755ff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185007
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32177}
2020-09-23 13:53:31 +00:00
1922fb0ec3 AGC2 saturation protector: extra margin added by level estimator
In preparation for a coming refactoring CL, the (fixed) extra saturation
margin is now applied into `AdaptiveModeLevelEstimator`.

This CL also improves the unit tests by hard-coding its saturation
params instead of reading them from a field trial.
This reduces the chances of making the test flaky if a default value
changes.

Tested: Bit-exactness verified with audioproc_f

Bug: webrtc:7494
Change-Id: I6765def9887a2f4e55b04d929af754cfecbb1626
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184927
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32172}
2020-09-23 11:33:37 +00:00
aac41bd678 Removes dead fallback code from rtcp::CompoundPacket.
Bug: webrtc:11925
Change-Id: I323ac8c5b3398e965b0cf571d1d46d34da42fdf6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185001
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32171}
2020-09-23 09:57:05 +00:00
4da8e4c0c1 Add field trial to force outgoing video playout delay
Video playout delay is used to give a hint to the receiver
how the video should be played out.

Add the field trial WebRTC-ForceSendPlayoutDelay to set the video playout
delay of outgoing RTP packets to enable experimentation with this feature.

Bug: webrtc:11896
Change-Id: Ie6123b5967763bde6a830f4c5e5a963e73fb0acb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185042
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32169}
2020-09-23 08:51:25 +00:00
736ff83e69 AGC2 saturation protector: simplify interface and impl
- Passing the speech peak power instead of VAD data
- The private class SaturationProtector::PeakEnveloper has been removed
- Added `initial_saturation_margin_db_` parameter to correctly
  initialize `last_margin_` (renamed to `margin_db_`)
- Member names have been fixed and/or shortened for better readability

Tested: Bit-exactness verified with audioproc_f

Bug: webrtc:7494
Change-Id: I6cad2974397319737c8ac201d44311bf16275f28
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184925
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32168}
2020-09-23 07:56:44 +00:00
10f6eadd48 AGC2 Saturation Protector: switch to ring buffer
Even if small, the peak delay buffer copies N-1 elements for each frame
whereas a ring buffer is copy-free and scales better if the buffer size
increases.

Tested: Bit-exactness verified with audioproc_f

Bug: webrtc:7494
Change-Id: If8c33877b7ab1d881a0606e222b26857a82fff69
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184920
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32165}
2020-09-22 19:34:04 +00:00
a945cdadff Make VP9 correctly accept middle-layer singlecast
Unfortunate typo and weak tests made it so if only a middle spatial layer
is active, vp9 encoder would be configured to send two top layers.

Bug: webrtc:11319
Change-Id: I460c245044f60ea7e0127c0e4134d0edab85f4f3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185043
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32164}
2020-09-22 16:09:53 +00:00
ceb44959ca Reland: Wires up WebrtcKeyValueBasedConfig in media engines.
This is a reland of
https://webrtc-review.googlesource.com/c/src/+/174261

Patchset 1 contains the old cl (plus a merge conflict fix).
Later patchets are bufixes: A PeerConnection can be created without a
Call instance (in the case of DataChannel only), so we can't always
use that to fetch the current trials.

Old CL descritpion:

This replaces field_trial:: -based functions from system_wrappers.
Field trials are still used as fallback, but injectable trials are now
possible.

// Since re-land is otherwise unchanged, setting previous reviewers as TBR
TBR=kthelgason@webrtc.org,mbonadei@webrtc.org,stefan@webrtc.org,srte@webrtc.org

Bug: webrtc:11926
Change-Id: I57a9e8c3454f226f77fb93215bcac83da65034b0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185003
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32163}
2020-09-22 16:08:22 +00:00
ceab7547f0 Make LibvpxVp8Encoder::GetCpuSpeed() to always read from CpuSpeedExperiment for arm.
CpuSpeedExperiment: Add option to have a separate config for cores below a configurable threshold.

Bug: none
Change-Id: I51562979f3a89a949d014a1ee6fc0802f3c1dae5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184926
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32154}
2020-09-22 07:26:26 +00:00
4461f059d1 Delete unused NetEq stats currentPacketLossRate, currentDiscardRate and addedSamples
Bug: webrtc:11622
Change-Id: I097bb7284d952ada41f4f38dd7adf3536bd040ee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183620
Reviewed-by: Minyue Li <minyue@google.com>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32148}
2020-09-21 12:19:16 +00:00
4c87d83d03 Extend I420 frame buffer pool to also create NV12 buffers
Bug: webrtc:11956
Change-Id: I758a28f2755cfa72ad486fbe1f9209f356eb5fa1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184510
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32147}
2020-09-21 09:46:15 +00:00
c5a74ffba4 Add support so requested resolution alignment also apply to scaled layers.
Bug: webrtc:11872
Change-Id: I7f904e2765330ee93270b66b0102ce57f336f9a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/181883
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32146}
2020-09-21 09:23:22 +00:00
9d77762023 Move SampleStatsCounter to public API
Bug: None
Change-Id: I8956f6febbb1caf71e951d212d57746fe1ec5eb2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184506
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32142}
2020-09-18 17:42:53 +00:00
5956a17ed6 Revert "Wires up WebrtcKeyValueBasedConfig in media engines."
This reverts commit 591b2ab82ead157b5f5a85d5082bd15fe8c51809.

Reason for revert: Breaks downstream project

Original change's description:
> Wires up WebrtcKeyValueBasedConfig in media engines.
> 
> This replaces field_trial:: -based functions from system_wrappers.
> Field trials are still used as fallback, but injectable trials are now
> possible.
> 
> Bug: webrtc:11926
> Change-Id: I70f28c4fbabf6d9e55052342000e38612b46682c
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174261
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32129}

TBR=mbonadei@webrtc.org,kthelgason@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,srte@webrtc.org,perkj@webrtc.org

Change-Id: I3e169149a8b787aa6366bb357abb71794534c63a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11926
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184507
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32132}
2020-09-17 20:17:38 +00:00
591b2ab82e Wires up WebrtcKeyValueBasedConfig in media engines.
This replaces field_trial:: -based functions from system_wrappers.
Field trials are still used as fallback, but injectable trials are now
possible.

Bug: webrtc:11926
Change-Id: I70f28c4fbabf6d9e55052342000e38612b46682c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174261
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32129}
2020-09-17 16:24:10 +00:00
7d73c6cf9d Explicitly enable CDEF
It should already be enabled by default in libaom, but explicitly enable
it here in case that changes.

Bug: None
Change-Id: I93a1dfc92f9c02bc5ec823c326d8cf6ff163bceb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184262
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32114}
2020-09-16 11:39:44 +00:00
e4642dac6c Updating the OWNERS file for desktop capture
Change-Id: If5ddad06f0c5ce306e919de1f3a182986abaa0fe
Bug: webrtc:11938
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184281
Commit-Queue: Joe Downing <joedow@google.com>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#32109}
2020-09-15 21:34:24 +00:00
6e046668d1 Adding field trials to control additional quality scaler settings
Bug: webrtc:11924
Change-Id: I98c7aa4bd4536770500fec7e8e8da9629fddd20f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183342
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32103}
2020-09-15 08:58:36 +00:00
6b4d962947 Fix standard GetStats to not modify NetEq state.
Add a get_and_clear_legacy_stats flag to AudioReceiveStream::GetStats,
to distinguish calls from standard GetStats and legacy GetStats.

Add const method NetEq::CurrentNetworkStatistics to get current
values of stateless NetEq stats. Standard GetStats will then call this
method instead of NetEq::NetworkStatistics.

Bug: webrtc:11622
Change-Id: I3833a246a9e39b18c99657a738da22c6e2bd5f5e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183600
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32092}
2020-09-14 09:51:21 +00:00
de5507d31b Updates rtcp::CompoundPacket to contain unique pointers to packets.
Currently test code passes pointer to temporary objects, while
RtcpSender passes raw pointers to objects that are then seen as owned,
and will be manually deleted by a overloaded destructor, which is scary
and fragile.

This CL moves all usage to std::unique_ptr<RtcpPacket> instead, which
may create some heap churn in unit tests but that should be fine.

Bug: webrtc:11925
Change-Id: I981bc7ccd6a74115c5a3de64b8427adbf3f16cc7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183920
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32084}
2020-09-11 14:34:07 +00:00
c8850cbf55 Change gtest name to allow filtering based on the story name.
It is meant for Pinpoint to run only the relevant tests when running a bisection.
The Pinpoint side of this change can be found here:
https://crrev.com/c/2404161

Bug: webrtc:11084
Change-Id: I466f39816b83e2f83a3a49845c99605f4d5a857b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183763
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32082}
2020-09-11 14:11:27 +00:00
673027b4a5 Make NetEqController::TargetLevelMs const, part 2
Followup to https://webrtc-review.googlesource.com/c/src/+/183881.

Bug: webrtc:11622
Change-Id: I8d76bf082e81ba1217d20e57c6ae6555eca2fc7b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183883
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32078}
2020-09-11 09:34:55 +00:00
f264e70a47 Expand is_linux to is_linux || is_chromeos.
Currently is_linux is set to true on Chrome OS build,
but it is planned to be set false. This CL is the preparation
to keep the compatibility.

Bug: chromium:1110266
Test: Build locally.
Change-Id: Ic79a202b0b3baeff157955cd03a07556bfb958a8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183860
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Hidehiko Abe <hidehiko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#32073}
2020-09-10 17:01:16 +00:00
2f0f93a0c9 Add explicit initialization for the FilterAnalyzer in AEC3
This CL adds explicit initialization of the FilterAnalyzer in AEC3.
While the current code never uses any fields before they are initialized,
it makes sense to be on the safe side and add initialization during
construction.

Bug: webrtc:11918
Change-Id: I467c4c8b8d6dd859a1b216baef28ac1e9d3f76c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183764
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32069}
2020-09-10 10:50:43 +00:00
7f509e1313 Fixing a crash when capturing non-DPI aware windows at high DPIs
For Non-DPI aware windows, we need to figure out the current DPI
and scale the content accordingly, the current behavior works ok
for until the clipped region pushes the content outside of the
frame and then the capture will fail.  When this happens, the
captured frame may be blank or it could cause the browser to crash.

The issue is that the left and top clipped regions are not being
scaled along with the content (the captured window region is
contained within a larger window frame).  When the clipped window
and window frame are scaled, the original offset for left and top
are not adjusted so after a certain DPI, this offset causes the
clipped region to get pushed outside of the frame which is why
the capture fails.

The fix is to scale the left and top clipped regions and translate
the clipped region accordingly.  This change will only affect non-DPI
aware windows.

Bug: chromium:1083527
Change-Id: I893c2cb362cbaa01170d1e58465e43c3517139ad
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183660
Commit-Queue: Joe Downing <joedow@google.com>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#32065}
2020-09-09 20:55:05 +00:00
869e9fb4f3 Use field trial list in CpuSpeedExperiment.
Removes the need for specifying a fixed number of parameters.

Bug: none
Change-Id: I1324861807cb4929963aedccb6c2755b9c6ea3fc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180421
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32055}
2020-09-08 06:56:49 +00:00
6ef21a7af0 Revert "Reland "reenable mouse_cursor_monitor tests on linux""
This reverts commit bddedcbb333dbd501b4456dc2a2bc48ef50d21b5.

Reason for revert: Breaks downstream project.

Original change's description:
> Reland "reenable mouse_cursor_monitor tests on linux"
> 
> This is a reland of 79098821a23f9de49f70cb3794b51e2730bffa01
> with changes to disable the tests when not building with X11 support.
> 
> TBR=sergeyu@chromium.org
> Original change's description:
> > reenable mouse_cursor_monitor tests on linux
> >
> > BUG=webrtc:3245
> >
> > Change-Id: Ibf9cd929b22a0a519950621da46eb9f5b3febd73
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/181367
> > Reviewed-by: Tommi <tommi@webrtc.org>
> > Reviewed-by: Sergey Ulanov <sergeyu@google.com>
> > Commit-Queue: Tommi <tommi@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#31940}
> 
> BUG=webrtc:3245
> 
> Change-Id: I882e08f6f425df357f16fa4db25dcdf79db1f367
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/181882
> Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32047}

TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org,sergeyu@chromium.org,philipp.hancke@googlemail.com

Change-Id: I2196dcbf996057dada79cc4cbae6522d6a934c75
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:3245
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183544
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32053}
2020-09-07 18:29:13 +00:00
fd71e799cb Delete unused counters added_zero_samples_ and discarded_packets_
Bug: webrtc:11622
Change-Id: I15010f7ebf59377c266863cc67c7ffe0dcb78ace
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183540
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32052}
2020-09-07 14:40:21 +00:00
bddedcbb33 Reland "reenable mouse_cursor_monitor tests on linux"
This is a reland of 79098821a23f9de49f70cb3794b51e2730bffa01
with changes to disable the tests when not building with X11 support.

TBR=sergeyu@chromium.org
Original change's description:
> reenable mouse_cursor_monitor tests on linux
>
> BUG=webrtc:3245
>
> Change-Id: Ibf9cd929b22a0a519950621da46eb9f5b3febd73
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/181367
> Reviewed-by: Tommi <tommi@webrtc.org>
> Reviewed-by: Sergey Ulanov <sergeyu@google.com>
> Commit-Queue: Tommi <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31940}

BUG=webrtc:3245

Change-Id: I882e08f6f425df357f16fa4db25dcdf79db1f367
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/181882
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32047}
2020-09-07 11:57:01 +00:00
bef022bde0 Refactor cpu_features_wrapper.h functions from C to C++.
As mentioned on https://webrtc-review.googlesource.com/c/src/+/183380,
then relanded as https://webrtc-review.googlesource.com/c/src/+/183444,
functions in cpu_features_wrapper.h should be refactored to use
C++ features like namespaces and drop the WebRtc_ prefix.

Bug: None
Change-Id: I3e83e1668f9bf48a5d8e85d809f006666b7fa45e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183445
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32045}
2020-09-07 08:44:24 +00:00
d381eede92 Rename PlayoutDelay --> VideoPlayoutDelay, move to api/video/video_timing.h
We can then finally delete the top-level common_types.h, and the
corresponding build target webrtc_common.

Bug: webrtc:7660
Change-Id: I1c1096541477586d90774c7a3405b9d36edec14a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/182800
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32044}
2020-09-07 08:37:14 +00:00
66e7338617 Reland "Merge cpu_features build targets into //system_wrappers."
This is a reland of 2b242d8fba59ccf67e4c5bcf5a1ea80917a23e1c

Original change's description:
> Merge cpu_features build targets into //system_wrappers.
>
> Before this CL, functions declared in cpu_features_wrapper.h where
> not defined in the same build target, causing brittle builds that
> might fail at link time if the binary was not depending on
> //system_wrappers (the target with the definitions), violating [1].
>
> This CL moves everything into //system_wrappers and also moves
> cpu_features_wrapper.h definitions from C to C++ (in order to be able
> to add the definitions to a C++ build target like //system_wrappers).
>
> [1] - https://webrtc.googlesource.com/src/+/refs/heads/master/style-guide.md#h-cc-pairs
>
> Bug: None
> Change-Id: I5a0009cddb17206b19f2a71eeba722faacc4bcae
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183380
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32039}

TBR=kwiberg@webrtc.org

Bug: None
Change-Id: I1695b9a34d3ec20c50c1202a745f64fac58edef0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183444
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32042}
2020-09-06 10:38:23 +00:00
d156a0d061 Revert "Merge cpu_features build targets into //system_wrappers."
This reverts commit 2b242d8fba59ccf67e4c5bcf5a1ea80917a23e1c.

Reason for revert: Breaks downstream project.

Original change's description:
> Merge cpu_features build targets into //system_wrappers.
> 
> Before this CL, functions declared in cpu_features_wrapper.h where
> not defined in the same build target, causing brittle builds that
> might fail at link time if the binary was not depending on
> //system_wrappers (the target with the definitions), violating [1].
> 
> This CL moves everything into //system_wrappers and also moves
> cpu_features_wrapper.h definitions from C to C++ (in order to be able
> to add the definitions to a C++ build target like //system_wrappers).
> 
> [1] - https://webrtc.googlesource.com/src/+/refs/heads/master/style-guide.md#h-cc-pairs
> 
> Bug: None
> Change-Id: I5a0009cddb17206b19f2a71eeba722faacc4bcae
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183380
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32039}

TBR=mbonadei@webrtc.org,kwiberg@webrtc.org

Change-Id: I4daa7582e55a0343eef72f08ed023c73e0b6456b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183443
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32040}
2020-09-05 21:18:40 +00:00
2b242d8fba Merge cpu_features build targets into //system_wrappers.
Before this CL, functions declared in cpu_features_wrapper.h where
not defined in the same build target, causing brittle builds that
might fail at link time if the binary was not depending on
//system_wrappers (the target with the definitions), violating [1].

This CL moves everything into //system_wrappers and also moves
cpu_features_wrapper.h definitions from C to C++ (in order to be able
to add the definitions to a C++ build target like //system_wrappers).

[1] - https://webrtc.googlesource.com/src/+/refs/heads/master/style-guide.md#h-cc-pairs

Bug: None
Change-Id: I5a0009cddb17206b19f2a71eeba722faacc4bcae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183380
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32039}
2020-09-05 20:43:27 +00:00
c94650d88f Remove AudioProcessing::SetExtraOptions.
Bug: webrtc:5298
Change-Id: I28be75df69b66aa59ae91b05cb7f9afad4f55aa1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/182120
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32033}
2020-09-03 12:43:14 +00:00
ea8f739bce Make AudioProcessing::SetExtraOptions non pure-virtual.
Bug: webrtc:5298
Change-Id: Ib5ba81c8e333b1e7189fbb7e9e9f143579c84b8b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/182181
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32032}
2020-09-03 06:17:44 +00:00
c60774bed0 Delete RTPFragmentationHeader as no longer used
Bug: webrtc:6471
Change-Id: I714ceda3cd84606deda6a47696a65d43f9ab4430
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183041
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32031}
2020-09-03 00:01:27 +00:00
0ade98316c Cleanup of the APM creation
This CL removes the possibility that APM cannot be created, i.e., that
the create method can return nullptr. That was already the case
implicitly but this CL makes that behavior explicit.


Bug: webrtc:5298
Change-Id: I2706ea538c9d1b4bcd65faecab637640a209a4dc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183101
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32029}
2020-09-02 20:28:49 +00:00
e537e9ca13 aec3: Support AVX2/FMA intrinsics in AEC3
Bug: webrtc:11663
Change-Id: Ib75eb616ef0cb62698b0d96af7ebe42e93825222
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/179006
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32023}
2020-09-01 11:58:16 +00:00
08b63641bd Move ABSL_MUST_USE_RESULT at the beginning of the method decl.
Bug: chromium:1122891
Change-Id: Ieb1763bc659e93c38fab14ee90823e3b57872478
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/182921
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32016}
2020-08-31 08:19:29 +00:00
91c0477b43 Add AV1 support to IVF reader and writer
Bug: None
Change-Id: I2ce36d282596bba54b7924e838b19b06eaacf0fd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/182503
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31998}
2020-08-26 11:12:32 +00:00
cccd55094d Delete unneeded dependencies on deprecated build target webrtc_common
Bug: webrtc:7660
Change-Id: Iad32aad8432fa2c6b3018d511b51943f869fbd11
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/182420
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31986}
2020-08-25 07:33:12 +00:00
d37b0ec2bb Passing the estimated capture clock offset to SendVideo.
Bug: webrtc:10739
Change-Id: I491db1910fad9101c7c9087e880862e755dfc69d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/182184
Reviewed-by: Chen Xing <chxg@google.com>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31983}
2020-08-24 13:31:42 +00:00
fbb49b4f7f Enable Vp8VariableFramerateScreenshare by default
Bug: webrtc:10310,chromium:949112
Change-Id: I3ed54c0571bdb8be026dee82ca3578dd5c0f9158
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/182182
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31979}
2020-08-21 15:03:58 +00:00
e64b3d0159 Send estimated capture clock offset when sending Abs-capture-time RTP header extension.
Bug: webrtc:10739
Change-Id: I4e3c46c749b9907ae9d212651b564add91c56958
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/182004
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Chen Xing <chxg@google.com>
Cr-Commit-Position: refs/heads/master@{#31973}
2020-08-20 16:23:22 +00:00