22737 Commits

Author SHA1 Message Date
Benjamin Wright
6e9c3df4d0 Added additional SSL certificate verification tests.
This changeset adds some additional tests to validate that the SSLAdapter
behaves as intended when used with a Custom SSL Certificate Verifier. It
validates the following scenarios:
1. Handshake succeeds on TLS handshakes if certificate verifier returns true.
2. Handshake fails on TLS handshakes if certificate verifier returns false.
3. Handshake succeeds on DTLS handshakes if certificate verifier returns true.
4. Handshake fails on DTLS handshakes if certificate verifier returns false.
5. Handshake succeeds on TLS transfers if certificate verifier returns true.
6. Handshake succeeds on DTLS transfers if certificate verifier returns true.

Bug: webrtc:9258
Change-Id: I48b72c9762a7023ece12d882ac4a05d9881bf9e6
Reviewed-on: https://webrtc-review.googlesource.com/75720
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23355}
2018-05-23 02:47:49 +00:00
Benjamin Wright
2d5f3cb933 Added an integration test to validate TURN servers can send media in relay mode.
End to end test for media sent over a TCP TURN server with both clients in relay
This test validates that media can be sent between two clients who are set up
to relay information with the server configured to use TCP instead of UDP.

Bug: webrtc:7668
Change-Id: I3efd04048589c144494f90f2cdf3df5f9f80300e
Reviewed-on: https://webrtc-review.googlesource.com/76507
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23354}
2018-05-23 00:28:39 +00:00
Sebastian Jansson
02c65869c3 Adds unwrapped sequence number to feedback info.
The Quic BBR implementation uses packet sequence numbers to keep track
of the time slots used for calculation of send receive rates. To avoid
protocol dependence the port were initially written to use send times
instead.

As there are issues with running BBR in WebRTC, it makes sense to
use an identical implementation as in Quic to ensure that there
aren't implementation issues causing bad behavior. This requires
providing sequence numbers.

This prepares for making the BBR implementation more identical to the
implementation in Quic, this is to ensure that results are comparable.

Bug: webrtc:8415
Change-Id: I2cd96bc6ffb88042bb2b91421bfe6cbf7c1ff8ac
Reviewed-on: https://webrtc-review.googlesource.com/76583
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23353}
2018-05-22 16:28:19 +00:00
Artem Titov
9aef5dc2ab Disable owners check in PRESUBMIT.py for chromium owned 3pp deps.
Bug: webrtc:8366
Change-Id: I18a7117d13dfacc2b305c304037a0d3b55b6df3b
Reviewed-on: https://webrtc-review.googlesource.com/78284
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23352}
2018-05-22 15:26:38 +00:00
Gustaf Ullberg
43c707ada5 AEC3: Debug dump of render decimator input/output
Bug: webrtc:9288
Change-Id: Ic270bab173e4681a102dca93a5dc8c61caa981a0
Reviewed-on: https://webrtc-review.googlesource.com/78285
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23351}
2018-05-22 15:13:59 +00:00
Niels Möller
7502a9e6f5 Delete ALIGNP macro, and use thereof in MemoryStream.
Deletes the ALIGNP and RTC_ALIGNED_P macros from basictypes.h.

ALIGNP was used by MemoryStream, supposedly to make it more efficient.
If it really provided an efficiency improvement is unclear, and in any
case, MemoryStream is used for tests only, and doesn't need high
performance.

Bug: webrtc:6853
Change-Id: If835e881e3857dcc22c7a544491b92829a81d1b3
Reviewed-on: https://webrtc-review.googlesource.com/78021
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23350}
2018-05-22 14:41:18 +00:00
Niels Möller
2cf9c55f35 Use monotonic clock for rtc::Event::Wait on linux and android.
Unfortunately, pthread_condattr_setclock is lacking in the
versions of MacOS and iOS we support, and we have to stay
with gettimeofday on those platforms.

Bug: webrtc:9269
Change-Id: I8554e56496cc7b6948cb9b8a4c0bcf886c3544be
Reviewed-on: https://webrtc-review.googlesource.com/77122
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23349}
2018-05-22 13:14:48 +00:00
Artem Titov
e92675b5c4 Reland: Add presubmit check for changes in 3pp
Reland of CL https://webrtc-review.googlesource.com/c/src/+/77421

Copied description:
--
Add presubmit check for changes in 3pp

