Commit Graph

22619 Commits

Author SHA1 Message Date
94150ee487 Implement VideoQualityObserver
This class receives data about video frames from ReceiveStatisticsProxy,
calculates spatial and temporal quality metrics and outputs them to UMA
stats. It is all done in a separate class because it will be further
extended to calculate aggregated quality metrics in the future.

Bug: webrtc:9295
Change-Id: Ie36db83e10c0e8da0b9baa392651cb9a67a54a80
Reviewed-on: https://webrtc-review.googlesource.com/78220
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23387}
2018-05-24 14:53:31 +00:00
95de63b6fc Rename parsing function in AimdRateControl
Bug: None
Change-Id: I59e54cb4ec87c5d31eb8b14813766f1d1e2a95c4
Reviewed-on: https://webrtc-review.googlesource.com/77240
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23386}
2018-05-24 14:32:11 +00:00
c34e381d61 Roll chromium_revision 039110971b..52f78b1683 (560284:561464)
Change log: 039110971b..52f78b1683
Full diff: 039110971b..52f78b1683

Roll chromium third_party cc1af82934..008fb7071c
Change log: cc1af82934..008fb7071c

Changed dependencies:
* src/base: 8e89780685..40343e3fbc
* src/build: 66897e4d72..bd04ef7233
* src/ios: 02a22b3900..de97874e25
* src/testing: 671c6a4522..b4c21a01c2
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/7ca7a59f02..1986f5a957
* src/third_party/depot_tools: 083eb25f9a..4e9b50ab86
* src/third_party/googletest/src: 08d5b1f33a..145d05750b
* src/third_party/libvpx/source/libvpx: d99abe9a9a..e27a331778
* src/tools: ff5c71196b..c923d1173c
DEPS diff: 039110971b..52f78b1683/DEPS

Clang version changed 332335:332838
Details: 039110971b..52f78b1683/tools/clang/scripts/update.py

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

Change-Id: I0aa2e7087bc0871ddafffb9eae424c6c76cc5b47
Reviewed-on: https://webrtc-review.googlesource.com/78762
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23385}
2018-05-24 13:48:31 +00:00
172fd8536e Replaces redundant congestion controller components
This CL replaces components in the congestion controller module
that are identical to equivalent components in the rtp and goog_cc
subfolder. Some redundant components are left as they were not
trivial to replace.

Bug: webrtc:8415
Change-Id: I86a1f164d7b100b8ec8ba7dbc1c9bda2128a4f37
Reviewed-on: https://webrtc-review.googlesource.com/78521
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23384}
2018-05-24 13:35:31 +00:00
ec2eb2218f Enables comparison with infinite timestamps.
Bug: webrtc:8415
Change-Id: Ia96c7a537d994c281d8b24e648dbb2e17de3ed4a
Reviewed-on: https://webrtc-review.googlesource.com/78182
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23383}
2018-05-24 12:45:21 +00:00
a927ed576a Switch one try builder (win_x64_clang_dbg) to LUCI
No-Try: True
Bug: chromium:749455
Change-Id: Ib87c1415baa094366cd4910c99390f6d72e10508
Reviewed-on: https://webrtc-review.googlesource.com/78760
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23382}
2018-05-24 11:50:45 +00:00
d7b9131de4 Move socklen_t definition for windows to win32.h.
Bug: webrtc:6853
Change-Id: Ie73cd959707b32b928acdabd46329830b2bb2c27
Reviewed-on: https://webrtc-review.googlesource.com/78720
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23381}
2018-05-24 11:17:30 +00:00
9c26a0fb00 Adds reporting of bandwidth estimation periods in BBR.
Bug: webrtc:8415
Change-Id: Ia1e8808d0b446653df6f2e3ae9548161bacdac6b
Reviewed-on: https://webrtc-review.googlesource.com/78262
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23380}
2018-05-24 11:16:26 +00:00
5bb15112c2 Disable rolling of ffmpeg.
After last update in a chromium repo ffmpeg support for MSVC was broken.
So for now we will freeze rolling of ffmpeg and continue it after
we'll restore of MSVC or we'll find a way around to keep MSVC support
in the WebRTC.

Change-Id: Ie7de7e6d367946f3ad77a81d6121dd704a56ca24
Bug: webrtc:9213
Reviewed-on: https://webrtc-review.googlesource.com/78402
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23379}
2018-05-24 09:01:15 +00:00
96c9fc41ae Add tests where the incoming stream changes codec type.
Bug: webrtc:9294
Change-Id: I9bcdb205be5fbcbfd9063fd6261fb60322036f7c
Reviewed-on: https://webrtc-review.googlesource.com/77720
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23378}
2018-05-24 08:15:15 +00:00
14682a3c5f Delete macro RTC_DEFINE_STATIC_LOCAL.
Code using the macro change to a plain declaration+init of a local
variable.

