Commit Graph

28101 Commits

Author SHA1 Message Date
ad4a3c8d66 Roll chromium_revision 81e506385d..c1296cf1c0 (664522:665078)
Change log: 81e506385d..c1296cf1c0
Full diff: 81e506385d..c1296cf1c0

Changed dependencies
* src/base: 586a25c28d..0f4d61e0ee
* src/build: 444ba36288..355210a48f
* src/ios: d10cddfaf8..4552c595c0
* src/testing: 8d29c9ddf9..0734c202c4
* src/third_party: 39da171c1e..b260072908
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/903755a1f8..0aa9d59e4e
* src/third_party/depot_tools: 96104d42da..cd28c22b7b
* src/third_party/freetype/src: f37083edf0..7b275a5af1
* src/tools: b800d29944..7eaa5f5269
DEPS diff: 81e506385d..c1296cf1c0/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I9cf6dcab039c47ea49e8e8f7a0e333b142315a36
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139462
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28119}
2019-05-31 08:56:29 +00:00
e93d109188 Add "Win asan 64-bit" in order to migrate away from the 2-bit version.
Chromium is thinking to remove the toolchain [1] and WebRTC can
probably switch to run it on x64 without any problem.

[1] - https://groups.google.com/a/chromium.org/d/msg/chromium-dev/IO5v9yx545M/H93qyx3UAgAJ

Bug: webrtc:10696
Change-Id: Ic5c6e795b662319a2338e4c3ff9e190874356296
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139100
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Artem Titarenko <artit@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28118}
2019-05-31 07:57:13 +00:00
eb22227c5b Add OnDatgramLost and default value for receive_timestamp.
The datagram sink needs to know when datagrams are lost in addition to
when they are acked.

DatagramAck::receive_timestamp needs a default value so that
DatagramAck's default ctor is not implicitly deleted.  Without a default
ctor, it's not possible to make this struct without specifying all its
fields, so users will still be broken when the interface adds a new
field.

Bug: webrtc:9719
Change-Id: I6688a938d68eea133f12b13a1228d4df4771d1b8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139480
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28117}
2019-05-30 23:06:24 +00:00
d91969ed79 Explicitly close PeerConnections when using ScopedFieldTrials
Since ScopedFieldTrials is not thread safe, if it goes out of
scope while other threads are still running and possibly querying
the field trials then it's possible to hit an MSAN failure.

Bug: webrtc:10694
Change-Id: I93c94f1008e4478d98ec1545bbc0a7536739e479
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139460
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28116}
2019-05-30 20:32:05 +00:00
220f4bec16 Remove some media/ --> pc/ test dependencies
pc/ depends on media/, so the media/ tests should not have circular
dependencies on pc/.

Bug: None
Change-Id: I849cefecd91e9cd11415bbd93465a98dead735d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139361
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28115}
2019-05-30 18:52:28 +00:00
57dc02a5c2 Add receive_timestamp to DatagramAcks.
Whenever a datagram is acked, the datagram transport will provide the
remote peer's receive timestamp in this field.

Bug: webrtc:9719
Change-Id: I516b9d602e62179a3deda001e0ee9b484aa20d37
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139440
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28114}
2019-05-30 18:35:07 +00:00
0c1c1b4014 Move ownership of ICE from DtlsTransport to JsepTransport.
It does not make sense for DtlsTransport to own ICE, and this arrangement will
not work when negotiating datagram or DTLS transport.  During negotiation, both
a DTLS transport and a datagram transport need to be ready to receive from the
same ICE transport, depending on which protocol is chosen by the answerer.  Once
the answerer chooses a protocol, the transport that is not chosen must be
deleted, but ICE must be left intact for use by the remaining transport.

