2845 Commits

Author SHA1 Message Date
Elad Alon
c3f31dc395 Avoid copying of InlinedVector by DefaultTemporalLayers ctor
Bug: None
Change-Id: I31767a97ad5438001b6fc348157ef25a97ed6168
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133180
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27639}
2019-04-16 10:50:41 +00:00
Gustaf Ullberg
2bab5ad3b1 AEC3: Avoid using filter output in suppression gain computation in non-linear mode
As non-linear mode uses a suppressed version of y (not e) as output, this change
uses Y2, rather than E2, as nearend spectrum when computing the suppression gains.
E2 is still used in linear mode.

This change also affects how the minimum suppression gains are calculated. The
minimum gain is now min_echo_power / weighted_residual_echo.

Bug: webrtc:10550
Change-Id: I2904c5a09dd64b06bf25eb5a37c18dab50297794
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133023
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27629}
2019-04-15 16:08:41 +00:00
Minyue Li
f9846bc172 Adding DTX logic to FakeDecodeFromFile (used be NetEqTest).
Bug: b/129521878
Change-Id: Ifcf868048a39ef1d2cc736988479f921e668167b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132799
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27626}
2019-04-15 15:03:39 +00:00
Sebastian Jansson
df88cc014a Allow injection of network estimator into GoogCC.
Bug: webrtc:10498
Change-Id: Ie9225411db201dfcfa0a37a3c40992acbdc215bb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132402
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@{#27624}
2019-04-15 14:12:08 +00:00
Sebastian Jansson
ef86d1413e Refactor of SimulationNode.
This prepares for using network emulation manager in Scenario tests.

Bug: webrtc:9510
Change-Id: I6ae1b21790d0bcd2b01a3b293231d0859afc1ac8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132719
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27623}
2019-04-15 14:11:00 +00:00
Minyue Li
54c6640efb Disallow time stretching during DTX.
Bug: b/129521878
Change-Id: I32f60c661c6cae001840c9fe83fc848fe23acabc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132789
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27622}
2019-04-15 14:05:11 +00:00
Elad Alon
6796ec2289 Add OnFrameDropped() to Vp8FrameBufferController
Prior to this CL, this was indicated by passing |size_bytes| = 0
to the method.

Bug: webrtc:10501
Change-Id: Icff3bb83344834dc62d62bde5ec5d05096a08e11
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132712
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27620}
2019-04-15 12:35:45 +00:00
Alessio Bazzica
7e53be0555 NetEQ: GenerateBackgroundNoise moved to BackgrounNoise
Bug: webrtc:10548
Change-Id: Ie9da0755793078b81c60c3751abcbff13da40ede
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132788
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27619}
2019-04-15 12:23:15 +00:00
Per Kjellander
5b69873cb5 Remove direct use of FieldTrials from AlrDetector
Instead use WebRtcKeyValueConfig and FieldTrialBasedConfig.
The purpose is to allow a user of GoogCC to use different settings on different instances.

BUG=webrtc:10335

Change-Id: I2f837688c9fdd341eecb44484cc784b1c80da1a9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132791
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27617}
2019-04-15 12:11:36 +00:00
Rasmus Brandt
315de596b0 Switch to RTC_LOG(LS_INFO) for non-perf VideoCodecTest text output.
This allows picking up the output in Android tests, where stdout/stderr
is lost but RTC_LOGs are picked up by the org.webrtc.Logging utility.

Tested: Downstream Android tests.
Bug: webrtc:10349
Change-Id: I1379f4303640dbc9621c64d9c88cf61bc8447ab6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132704
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27616}
2019-04-15 12:08:15 +00:00
Erik Språng
7a3fe89138 Tweak libvpx vp8/vp9 encoder rc settings based on network headroom.
This CL adds an experiment where aggressiveness of the rate controller
is tuned based on if the application is network constrained or not.

Bug: webrtc:10155
Change-Id: I6c8cd116f57321c5b36cf5a69840913936091aaa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132786
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27615}
2019-04-15 11:59:15 +00:00
Gustaf Ullberg
0046697841 AEC3: Remove unused parameter from GetGain
Bug: webrtc:8671
Change-Id: Id227d3d5ddfe3b2d08509215e082e3c759f8212b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132794
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27612}
2019-04-15 10:23:50 +00:00
Gustaf Ullberg
98da0bd54a AEC3: Remove unused code from residual echo estimator
Bug: webrtc:8671
Change-Id: Id2f711223826e71072dda343fc22ee996532a33a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132793
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27611}
2019-04-15 10:22:45 +00:00
Gustaf Ullberg
9466b66ed9 AEC3: No update of filter delay when linear filter is disabled
Bug: b/130016532
Change-Id: I535013521e87097df6dae772770666ac0631b777
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132790
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27608}
2019-04-15 09:04:58 +00:00
Per Åhgren
8607f843a7 Change unittests to use AEC3 instead of AEC2
This CL changes the APM unittests to use AEC3 instead of
AEC2.


