21510 Commits

Author SHA1 Message Date
Qingsi Wang
4ff5443e4e Fix bugs in collecting STUN candidate stats and configuring STUN
candidate keepalive intervals.

StunStats for a STUN candidate cannot be updated after the initial report
in the stats collector. This is caused by the early return of cached
candidate reports for future queries after the initial report creation.

The STUN keepalive interval cannot be configured for UDPPort because of
incorrect type screening, where only StunPort was supported.

TBR=pthatcher@webrtc.org

Bug: webrtc:8951
Change-Id: I0c9c414f43e6327985be6e541e17b5d6f248a79d
Reviewed-on: https://webrtc-review.googlesource.com/58560
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22278}
2018-03-04 21:37:21 +00:00
Autoroller
afe9eb33dd Roll chromium_revision b36a6c8d2c..bb5e87b52c (540587:540725)
Change log: b36a6c8d2c..bb5e87b52c
Full diff: b36a6c8d2c..bb5e87b52c

Changed dependencies:
* src/base: a97a91025e..e0b732554d
* src/build: 2b99ad9823..a81ca97020
* src/ios: abb3531752..8111fe6961
* src/testing: c117dfdc8a..0dcf0bcd14
* src/third_party: f4cfcfca97..0aeb75e705
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/8df8e64205..f8058d4114
* src/third_party/ffmpeg: 9ca66eafaf..ef99a5d252
* src/third_party/libyuv: 6630558875..98a0a157dc
* src/tools: 59edaf442d..571b1312e0
DEPS diff: b36a6c8d2c..bb5e87b52c/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: Ifc77cea363948e5206ff398291423cef5cf942c7
Reviewed-on: https://webrtc-review.googlesource.com/59502
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22277}
2018-03-03 03:33:29 +00:00
Seth Hampson
845e87877e Name change from stream label to stream id for spec compliance.
Bug: webrtc:7932
Change-Id: I66f33597342394083256f050cac2a00a68042302
Reviewed-on: https://webrtc-review.googlesource.com/59280
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22276}
2018-03-02 20:44:48 +00:00
Autoroller
1d287b5e96 Roll chromium_revision 6373ee9653..b36a6c8d2c (540478:540587)
Change log: 6373ee9653..b36a6c8d2c
Full diff: 6373ee9653..b36a6c8d2c

Changed dependencies:
* src/build: 9ca0348b1c..2b99ad9823
* src/ios: 586798c48d..abb3531752
* src/testing: 22553bbee2..c117dfdc8a
* src/third_party: 79d2e1b53b..f4cfcfca97
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/414af52e12..406b235a95
* src/tools: f965e1f752..59edaf442d
DEPS diff: 6373ee9653..b36a6c8d2c/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: I2c7c83456b2856775cb21671e8bc63a9de81ee55
Reviewed-on: https://webrtc-review.googlesource.com/59460
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22275}
2018-03-02 20:15:28 +00:00
Taylor Brandstetter
3ba7a57f8f Fixing typo in log messages.
"Rather then" instead of "rather than."

TBR=zhihuang@webrtc.org
NOTRY=True

Bug: None
Change-Id: Iaeb2d5d1f2ad539fbbc1a41c95c478b302cb3f9a
Reviewed-on: https://webrtc-review.googlesource.com/59426
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22274}
2018-03-02 19:02:09 +00:00
Ying Wang
a646d30820 Enables configuration of transmission max bitrate multiplier and fec protection level.
Bug: webrtc:8963
Change-Id: I5e323f3947f84f87791a42024a4168f721ac6094
Reviewed-on: https://webrtc-review.googlesource.com/59142
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22273}
2018-03-02 18:05:29 +00:00
Sergey Silkin
13e743419d Merge SimulcastStream and SpatialLayer structures.
Both simulcast stream and spatial layer can be described with the same
set of parameters. There is no need in two separate definitions.

1. Original definition of SpatialLayer is removed.
2. SimulcastStream is renamed to SpatialLayer.
3. SimulcastStream is equated to SpatialLayer using typedef.

Bug: webrtc:8518
Change-Id: I90761952b032a1b71fc4bba11f74a6daaf58880a
Reviewed-on: https://webrtc-review.googlesource.com/57102
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22272}
2018-03-02 16:30:19 +00:00
Sergey Silkin
9039969de2 Call vpx_codec_destroy() only if vpx_codec_init() call preceded.
This fixes the issue when Init() with correct codec settings fails
because preceding Init() was called with wrong settings.