Bug: webrtc:9719
Change-Id: Ibab969b574c981e3834ced71f8ff88008cb26a6c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139340
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28113}
2019-05-30 01:27:50 +00:00
a913c12462 Roll chromium_revision 2d1120f0c1..81e506385d (664417:664522)
Change log: 2d1120f0c1..81e506385d
Full diff: 2d1120f0c1..81e506385d

Changed dependencies
* src/base: 6309110fa3..586a25c28d
* src/build: b96656d2d3..444ba36288
* src/ios: f0996d4969..d10cddfaf8
* src/testing: b7fa295fb2..8d29c9ddf9
* src/third_party: 1c31b74add..39da171c1e
* src/third_party/depot_tools: 2ee83757a1..96104d42da
* src/third_party/libvpx/source/libvpx: 197827edb8..0308a9a132
* src/tools: ad77db01ec..b800d29944
DEPS diff: 2d1120f0c1..81e506385d/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,marpan@webrtc.org, jianj@chromium.org,
BUG=None

Change-Id: I517182784a9b17dbb787b3d0720e3c89027b49f4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139320
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28112}
2019-05-30 00:25:45 +00:00
74bebc597e Add OnDatagramAcked interface
Bug: webrtc:9719
Change-Id: Ib394e02a4f0dcb36da64b9f005f068a53a50854c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139280
Commit-Queue: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28111}
2019-05-29 22:08:26 +00:00
72055b11be Roll chromium_revision 8891f34d24..2d1120f0c1 (664289:664417)
Change log: 8891f34d24..2d1120f0c1
Full diff: 8891f34d24..2d1120f0c1

Changed dependencies
* src/base: bd4e7aa56a..6309110fa3
* src/build: 2ceef49377..b96656d2d3
* src/ios: 240b59dd66..f0996d4969
* src/testing: db6974709e..b7fa295fb2
* src/third_party: 1c0914a839..1c31b74add
* src/third_party/freetype/src: fbbcf50367..f37083edf0
* src/tools: 3ac62d3b34..ad77db01ec
DEPS diff: 8891f34d24..2d1120f0c1/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I846e291a227b330563b6887df42ed549c8360926
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139260
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28110}
2019-05-29 20:38:03 +00:00
740cc35145 Roll chromium_revision d4906ebd49..8891f34d24 (664184:664289)
Change log: d4906ebd49..8891f34d24
Full diff: d4906ebd49..8891f34d24

Changed dependencies
* src/base: 1e923de1a5..bd4e7aa56a
* src/build: a4135553f3..2ceef49377
* src/ios: 2dbfb9b489..240b59dd66
* src/testing: fe44dbaae1..db6974709e
* src/third_party: 5e986f5469..1c0914a839
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/f5a5c539a5..903755a1f8
* src/third_party/googletest/src: f71fb4f9a9..f5edb4f542
* src/tools: f4a346a33f..3ac62d3b34
DEPS diff: d4906ebd49..8891f34d24/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I603f3df7a8eaf570e9e3165ecba4baa913a87d4f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139180
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28109}
2019-05-29 16:44:04 +00:00
6806550d5d Fix build with recent linux kernel.
Recent kernel commit[1] moved a bit the define for this constant. This revealed
a missing include in WebRTC.

[1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0768e17073dc5

Bug: webrtc:10677
Change-Id: I6ed69d307599d077760ae6ad74be10bfbdd1cac6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138270
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28108}
2019-05-29 15:04:55 +00:00
85a9d91cd4 Add ability to set min/start/max bitrate on peer's PC in PC quality tests
Bug: webrtc:10138, webrtc:10692
Change-Id: I4d7ae84dc2945fef6451a6671786b3b19cd9abd8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139108
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28107}
2019-05-29 13:25:26 +00:00
845c6aa140 Add support for early loss detection using transport feedback.
Bug: webrtc:10676
Change-Id: Ifdef133e123a0c54204397fb323f4c671c40a464
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135881
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28106}
2019-05-29 13:21:10 +00:00
b3b3e3f632 Add acked bandwidth estimator config for sample uncertainty in ALR.
Change-Id: Ie01d66d459f704e7fa99b439dd6f917e4e41cead
Bug: webrtc:10698
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139106
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28105}
2019-05-29 13:08:53 +00:00
7eb0a5e210 AudioDecoderOpus: Add support for 16 kHz output sample rate
In addition to the 48 kHz that we've always used.