Presubmit check will test will new changes be overriden by autoroll
or not. In more details presubmit will check:
1. Each dependency in third_party have to be specified in one of:
   a. THIRD_PARTY_CHROMIUM_DEPS.json
   b. THIRD_PARTY_WEBRTC_DEPS.json
2. Each dependency not specified in both files from #1
3. Changes won't be overriden by chromium third_party deps autoroll:
   a. Changes were made in WebRTC owned dependency
   b. Changes were addition of new Chromium owned dependency
--
Also if commit message contains tag NO_AUTOIMPORT_DEPS_CHECK equal
to True, than changes in chromium specific deps will be permitted.
It is required for autoroller to be able to commit its changes and
not to fail on presubmit check.

Bug: webrtc:8366
Change-Id: I545a4778445855cf3db7cf257ca0cb63753aac06
Reviewed-on: https://webrtc-review.googlesource.com/78042
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23348}
2018-05-22 13:11:18 +00:00
Ivo Creusen
c7f09ad2e0 NetEq fix for repeated audio issue.
This CL implements a fix behind a field trial for a NetEq issue. NetEq restarts audio too quickly after a buffer underrun, which can quickly lead to another underrun in some circumstances. The fix changes NetEq's behavior to wait with restarting playback until sufficient audio is buffered.

Bug: webrtc:9289
Change-Id: I5968c9478ce8d84caf77f00b8d0a39156b47fc8d
Reviewed-on: https://webrtc-review.googlesource.com/77423
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23347}
2018-05-22 12:57:58 +00:00
Kári Tristan Helgason
169005d8c1 Move VideoCodecTest configuration classes to api/test.
These files are required when implementing tests based on the test fixture,
and should be exposed as part of the test api.

This CL also removes a usage of stringstream and fixes some chromium-style
lint issues.

Bug: webrtc:8982, webrtc:163
Change-Id: I132aea0da79a79587887f21897236fc9802b7574
Reviewed-on: https://webrtc-review.googlesource.com/74586
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23346}
2018-05-22 12:14:38 +00:00
Niels Möller
dac94538a8 Delete left-over forward declaration of RTPFragmentationHeader.
Was overlooked in cl https://webrtc-review.googlesource.com/75180.

Bug: webrtc:6471
Change-Id: I0abc26b6c77096d6674a6fe487cbb2d94269eb96
Reviewed-on: https://webrtc-review.googlesource.com/78261
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23345}
2018-05-22 12:02:18 +00:00
Oleh Prypin
d945806fde Add MB configs for more_configs bots
No-Try: True
Bug: chromium:845135
Change-Id: I3ac4e0dbf2c41c4d33d18d7ef037de5292f06da7
Reviewed-on: https://webrtc-review.googlesource.com/77642
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23344}
2018-05-22 11:42:28 +00:00
Ilya Nikolaevskiy
0beed5d69f Move SampleCounter from ReceiveStatisticsProxy to rtc_base/numerics
This class will be used in upcoming VideoQualiyObserver.

Bug: none
Change-Id: I7d79a6caf3040a3f707ed8700842dea1de81e0a6
Reviewed-on: https://webrtc-review.googlesource.com/77724
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23343}
2018-05-22 11:22:48 +00:00
Henrik Lundin
6dc82e8f8b NetEq: Change NetEq's ramp-up behavior after expansions
NetEq tapers down the audio produced through loss concealment when the
expansion has been going on for some time. When the audio packets starts
coming in again, there is a ramp-up that happens. This ramp-up could
before this change extend over more than one 10 ms block, which made
keeping track of the scaling factor necessary. With this change, we make
this ramp-up quicker in the rare cases when it lasted more than 10 ms,
so that it always ramps up to 100% within one block. This way, we can
remove the mute_factor_array.

This change breaks bit-exactness, but careful listening could not reveal
an audible difference.

This change is a part of a larger refactoring of NetEq's PLC code.

Bug: webrtc:9180
Change-Id: I4c513ce3ed8d66f9beec2abfb1f0c7ffaac7a21e
Reviewed-on: https://webrtc-review.googlesource.com/77180
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23342}
2018-05-22 09:38:28 +00:00
Ying Wang
7a84fcf47a Prevent potential buffer overflow in UlpfecReceiver
Bug: chromium:841962
Change-Id: I5ef0341a5fffe6b6204f5b2edbaec2d389a56964
Reviewed-on: https://webrtc-review.googlesource.com/77420
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23341}
2018-05-22 09:32:18 +00:00
Artem Titov
97cb90a440 Force autoroller to fail if any dep is missing
Force auto roll of chromium third_party into WebRTC to fail if any one
of required chromium-specific dependencies is missing in chromium
third_party repo of after checking it into WebRTC repo.

