1941 Commits

Author SHA1 Message Date
Per Åhgren
e4d23b1adf Hooked up the control of the adaptive AGC2 mode in audioproc_f
This CL adds the ability to toggle the AGC2 adaptive digital mode in
audioproc_f

Bug: webrtc:5298
Change-Id: If1567d8c87f88992dff89253edb293a56cee0a73
Reviewed-on: https://webrtc-review.googlesource.com/c/103361
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24954}
2018-10-03 14:21:55 +00:00
Danil Chapovalov
5c25010c86 Set public visibility for rtp_rtcp and video_coding targets
Though discouraged, those folders are listed in native-api

NOTRY=True

Bug: webrtc:9808
Change-Id: I9407c8d69a0d75196cfa9435f5e459264c64e046
Reviewed-on: https://webrtc-review.googlesource.com/c/103364
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24953}
2018-10-03 13:30:52 +00:00
Hans Wennborg
f9d38f2e4e Fix -Wdefaulted-function-deleted warning in StreamPrioKey
../../third_party/webrtc/modules/pacing/round_robin_packet_queue.h:70:5:
warning: explicitly defaulted default constructor is implicitly deleted
[-Wdefaulted-function-deleted]
    StreamPrioKey() = default;
    ^
../../third_party/webrtc/modules/pacing/round_robin_packet_queue.h:80:37: note:
default constructor of 'StreamPrioKey' is implicitly deleted because field
'priority' of const-qualified type 'const RtpPacketSender::Priority' would not
be initialized
    const RtpPacketSender::Priority priority;
                                    ^

Bug: chromium:890307
Change-Id: I58f21121fc9083a60ba1ad26492fdca6285d0447
Reviewed-on: https://webrtc-review.googlesource.com/c/103181
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24952}
2018-10-03 12:57:10 +00:00
Karl Wiberg
5cc8e14586 audio_coding_module_unittest: Don't rely on the ACM to create encoders
It will soon lose the ability to do so.

Bug: webrtc:8396
Change-Id: I1d7c62fbc2585233cf1656fdcc4bb5380c2f41a5
Reviewed-on: https://webrtc-review.googlesource.com/c/100980
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24947}
2018-10-03 09:47:10 +00:00
Niels Möller
9eb44ac72f Delete pre_decode_image_callback
Followup to https://webrtc-review.googlesource.com/c/src/+/97580.

Bug: webrtc:9106
Change-Id: I1181dabe82f1ca63bd2ba124152f5103972a8bcc
Reviewed-on: https://webrtc-review.googlesource.com/c/103100
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24945}
2018-10-03 08:08:47 +00:00
Sam Zackrisson
8c147b68e6 Reland "Remove APM-internal usage of EchoControlMobile"
This is a reland of 2fbb83b16b4c2c1712cbe898ca3ba42d6da3e96f

Original change's description:
> Remove APM-internal usage of EchoControlMobile
> 
> This is a sibling CL to a similar one for EchoCancellation:
> https://webrtc-review.googlesource.com/c/src/+/97603
> 
>  - EchoControlMobileImpl will no longer inherit EchoControlMobile.
>  - Removes usage of AudioProcessing::echo_control_mobile() inside most of
>    the audio processing module and unit tests.
> 
> The CL breaks audioproc_f backwards compatibility: It can no longer
> use all recorded settings (comfort noise, routing mode), but prints an
> error message when unsupported settings are encountered.
> 
> Tested: audioproc_f with .wav and aecdump inputs.
> Bug: webrtc:9535
> Change-Id: I63c3c81bcaf44021315978e1a0f3e42173b988ce
> Reviewed-on: https://webrtc-review.googlesource.com/101621
> Reviewed-by: Alex Loiko <aleloi@webrtc.org>
> Commit-Queue: Sam Zackrisson <saza@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24888}

Bug: webrtc:9535
Change-Id: I172706c6729cac4eb6afde1ebd6fc8f3a289d6c7
Reviewed-on: https://webrtc-review.googlesource.com/c/102881
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24943}
2018-10-03 07:45:33 +00:00
Per Åhgren
e8a55693c2 AEC3: Correct the check for not reacting on initial pre-amp gain changes
This CL corrects the incorrectly implemented check to avoid that AEC3
reacts on the initial pre-amp gain setting.