Bug: webrtc:8969
Change-Id: I50e618af6266ef593942fda27839c7c01e8717ae
Reviewed-on: https://webrtc-review.googlesource.com/59382
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22271}
2018-03-02 15:43:29 +00:00
Sebastian Jansson
ede748f14e Adding waits to SendSideCongestionController tests.
Small changes to the unit tests for send side congestion controller.
Mostly adding some extra waits and expectation verifications. This
prepares for an upcoming CL.

Bug: webrtc:8415
Change-Id: Id3086a485eda99732d01192cac9a91141158ab45
Reviewed-on: https://webrtc-review.googlesource.com/59223
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22270}
2018-03-02 14:08:29 +00:00
Alex Loiko
38c15d3995 Template argument and corpora for Audio Processing Fuzzer.
We found out that

  int16_t x = test::FuzzDataHelper::ReadOrDefaultValue(0)

reads 4 bytes from the fuzzer input instead of 2. That means that
almost half the bits in the input data to audio_processing_fuzzer are
ignored. This change adds template arguments to force reading 2 bytes
when we only need 2.

We also add a small manually generated corpus. During local testing we
let the fuzzer run for a few hours on an empty corpus. Adding the
manually-generated files resulted in an immediate coverage increase by
~3%, and then by another 3% over the next few hours.

The manually generated corpus contains a short segment of speech with
real echo. We suspect that triggering Voice Activity Detection or echo
estimation filter convergence can be difficult for an automatic
fuzzer.

We remove the Level Controller config. We read 20 bytes extra after the
config to guard against future configuration changes.

Bug: webrtc:7820
Change-Id: If60c04f53b27c519c349a40bd13664eef7999368
Reviewed-on: https://webrtc-review.googlesource.com/58744
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22269}
2018-03-02 14:00:39 +00:00
Sergey Silkin
3e871ea047 Single exit point in VPx wrapper Release().
This fixes potential memory leak caused by early exit in Release() methods.

Bug: webrtc:8967
Change-Id: I932ec4a451d30b3145a6133a9562e73248a8c203
Reviewed-on: https://webrtc-review.googlesource.com/59380
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22268}
2018-03-02 13:19:49 +00:00
Mirko Bonadei
a944732dac Removing Android32 MIPS from mb_config.pyl.
Bug: webrtc:8953
Change-Id: Ib54b1bb41ca3b744fcba39cb210b15a69fc16bb2
Reviewed-on: https://webrtc-review.googlesource.com/59326
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22267}
2018-03-02 13:11:59 +00:00
Chris Dziemborowicz
048805e821 Make it possible to clear the VideoFormat set on VideoAdapter by making VideoAdapter::OnOutputFormatRequest take an rtc::Optional
Bug: webrtc:8966
Change-Id: Ia58e63f074ea7d21d54e12adfcebb78778cca1ca
Reviewed-on: https://webrtc-review.googlesource.com/59300
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Chris Dziemborowicz <chrisdz@google.com>
Cr-Commit-Position: refs/heads/master@{#22266}
2018-03-02 12:43:09 +00:00
Oleh Prypin
12196b4e20 Update prebuilt AppRTC
Version cfb35d9212a06c1dfc31149c54f196708287a149
Google Cloud SDK 191.0.0
Node v8.9.4

Bug: None
No-Try: True
Change-Id: Ia488899e28bbee37db5cae0ada76729c349ba7dd
Reviewed-on: https://webrtc-review.googlesource.com/59324
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22265}
2018-03-02 12:16:29 +00:00
philipel
459f4e38b2 VP9 GoF/temporal index check.
Bug: webrtc:8960
Change-Id: Ia0de8659903a64932861061af569f3fc1222fd23
Reviewed-on: https://webrtc-review.googlesource.com/59180
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22264}
2018-03-02 11:03:09 +00:00
Autoroller
36482cdd10 Roll chromium_revision 2eea119a99..6373ee9653 (540206:540478)
Change log: 2eea119a99..6373ee9653
Full diff: 2eea119a99..6373ee9653