Also try to fix some flakes in autoroller.

Bug: webrtc:8366
Change-Id: I781cd4d4a4a230fb126cc32d8147310f70ab8b91
Reviewed-on: https://webrtc-review.googlesource.com/77722
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23340}
2018-05-22 08:23:38 +00:00
Niels Möller
401d07690b Delete deprecated VideoDecoder::Decode method
Follow up to https://webrtc-review.googlesource.com/c/src/+/39511,
which introduced a new Decode method, without the
RTPFragmentationHeader argument, and deprecated the old method.

Bug: webrtc:6471
Change-Id: Icd3c536ebedd4e3c2d57fdb4d6e078d6ff1de5b6
Reviewed-on: https://webrtc-review.googlesource.com/75180
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23339}
2018-05-22 08:17:03 +00:00
Gustaf Ullberg
41c11e4cad AEC3: Rounding of estimated call skew
This CL fixes the rounding of the estimated average call skew. Before it
was rounded down (toward INT_MIN). Now it is rounded to the nearest integer.
This avoids unnecessary fluctuations of the estimated call skew (and
unnecessary resets).

Bug: webrtc:9283,chromium:888042
Change-Id: Id5b3c593f812f5f9fd3dcdafb7e388a6ef1ac153
Reviewed-on: https://webrtc-review.googlesource.com/77684
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23338}
2018-05-22 08:15:58 +00:00
Patrik Höglund
5991ac9d22 Remove outdated DEPS rules.
From those I removed, transport.h doesn't exist. For the others
I tried checking that the presubmit doesn't fire if I modify
all lines that include the previously +'d entry (for instance
call/rtp_config.h). I take this to mean that all callers of
for instance rtp_config.h now obtain checkdeps permission
elsewhere, closer to where they're located. This change should
not change checkdeps behaviour, therefore.

Bug: webrtc:4243
Change-Id: Ia909d13c5d79cb244f45b737142d2f47568ba77e
Reviewed-on: https://webrtc-review.googlesource.com/77801
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23337}
2018-05-22 06:36:08 +00:00
Niels Möller
0e36a7260f Delete unused class CurrentSpeakerMonitor.
Bug: webrtc:8760
Change-Id: Ib2f84c7d74f1f3187f02dcf697e9c16a4d5f10e3
Reviewed-on: https://webrtc-review.googlesource.com/34652
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Noah Richards <noahric@chromium.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23336}
2018-05-22 06:31:08 +00:00
Taylor Brandstetter
c2ee8e8a46 Removing references to webrtc::VideoSendStream::DegradationPreference.
It was replaced be webrtc::DegradationPreference in this CL:
https://webrtc-review.googlesource.com/c/src/+/77024

But some downstream code was still referencing it.

Bug: webrtc:8830
Change-Id: Ibd0a3d15df7f13473c0f37a2493dd70cec6c0482
Reviewed-on: https://webrtc-review.googlesource.com/78082
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23335}
2018-05-21 20:20:57 +00:00
Niels Möller
0327c2ddc1 Move VideoStreamEncoderInterface to api/.
Bug: webrtc:8830
Change-Id: I17908b4ef6a043acf22e2110b9672012d5fa7fc0
Reviewed-on: https://webrtc-review.googlesource.com/74481
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23334}
2018-05-21 19:50:37 +00:00
Niels Möller
65ec0fc81e Delete unneeded includes of basictypes.h.
This is a kitchen-sink header, some pieces should be moved to
byteorder.h, the rest likely deleted.

Delete most includes of basictypes.h. In leaf headers,
include stddef.h and stdint.h explicitly where needed.

Bug: webrtc:6853
Change-Id: Ibc809936a8f94d418e4eb650da1e89c1b9142073
Reviewed-on: https://webrtc-review.googlesource.com/77721
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23333}
2018-05-21 19:35:08 +00:00
Yura Yaroshevich
0ce868c60e Recognize additional adapter types on Windows
Specifically, Ethernet, Wi-Fi and cellular interfaces.