Bug: webrtc:8671
Change-Id: I80f88dbafb7c31696abd8b7efb5a187a9fb30d1c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129420
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27607}
2019-04-15 07:33:52 +00:00
Yves Gerey
79e9f4b9c1 Replace test::Statistics by webrtc::RunningStatistics.
The former became redundant and didn't guarantee
numerical stability for variance computation.

Bug: webrtc:10412
Change-Id: Idc291abe9add41bde9e7734f179e5d6c65f2630b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132460
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27605}
2019-04-13 17:55:27 +00:00
Per Åhgren
ef3496095d Allow audioproc_f to override the pre-amp gain in aecdumps
This CL allows audioproc_f to overrule any runtime settings for the
pre-amplifier gain that are present in the aecdump file.

Bug: webrtc:10546
Change-Id: I74dbf8d043f59b516bf0abc80f266e965af0754d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132558
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27598}
2019-04-12 15:05:15 +00:00
Yves Gerey
14696c23d9 [Cleanup] Remove our own definition of M_PI.
* This is too brittle and might clash with MSVC's M_PI. See [1].
* We only used it once (in a unit test).
* We shouldn't use PI anyway [2].

Instead, pull it from <cmath> with _USE_MATH_DEFINES,
like it's already done in the code base.

[1] https://ci.chromium.org/p/webrtc/builders/try/win_x86_msvc_rel/6844
[2] https://tauday.com/tau-manifesto

Bug: webrtc:9855
Change-Id: I7a6976240604ef367ea07478d8cb5e4020e5dfeb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132548
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#27597}
2019-04-12 15:03:45 +00:00
Erik Språng
16cb8f5d74 Reland "Replace usage of old SetRates/SetRateAllocation methods"
This is a reland of 7ac0d5f348f0b956089c4ed65c46e65bac125508

Original change's description:
> Replace usage of old SetRates/SetRateAllocation methods
>
> This rather large CL replaces all relevant usage of the old
> VideoEncoder::SetRates()/SetRateAllocation() methods in WebRTC.
> API is unchanged to allow downstream projects to update without
> breakage.
>
> Bug: webrtc:10481
> Change-Id: Iab8f292ce6be6c3f5056a239d26361962b14bb38
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131949
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27554}

TBR=brandtr@webrtc.org,sakal@webrtc.org,perkj@webrtc.org

Bug: webrtc:10481
Change-Id: I2978d5c527a18e885b7845c4e53a2424e8ad5b4b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132551
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27593}
2019-04-12 13:37:32 +00:00
Sebastian Jansson
5a000165d2 Cleanup: Using DCHECK comparison macros for unit types.
This provides nicer error messages.

Bug: webrtc:9883
Change-Id: I7664c12f34bec2ba46a4057b1f45958daf3944b8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132707
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27590}
2019-04-12 13:01:03 +00:00
Mirko Bonadei
58e113a2de Fix variable shadowing in RoundRobinPacketQueue::Push.
Bug: webrtc:9018
Change-Id: I149b89d9ffe3e176f5afcbd82b56c1b77b11322b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132701
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27579}
2019-04-12 07:38:49 +00:00
Sebastian Jansson
11d0d7b945 Reland "Running FrameBuffer on task queue."
This is a reland of 13943b7b7f6d00568912b9969db2c7871d18e21f

Original change's description:
> Running FrameBuffer on task queue.
> 
> This prepares for running WebRTC in simulated time where event::Wait
> based timing doesn't work.
> 
> Bug: webrtc:10365
> Change-Id: Ia0f9b1cc8e3c8c27a38e45b40487050a4699d8cf
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129962
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27422}

Bug: webrtc:10365
Change-Id: I412d3e0fe06c6dd57cdb42974f09e03f3a6ad038
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131124
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27572}
2019-04-11 15:41:28 +00:00
Rasmus Brandt
70c961f965 Delete unused members of VideoCodecH264.
profile-level-id for H.264 comes in through the SdpVideoFormat,
rather than through these members.