Changed dependencies:
* src/base: 4bad01956f..a97a91025e
* src/build: 7d2465289d..9ca0348b1c
* src/ios: cc309a79b4..586798c48d
* src/testing: ad41c77d83..22553bbee2
* src/third_party: 82badf49fe..79d2e1b53b
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/279fcf542e..414af52e12
* src/tools: 7b7daa1e1a..f965e1f752
DEPS diff: 2eea119a99..6373ee9653/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: Ica5e126389dfdda15f85068c706089eebb08cf7b
Reviewed-on: https://webrtc-review.googlesource.com/59302
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22263}
2018-03-02 10:05:09 +00:00
Steve Anton
fc8537143f Crash if PeerConnection methods are called with the wrong SdpSemantics.
Bug: None
Change-Id: I111098215ec83fdf97f9a5232efef6a4af329ddf
Reviewed-on: https://webrtc-review.googlesource.com/59262
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22262}
2018-03-02 03:12:49 +00:00
Qiang Chen
6d30631f01 Bug Fix: Multiplex Codec Crash
This CL adds a lock to stashed_images_ in MultiplexEncoderAdapter.
Without lock, it is possible that different threads acts on
stashed_images_ simultaneously and leads to crash.

Bug: webrtc:8965
Change-Id: I887861092d185c3bd6047eb529d8c1cf57fa4648
Reviewed-on: https://webrtc-review.googlesource.com/59260
Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
Commit-Queue: Qiang Chen <qiangchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#22261}
2018-03-02 00:14:48 +00:00
Seth Hampson
243cd32a9e Updating android/README.
Updating the gn args to be more accurate and including information about
fetching the appropriate webrtc android checkout. This is so that this
README will include all necessary information for compiling the android
code for future developers.

Bug: webrtc:8869
Change-Id: I641183705370273d4a8cab044f08b2d203a26102
Reviewed-on: https://webrtc-review.googlesource.com/59060
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22260}
2018-03-01 20:22:48 +00:00
Karl Wiberg
17668ec4a5 Audio codec implementations: Take optional codec ID argument
None of the built-in codecs do anything with the ID, but callers will
soon require them to accept it.

Bug: webrtc:8941
Change-Id: I0eb77db82d72c7d34cff639fecb67c1e6ec421bf
Reviewed-on: https://webrtc-review.googlesource.com/58089
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22259}
2018-03-01 19:28:38 +00:00
Oleh Prypin
cb415b2a84 Roll chromium_revision a410274678..2eea119a99 (539759:540206)
Change log: a410274678..2eea119a99
Full diff: a410274678..2eea119a99

Changed dependencies:
* src/base: 563ae2e7dd..4bad01956f
* src/build: 21d06f260c..7d2465289d
* src/ios: 02dbd90794..cc309a79b4
* src/testing: 187977b35e..ad41c77d83
* src/third_party: ad6124093c..82badf49fe
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/672f6fc248..8df8e64205
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/7a160b6bb4..279fcf542e
* src/third_party/googletest/src: 7a2563a514..fe1144246e
* src/third_party/gtest-parallel: 40f73803ea..a8f5453ffc
* src/tools: 9a4c38e537..7b7daa1e1a
DEPS diff: a410274678..2eea119a99/DEPS

Clang version changed 324578:325667
Details: a410274678..2eea119a99/tools/clang/scripts/update.py

TBR=oprypin@webrtc.org
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: Idb596b895f5f2e4b21ee25931b01ea4b7a81ce9a
Reviewed-on: https://webrtc-review.googlesource.com/59221
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22258}
2018-03-01 18:42:58 +00:00
Steve Anton
5a26a3a2cd Remove public sync_label from StreamParams
This change replaces the use of sync_label from StreamParams with
the new stream_labels() and set_stream_labels() getter and setter.