Bug: webrtc:10631
Change-Id: If73bf7ff9c1c0d22e0d1caa245128612850f8e41
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138268
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28104}
2019-05-29 12:42:38 +00:00
ed69d41b62 Remove deprecated RtcEventLog Create functions
Bug: webrtc:10206
Change-Id: Iabf3eea20027ae42faadabba572dc68f9b678121
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139105
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28103}
2019-05-29 12:39:08 +00:00
2f5554dae5 Make KeyFrameRequestSender injectable in RtpVideoStreamReceiver
This is a partial revert of
https://webrtc-review.googlesource.com/c/src/+/130101.

The KeyFrameRequestSender argument is added back to the constructor of
RtpVideoStreamReceiver. It is optional; if a null pointer is passed,
key frame requests are sent via the internal RtpRtcp module, and this is
how the class is used by VideoReceiveStream. An injectable
KeyFrameRequestSender is useful for tests, for downstream applications
that want to route key frame requests elsewhere, and should also aid
later migration to RtcpTransciever.

Bug: None
Change-Id: Idf9baeed21570625ad74e9afbe38f7ea5bf79feb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139107
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28102}
2019-05-29 12:24:02 +00:00
e8e7d7b0bc Move Connection into it's own .h/.cc file.
This patch is a NOP and moves
- class Connection
- class ConnectionInfo
- class ProxyConnection

from port.{h/cc} to a new file called connection.{h/cc}

BUG=webrtc:10647

Change-Id: I89322d3421d272657e24a46b28ab6679fcdc9450
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137509
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28101}
2019-05-29 11:27:47 +00:00
28f0eb2dde Move H.264 SPS VUI rewriting to FrameEncodeMetadataWriter.
Bug: webrtc:10559
Change-Id: I956287e71a47856cfb6dd807d9715d6ee2572f55
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138263
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirta Dvornicic <mirtad@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28100}
2019-05-29 10:37:22 +00:00
a1d1a1e976 WebRTC Opus C interface: Add support for non-48 kHz decode sample rate
Plus tests for 16 kHz.

Bug: webrtc:10631
Change-Id: I2d89bc6d0d9548f0ad7bb1e36d6dfde6b6b31f83
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138072
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28099}
2019-05-29 10:33:03 +00:00
232b6a16cc Propagate screenshare info into video track and it's source.
If screen share is set, then we need to tell video source, that it
is screen share source. Also video track should be aware, that it is
screen share track. It is required to choose proper video encoding
settings.

Bug: webrtc:10138
Change-Id: I5c82584ae0325a303a495554d87962a98b676694
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138278
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28098}
2019-05-29 10:14:22 +00:00
98266a4af1 Roll chromium_revision 99181c0bec..d4906ebd49 (664078:664184)
Change log: 99181c0bec..d4906ebd49
Full diff: 99181c0bec..d4906ebd49

Changed dependencies
* src/build: c93f946980..a4135553f3
* src/ios: 04d8895272..2dbfb9b489
* src/third_party: d3bc283331..5e986f5469
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/5db62d36c9..f5a5c539a5
* src/third_party/depot_tools: 4ce909c11c..2ee83757a1
* src/tools: 3b7980914d..f4a346a33f
DEPS diff: 99181c0bec..d4906ebd49/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I5b9a182e2a65cbcef0b49c7c94d3b6984d3f0178
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139120
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28097}
2019-05-29 09:59:58 +00:00
6737841533 Add jitterBufferDelay and jitterBufferEmittedCount stats for video
Bug: webrtc:10450
Change-Id: I6f586a3c6781450b9bfdcc31dc3f49f6289d70e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138265
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28096}
2019-05-29 06:23:57 +00:00
e4470cd8b4 Roll chromium_revision 9b60f86c15..99181c0bec (663961:664078)
Change log: 9b60f86c15..99181c0bec
Full diff: 9b60f86c15..99181c0bec