Bug: None
Change-Id: I9c4ea8873346ca16174aecf5f90a649cbaf913dd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132545
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27571}
2019-04-11 15:32:48 +00:00
Niels Möller
691f62cfaa Make VCMJitterBuffer::SetNackMode(kNack, -1, -1) the only mode
Bug: webrtc:7408
Change-Id: I9d9e4f97c7705b42c9575167710a3e79781b83e8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130220
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27568}
2019-04-11 14:29:42 +00:00
Per Åhgren
ffa1d173fe AEC3: Correcting minimum comfort noise levels
This CL corrects the minimum bound for the estimated
comfort noise level.

Bug: webrtc:10533
Change-Id: I473275ffbc7bb52572315849f30e13b764109d92
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132003
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27567}
2019-04-11 14:23:22 +00:00
Gustaf Ullberg
52caa0ef58 AEC3: Configuration parameter for disabling linear filter
The configuration parameter filter.use_linear_filter can be used to
disable the linear filtering. Disabling the linear filter is equivalent
to runing in non-linear mode.

Bug: b/130016532
Change-Id: I8ffdf474822888b9915444bba6cc1c25ec1efe5a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132552
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27566}
2019-04-11 13:19:42 +00:00
Niels Möller
7aacdd9515 Reland "Delete CodecSpecificInfo argument from VideoDecoder::Decode"
This is a reland of 39d3a7de02d63894d12e7332322e1d80cd7c0d40

Original change's description:
> Delete CodecSpecificInfo argument from VideoDecoder::Decode
>
> Bug: webrtc:10379
> Change-Id: I079b419604bf4e9c1994fe203d7db131a0ccddb6
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125920
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27022}

Tbr: kwiberg@webrtc.org
Bug: webrtc:10379
Change-Id: I8197bebd2ae7dc460644a98795b8257b033c27c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126480
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27565}
2019-04-11 13:03:52 +00:00
Niels Möller
40f131ace0 Delete unused class MockVCMFrameTypeCallback
Unused since https://codereview.webrtc.org/2755803004

Bug: None
Change-Id: I5c5180fa990235f6353dd972cf4cc05676730a3b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132541
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27562}
2019-04-11 11:19:26 +00:00
Minyue Li
7ddef1af88 Revert "Replace usage of old SetRates/SetRateAllocation methods"
This reverts commit 7ac0d5f348f0b956089c4ed65c46e65bac125508.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Replace usage of old SetRates/SetRateAllocation methods
> 
> This rather large CL replaces all relevant usage of the old
> VideoEncoder::SetRates()/SetRateAllocation() methods in WebRTC.
> API is unchanged to allow downstream projects to update without
> breakage.
> 
> Bug: webrtc:10481
> Change-Id: Iab8f292ce6be6c3f5056a239d26361962b14bb38
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131949
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27554}

TBR=brandtr@webrtc.org,sakal@webrtc.org,nisse@webrtc.org,sprang@webrtc.org,perkj@webrtc.org

Change-Id: I576760b584e3f258013b0279c0c173c895bbb37e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10481
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132561
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27559}
2019-04-11 10:50:29 +00:00
Erik Språng
7ac0d5f348 Replace usage of old SetRates/SetRateAllocation methods
This rather large CL replaces all relevant usage of the old
VideoEncoder::SetRates()/SetRateAllocation() methods in WebRTC.
API is unchanged to allow downstream projects to update without
breakage.

Bug: webrtc:10481
Change-Id: Iab8f292ce6be6c3f5056a239d26361962b14bb38
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131949
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27554}
2019-04-11 07:46:09 +00:00
Evan Shrubsole
ae68ea0008 Reland "Add new field trial for controlling congestion window settings"
This is a reland of dd33d8ec7113ae7bee1511dc9f3f2d6336a7f083