TBR: devicentepena@webrtc.org
Bug: webrtc:9805
Change-Id: I5decbf00a80457f24b8cd499c35720805ff9ccbc
Reviewed-on: https://webrtc-review.googlesource.com/c/103360
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24938}
2018-10-02 22:09:24 +00:00
philipel
5fb245498c Added RtpFrameObject::SetBitstream so that the frame can be updated with the decrypted payload.
Bug: webrtc:9361
Change-Id: I5d61219033f7c3ff7e7691b74322bfa44f49e326
Reviewed-on: https://webrtc-review.googlesource.com/103221
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24934}
2018-10-02 15:56:38 +00:00
Per Åhgren
d2650d1a28 AEC3: Reseting the ERLE at pre-amplifier gain changes
In this CL the ERLE estimator is reset after a pre-amplifier gain change is communicated to APM.

Bug: webrtc:9805
Change-Id: I040f344e4607e862240250f9478d06de0d58a096
Reviewed-on: https://webrtc-review.googlesource.com/103222
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24933}
2018-10-02 15:53:58 +00:00
Sam Zackrisson
b45bdb524c Move rtc_json code from API dir, enable unit test, unmark testonly
This change does three things:
 - Move rtc_json into rtc_base/strings/, a non-API directory more fitting to
   its purpose.
 - Make a target for the currently unused json_unittest.
 - Make the code available for use in non-test code again.

Bug: webrtc:9802
Change-Id: Id964a8a4b47b732a962a364894a4dbd3e7f4650f
Reviewed-on: https://webrtc-review.googlesource.com/103126
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24932}
2018-10-02 15:21:26 +00:00
philipel
2837edce99 Make RtpGenericFrameDescriptor available for E2EE.
This CL makes the RtpGenericFrameDescriptor available in
RTPSenderVideo::SendVideo for encryption and in
RtpVideoStreamReceiver::OnReceivedFrame for decryption.

Bug: webrtc:9361
Change-Id: I5b6d10138c0874657862f103c8c9a2328e6d4a66
Reviewed-on: https://webrtc-review.googlesource.com/102720
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24929}
2018-10-02 13:35:29 +00:00
Niels Möller
5ca2912494 Delete VideoReceiveStream::EnableEncodedFrameRecording
Use in VideoQualityTest replaced by creating a wrapper for the decoder,
similarly to https://webrtc-review.googlesource.com/94152 which
deleted the corresponding method on VideoSendStream.

Bug: webrtc:9106
Change-Id: I0a7798bc44704af8b36017655b9ffa34fa1423e6
Reviewed-on: https://webrtc-review.googlesource.com/97580
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24926}
2018-10-02 10:31:46 +00:00
Danil Chapovalov
e19953bdcb Add RtpPacket::GetRawExtension function
to extract byte representation of a built extension without rebuilding it.

Bug: webrtc:9361
Change-Id: I5e2a5caeb8ff28dcb58dc25d53407c449c86df44
Reviewed-on: https://webrtc-review.googlesource.com/102940
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24925}
2018-10-02 09:53:23 +00:00
Rasmus Brandt
73d117f64e Split WebRTC-UseShortVP8TL3Pattern field trial in two.
- WebRTC-UseShortVP8TL3Pattern: Use a temporal pattern of length 4.
- WebRTC-UseBaseHeavyVP8TL3RateAllocation: Allocate 60/20/20 to the TLs.

Bug: webrtc:9477
Change-Id: Ib22d74c9390273e6498d417354d2cd311d9439b9
Reviewed-on: https://webrtc-review.googlesource.com/102920
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24924}
2018-10-02 09:48:03 +00:00
Alex Loiko
93e5750a92 Reduce digital adaptive AGC2 gain in some situations.
Hypothetical scenario: short weak speech at start of call, then high
noise. The digital adaptive AGC2 would pick a high gain, and then
continue to apply it on the noise. Unless the noise is detected by the
noise estimator, the gain would never be reduced.

This CL addresses the issue by sending limiter gain info to the
adaptive digital AGC2.

Bug: webrtc:7494
Change-Id: Idf5c2686af0f5e5bad981d39a95b8efc9ffb9d64
Reviewed-on: https://webrtc-review.googlesource.com/102641
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24922}
2018-10-02 08:34:10 +00:00
Karl Wiberg
895ce82cab VAD/DTX tests: Don't let the ACM create audio encoders
It will soon lose the ability to do so.