Also delete includes of <stdint.h> and <stddef.h> from basictypes.h.

Bug: webrtc:6853
Change-Id: I5ffceb449c1bf8f5badb595d5a343a47b0c6deae
Reviewed-on: https://webrtc-review.googlesource.com/78460
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23377}
2018-05-24 08:10:35 +00:00
9d4e840617 Change how we get the current cert in SSLVerifyCallback when using OpenSSL.
Use X509_STORE_CTX_get0_cert instead of SSL_get_peer_certificate.
In OpenSSL SSL_get_peer_certificate can only be used after the TLS session is established. Use X509_STORE_CTX_get0_cert instead.

https://bugs.chromium.org/p/webrtc/issues/detail?id=9272


Bug: webrtc:9272
Change-Id: I1f3288748c2ef8f50249713805bedffe59433961
Reviewed-on: https://webrtc-review.googlesource.com/78640
Reviewed-by: David Benjamin <davidben@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Jiawei Ou <ouj@fb.com>
Cr-Commit-Position: refs/heads/master@{#23376}
2018-05-24 05:56:45 +00:00
cefc46517e RTC_LOG_* macros: Implement argument passing with a single variadic call
Instead of making multiple calls to the std::stringstream << operator,
collect all the arguments and make a single printf-like variadic call
under the hood.

Besides reducing our reliance on iostreams, this makes each RTC_LOG_*
call site smaller; in aggregate, this reduces the size of
libjingle_peerconnection_so.so by 28-32 kB.

A quick benchmark indicates that this change makes log statements
a few percent slower.

Bug: webrtc:8982, webrtc:9185
Change-Id: I3137a4dd8ac510e8d910acccb0c97ce4fffb61c9
Reviewed-on: https://webrtc-review.googlesource.com/75440
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23375}
2018-05-23 23:15:04 +00:00
223cc4b0e7 Revert "Start supporting H264 packetization mode 0."
This reverts commit 3409cfa378e75c0c08d900e0848147929249a62b.

Reason for revert: Broke WebRtcBrowserTest.RunsAudioVideoWebRTCCallInTwoTabsH264 on Windows 7/10 bots

Original change's description:
> Start supporting H264 packetization mode 0.
> 
> The work was already done to support it, but it wasn't being negotiated
> in SDP.
> 
> This means we'll now see 8 H264 payload types instead of 4; one for each
> combination of BP/CBP profiles, packetization modes 0/1, and RTX/non-RTX.
> This could be problematic in the future, since we're starting to run
> out of dynamic payload types (using 25 of 32).
> 
> Bug: chromium:600254
> Change-Id: Ief2340db77c796f12980445b547b87e939170fae
> Reviewed-on: https://webrtc-review.googlesource.com/77264
> Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23372}

TBR=deadbeef@webrtc.org,magjed@webrtc.org,sprang@webrtc.org

Change-Id: I2f2a2b4ca20ba883764cd5265911e1453d3df66e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:600254
Reviewed-on: https://webrtc-review.googlesource.com/78398
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23374}
2018-05-23 18:17:25 +00:00
c8caaec92b Directly include VideoBitrateAllocation in common_video/ targets
Bug: webrtc:9271
Change-Id: Id31459c4ccdee1b5a65499423af5c575d5317231
Reviewed-on: https://webrtc-review.googlesource.com/76942
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23373}
2018-05-23 17:57:14 +00:00
3409cfa378 Start supporting H264 packetization mode 0.
The work was already done to support it, but it wasn't being negotiated
in SDP.

This means we'll now see 8 H264 payload types instead of 4; one for each
combination of BP/CBP profiles, packetization modes 0/1, and RTX/non-RTX.
This could be problematic in the future, since we're starting to run
out of dynamic payload types (using 25 of 32).

Bug: chromium:600254
Change-Id: Ief2340db77c796f12980445b547b87e939170fae
Reviewed-on: https://webrtc-review.googlesource.com/77264
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23372}
2018-05-23 17:18:14 +00:00
70bb326fa4 Delete unused argument first_payload_byte.
This was left-over after cl
https://webrtc-review.googlesource.com/c/src/+/61500.