Note that this only affects native applications, as chromium already
has its own code for this:
https://cs.chromium.org/chromium/src/net/base/network_interfaces_win.cc?l=29&rcl=568ba7132833eea41fc863dd41c377928f49fa51

Which WebRTC accesses through "IpcNetworkManager".

Bug: webrtc:3149, webrtc:6588
Change-Id: I347f2734d95ea24cea3f89e6ed5bf2d135a9fc77
Reviewed-on: https://webrtc-review.googlesource.com/76622
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23332}
2018-05-21 18:03:26 +00:00
Autoroller
c941b7e28d Roll chromium_revision 911054f7d0..039110971b (559863:560284)
Change log: 911054f7d0..039110971b
Full diff: 911054f7d0..039110971b

Roll chromium third_party 480fd0409d..cc1af82934
Change log: 480fd0409d..cc1af82934

Changed dependencies:
* src/base: b802985ef4..8e89780685
* src/build: fc8308f6b6..66897e4d72
* src/ios: 1562248170..02a22b3900
* src/testing: a5fce03148..671c6a4522
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/ce9b3742a1..7ca7a59f02
* src/third_party/depot_tools: 8fe4d8cbef..083eb25f9a
* src/tools: 6c88721b30..ff5c71196b
DEPS diff: 911054f7d0..039110971b/DEPS

No update to Clang.

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

Change-Id: I015f9dab00cef22f0d30d6f05d3fab6bc27ee7d4
Reviewed-on: https://webrtc-review.googlesource.com/78081
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23331}
2018-05-21 17:17:06 +00:00
Gustaf Ullberg
b9fc6508c0 Add min and max allowed bitrate in Opus bitrate tests
Instead of checking for an exact bitrate check that the bitrate is between
the min and max values.
Also relax a threshold in a bandwith adaptation test.

Bug: webrtc:9280
Change-Id: I465d785a53759f73242198ee1ccd7da1a26c48b7
Reviewed-on: https://webrtc-review.googlesource.com/78041
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23330}
2018-05-21 16:41:35 +00:00
Jesús de Vicente Peña
666becad58 AEC3: ERLE improvements
The ERLE computation was improved by two means:
- The update function was always called and just parts of the internal code reacts to the converged filter flag
- When computing the ERLE, the ratio of energies is now computed using more points and, therefore, a more robust estimation is achieved.

Bug: webrtc:9284
Change-Id: Ie4f871f19cfad1a13741352ddd7b0a27ad6c3fb6
Reviewed-on: https://webrtc-review.googlesource.com/77767
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23329}
2018-05-21 15:11:06 +00:00
Mirko Bonadei
8436a699a9 Revert "Reland "Adding absl includes and defines to rtc_* templates.""
This reverts commit bdb0fe42bc46d190ca45fc5a6658eddbfa5eead5.

Reason for revert: https://ci.chromium.org/buildbot/chromium.fyi/Jumbo%20Win%20x64/11502