Bug: webrtc:8396
Change-Id: I06dce417bba855b57130bd1a052988b2f235dcbd
Reviewed-on: https://webrtc-review.googlesource.com/102882
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24921}
2018-10-02 08:19:32 +00:00
Erik Språng
8abd56cfdf Split TemporalLayers and TemporalLayers checker, clean up header.
This CL is a step towards making the TemporalLayers landable in api/ :
* It splits TemporalLayers from TemporalLayersChecker
* It initially renames temporal_layer.h to vp8_temporal_layers.h and
  moved it into the include/ folder
* It removes the dependency on VideoCodec, which was essentially only
  used to determine if screenshare_layers or default_temporal_layers
  should be used, and the number of temporal temporal layers to use.

Subsequent CLs will make further cleanup before attempting a move to api

Bug: webrtc:9012
Change-Id: I87ea7aac66d39284eaebd86aa9d015aba2eaaaea
Reviewed-on: https://webrtc-review.googlesource.com/94156
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24920}
2018-10-02 07:52:02 +00:00
Sergey Silkin
390f358344 Configure frame references in VP9 encoder wrapper.
Bug: webrtc:9585
Change-Id: I3f90d8f2b81556cfb5fa9123607ab0a9ade2bf3f
Reviewed-on: https://webrtc-review.googlesource.com/93469
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24915}
2018-10-01 20:02:46 +00:00
Johannes Kron
957c62e0d6 Use timestamp instead of seq_num to distinguish between packets.
In the case a frame_object is kept for some time before it is deleted,
it may happend that a new frame is received with overlapping sequence
numbers. If the old frame_object is removed while receiving the new
frame there used to be a crash.

Bug: webrtc:9629
Change-Id: I270a8caa2b58b73c000542aa504c0ebe277d49c4
Reviewed-on: https://webrtc-review.googlesource.com/102683
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24914}
2018-10-01 19:56:16 +00:00
Sergey Silkin
b0bd03ba46 Set key frame request in VP9 enc wrapper on init.
Since libvpx VP9 enc always issues key frame after reinit.

Bug: none
Change-Id: I3349a38652af9085c35f8ac9d5b9d3e5549daab9
Reviewed-on: https://webrtc-review.googlesource.com/102660
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24912}
2018-10-01 15:19:09 +00:00
Ilya Nikolaevskiy
5f45e66518 Fix temporal layers pattern checker for VP8 video
Bug: webrtc:9791
Change-Id: Ie9be71d95705420397bf8053da61643ca45cceda
Reviewed-on: https://webrtc-review.googlesource.com/102620
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24910}
2018-10-01 13:06:32 +00:00
Karl Wiberg
3ff52ffa22 Remove the useless ACMTest base class
Bug: webrtc:8396
Change-Id: I021a2429910b21ffe4829e0ed51b9290bc715c0c
Reviewed-on: https://webrtc-review.googlesource.com/102884
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24907}
2018-10-01 12:01:44 +00:00
Mirko Bonadei
4f340fa01e Compile audio_device without -Wno-global-constructors.
This CL removes kNumMicrosecsPerSec and kNumMillisecsPerSec from
modules/audio_device/win/core_audio_utility_win.h.

kNumMillisecsPerSec was unused, while kNumMicrosecsPerSec has been
replaced by rtc::kNumMicrosecsPerSec.

Bug: webrtc:9693
Change-Id: I560aa9dad2bfb94a9bf67d3b9941700f1948086b
Reviewed-on: https://webrtc-review.googlesource.com/102860
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24906}
2018-10-01 08:49:51 +00:00
Sebastian Jansson
35fa280229 Adds allocated rate without feedback to new congestion controller.
When bitrate is allocated to streams that does not have packet feedback,
the allocated bitrate should be included in the estimate. This was
previously only implemented for the old congestion controller and not
for the new task queue based version.

To make the behavior more robust, the responsibility for tracking this
is moved to BitrateAllocator where it's handled consistently for
multiple streams without feedback.