Original change's description:
> Add new field trial for controlling congestion window settings
>
> Bug: None
> Change-Id: Idb7425e394db74a9dfb4f3764a58710497adff56
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131127
> Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
> Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
> Commit-Queue: Evan Shrubsole <eshr@google.com>
> Cr-Commit-Position: refs/heads/master@{#27538}

TBR=mflodman@webrtc.org,crodbro@webrtc.org

Bug: None
Change-Id: Icee2efb90e219ef2c3384ad84498fd6938a98e56
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132400
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27550}
2019-04-10 16:49:08 +00:00
Christoffer Rodbro
0951cfd13e Add crodbro as owner of congestion controller.
Bug: none
Change-Id: I7310e898745b5478623db6cc00cc2767a176dd5d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132341
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27548}
2019-04-10 16:35:08 +00:00
Elad Alon
b6ef99bb33 Translate loss notifications and pass to encoder
Translate LossNotification RTCP messages (sequence number to
timestamp and additional information), then send the translted
message onwards to the encoder.

Bug: webrtc:10501
Change-Id: If2fd943f75c36cf813a83120318d8eefc8c595d2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131950
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27545}
2019-04-10 15:31:53 +00:00
Elad Alon
898395d181 RTPSenderVideo::GetSentRtpPacketInfo() over a set of sequence numbers
Add a version of RTPSenderVideo::GetSentRtpPacketInfo() that operates
over a set of numbers, so as to only grab the lock once.

Bug: webrtc:10501
Change-Id: I9453b0cb44dcd6e2ce196390b2c5c9a7dd6d800a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132014
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27544}
2019-04-10 14:32:00 +00:00
Ying Wang
0810a7c25a Add base class NetworkPredictor and NetworkPredictorFactory and wire up.
Add base class NetworkPredictor and NetworkPredictorFactory in /api, make it possible to inject customized NetworkPredictor in PeerConnectionFactory level. The NetworkPredictor object will be pass down to GoogCCNetworkControl and DelayBasedBwe.

Bug: webrtc:10492
Change-Id: Iceeadbe1c9388b11ce4ac01ee56554cb0bf64d04
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130201
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27543}
2019-04-10 12:38:58 +00:00
Evan Shrubsole
bd167cf140 Revert "Add new field trial for controlling congestion window settings"
This reverts commit dd33d8ec7113ae7bee1511dc9f3f2d6336a7f083.

Reason for revert: Breaks upstream tests

Original change's description:
> Add new field trial for controlling congestion window settings
>
> Bug: None
> Change-Id: Idb7425e394db74a9dfb4f3764a58710497adff56
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131127
> Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
> Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
> Commit-Queue: Evan Shrubsole <eshr@google.com>
> Cr-Commit-Position: refs/heads/master@{#27538}

TBR=mflodman@webrtc.org,crodbro@webrtc.org,eshr@google.com

Change-Id: I17c6c2ed109f4427657457065abe186ec8b3d10c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132322
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27541}
2019-04-10 12:18:38 +00:00
Konrad Hofbauer
25f35a8fa5 Add FieldTrial to only send probes on OnMaxTotalAllocatedBitrate()
if currently sent bitrate is application-limited.

Bug: chromium:951299
Change-Id: Ibc1ebd74eaa4a019dc290c11b606796c5be21d0f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131126
Commit-Queue: Konrad Hofbauer <hofbauer@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27539}
2019-04-10 11:23:35 +00:00
Evan Shrubsole
dd33d8ec71 Add new field trial for controlling congestion window settings
Bug: None
Change-Id: Idb7425e394db74a9dfb4f3764a58710497adff56
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131127
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/master@{#27538}
2019-04-10 10:52:51 +00:00
Alessio Bazzica
4d4cce8b3f RNN VAD: Switch to PFFFT
This CL replaces KissFFT with PFFFT for the spectral features
computation.

Remarks:
- Extra FFT output vector copy eliminated
- Scaling and windowing merged into a single vector for efficiency
- Nyquist frequency hack to keep the iteration in
  BandFeaturesExtractor::ComputeSpectralCrossCorrelation simple

Bug: webrtc:9577, webrtc:10480
Change-Id: I436563bd257f66a243f5402be270ffcf859bd184
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130221
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27536}
2019-04-10 09:54:54 +00:00
Alessio Bazzica
4a53766c84 RNN VAD: Opus band spectral analysis refactoring
This CL refactors the computation of band energy and spectral
cross-correlation coefficients by moving and optimizing
the code from ComputeBandCoefficients, ComputeBandEnergies and
ComputeSpectralCrossCorrelation into a single class (named
BandFeaturesExtractor).

This change will also help replacing FFT library in the RNN VAD.

Bug: webrtc:10480
Change-Id: I6cefa23e8f3bc8de6eb09d3ea434699d5e19124e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129726
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27535}
2019-04-10 08:34:03 +00:00
Kári Tristan Helgason
7a930da66b Reland "Remove old audio device implementation."
This reverts commit e9d2b4efdd5dddaa3a476c0ac2a9cf9125b39929.