Bug: webrtc:7932
Change-Id: Ibd6d38f7d4efed37ac07963e6fbe377c93a28fd6
Reviewed-on: https://webrtc-review.googlesource.com/58540
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22257}
2018-03-01 18:25:03 +00:00
Sergey Silkin
a796a7ee85 Reland "Replaced temporal_layer_thresholds_bps[] field with num_temporal_layers."
This reverts commit e27e0aca9411b6990fcdf56d8a3475569ee5fd2f.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Replaced temporal_layer_thresholds_bps[] field with num_temporal_layers."
> 
> This reverts commit d2ed0a4c9e7f04060d8e3358eb0006c31579bb86.
> 
> Reason for revert: Breaks downstream projects.
> 
> Original change's description:
> > Replaced temporal_layer_thresholds_bps[] field with num_temporal_layers.
> > 
> > temporal_layer_thresholds_bps served only one purpose: its size was used
> > to infer number of temporal layers. I replaced it with num_temporal_layers,
> > which does what is says.
> > 
> > The practical reason for this change is the need to have possibility to
> > distinguish between cases when VP9 SVC temporal layering was/not set
> > through field trial. That was not possible with
> > temporal_layer_thresholds_bps[] because empty vector means 1 temporal
> > layer.
> > 
> > Bug: webrtc:8518
> > Change-Id: I275ec3a8c74e8ba409eb049878199f132a20ec51
> > Reviewed-on: https://webrtc-review.googlesource.com/58084
> > Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
> > Reviewed-by: Erik Språng <sprang@webrtc.org>
> > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#22230}
> 
> TBR=sprang@webrtc.org,stefan@webrtc.org,ssilkin@webrtc.org
> 
> Change-Id: Ic2940f7f78a74312170940d51ad8967cde8ad42f
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:8518
> Reviewed-on: https://webrtc-review.googlesource.com/58902
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22234}

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

Change-Id: I1900c6b845b9baa9430fb72c3f4e7f2a44b3a8b1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8518
Reviewed-on: https://webrtc-review.googlesource.com/59160
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22256}
2018-03-01 18:07:29 +00:00
Steve Anton
af23b75bdf Update iOS AppRTC to use PeerConnection Unified Plan
This also changes AppRTC to use addTrack instead of addStream and
"early media" using the RtpTransceiver API.

Bug: webrtc:8870
Change-Id: Ie2848a87c71a95adb785367d822c61e1f753d8c6
Reviewed-on: https://webrtc-review.googlesource.com/56440
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22255}
2018-03-01 17:25:18 +00:00
Sebastian Jansson
45087cd23f Moved retransmission rate limiter to Call class.
Ownership of the retransmission rate limiter for video is moved
from send side congestion controller to Call. This is to reduce the
interface on the rtp transport controller send.

Bug: webrtc:8415
Change-Id: Ie9c7317400a9eb61a3c8325b9e527844ffc13769
Reviewed-on: https://webrtc-review.googlesource.com/58745
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22254}
2018-03-01 17:22:28 +00:00
Yura Yaroshevich
546d7f98a5 Added OnAddTrack to Objective C SDK.
Exposed native OnAddTrack event in Objective C SDK
peer connection delegate via
peerConnection:didAddReceiver:streams:

Bug: webrtc:6112
Change-Id: Iccf33ab7844c9a774a6b54e49de011d100998f03
Reviewed-on: https://webrtc-review.googlesource.com/56980
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22253}
2018-03-01 17:16:48 +00:00
philipel
832b1c80d4 Propagating total_bitrate_bps from BitrateAllocator to ProbeController, part 2.
Added total_bitrate_bps to RtpTransportControllerSend::SetAllocatedSendBitrateLimits.

Bug: webrtc:8955
Change-Id: Ifa2d70e189b8976ab5bf77e9d6b159dddabfb270
Reviewed-on: https://webrtc-review.googlesource.com/58940
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22252}
2018-03-01 16:18:18 +00:00
Sebastian Jansson
25e5110ab0 Explicit injection of rate limiter in VideoSendStream.
Injecting the retransmission rate limiter used in video send stream
directly rather than using the transport controller reference.
This prepares for removing ownership of the retransmission rate limiter
from the congestion controller.

Bug: webrtc:8415
Change-Id: Iee8af53e62f407ee430625008f2d2b0cabb1f369
Reviewed-on: https://webrtc-review.googlesource.com/58800
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22251}
2018-03-01 16:01:08 +00:00
Ilya Nikolaevskiy
2cb26a6a84 Reset pacing settings after exiting from screenshare
Bug: chromium:816930
Change-Id: I1e4b1a1edb8394b93e4acd2ca7fccf15ad8ae1bb
Reviewed-on: https://webrtc-review.googlesource.com/59140
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22250}
2018-03-01 14:58:20 +00:00
Sebastian Jansson
0f9d9a9a12 Removed unused DeRegisterNetworkObserver.
DeRegisterNetworkObserver is not used, since
RtpTransportControllerSend owns the thread on which
SendSideCongestionController runs it would not be safe to allow it to be
called from outside. Deregistration should be done by destroying
RtpTransportControllerSend.