Changed dependencies
* src/base: 4156e5da2f..1e923de1a5
* src/ios: 25f8d26e51..04d8895272
* src/testing: b14a9a2b64..fe44dbaae1
* src/third_party: 374b68de06..d3bc283331
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/a7b3312467..5db62d36c9
* src/third_party/depot_tools: c5b8a73247..4ce909c11c
* src/tools: b4c34ff93d..3b7980914d
DEPS diff: 9b60f86c15..99181c0bec/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I006e3a3012e05b1d20a61b578f55f034c2007b58
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139040
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28095}
2019-05-29 02:30:57 +00:00
686be20b45 Fix ICE connection in datagram_transport.
Connect ICE state changes to datagram transport regardless of bypass mode.

ICE states were connected to datagram transport only in bypass mode. As a result, if we received datagram state change notification before ICE state change notification, the state was not propagated.

TODO: We need fake datagram transport implementation/test so that we could unit test such failures without relying on downstream projects.

Bug: webrtc:9719
Change-Id: I5a180676e0d05f707b2a43d07e8c04fb10985027
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138982
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Commit-Queue: Anton Sukhanov <sukhanov@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28094}
2019-05-28 23:49:29 +00:00
44bd71cc44 Create a composite implementation of RtpTransportInternal.
This will be used to multiplex multiple transports during SDP
negotiation.  When the offerer watns to support multiple RTP transports,
it will combine them into a singla CompositeRtpTransport.

CompositeRtpTransport can receive from any of the offered transports
while waiting for an answer to arrive.

The choice of which transport is used to send must be driven by the SDP
answer.  If a provisional answer arrives, the composite can be set to
send using the chosen transport, while maintaining other transports in
case the peer changes its mind.  When the final answer arrives, the
composite will be deleted and replaced with the chosen transport.

Bug: webrtc:9719
Change-Id: Ib8cea77ef202f37086723bfa2c71e2aa5995a912
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138281
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28093}
2019-05-28 23:18:49 +00:00
64e97cf4dc Roll chromium_revision 09fae7ef1b..9b60f86c15 (663849:663961)
Change log: 09fae7ef1b..9b60f86c15
Full diff: 09fae7ef1b..9b60f86c15

Changed dependencies
* src/build: f8a20881dd..c93f946980
* src/ios: 82c755e0de..25f8d26e51
* src/testing: 63de520331..b14a9a2b64
* src/third_party: 731cf1f7d6..374b68de06
* src/third_party/depot_tools: 778c7f117a..c5b8a73247
* src/tools: 99662dd029..b4c34ff93d
DEPS diff: 09fae7ef1b..9b60f86c15/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I9fbc4b78608b683f5765f3cd973af6b5825338b6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138962
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28092}
2019-05-28 22:29:51 +00:00
f94e3d9f7f Roll chromium_revision 9809faf8ca..09fae7ef1b (663719:663849)
Change log: 9809faf8ca..09fae7ef1b
Full diff: 9809faf8ca..09fae7ef1b

Changed dependencies
* src/base: 1865b18ee8..4156e5da2f
* src/build: 011ae59d8a..f8a20881dd
* src/ios: b15a1e2b70..82c755e0de
* src/testing: fa0d6f7c8a..63de520331
* src/third_party: db247b76fa..731cf1f7d6
* src/third_party/depot_tools: 26af0d34d2..778c7f117a
* src/tools: 9c2351d4ec..99662dd029
DEPS diff: 9809faf8ca..09fae7ef1b/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I6b8e973e050ef996c601fcf0e2a1276f3e40e8d5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138960
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28091}
2019-05-28 20:02:01 +00:00
ce33b6a4cf Implement QualityLimitationReasonTracker and expose "reason".
This CL implements the logic behind qualityLimitationReason[1] and
qualityLimitationDurations[2]