Bug: webrtc:9586, webrtc:8243
Change-Id: I8af7fec23e1bdc08cc61cf1b4ff10461c3711fb0
Reviewed-on: https://webrtc-review.googlesource.com/102681
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24905}
2018-10-01 07:48:02 +00:00
Mirko Bonadei
e0d455b409 Remove runtime_enabled_feature.
This features is not needed anymore, with this CL it is also possible
to address two issues:
- The need to pick a default implementation.
- The need to use -Wno-global-constructors.

Bug: webrtc:9631, webrtc:9693
Change-Id: Id3daf34179fbc8db26969fc701ccbfa7182c6a9b
Reviewed-on: https://webrtc-review.googlesource.com/102543
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24904}
2018-10-01 07:03:25 +00:00
Sam Zackrisson
05a7004442 Revert "Remove APM-internal usage of EchoControlMobile"
This reverts commit 2fbb83b16b4c2c1712cbe898ca3ba42d6da3e96f.

Reason for revert: Speculative revert over failing Chromium bot:
https://ci.chromium.org/p/chromium/builders/luci.chromium.webrtc.fyi/WebRTC%20Chromium%20FYI%20Android%20Tests%20%28dbg%29%20%28M%20Nexus5X%29/117

Original change's description:
> Remove APM-internal usage of EchoControlMobile
> 
> This is a sibling CL to a similar one for EchoCancellation:
> https://webrtc-review.googlesource.com/c/src/+/97603
> 
>  - EchoControlMobileImpl will no longer inherit EchoControlMobile.
>  - Removes usage of AudioProcessing::echo_control_mobile() inside most of
>    the audio processing module and unit tests.
> 
> The CL breaks audioproc_f backwards compatibility: It can no longer
> use all recorded settings (comfort noise, routing mode), but prints an
> error message when unsupported settings are encountered.
> 
> Tested: audioproc_f with .wav and aecdump inputs.
> Bug: webrtc:9535
> Change-Id: I63c3c81bcaf44021315978e1a0f3e42173b988ce
> Reviewed-on: https://webrtc-review.googlesource.com/101621
> Reviewed-by: Alex Loiko <aleloi@webrtc.org>
> Commit-Queue: Sam Zackrisson <saza@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24888}

TBR=saza@webrtc.org,aleloi@webrtc.org

Change-Id: I1f8a27ac291f2cdc16c8daa32e399b74d489dbb9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9535
Reviewed-on: https://webrtc-review.googlesource.com/102642
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24895}
2018-09-28 13:39:19 +00:00
Sam Zackrisson
cb1b55612c Use low cut filtering whenever NS or AEC are enabled
These submodules implicitly rely on low cut filtering being enabled.

This CL clarifies a distinction:
High pass filtering is a feature that users can enable, according to the WebRTC standard.
Low cut filtering is a processing effect that is applied when any of the following is active:
- high pass filter
- noise suppression
- builtin echo cancellation

Bug: webrtc:9535
Change-Id: I9474276fb11354ea3b01e65a0699f6c29263770b
Reviewed-on: https://webrtc-review.googlesource.com/102600
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24892}
2018-09-28 13:00:19 +00:00
Sebastian Jansson
71a091e24e Adds simulated time scenario client.
Adds SimulatedTimeClient, a class that simulates time so congestion
controllers can be tested using the Scenario test framework without
running in real time.

This allows using simplified scenario tests as unit tests, narrowing
the gap between end to end tests and unit tests.

Bug: webrtc:9510
Change-Id: I61ab388bd610f636b926675b1f14b8d85e3c1114
Reviewed-on: https://webrtc-review.googlesource.com/99801
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24890}
2018-09-28 12:30:44 +00:00
Niels Möller
1f3206cca4 Change ReceiveStatistics to implement RtpPacketSinkInterface, part 1
Add new method OnRtpPacket, but leave
ReceiveStatisticsImpl::IncomingPacket and most of the implementation
unchanged. Deleting the old method and converting implementation from
RTPHeader to RtpPacketreceived is planned for a followup, after
downstream code is updated.

Bug: webrtc:7135, webrtc:8016
Change-Id: I697ec12804618859f8d69415622d1b957e1d0847
Reviewed-on: https://webrtc-review.googlesource.com/100104
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24889}
2018-09-28 12:00:28 +00:00
Sam Zackrisson
2fbb83b16b Remove APM-internal usage of EchoControlMobile
This is a sibling CL to a similar one for EchoCancellation:
https://webrtc-review.googlesource.com/c/src/+/97603

 - EchoControlMobileImpl will no longer inherit EchoControlMobile.
 - Removes usage of AudioProcessing::echo_control_mobile() inside most of
   the audio processing module and unit tests.