Original change's description:
> Reland "Adding absl includes and defines to rtc_* templates."
> 
> This reverts commit 85cb19fec7caf558dee7a09aafabe01c5ac78f3f.
> 
> Reason for revert: The new version of Abseil should fix the previous
> issue.
> 
> Original change's description:
> > Revert "Reland "Adding absl includes and defines to rtc_* templates.""
> > 
> > This reverts commit 9632112a16d70a146e917db4de761e6253dfc364.
> > 
> > Reason for revert: It breaks the WebRTC roll into Chromium.
> > https://chromium-review.googlesource.com/c/chromium/src/+/1061476
> > 
> > Original change's description:
> > > Reland "Adding absl includes and defines to rtc_* templates."
> > > 
> > > This reverts commit d161eda477491b2b97fb3f26d229c625a2a0e9b8.
> > > 
> > > Reason for revert: The problem with iOS trybots should be fixed.
> > > 
> > > Original change's description:
> > > > Revert "Adding absl includes and defines to rtc_* templates."
> > > >
> > > > This reverts commit 9d8f3850f4c4faad5dc5ab32ab6f2c9c43df7b6c.
> > > >
> > > > Reason for revert: Breaks some trybots: https://build.chromium.org/p/client.webrtc/builders/iOS64%20Release/builds/12793.
> > > >
> > > > Original change's description:
> > > > > Adding absl includes and defines to rtc_* templates.
> > > > >
> > > > > This CL implicitly adds the -I compiler flag and absl macros to WebRTC
> > > > > templates. In order to include absl headers using relative paths, WebRTC
> > > > > needs to ensure that all its build targets are able to see absl headers.
> > > > >
> > > > > This can also be done with public_deps, but WebRTC is trying to avoid
> > > > > it because it creates problems with other build systems. Given this
> > > > > constraint, using rtc_* templates is the most reliable solution.
> > > > >
> > > > > Please note that rtc_* templates are adding absl includes and defines
> > > > > as public_configs, this means that build targets with WebRTC targets
> > > > > in their public_deps will propagate these configs following the GN
> > > > > guideline.
> > > > >
> > > > > Bug: webrtc:8821
> > > > > Change-Id: I4aa594a524f4bd045bcb3e80d76cc27f06fe01d7
> > > > > Reviewed-on: https://webrtc-review.googlesource.com/70367
> > > > > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > > > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > > > > Cr-Commit-Position: refs/heads/master@{#22927}
> > > >
> > > > TBR=phoglund@webrtc.org,mbonadei@webrtc.org
> > > >
> > > > Change-Id: Id8e1f881c57553386566eb1970f6b9f8632cab37
> > > > No-Presubmit: true
> > > > No-Tree-Checks: true
> > > > No-Try: true
> > > > Bug: webrtc:8821
> > > > Reviewed-on: https://webrtc-review.googlesource.com/71000
> > > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/master@{#22928}
> > > 
> > > TBR=phoglund@webrtc.org,mbonadei@webrtc.org
> > > 
> > > Bug: webrtc:8821
> > > Change-Id: I6ee2eda97bbcd4c9be25c9c4073272192b0373f8
> > > Reviewed-on: https://webrtc-review.googlesource.com/71700
> > > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#23251}
> > 
> > TBR=phoglund@webrtc.org,mbonadei@webrtc.org
> > 
> > Change-Id: I61fb749797314ca514691b341c66f7f39ef45491
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: webrtc:8821
> > Reviewed-on: https://webrtc-review.googlesource.com/77220
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#23264}
> 
> TBR=phoglund@webrtc.org,mbonadei@webrtc.org
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: webrtc:8821
> Change-Id: I71dea953a002a0d526949c627653bcad0c6518fc
> Reviewed-on: https://webrtc-review.googlesource.com/77781
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23317}

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

Change-Id: I6010f9264dba7bcc4e82c4f4bbfb2eca561e500e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8821, chromium:845158
Reviewed-on: https://webrtc-review.googlesource.com/78061
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23328}
2018-05-21 14:38:36 +00:00
Henrik Lundin
9024da84c9 NetEq: Fixing an overflow bug in expand.cc
The overflow currently does not cause any problems, but it has been
found that it can cause crashes after a refactoring that is coming in
the near future.

Bug: webrtc:9180
Change-Id: Ia2c4e545c062c4f8ad13cbc47b8796c6e8a4e906
Reviewed-on: https://webrtc-review.googlesource.com/77667
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23327}
2018-05-21 13:39:25 +00:00
henrika
3ca48a69fd Ports base::win:OSInfo from Chrome to rtc_win in WebRTC.
Enables us to do stuff like:

TEST(WindowsVersion, GetVersionGlobalScopeAccessor) {
  if (GetVersion() < VERSION_WIN10) {
    MethodNotSupportedOnWin10AndLater();
  } else {
    MethodSupportedOnWin10AndLater();
  }
}

which is useful when working with Windows.

Note that, I also port a limited part of base::win::RegKey but only
those parts that are needed to implement OSInfo. Hence, I don't expose
any RegKey APIs.

NOTRY=TRUE

No-Presubmit: True
Bug: webrtc:9265
Change-Id: Ia2fc0963f24044ffaad954aa21d28df9c32b3ee7
Reviewed-on: https://webrtc-review.googlesource.com/77723
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23326}
2018-05-21 13:27:46 +00:00
Sami Kalliomäki
cc02cb595f Add getSupportedCodecs to VideoDecoderFactory interface.
The default implementation of the method is to return an empty list.
Clients should update their implementations before WebRTC starts calling
this method.

Also updates internal WebRTC implentations of this interface to
implement the method.

Bug: webrtc:7925
Change-Id: I258de2f09f6d4cc5dd9f4657e5d54e8411f8f5d8
Reviewed-on: https://webrtc-review.googlesource.com/77641
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23325}
2018-05-21 13:21:45 +00:00
Artem Titov
80d02ad93f Suppress warning about exit in destructor, because it intended.
BUG=None