This CL also exposes qualityLimitationReason in the standard getStats()
API, but does not expose qualityLimitationDurations because that is
blocked on supporting the "record<>" type in RTCStatsMember[3].

[1] https://w3c.github.io/webrtc-stats/#dom-rtcoutboundrtpstreamstats-qualitylimitationreason
[2] https://w3c.github.io/webrtc-stats/#dom-rtcoutboundrtpstreamstats-qualitylimitationdurations
[3] https://crbug.com/webrtc/10685

TBR=stefan@webrtc.org

Bug: webrtc:10451, webrtc:10686
Change-Id: Ifff0be4ddd64eaec23d59c02af99fdbb1feb3841
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138825
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28090}
2019-05-28 16:23:55 +00:00
07fc398ca8 Roll chromium_revision 13f6824c51..9809faf8ca (663612:663719)
Change log: 13f6824c51..9809faf8ca
Full diff: 13f6824c51..9809faf8ca

Changed dependencies
* src/base: 990ed0ba30..1865b18ee8
* src/build: 6f7f77b438..011ae59d8a
* src/ios: 6aa708d74a..b15a1e2b70
* src/third_party: 2f300fe244..db247b76fa
* src/tools: 165f0d6066..9c2351d4ec
DEPS diff: 13f6824c51..9809faf8ca/DEPS

Clang version changed 342571e8d6eb1afb151ae1103431798e3d24054f:67510fac36d27b2e22c7cd955fc167136b737b93
Details: 13f6824c51..9809faf8ca/tools/clang/scripts/update.py

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I4dc0754b914f392219318a658f3d983e3fa42081
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138923
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28089}
2019-05-28 14:55:05 +00:00
787f4b2a71 Fix text logging of ALR detector experiment settings.
Bug: None
Change-Id: I580528dee5492eb7e3458d114218de4c315804bf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138900
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28088}
2019-05-28 14:35:37 +00:00
0b97e177e1 Cleanup of CongestionWindowDownlinkDelay trial.
Bug: webrtc:9883
Change-Id: If77fdad610149c01d72891d4a9f61b61006b21ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138827
Reviewed-by: Ying Wang <yinwa@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28087}
2019-05-28 14:16:44 +00:00
9ab520e24b Reland "Avoid encrypting empty audio packet."
This is a reland of b0ac94307e1787f83de2b9a2dc3b58309ea8654b

Original change's description:
> Avoid encrypting empty audio packet.
> 
> Bug: b/132861665
> Change-Id: I161ba8697ae88857927f27fa6d3914b7201fdeab
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137049
> Commit-Queue: Minyue Li <minyue@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28006}

Bug: b/132861665
Change-Id: Ia9be25116c7d10fee847ee25c484e6422be24b31
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138218
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28086}
2019-05-28 12:30:07 +00:00
9a57350c6b Use ';' to escape '/' characters in path to dumped received video stream
Currently used ':' is bad because it prevents from specifying absolute
path on windows (e.g. "C:\directory").

Now to specify path on windows, it can be passed unchanged in field trial:
"WebRTC-DecoderDataDumpDirectory/C:\path\on\windows/"

On linux ';' has to be used instead of '/':
"WebRTC-DecoderDataDumpDirectory/;path;on;linux/"

Bug: none
Change-Id: Ia46c94bdfab95385618dde4fd3f2857e9ddf2d1c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138832
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28085}
2019-05-28 11:43:39 +00:00
4ffed7ca67 Add field trial for selecting potentially useful packets as padding.
Currently, the packet in the history that most closely matches the bit
budget between two PacedSender::Process() calls is selected to be
retransmitted. This usually means that the smallest packet in the
history is selected over and over.