The CL breaks audioproc_f backwards compatibility: It can no longer
use all recorded settings (comfort noise, routing mode), but prints an
error message when unsupported settings are encountered.

Tested: audioproc_f with .wav and aecdump inputs.
Bug: webrtc:9535
Change-Id: I63c3c81bcaf44021315978e1a0f3e42173b988ce
Reviewed-on: https://webrtc-review.googlesource.com/101621
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24888}
2018-09-28 11:11:44 +00:00
Johannes Kron
07ba2b9445 Parse two-byte header extensions.
Bug: webrtc:7990
Change-Id: I967d2065b85d6a2ca938ac0e83035cb92b45a907
Reviewed-on: https://webrtc-review.googlesource.com/98160
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24881}
2018-09-28 08:32:17 +00:00
henrika
78e0ac1b39 Improves threading model in AudioDeviceTest.
These changes are based on finding when using Tsan v2. More changes are
needed before usage of the THREAD_SANITIZER build flag can be removed.
Hence, all tests are still ignored when this flag is set. The changes
are still improvements.

See https://bugs.chromium.org/p/webrtc/issues/detail?id=9778#c10
for more details.

Bug: webrtc:9778
Change-Id: I1266cec48165046dcffc16f104ec5b88b41500b2
Reviewed-on: https://webrtc-review.googlesource.com/102440
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24880}
2018-09-28 08:19:47 +00:00
Mirko Bonadei
17f4878419 Remove deprecated field_trial_default and metrics_default.
This CL removes some deprecated build targets (and their headers)
from system_wrappers:
- field_trial_api
- field_trial_default
- metrics_api
- metrics_default

It also refreshes all the dependencies on field_trial.h and metrics.h.

A nice side effect is that it is finally possible to remove 'nogncheck'
from the following files (when it was used with field_trial_default
and metrics_default):
- sdk/objc/api/peerconnection/RTCMetricsSampleInfo+Private.h
- sdk/android/src/jni/pc/peerconnectionfactory.cc
- sdk/objc/api/peerconnection/RTCFieldTrials.mm

Bug: webrtc:9631
Change-Id: Ib621f41ef8ad0aba4fe1c1d7e749c044afc956c3
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/100524
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24878}
2018-09-28 07:21:07 +00:00
Per Åhgren
f4801a1909 AEC3: Remove killswitches in AecState
This CL removes killswitches for code that has been properly tested in
experiments and is to be considered to be permanent.

The changes have been tested for bitexactness.

Bug: webrtc:8671
Change-Id: I0f9db16f377390d9dd3779096da91f3abc0fb4a5
Reviewed-on: https://webrtc-review.googlesource.com/102360
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24877}
2018-09-28 07:17:57 +00:00
Sebastian Jansson
dc8c981dcb Makes new congestion controller work with rtp sender tests.
Bug: webrtc:9586
Change-Id: Ifa12ef5d85b19395c62fc1001a107c4151927098
Reviewed-on: https://webrtc-review.googlesource.com/102160
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24871}
2018-09-27 15:58:32 +00:00
Sebastian Jansson
287cfdecab Removes deprecated functions from legacy SendSideCongestionController.
Bug: webrtc:9586
Change-Id: Id1b7e8a56044d6d4fb9167f03e71310aa6b8c26a
Reviewed-on: https://webrtc-review.googlesource.com/102200
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24870}
2018-09-27 15:42:10 +00:00
Mirko Bonadei
068a2e380b Remove usage of runtime_enabled_features in WebRTC.
This is the first step in order to remove runtime_enabled_features
code from WebRTC.

Bug: webrtc:9693
Change-Id: Ic67f770c2166755ea45c782efb3e4184433ac15e
Reviewed-on: https://webrtc-review.googlesource.com/102361
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24868}
2018-09-27 14:32:20 +00:00
Mirko Bonadei
e0c01b9802 Fix global_constructors, exit_time_destructors in audio device pulse.
Bug: webrtc:9693
Change-Id: I05498473be8a86756d65d0b9000d626c966d4ed3
Reviewed-on: https://webrtc-review.googlesource.com/100422
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24865}
2018-09-27 13:19:11 +00:00
Sebastian Jansson
98b07e9180 Adds scenario test framework.
Bug: webrtc:9510
Change-Id: I387aab4211f520a1c54832f82032ee724479e89e
Reviewed-on: https://webrtc-review.googlesource.com/89342
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24864}
2018-09-27 12:31:33 +00:00
Johannes Kron
6fbeeeb872 Remove failing RTC_DCHECK in nack_module.cc.
The RTC_DCHECK is hit sometimes. This happens when there is no overlap
between the nack_list and frames in keyframes. The existing code
correctly handles this situation.