Change-Id: I35323234382aad4f952b2c39a4eecd93ad81e017
Reviewed-on: https://webrtc-review.googlesource.com/77666
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23324}
2018-05-21 12:36:55 +00:00
henrika
9ab6eb738a Minor namespace change for CoreAudioUtility
NOTRY=TRUE

TBR: kwiberg@webrtc.org
Bug: webrtc:9265
Change-Id: Ic40634eb5258739ef06becd5db7a70a1e31d29e3
Reviewed-on: https://webrtc-review.googlesource.com/78020
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23323}
2018-05-21 12:28:25 +00:00
Erik Språng
79478ad675 Adjust base bitrate for experimental temporal layer count
Bug: webrtc:9260
Change-Id: I15eb24ddf94122d3b70cbf1ee25125a0adbf9f2d
Reviewed-on: https://webrtc-review.googlesource.com/77363
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23322}
2018-05-21 12:18:06 +00:00
Rasmus Brandt
195d1d77ea Remove ScreenshareLayerConfig.
Bug: None
Change-Id: I7fe020f9985fa5ca1d9873a126a8518a991ded8e
Reviewed-on: https://webrtc-review.googlesource.com/75509
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23321}
2018-05-21 12:02:36 +00:00
Niels Möller
0f405825c7 New class FakePeriodicVideoTrackSource, simplifying shutdown logic.
Previous code had a FakePeriodicVideoSource and a
VideoTrackSource, where the latter is reference counted and
outlives the former. That results in potential races when
RemoveSink is called on the VideoTrackSource after the
FakePeriodicVideoSource is destroyed, with a complicated sequence
to do correct shutdown.

The new class, FakePeriodicVideoTrackSource, owns a
FakePeriodicVideoSource, and they get the same lifetime.

Bug: webrtc:6353
Change-Id: Ic33b393e00a31fa28893dce2018948d3f90e0a9e
Reviewed-on: https://webrtc-review.googlesource.com/76961
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23320}
2018-05-21 10:27:55 +00:00
Elad Alon
34b1bc7299 Disable flaky test: FullStackTest.VP9SVC_3SL_High
Following a change in libvpx, FullStackTest.VP9SVC_3SL_High has
become flaky. It will be disabled until the libvpx issue is fixed.

Bug: webrtc:9293
NOTRY: true
Change-Id: Ib375363bdefdbb4104130a1f0f02ea34dc26e7f9
Reviewed-on: https://webrtc-review.googlesource.com/77663
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23319}
2018-05-21 10:02:25 +00:00
Gustaf Ullberg
6633d41bb0 Reland "Update expected bitrate in Opus tests"
This is a reland of 79ded653fee7183d5c0d94c5addf570bcfb29c9e

Original change's description:
> Update expected bitrate in Opus tests
>
> Upstream changes to Opus DTX behavior changes the bitrates of Opus. This
> CL re-enables recently disabled unittests and updates the expected bitrates.
>
> Bug: webrtc:9280
> Change-Id: I668a0b6a8b82cbbb70d795db4546cb5469266bf2
> Reviewed-on: https://webrtc-review.googlesource.com/77766
> Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
> Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23306}

TBR=henrik.lundin@webrtc.org

Bug: webrtc:9280
Change-Id: I6bfcd1c5e1d5298543024a0faa6a695026434df3
Reviewed-on: https://webrtc-review.googlesource.com/77980
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23318}
2018-05-21 08:13:05 +00:00
Mirko Bonadei
bdb0fe42bc Reland "Adding absl includes and defines to rtc_* templates."
This reverts commit 85cb19fec7caf558dee7a09aafabe01c5ac78f3f.

Reason for revert: The new version of Abseil should fix the previous
issue.