With this new field trial, we ignore the size constraint (since you're
sending padding, you obviously have some bandwidth to spare) and
instead prefer packets that have the fewest transmission times first,
and after that we prefer new packets over older ones. This way, in
case of available bandwidth but small loss, these padding packets have
a greater chance of actually being useful to the receiver.

Bug: webrtc:8975
Change-Id: I15a69231f44bfbefcb9ab38dd7886b966e3af6fe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135954
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28084}
2019-05-28 11:22:19 +00:00
a33a86061f Deprecate functions returning cricket::DataContentDescription.
Due to internal code, deprecating the class itself is difficult.
It will be deleted at the same time as the functions.

Bug: webrtc:10597
Change-Id: Iac775377c459318e074818abc05f1505c9190bd3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138823
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28083}
2019-05-28 10:42:49 +00:00
f2e9cab383 Fix BWE simulation graph in event log visualization
The simulation currently doesn't set the transport sequence number before inserting
the packets into the send time history. This means that send times can't be looked up
when receiving feedback, essentially disabling BWE simulation.

Bug: None
Change-Id: I3f2789324eb81f784dd5a6c5a5a770767236a3fc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138826
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28082}
2019-05-28 10:40:29 +00:00
ca2c43042b Allow both LNTF to coexist with NACKs and key frame requests
LNTF (loss notifications) are no longer mutually exclusive with
NACK and key frames; a receiver may send both, and the sender would
be allowed to choose which to regard.

Bug: webrtc:10336
Change-Id: I1ae7d972f9f47b07fe2f493bb31c1916456d6a3a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138828
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28081}
2019-05-28 08:23:08 +00:00
3a072de0d2 Roll chromium_revision 60cc82f9b7..13f6824c51 (663509:663612)
Change log: 60cc82f9b7..13f6824c51
Full diff: 60cc82f9b7..13f6824c51

Changed dependencies
* src/base: e34acbc60c..990ed0ba30
* src/build: 323d12f978..6f7f77b438
* src/ios: 823f58ee81..6aa708d74a
* src/testing: 9f14178c61..fa0d6f7c8a
* src/third_party: 0a5d09d1d0..2f300fe244
* src/tools: 5264b01658..165f0d6066
DEPS diff: 60cc82f9b7..13f6824c51/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I0af44c6eca10401414334ce9756ba064bace51e9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138841
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28080}
2019-05-27 23:08:13 +00:00
8b27910cbc Include downlink delay into congestion window size.
Change-Id: I33db0c8134b6b3181a7b3abcf32a622a89ff3ab4

Bug: webrtc:10688
Change-Id: I33db0c8134b6b3181a7b3abcf32a622a89ff3ab4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138275
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28079}
2019-05-27 16:07:19 +00:00
2370242acf Enable flex fec support in PC quality test framework
Bug: webrtc:10138, webrtc:10683
Change-Id: I9235fef99d3ea857f10234fdd82e8468480f71a1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138822
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28078}
2019-05-27 14:48:48 +00:00
36bc4f810d Add thread guards to cricket::P2PTransportChannel.
This gives assurance that we're not calling any function in
cricket::P2PTransportChannel off-thread.

Bug: none
Change-Id: I21d4e496cf5f301ab85abbd53a5abd4f5068ec39
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138271
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28077}
2019-05-27 14:34:43 +00:00
2e8d78ce42 Allow overriding subsets of probing field trials
The probe configuration is currently a single field trial. To allow
multiple experiments with non-overlapping subsets of these keys I've
added a few extra keys that override different subsets of the config.

Bug: webrtc:10394
Change-Id: I54ffd1105129794fcdae4cce314910acaa4074af
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138274
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28076}
2019-05-27 13:43:45 +00:00
6019d43a11 Removes using imports from flexfec_receiver.
The imports of Packet, ReceivedPacket from ForwardErrorCorrection::
collides with other usages of the names introduced in a followup CL.