In the future, the RegisterObserver functions should be removed as well,
in favor of providing the observer in the constructor. This requires
breaking a circular dependency between RtpTransportControllerSend and
Call.

Bug: webrtc:8415
Change-Id: Ifeb4c5d4a41e4d8419994b3146980bdaaf9cd6a9
Reviewed-on: https://webrtc-review.googlesource.com/58098
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22249}
2018-03-01 12:52:28 +00:00
Karl Wiberg
98900740ad Audio codec factories: Pass a codec pair ID to new codecs
Currently ignored by all implementations and callers, but future CLs
will remedy that.

Bug: webrtc:8941
Change-Id: I59a3af78fefcf35af3e5ef37d2adf1165ce5751e
Reviewed-on: https://webrtc-review.googlesource.com/58080
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22248}
2018-03-01 12:23:28 +00:00
Christian Schuldt
f4e99dba41 Update AEC3 echo tail estimation.
Note: estimation is turned OFF if config_.ep_strength.default_len
is set >= 0 (in this case config_.ep_strength.default_len defines a
constant echo decay factor), and hence turned ON if < 0. In case the
echo tail estimation is turned ON, -config_.ep_strength.default_len is
the starting point for the estimator.

The estimation is done in two passes; first we go through all "sections"
(corresponding to chunks of length kFftLengthBy2) of the filter impulse
response to determine which sections correspond to a "stable" decay",
and then the second pass we go through each stable decay section and
estimate the decay. The actual decay estimation is based on linear
regression of the log magnitude of the squared impulse response.
A bunch of sanity checks are also performed continuously to avoid
estimation error during e.g., filter adaptation.

Bug: webrtc:8924
Change-Id: I686ce3f3e8b6b472348f8d6e01fb44c31e25145d
Reviewed-on: https://webrtc-review.googlesource.com/48440
Commit-Queue: Christian Schuldt <cschuldt@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22247}
2018-03-01 11:21:12 +00:00
Philip Eliasson
b12e434d4c Revert "Fix race conditions in NetworkMonitor."
This reverts commit 1f4cb9f22d87287cec331c4713c6969da50d8bd6.

Reason for revert: Suspect this CL break downstream projects.

Original change's description:
> Fix race conditions in NetworkMonitor.
> This change makes the class thread-safe.
> 
> Bug: b/73773043
> Change-Id: I1ad13e4f15907e3dd1fef1307f9c654e53b69b22
> Reviewed-on: https://webrtc-review.googlesource.com/57040
> Commit-Queue: Honghai Zhang <honghaiz@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22238}

TBR=sakal@webrtc.org,pthatcher@webrtc.org,honghaiz@webrtc.org

Change-Id: I549fa2ad50a414693682fb66584affd62036a09d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/73773043
Reviewed-on: https://webrtc-review.googlesource.com/59120
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22246}
2018-03-01 10:36:23 +00:00
Sebastian Jansson
e88b04fab1 Making MockMixerAudioSource default to NiceMock.
This eliminates a lot of warnings when running AudioMixer unittests.

Bug: None
Change-Id: I978e859e8904bb382843a9c23a35ace1884aa4b4
Reviewed-on: https://webrtc-review.googlesource.com/58981
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22245}
2018-03-01 10:29:32 +00:00
Sebastian Jansson
fc7ec8e9f8 Reland "Moved congestion controller to goog_cc folder."
This is a reland of e6cefdf9c572cdce55ff0497ad6e516c76132ee8.

Original change's description:
> Moved congestion controller to goog_cc folder.
> 
> Bug: webrtc:8415
> Change-Id: I2070da0cacf1dbfc4b6a89285af3e68fd03497ab
> Reviewed-on: https://webrtc-review.googlesource.com/43841
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21928}

Bug: webrtc:8415
Change-Id: Ib5cf8641466655d64ac80f720561817f4cab49a9
Reviewed-on: https://webrtc-review.googlesource.com/53062
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22244}
2018-03-01 10:16:12 +00:00
Magnus Jedvert
cdff887238 Android AppRTCMobile: Disable fullscreen SurfaceView HW scaling
We want to evaluate the impact on battery consumption from using the
fullscreen HW scaling.