Original change's description:
> Revert "Reland "Adding absl includes and defines to rtc_* templates.""
> 
> This reverts commit 9632112a16d70a146e917db4de761e6253dfc364.
> 
> Reason for revert: It breaks the WebRTC roll into Chromium.
> https://chromium-review.googlesource.com/c/chromium/src/+/1061476
> 
> Original change's description:
> > Reland "Adding absl includes and defines to rtc_* templates."
> > 
> > This reverts commit d161eda477491b2b97fb3f26d229c625a2a0e9b8.
> > 
> > Reason for revert: The problem with iOS trybots should be fixed.
> > 
> > Original change's description:
> > > Revert "Adding absl includes and defines to rtc_* templates."
> > >
> > > This reverts commit 9d8f3850f4c4faad5dc5ab32ab6f2c9c43df7b6c.
> > >
> > > Reason for revert: Breaks some trybots: https://build.chromium.org/p/client.webrtc/builders/iOS64%20Release/builds/12793.
> > >
> > > Original change's description:
> > > > Adding absl includes and defines to rtc_* templates.
> > > >
> > > > This CL implicitly adds the -I compiler flag and absl macros to WebRTC
> > > > templates. In order to include absl headers using relative paths, WebRTC
> > > > needs to ensure that all its build targets are able to see absl headers.
> > > >
> > > > This can also be done with public_deps, but WebRTC is trying to avoid
> > > > it because it creates problems with other build systems. Given this
> > > > constraint, using rtc_* templates is the most reliable solution.
> > > >
> > > > Please note that rtc_* templates are adding absl includes and defines
> > > > as public_configs, this means that build targets with WebRTC targets
> > > > in their public_deps will propagate these configs following the GN
> > > > guideline.
> > > >
> > > > Bug: webrtc:8821
> > > > Change-Id: I4aa594a524f4bd045bcb3e80d76cc27f06fe01d7
> > > > Reviewed-on: https://webrtc-review.googlesource.com/70367
> > > > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/master@{#22927}
> > >
> > > TBR=phoglund@webrtc.org,mbonadei@webrtc.org
> > >
> > > Change-Id: Id8e1f881c57553386566eb1970f6b9f8632cab37
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: webrtc:8821
> > > Reviewed-on: https://webrtc-review.googlesource.com/71000
> > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#22928}
> > 
> > TBR=phoglund@webrtc.org,mbonadei@webrtc.org
> > 
> > Bug: webrtc:8821
> > Change-Id: I6ee2eda97bbcd4c9be25c9c4073272192b0373f8
> > Reviewed-on: https://webrtc-review.googlesource.com/71700
> > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#23251}
> 
> TBR=phoglund@webrtc.org,mbonadei@webrtc.org
> 
> Change-Id: I61fb749797314ca514691b341c66f7f39ef45491
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:8821
> Reviewed-on: https://webrtc-review.googlesource.com/77220
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23264}

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

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:8821
Change-Id: I71dea953a002a0d526949c627653bcad0c6518fc
Reviewed-on: https://webrtc-review.googlesource.com/77781
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23317}
2018-05-21 07:51:55 +00:00
Sergey Silkin
d902d58b0a Framerate controller for VP9 screen sharing.
- Limit framerate by dropping frames before encoding.
- The max framerate at screen sharing is set to 5fps.

Bug: webrtc:9261
Change-Id: Icfbbecce33fdce2d746291708db0108e0ba10760
Reviewed-on: https://webrtc-review.googlesource.com/76921
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23316}
2018-05-19 07:14:48 +00:00
Qingsi Wang
a832019f4e Add qingsi@ as owner of p2p.
Bug: None
Change-Id: Iffcb6eb665b5f4a909f2dcf52471cb57919823c5
Reviewed-on: https://webrtc-review.googlesource.com/77843
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Commit-Queue: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23315}
2018-05-18 21:31:56 +00:00
Seth Hampson
2d2c888293 Returns RTCError for setting unimplemented RtpParameters.
We have a number of RtpParameters that aren't implemented. If a client
is setting these values it creates unexpected results when the value
doesn't do anything for them. This change incorporates returning the
correct error if the parameter is unimplemented.

It also changes the scale_resolution_down_by and scale_framerate_down_by
RtpEncodingParameters to rtc::Optionals because they aren't implemented.

This change is part of the effort to ship get/setParameters in Chrome.

Bug: webrtc:8772
Change-Id: I9797695e5116e6aeb3c02afddbf460b2a0d7d5ab
Reviewed-on: https://webrtc-review.googlesource.com/75421
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@{#23314}
2018-05-18 17:40:16 +00:00
Sebastian Jansson
dfce03af6e Allows injection of network controller factory into peer connection factory.
Bug: webrtc:9155
Change-Id: I0a17024042f154297aba20f5d2dc766feb27f3f7
Reviewed-on: https://webrtc-review.googlesource.com/73123
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23313}
2018-05-18 17:07:16 +00:00
Patrik Höglund
78b0a60223 Add phoglund as root owner.
It seems convenient since the EngProd team make repo-wide changes
every now and then.