Bug: webrtc:8995
Change-Id: Ib5ad853d67d6fc8caf72cc6d76c67b2958e4ff63
Reviewed-on: https://webrtc-review.googlesource.com/78520
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23371}
2018-05-23 16:05:54 +00:00
5d67f82360 Refactor VideoTrackSource, without raw pointer injection.
Bug: None
Change-Id: If4aa8ba72eb3dbdd7dca8970cd6349f1679bc222
Reviewed-on: https://webrtc-review.googlesource.com/78403
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23370}
2018-05-23 15:42:10 +00:00
69c0222108 Allow mixing gtest and non-gtest args in gtest-parallel-wrapper
No-Try: True
Bug: chromium:776681
Change-Id: I412a63e4ea897512b6c7012b9eb6ec5c3cf06314
Reviewed-on: https://webrtc-review.googlesource.com/78287
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23369}
2018-05-23 14:19:20 +00:00
7fd0a28bdf Directly include VideoBitrateAllocation in media/ targets
Bug: webrtc:9271
Change-Id: I11a79c350a9de6edee203c9711ca97e266049f32
Reviewed-on: https://webrtc-review.googlesource.com/76943
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23368}
2018-05-23 13:56:40 +00:00
6c7da5940b Fixes off by one error in BBR random cycle initialization.
Bug: webrtc:8415
Change-Id: I2055b10c8a99a9bde4152a7b3f66c695ab329f68
Reviewed-on: https://webrtc-review.googlesource.com/78441
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23367}
2018-05-23 13:36:40 +00:00
eda0087e57 Drop the RTT as input to IsRetransmitOfOldPacket.
Bug: webrtc:7135
Change-Id: I532334934a757ba0ea6a2daf97b0f1cfd04246e6
Reviewed-on: https://webrtc-review.googlesource.com/12320
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23366}
2018-05-23 13:14:40 +00:00
89ee4a6c8c Delete unused member variable VideoTrackSource::options_.
Bug: None
Change-Id: I1aa4a29aa83faaec22bfe811044439bbdc9b8b15
Reviewed-on: https://webrtc-review.googlesource.com/78400
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23365}
2018-05-23 12:55:00 +00:00
ccd1048498 Apply constraints on pacing rate in BBR controller.
This avoid sending more padding than required for the current target
constraints.

Bug: webrt:8415
Change-Id: I3a668990f026414ab78f8406248cde18b81123cc
Reviewed-on: https://webrtc-review.googlesource.com/77763
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23364}
2018-05-23 12:48:20 +00:00
67535428b4 Ensures that BBR always reports updated state.
The BBR controller did not properly report updates to congestion
windows. This was due to a check to avoid the overhead of callbacks.
In the current design without callbacks in the controller, the check can
be removed. If helpful for performance, it should live outside of the
controller.

Bug: webrtc:8415
Change-Id: Idf6d6e76fe6d0450841e706019110307e559c11d
Reviewed-on: https://webrtc-review.googlesource.com/78181
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23363}
2018-05-23 12:14:20 +00:00
500e75b467 Remove typedefs.h from webrtc/ root (part 1)
Bug: webrtc:6854
Change-Id: Iadbc73d1913a507c0097ade82b6e406cbfa30a64
Reviewed-on: https://webrtc-review.googlesource.com/78062
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23362}
2018-05-23 12:07:10 +00:00
ce532a1c3c Fixes congestion window bug in network control tester.
The network control tester did not handle congestion windows correctly.
Time passed when no packets were sent were not counted. This hindered
the buffer delays from decreasing in congested mode.

Bug: webrtc:8415
Change-Id: Id46116c6125eb5a50caa5766a3cc7291404ff920
Reviewed-on: https://webrtc-review.googlesource.com/77761
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23361}
2018-05-23 11:02:00 +00:00
547e3169d9 Limit input length for SDP fuzzer.
This limits the SDP to 16KB, which sounds enough.

Bug: chromium:813328
Change-Id: I58c7b3e073108fd7b3495e8182b5c632e9619fe7
Reviewed-on: https://webrtc-review.googlesource.com/78280
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23360}
2018-05-23 10:33:40 +00:00
434327376b Don't assume that RTC_LOG's << operator is std::ostream
Bug: webrtc:8982, webrtc:9185
Change-Id: I8a88c10725508f7ea8a7f46e8bcdac4afdb2c617
Reviewed-on: https://webrtc-review.googlesource.com/77681
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23359}
2018-05-23 10:07:20 +00:00
a041f92abf Removing warning suppression flags from rtc_base.
Bug: webrtc:9251
Change-Id: I9dd3b153ef0b8f6f371c7438551d3a6933fc23b0
Reviewed-on: https://webrtc-review.googlesource.com/77668
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23358}
2018-05-23 09:44:40 +00:00
71d4dc3509 Add presubmit error if third_party/.git exists.
Bug: webrtc:8366
Change-Id: I5fc91a18211ebbc2f6e61688bbafa7a7cc991916
Reviewed-on: https://webrtc-review.googlesource.com/78401
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23357}
2018-05-23 09:17:30 +00:00
72678e11cc Adds unwrapped sequence number to sent packet info.
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: I6b182246c988dd4a95681c063dcaa779088d0e99
Reviewed-on: https://webrtc-review.googlesource.com/76481
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23356}
2018-05-23 07:03:50 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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