Bug: webrtc:9883
Change-Id: Ib042c9091ad8e350cbdf01b837af09c820dbff33
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138279
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28075}
2019-05-27 13:08:04 +00:00
126f2b37ac AudioEncoderOpus: Add support for 16 kHz input sample rate
In addition to the 48 kHz that we've always used.

Bug: webrtc:10631
Change-Id: I5e4f6600e39a463d20d3988db098c7e38281f4a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138264
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28074}
2019-05-27 13:01:04 +00:00
883eefc59e Implement RTCRemoteInboundRtpStreamStats for both audio and video.
This implements the essentials of RTCRemoteInboundRtpStreamStats. This
includes:
- ssrc
- transportId
- codecId
- packetsLost
- jitter
- localId
- roundTripTime
https://w3c.github.io/webrtc-stats/#remoteinboundrtpstats-dict*

The following members are not implemented because they require more
work...
- From RTCReceivedRtpStreamStats: packetsReceived, packetsDiscarded,
  packetsRepaired, burstPacketsLost, burstPacketsDiscarded,
  burstLossCount, burstDiscardCount, burstLossRate, burstDiscardRate,
  gapLossRate and gapDiscardRate.
- From RTCRemoteInboundRtpStreamStats: fractionLost.

Bug: webrtc:10455, webrtc:10456
Change-Id: If2ab0da7105d8c93bba58e14aa93bd22ffe57f1d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138067
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28073}
2019-05-27 12:45:22 +00:00
6e436d1cc0 [audio] Plumbing of ReportBlockData from RTCPReceiver to MediaSenderInfo
This is part of implementing RTCRemoteInboundRtpStreamStats. The CL was
split up into smaller pieces for reviewability. Spec:
https://w3c.github.io/webrtc-stats/#dom-rtcremoteinboundrtpstreamstats

In [1], ReportBlockData was implemented and tested.
This CL adds the plumbing to make it available in MediaSenderInfo for
audio streams, but the code is not wired up to make use of these stats.

In follow-up CL [2], ReportBlockData will be used to implement
RTCRemoteInboundRtpStreamStats. The follow-up CL will add integration
tests exercising the full code path.

[1] https://webrtc-review.googlesource.com/c/src/+/136584
[2] https://webrtc-review.googlesource.com/c/src/+/138067

Bug: webrtc:10455
Change-Id: Id8940090cc9c121e8f06ccdb068a22ce24c07092
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138066
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28072}
2019-05-27 12:40:22 +00:00
87e3f9d116 [video] Plumbing of ReportBlockData from RTCPReceiver to MediaSenderInfo
This is part of implementing RTCRemoteInboundRtpStreamStats. The CL was
split up into smaller pieces for reviewability. Spec:
https://w3c.github.io/webrtc-stats/#dom-rtcremoteinboundrtpstreamstats

In [1], ReportBlockData was implemented and tested.
This CL adds the plumbing to make it available in MediaSenderInfo for
video streams, but the code is not wired up to make use of these stats.

In follow-up CL [2], ReportBlockData will be used to implement
RTCRemoteInboundRtpStreamStats. The follow-up CL will add integration
tests exercising the full code path.

[1] https://webrtc-review.googlesource.com/c/src/+/136584
[2] https://webrtc-review.googlesource.com/c/src/+/138067

Bug: webrtc:10456
Change-Id: Icd20452cb4b4908203b28ae9d9f52c25693cf91d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138065
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28071}
2019-05-27 12:21:17 +00:00
e0eb325d0d AudioEncoderOpusImpl: Remove unused static methods
Bug: webrtc:10631
Change-Id: I17583ff04f461a281c4ab0ad9322506431c9cade
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138074
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28070}
2019-05-27 12:02:38 +00:00