Bug: None
Change-Id: If5becf02c6eaf77f9d0877827db39773ae17fc05
Reviewed-on: https://webrtc-review.googlesource.com/59101
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22243}
2018-03-01 10:04:52 +00:00
Mirko Bonadei
a1992d2d3a Removing android_compile_mips_dbg from CQ.
Android MIPS will not be actively maintained anymore because
the Android NDK is deprecating MIPS ABI in r16.

PSA: https://groups.google.com/forum/#!topic/discuss-webrtc/E7uhRhut3jY

Bug: webrtc:8953
Change-Id: I92d091a8c833f6b8e2c2915295af3bd45b586672
Reviewed-on: https://webrtc-review.googlesource.com/59100
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22242}
2018-03-01 09:13:33 +00:00
Sebastian Jansson
10211e9b05 Using pointer to SSCC in transport controller send.
Using unique_ptr of send side congestion controller (SSCC in
RtpTransportControllerSend. This prepares for a later CL where
the implementation of SSCC will be toggled by an experiment.

Bug: webrtc:8415
Change-Id: I52501d470efc96a62d0bd5c35ad361d43bceb9f9
Reviewed-on: https://webrtc-review.googlesource.com/58901
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22241}
2018-03-01 09:04:33 +00:00
Sebastian Jansson
8acd5f8334 Moved network_control out from rtp specific folder.
The functionality in network_control is by design not rtp specific and
should live outside the rtp directory in congestion_controller.

Bug: webrtc:8415
Change-Id: I68778f1a630c8e93950040bc56ee864c201b5990
Reviewed-on: https://webrtc-review.googlesource.com/55383
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22240}
2018-03-01 08:53:04 +00:00
Rasmus Brandt
5f7a891257 Minor improvements to TestConfig and VideoProcessor.
* Do not simulate freeze in decoded output file when frames have been dropped.
* Add more DCHECKs and consts.
* Remove unused members |num_encoded_frames_| and |num_decoded_frames_|.
* Move SdpVideoFormat conversion to TestConfig.

Bug: webrtc:8448
Change-Id: Ia879141f36dc23427cd1abcaa66716656fbaac2a
Reviewed-on: https://webrtc-review.googlesource.com/56802
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22239}
2018-03-01 08:42:43 +00:00
Honghai Zhang
1f4cb9f22d Fix race conditions in NetworkMonitor.
This change makes the class thread-safe.

Bug: b/73773043
Change-Id: I1ad13e4f15907e3dd1fef1307f9c654e53b69b22
Reviewed-on: https://webrtc-review.googlesource.com/57040
Commit-Queue: Honghai Zhang <honghaiz@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22238}
2018-03-01 06:08:33 +00:00
Sebastian Jansson
f9c5cf65f6 Renamed rtc::RateLimiter to rtrc::DataRateLimiter.
This removes a confusing name collision between webrtc::RateLimiter
and rtc::RateLimiter where the header file names were separated only by
an underscore.

Bug: None
Change-Id: Ifcf0a4e62b2bf3bd9057714d7c536f7609ad1b79
Reviewed-on: https://webrtc-review.googlesource.com/58741
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22237}
2018-02-28 19:58:24 +00:00
Sebastian Jansson
d3f3816ad5 Testing multiple retransmission in video nack test.
Modifying VideoSendStreamTest.RetransmitsNack to test for multiple lost
packets. This covers more failure modes since the RateLimiter class
always allows the first packet to get trough.

Bug: None
Change-Id: I2c408ea10ed4ac130edc55626b5ec03397ac0d9a
Reviewed-on: https://webrtc-review.googlesource.com/58743
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22236}
2018-02-28 18:40:10 +00:00
Sebastian Jansson
98e0111ea5 Implementing interface with new SSCC
Makes the new task queue based congestion controller implement the
SendSideCongestionControllerInterface.

Bug: webrtc:8415
Change-Id: I3dfe11c2eb200bc8d85c83edf78d7fdd0129bbff
Reviewed-on: https://webrtc-review.googlesource.com/56781
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22235}
2018-02-28 17:30:29 +00:00
Philip Eliasson
e27e0aca94 Revert "Replaced temporal_layer_thresholds_bps[] field with num_temporal_layers."
This reverts commit d2ed0a4c9e7f04060d8e3358eb0006c31579bb86.