Bug: webrtc:9629
Change-Id: I7e3eed1b04781cd69974c5d3eb86e382e9587268
Reviewed-on: https://webrtc-review.googlesource.com/102340
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24860}
2018-09-27 10:55:49 +00:00
Jesús de Vicente Peña
e9a7e90625 AEC3: ERLE: Allowing increases of the ERLE estimate for low render signals.
Specially for devices with high echo path gain, even low render signal can allow the linear filter of the AEC3 to converge. However, the conditions that were used for updating the ERLE avoided to update that estimation. In this commit, we allow adapting the ERLE estimator using even low render signal but the update of the ERLE is constraint in a way that decreases are not allowed.

Bug: webrtc:9776
Change-Id: Ic4331efcc47a0b05f394cdea9a88f336292de5a1
Reviewed-on: https://webrtc-review.googlesource.com/101641
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24859}
2018-09-27 10:41:10 +00:00
Sergey Silkin
02fed02c00 Assign spatial_idx in FrameStatistics ctor.
- Add spatial_idx to FrameStatistics ctor.
- Pass FrameStatistics object to AddFrame.

Bug: none
Change-Id: I9d6de449b45a007438f6fd3317176bf45fb23806
Reviewed-on: https://webrtc-review.googlesource.com/101781
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24856}
2018-09-27 08:35:29 +00:00
Karl Wiberg
91957c1540 AudioCodingModuleTest.TwoWayCommunication: Don't let the ACM create encoders
It will soon lose the ability to do so.

Bug: webrtc:8396
Change-Id: I7d8e1549c44628fc9bdf2480468a0f1d3ae812f2
Reviewed-on: https://webrtc-review.googlesource.com/102062
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24853}
2018-09-27 00:27:26 +00:00
Karl Wiberg
3a6b6bda17 AudioCodingModuleTest.TwoWayCommunication: Remove non-automatic mode
The tests only use the automatic mode, and I'd rather not maintain
(and test!) the rest.

Bug: webrtc:8396
Change-Id: I4cd1096e088d2ea8807a605b8448bd44ff9e88ed
Reviewed-on: https://webrtc-review.googlesource.com/102060
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24852}
2018-09-27 00:18:46 +00:00
Sergey Silkin
c5f152daa0 Mark all low layer frames as references if inter-layer pred is enabled.
Mark all low spatial layer frames as references (not just frames of
active low spatial layers) if inter-layer prediction is enabled since
these frames are indirect references of high spatial layer, which can
later be enabled without key frame.

Bug: webrtc:9782
Change-Id: Iffa5039fab2673a5582e7cdc9be4a36d9e8deb63
Reviewed-on: https://webrtc-review.googlesource.com/102063
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24849}
2018-09-26 12:46:56 +00:00
Danil Chapovalov
9eb6ce1cd0 Remove redundant member variable in RtpRtcp
Bug: None
Change-Id: Ia999bb4020c8f270c916074e5c58bab15f6c77d0
Reviewed-on: https://webrtc-review.googlesource.com/33300
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24848}
2018-09-26 11:34:35 +00:00
philipel
569397fec7 Reland "Added field trial WebRTC-GenericDescriptor for the new generic descriptor."
This reverts commit 6f68324adbf52b247e10b33a4e83a586e66cc6df.

Reason for revert: Removed full stack tests that cause timeout.