Bug: None
Change-Id: If429fc8ed503a3c24c912ac2e8d120f93edc4823
Reviewed-on: https://webrtc-review.googlesource.com/77760
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Commit-Queue: Niklas Enbom <niklas.enbom@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23312}
2018-05-18 15:57:56 +00:00
Sergey Silkin
be71a1ee08 Replace VP9 screen sharing.
- Remove referencing control from encoder wrapper. Use fixed temporal
prediction structure.
- Remove flexible mode from encoder wrapper. It only worked with
referencing control which this CL removes.
- Remove external framerate/bitrate controller. Keep codec's internal
frame dropping enabled at screen sharing.
- Use GetSvcConfig() to configure layering.

Bug: webrtc:9261
Change-Id: I355baa6aab7b98ac5028b3851d1f8ccc82a308e0
Reviewed-on: https://webrtc-review.googlesource.com/76801
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23311}
2018-05-18 15:11:46 +00:00
Paulina Hensman
21219a0e43 Reland "Injectable logging"
Any injected loggable or NativeLogger would be deleted if PCFactory
was reinitialized without calling setInjectableLogger. Now native
logging is not implemented as a Loggable, so it will remain active
unless a Loggable is injected.

This is a reland of 59216ec4a4151b1ba5478c8f2b5c9f01f4683d7f

Original change's description:
> Injectable logging
>
> Allows passing a Loggable to PCFactory.initializationOptions, which
> is then injected to Logging.java and logging.h. Future log messages
> in both Java and native will then be passed to this Loggable.
>
> Bug: webrtc:9225
> Change-Id: I2ff693380639448301a78a93dc11d3a0106f0967
> Reviewed-on: https://webrtc-review.googlesource.com/73243
> Commit-Queue: Paulina Hensman <phensman@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23241}

Bug: webrtc:9225
Change-Id: I2fe3fbc8c323814284bb62e43fe1870bdab581ee
TBR: kwiberg
Reviewed-on: https://webrtc-review.googlesource.com/77140
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23310}
2018-05-18 15:04:16 +00:00
Stefan Holmer
812ceafb5a Ensure render time is zero when playout delay is zero so that minimal latency in the render pipeline is ensured.
Bug: webrtc:9135
Change-Id: Id9ae8ec59536808ba8923c73dd46abfe3fa6fe79
Reviewed-on: https://webrtc-review.googlesource.com/75600
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23309}
2018-05-18 14:47:26 +00:00
Gustaf Ullberg
6bf5a0d5b6 AEC3: High-pass filter delay estimator signals
This CL applies a high pass filter to the delay estimator signals which
improves the adaptation of the matched filters in noisy environments.
This results in faster delay estimation.

Bug: webrtc:9288
Change-Id: I8ffe5442eab7ac2f10a7ba236b08a0f07ec90645
Reviewed-on: https://webrtc-review.googlesource.com/77725
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23308}
2018-05-18 14:33:26 +00:00
Gustaf Ullberg
77995e744b Revert "Update expected bitrate in Opus tests"
This reverts commit 79ded653fee7183d5c0d94c5addf570bcfb29c9e.

Reason for revert: Different repos have different Opus

Original change's description:
> Update expected bitrate in Opus tests
> 
> Upstream changes to Opus DTX behavior changes the bitrates of Opus. This
> CL re-enables recently disabled unittests and updates the expected bitrates.
> 
> Bug: webrtc:9280
> Change-Id: I668a0b6a8b82cbbb70d795db4546cb5469266bf2
> Reviewed-on: https://webrtc-review.googlesource.com/77766
> Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
> Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23306}

TBR=henrik.lundin@webrtc.org,gustaf@webrtc.org

Change-Id: I3c18db2d6052c4049d836c3e595b00189aebcbc8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9280
Reviewed-on: https://webrtc-review.googlesource.com/77800
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23307}
2018-05-18 14:27:36 +00:00
Gustaf Ullberg
79ded653fe Update expected bitrate in Opus tests
Upstream changes to Opus DTX behavior changes the bitrates of Opus. This
CL re-enables recently disabled unittests and updates the expected bitrates.

Bug: webrtc:9280
Change-Id: I668a0b6a8b82cbbb70d795db4546cb5469266bf2
Reviewed-on: https://webrtc-review.googlesource.com/77766
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23306}
2018-05-18 13:45:06 +00:00