Reason for revert: Breaks downstream projects.

Original change's description:
> Replaced temporal_layer_thresholds_bps[] field with num_temporal_layers.
> 
> temporal_layer_thresholds_bps served only one purpose: its size was used
> to infer number of temporal layers. I replaced it with num_temporal_layers,
> which does what is says.
> 
> The practical reason for this change is the need to have possibility to
> distinguish between cases when VP9 SVC temporal layering was/not set
> through field trial. That was not possible with
> temporal_layer_thresholds_bps[] because empty vector means 1 temporal
> layer.
> 
> Bug: webrtc:8518
> Change-Id: I275ec3a8c74e8ba409eb049878199f132a20ec51
> Reviewed-on: https://webrtc-review.googlesource.com/58084
> Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22230}

TBR=sprang@webrtc.org,stefan@webrtc.org,ssilkin@webrtc.org

Change-Id: Ic2940f7f78a74312170940d51ad8967cde8ad42f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8518
Reviewed-on: https://webrtc-review.googlesource.com/58902
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22234}
2018-02-28 16:01:32 +00:00
philipel
f69e768032 Propagating total_bitrate_bps from BitrateAllocator to ProbeController, part 1.
Added total_bitrate_bps to LimitObserver::OnAllocationLimitsChanged.

Bug: webrtc:8955
Change-Id: Ied9b2d24ab97cff21518ce70d5d35dfd8230ed08
Reviewed-on: https://webrtc-review.googlesource.com/58801
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22233}
2018-02-28 15:38:15 +00:00
Philip Eliasson
27e8a3e223 Revert "Adding gtest-spi.h in webrtc/test/gtest.h"
This reverts commit 68f4904ac972fc75e81b642da4d2f46efe79071b.

Reason for revert: Breaks downstream projects.

Original change's description:
> Adding gtest-spi.h in webrtc/test/gtest.h
> 
> The additional include is needed in order to use EXPECT_NONFATAL_FAILURE()
> in unit tests.
> 
> Bug: webrtc:8948
> Change-Id: If5b9ceb89a3a36480657d094cfabc81c9b0e15b7
> Reviewed-on: https://webrtc-review.googlesource.com/58096
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22227}

TBR=phoglund@webrtc.org,mbonadei@webrtc.org,alessiob@webrtc.org

Change-Id: Id74c6563e1b8ac637667b5fb8777bbd6b7c8f5d0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8948
Reviewed-on: https://webrtc-review.googlesource.com/58881
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22232}
2018-02-28 15:19:07 +00:00
Sami Kalliomäki
9ddc14daca Deprecate ContextUtils.getApplicationContext.
Allows passing in the application context to NetworkMonitor in
startMonitoring. The audio code will refactored once it is moved under
sdk/android.

Bug: webrtc:8937
Change-Id: I50c917a845fc4f711899a97d34c04813cc68b68c
Reviewed-on: https://webrtc-review.googlesource.com/58091
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22231}
2018-02-28 15:04:03 +00:00
Sergey Silkin
d2ed0a4c9e Replaced temporal_layer_thresholds_bps[] field with num_temporal_layers.
temporal_layer_thresholds_bps served only one purpose: its size was used
to infer number of temporal layers. I replaced it with num_temporal_layers,
which does what is says.

The practical reason for this change is the need to have possibility to
distinguish between cases when VP9 SVC temporal layering was/not set
through field trial. That was not possible with
temporal_layer_thresholds_bps[] because empty vector means 1 temporal
layer.

Bug: webrtc:8518
Change-Id: I275ec3a8c74e8ba409eb049878199f132a20ec51
Reviewed-on: https://webrtc-review.googlesource.com/58084
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22230}
2018-02-28 14:46:03 +00:00
Sebastian Jansson
56da2f7868 Added unit tests for new congestion controller.
This CL activates unit tests for the task queue based send side
congestion controller that will replace the current one in the future.

To be able to have the tests run side by side with the tests of the old
congestion controller, the old tests have been prefixed with "Legacy".

This CL also contains some minor fixes to the new congestion controller
code.

Bug: webrtc:8415
Change-Id: I5e7474d42f17fcbfef402e26f638846fa3424695
Reviewed-on: https://webrtc-review.googlesource.com/55381
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22229}
2018-02-28 14:03:48 +00:00