Original change's description:
> Revert "Added field trial WebRTC-GenericDescriptor for the new generic descriptor."
> 
> This reverts commit 3f4a4fad8cd661309ff5d9a631e89518f32e7c5e.
> 
> Reason for revert: Breaking internal tests
> 
> Original change's description:
> > Added field trial WebRTC-GenericDescriptor for the new generic descriptor.
> > 
> > Also parameterized tests to test the new generic descriptor and
> > added --generic_descriptor flag to loopback tests.
> > 
> > Bug: webrtc:9361
> > Change-Id: I2b76889606fe2e81249ecdebb0b7b61151682485
> > Reviewed-on: https://webrtc-review.googlesource.com/101900
> > Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> > Reviewed-by: Erik Språng <sprang@webrtc.org>
> > Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#24835}
> 
> TBR=danilchap@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,philipel@webrtc.org
> 
> Change-Id: I4d4714a9f4ab0e95adf0f4130bc1a932efc448fa
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9361
> Reviewed-on: https://webrtc-review.googlesource.com/101940
> Reviewed-by: Lu Liu <lliuu@webrtc.org>
> Commit-Queue: Lu Liu <lliuu@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24839}

TBR=danilchap@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,philipel@webrtc.org,lliuu@webrtc.org

Change-Id: Ibcf0a1d3aa947b84e3b891b1975d0fc2c730f2ae
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9361
Reviewed-on: https://webrtc-review.googlesource.com/102064
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24845}
2018-09-26 10:26:43 +00:00
Johannes Kron
4a8a5e7db1 Reland "Second reland of "Optimize execution time of RTPSender::UpdateDelayStatistics""
This reverts commit 8b7bc5d7010c84ac57459518fe18309ef5fee1dd.

Reason for revert: Slow RTC_DCHECK has been removed.

Original change's description:
> Revert "Second reland of "Optimize execution time of RTPSender::UpdateDelayStatistics""
>
> This reverts commit 9def3b45ef06de9e068e8f4d1644e9d508baa913.
>
> Reason for revert: webrtc_perf_tests fails on Mac-10.12.
>
> Original change's description:
> > Second reland of "Optimize execution time of RTPSender::UpdateDelayStatistics"
> >
> > The reland has a lot of additional DCHECKS for easier debugging,
> > so in debug builds it will actually be a ~2x slowdown compared to the old code.
> > The excessive DCHECKS should be removed in a followup CL.
> >
> > Bug: webrtc:9439
> > Change-Id: I8389cd84f1ca12c29cc6993f0d2cf7e6d7dd8379
> > Reviewed-on: https://webrtc-review.googlesource.com/101761
> > Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> > Reviewed-by: Björn Terelius <terelius@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#24821}
>
> TBR=terelius@webrtc.org,asapersson@webrtc.org,kron@webrtc.org
>
> Change-Id: I98c4c96d552858d0299d49993e9b9be6a6204dfe
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9439
> Reviewed-on: https://webrtc-review.googlesource.com/101860
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24825}

TBR=terelius@webrtc.org,asapersson@webrtc.org,kron@webrtc.org

Change-Id: I260c56932710d26f9d7201c07279fef8d2150bd9
Bug: webrtc:9439
Reviewed-on: https://webrtc-review.googlesource.com/102000
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24843}
2018-09-26 09:45:25 +00:00
Sebastian Jansson
b8bccd530a Adds srte to OWNERS in bitrate_controller and remote_bitrate_estimator.
Bug: webrtc:9718
Change-Id: Ib144d3ee1ed8bac5f0a67e30cebf297f252551e3
Reviewed-on: https://webrtc-review.googlesource.com/100303
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24842}
2018-09-26 09:24:45 +00:00
Lu Liu
6f68324adb Revert "Added field trial WebRTC-GenericDescriptor for the new generic descriptor."
This reverts commit 3f4a4fad8cd661309ff5d9a631e89518f32e7c5e.

Reason for revert: Breaking internal tests

Original change's description:
> Added field trial WebRTC-GenericDescriptor for the new generic descriptor.
> 
> Also parameterized tests to test the new generic descriptor and
> added --generic_descriptor flag to loopback tests.
> 
> Bug: webrtc:9361
> Change-Id: I2b76889606fe2e81249ecdebb0b7b61151682485
> Reviewed-on: https://webrtc-review.googlesource.com/101900
> Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24835}

TBR=danilchap@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,philipel@webrtc.org

Change-Id: I4d4714a9f4ab0e95adf0f4130bc1a932efc448fa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9361
Reviewed-on: https://webrtc-review.googlesource.com/101940
Reviewed-by: Lu Liu <lliuu@webrtc.org>
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24839}
2018-09-25 18:49:02 +00:00