Reason for revert: Fixing build break of downstream project.

Original change's description:
> Revert "Remove old audio device implementation."
> 
> This reverts commit 0cfa4cba5cae5e942f5d8e0e4e93b94982d0bfc3.
> 
> Reason for revert: audio_device_ios_objc target is removed, but still referenced by iPhone Meetins:Meeting_build_test, which now fails to build
> 
> Original change's description:
> > Remove old audio device implementation.
> > 
> > The iOS ADM implementation now lives in sdk/objc/native/api/audio_device_module.{h,mm}.
> > 
> > Bug: webrtc:10514
> > Change-Id: Ib0b162027b5680ebc40d621a57f1155f08e7a057
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131326
> > Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
> > Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#27488}
> 
> TBR=henrika@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org
> 
> Change-Id: I5be10b3d17403a79ea30afc255cde01171bc9f5b
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10514
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131960
> Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
> Commit-Queue: Jeroen de Borst <jeroendb@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27492}

TBR=henrika@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org,jeroendb@webrtc.org

Change-Id: Ic05131d902f9623bd5ae7635d3c71880ffd3c6d3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10514
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131944
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27533}
2019-04-10 06:44:42 +00:00
Ilya Nikolaevskiy
f87a7dfb42 Fix undefined behavior in FrameBuffer
Bug: none
Change-Id: I7ce6298a27dc9e79e5f5a85103b3f1dd7b4be71e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131953
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27527}
2019-04-09 18:12:32 +00:00
Mirko Bonadei
6a489f22c7 Fully qualify googletest symbols.
Semi-automatically created with:

git grep -l " testing::" | xargs sed -i "s/ testing::/ ::testing::/g"
git grep -l "(testing::" | xargs sed -i "s/(testing::/(::testing::/g"
git cl format

After this, two .cc files failed to compile and I have fixed them
manually.

Bug: webrtc:10523
Change-Id: I4741d3bcedc831b6c5fdc04485678617eb4ce031
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132018
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27526}
2019-04-09 17:18:20 +00:00
Noah Richards
5154c5bc01 Remove atlbase dependency and lowercase Windows header includes.
ATL is being used to avoid a CoTaskMemFree, which we can just do directly.

Change-Id: Id5eddedd3634ca3d9adb9e5b54bc90ad298dd56c
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132080
Commit-Queue: Noah Richards <noahric@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27524}
2019-04-09 16:51:50 +00:00
Sebastian Jansson
b55015e4e1 Replacing SequencedTaskChecker with SequenceChecker.
Bug: webrtc:9883
Change-Id: I5e3189da2a46e6f4ed1a3c5a5dfd2f7d75a16b5d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130961
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27518}
2019-04-09 12:28:04 +00:00
Christoffer Rodbro
412dc5f27e Clean-up of unused PacingBufferPushback feature.
Bug: webrtc:8171
Change-Id: I2804d6c87fe8b645e6c65784bbc525050c74a375
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131387
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27517}
2019-04-09 12:07:03 +00:00
Elad Alon
0a8562e276 Forward LossNotification from RTCPReceiver to EncoderRtcpFeedback
TBR=sprang@webrtc.org

Bug: webrtc:10501
Change-Id: I09a571a65ba8515b027ee32d1f46e5cc7f699704
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131325
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27513}
2019-04-09 11:13:39 +00:00
Niels Möller
1f44bc1df2 Delete local convenience alias Buffer
Bug: webrtc:10524
Change-Id: I01d8e02b3b625288df7d41d08c36caeba08dd3aa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132006
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27512}
2019-04-09 11:05:04 +00:00
Mirko Bonadei
00d1adf880 Make audio_device_module_from_input_and_output visible.
Bug: None
Change-Id: I185fe3d3f4b96fd55fd7148c33df105caa21d9ab
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132010
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27511}
2019-04-09 11:03:59 +00:00
Niels Möller
8581877121 Delete interface class VideoCaptureExternal
Also delete corresponding and unused create method
VideoCaptureFactory::Create(VideoCaptureExternal...),
the code under modules/video_capture/external, and the
build target modules/video_capture:video_capture.

Bug: None
Change-Id: I5ec6139e9ecf460f93ede847868f7f80dbc019f5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131385
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27506}
2019-04-09 08:18:20 +00:00