Commit Graph

28657 Commits

Author SHA1 Message Date
d181ee798d Adds peer scenario connection interface.
This allows implementing custom clients for test in peer connection
scenario tests. For example server side behavior.

Bug: webrtc:10839
Change-Id: I5627b7a4d967d401f31d2e9a8f861d0849eb0184
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151907
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29125}
2019-09-10 08:10:37 +00:00
0cd61b6e28 MultiCodecReceiveTest: fix for flaky test.
Bug: webrtc:10828
Change-Id: I0fb2f4cdf0481e6c0036ae4dba861c5fbd4b98e5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152160
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29124}
2019-09-10 07:57:59 +00:00
b3f1487cbe Add ability to provide TEXT hint only when requested in PC framework
Bug: webrtc:10138
Change-Id: I1e4d14d7dd02091c656643a77d2d858d5dd606ad
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151913
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29123}
2019-09-10 07:53:59 +00:00
9509d95c48 Add empty build target modules/video_coding:video_coding_legacy
A followup cl will move VideoCodingModule and related code into this
target.

Bug: webrtc:7408
Change-Id: Iade572b597769456c9b8c76f584500e2bd9a58f0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152280
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29122}
2019-09-10 07:30:49 +00:00
c77df78931 Revert "Improve performance of RtpPacketHistory"
This reverts commit 9e380fd484db09c37323b90a19c5ce7965927975.

Reason for revert: breaking downstream projects

Original change's description:
> Improve performance of RtpPacketHistory
> 
> The data structures in RtpPacketHistory were chosen based on assumption
> of few packets with possible sparse segments due to missing acking.
> In practice high bitrate usages with full histories seem to be more of
> a problem.
> Due to that, change storage from an std::map to an std::deque and live
> with potential segments of nullptr. Also limit size of padding prio
> set so that doesn't become a bottleneck.
> 
> Bug: webrtc:8975
> Change-Id: I3b6314fb3255937d25362ff2cd906efb7b1397f7
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145901
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29117}

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

Change-Id: I5d5b74a6f4d60588e01a52dafe33e26deb9bdf77
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8975
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152220
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29121}
2019-09-09 23:40:53 +00:00
487f9a17e4 Reland "Refactor SCTP data channels to use DataChannelTransportInterface."
Also clears SctpTransport before deleting JsepTransport.

SctpTransport is ref-counted, but the underlying transport is deleted when
JsepTransport clears the rtp_dtls_transport.  This results in crashes when
usrsctp attempts to send outgoing packets through a dangling pointer to the
underlying transport.

Clearing SctpTransport before DtlsTransport removes the pointer to the
underlying transport before it becomes invalid.

This fixes a crash in chromium's web platform tests (see
https://chromium-review.googlesource.com/c/chromium/src/+/1776711).

Original change's description:
> Refactor SCTP data channels to use DataChannelTransportInterface.
>
> This change moves SctpTransport to be owned by JsepTransport, which now
> holds a DataChannelTransport implementation for SCTP when it is used for
> data channels.
>
> This simplifies negotiation and fallback to SCTP.  Negotiation can now
> use a composite DataChannelTransport, just as negotiation for RTP uses a
> composite RTP transport.
>
> PeerConnection also has one fewer way it needs to manage data channels.
> It now handles SCTP and datagram- or media-transport-based data channels
> the same way.
>
> There are a few leaky abstractions left.  For example, PeerConnection
> calls Start() on the SctpTransport at a particular point in negotiation,
> but does not need to call this for other transports.  Similarly, PC
> exposes an interface to the SCTP transport directly to the user; there
> is no equivalent for other transports.

Bug: webrtc:9719
Change-Id: I64e94b88afb119fdbf5f22750f88c8a084d53937
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151981
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29120}
2019-09-09 21:58:36 +00:00
116ffe7e5b Switch to compiling WebRTC -std=c++14 by default
This is a canary CL to check if using c++14 feature breaks any webrtc user.

Bug: webrtc:10945
Change-Id: Iabaf8c06414c1ac960791bcb7cc46f5f5a5e1f14
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151600
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29119}
2019-09-09 19:24:16 +00:00
a0e6ded9fc Roll chromium_revision 75cf3925c2..e25e764221 (694706:694813)
Change log: 75cf3925c2..e25e764221
Full diff: 75cf3925c2..e25e764221

Changed dependencies
* src/base: dc03aaff06..2de3a55fc4
* src/build: 6ff11c8756..ccaf07df5c
* src/ios: 2dd8278d55..fe8022e34d
* src/testing: 52393b4916..5b7605a491
* src/third_party: 65cc3d6478..13752878f8
* src/tools: bf23d39327..3a469b7fc1
DEPS diff: 75cf3925c2..e25e764221/DEPS

No update to Clang.

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

Change-Id: I0ac5a6ee823d994163c0b7385ed761ef75b1e7a5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152119
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@{#29118}
2019-09-09 18:31:40 +00:00
9e380fd484 Improve performance of RtpPacketHistory
The data structures in RtpPacketHistory were chosen based on assumption
of few packets with possible sparse segments due to missing acking.
In practice high bitrate usages with full histories seem to be more of
a problem.
Due to that, change storage from an std::map to an std::deque and live
with potential segments of nullptr. Also limit size of padding prio
set so that doesn't become a bottleneck.

Bug: webrtc:8975
Change-Id: I3b6314fb3255937d25362ff2cd906efb7b1397f7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145901
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29117}
2019-09-09 16:31:53 +00:00
a5d952f4be Reland "Refactor FEC code to use COW buffers"
Reland with fixes for fuzzer found crashes.

This refactoring helps to reduce unnecessary memcpy calls on the receive side.

This CL replaces |uint8 data[IP_PACKET_SIZE]| with |rtc::CopyOnWriteBuffer data| in Packet class, removes |length| field there, and does necessary changes.

Original Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145332

Bug: webrtc:10750
Change-Id: I6775a701bcb2ae25ec1666e1db90041cd49013b7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151131
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29116}
2019-09-09 16:20:33 +00:00
4d7dac6d3b Remove usage of RtpRtcp::SetSSRC() in RtpRtcpImplTest
Bug: webrtc:10774
Change-Id: Ifaf82776d547ed1c2ca99c27c1deda4060d18ec2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152164
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29115}
2019-09-09 16:11:13 +00:00
0987273e1d Add option to enable retransmission for all temporal layers in the constructor for rtp_sender_video.
R=nisse@webrtc.org

Change-Id: I09d03af461d7fbe200098fe91845f7b76fab6c4f

Bug: webrtc:10954
Change-Id: I09d03af461d7fbe200098fe91845f7b76fab6c4f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150863
Commit-Queue: Andrei Dumitru <andreidumitru@google.com>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29114}
2019-09-09 15:39:23 +00:00
cc62b16658 Add qualityLimitationResolutionChanges stat
Implements the stat qualityLimitationResolutionChanges [1].

[1] https://w3c.github.io/webrtc-stats/#dom-rtcoutboundrtpstreamstats-qualitylimitationresolutionchanges

Bug: webrtc:10935
Change-Id: I391f2be5958a96b442e32c40ab7043752f3f71dd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150882
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/master@{#29113}
2019-09-09 15:22:57 +00:00
a8336d3cf4 Connect the stable target rate to the video encoders
The stable target rate is used to make smarter choices in the rate
to chose which layers to enable in SVC or simulcast modes.
the addition of hysteresis, we can improve a call quality by reducing
the amount of resolution switch.


Bug: webrtc:10126
Change-Id: I04d0df9e6bbe247e2f2a668207ff74d475e2464c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150642
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29112}
2019-09-09 15:06:51 +00:00
ddef8d1b6b Add support of displaying video during the PC level test
Bug: webrtc:10138
Change-Id: Ic74b58bc4f1be1793e0dd1a0c286f8d4200fe6f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151901
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29111}
2019-09-09 14:22:50 +00:00
2aaf66e464 Roll chromium_revision 82910f739a..75cf3925c2 (694601:694706)
Change log: 82910f739a..75cf3925c2
Full diff: 82910f739a..75cf3925c2

Changed dependencies
* src/base: 7f516aba15..dc03aaff06
* src/ios: f79e69ca1c..2dd8278d55
* src/testing: 1204e8f81c..52393b4916
* src/third_party: 4260c10ce4..65cc3d6478
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/fcd6915ca2..3c6c057c3f
* src/tools: 66d4bbcf66..bf23d39327
DEPS diff: 82910f739a..75cf3925c2/DEPS

No update to Clang.

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

Change-Id: I412471be90828a04e196d8e37e3a1ef4f49a6814
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152140
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@{#29110}
2019-09-09 12:32:32 +00:00
f7cb16ff51 Check input parameter in RemoteEstimatorProxy::IncomingPacket without lock
Also inlined RemoteEstimatorProxy::OnPacketArrival

BUG=NONE

Change-Id: I61c94eafb41ea269baeeb0ef13add79672a1488d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151909
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29109}
2019-09-09 11:51:12 +00:00
ee3d995091 New class VideoReceiver2, a trimmed-down vcm::VideoReceiver
The vcm::VideoReceiver class is used by both VideoReceiveStream and
the legacy api VideoCodingModule. They have different requirements,
since the latter uses the old jitterbuffer and runs the code on a
ProcessThread.

By making a copy and trimming it down to what's actually used by
VideoReceiveStream, we can drop the dependency on the old
jitterbuffer, without breaking the legacy api. This should also make
it easier to do follow-up refactorings to trim down the class further,
and ultimately remove it.

Bug: webrtc:7408
Change-Id: Iec8a167fe5d0425114b0b67a5b4c2fd5fc4fa150
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151910
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29108}
2019-09-09 11:23:54 +00:00
4d6b2691bd Adds setAudio[Track/Record]StateCallback interfaces to the Java ADM
Bug: webrtc:10950
Change-Id: Ifa7bd7eb003bf97812ce0dfa5a0192ee8955419c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151648
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29107}
2019-09-09 08:10:41 +00:00
81a08a7feb Roll chromium_revision b67ee864bb..82910f739a (694439:694601)
Change log: b67ee864bb..82910f739a
Full diff: b67ee864bb..82910f739a

Changed dependencies
* src/base: fed787d122..7f516aba15
* src/build: 358fed781e..6ff11c8756
* src/ios: ae6bde843d..f79e69ca1c
* src/testing: bc1ceb802c..1204e8f81c
* src/third_party: 604d643b84..4260c10ce4
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/19f3c21a61..fcd6915ca2
* src/third_party/depot_tools: 4ebfe4643b..efce0d1b76
* src/tools: 1eb3415e90..66d4bbcf66
DEPS diff: b67ee864bb..82910f739a/DEPS

Clang version changed 6964027315f70c6817217d8dba0368fd3a274ba3:8455294f2ac13d587b13d728038a9bffa7185f2b
Details: b67ee864bb..82910f739a/tools/clang/scripts/update.py

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

Change-Id: I91afc694b81515469a0c3f3d8a59611fb61c8dea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152100
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@{#29106}
2019-09-08 00:34:51 +00:00
be2e5f78b3 Make payload type demux conditional on media direction
Bug: webrtc:10139
Change-Id: I6803f4325e7c34915a9ae79e3360a787a7a9df5c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149173
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29105}
2019-09-07 00:08:51 +00:00
3146ea01ae Roll chromium_revision 50f07bc317..b67ee864bb (694314:694439)
Change log: 50f07bc317..b67ee864bb
Full diff: 50f07bc317..b67ee864bb

Changed dependencies
* src/base: c4afaf48dd..fed787d122
* src/build: 431b81b25d..358fed781e
* src/ios: 21298e7d45..ae6bde843d
* src/testing: 48a7208ed6..bc1ceb802c
* src/third_party: 940bd0e604..604d643b84
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/52c5d30be8..19f3c21a61
* src/third_party/depot_tools: b3b46a2689..4ebfe4643b
* src/tools: 479af65255..1eb3415e90
DEPS diff: 50f07bc317..b67ee864bb/DEPS

No update to Clang.

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

Change-Id: I7cb5fa407b5818dbd5f48af49ee3e50bc7eba084
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151980
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@{#29104}
2019-09-06 22:34:15 +00:00
20232a914f Use obfuscated IPs in logging in p2p/ and pc/.
Bug: None
Change-Id: I0e7e76ec2d61a1e2719975701a32c1cfc04f97d5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151960
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Alex Drake <alexdrake@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29103}
2019-09-06 21:51:56 +00:00
25a4b06765 Roll chromium_revision df72a9a5c5..50f07bc317 (694187:694314)
Change log: df72a9a5c5..50f07bc317
Full diff: df72a9a5c5..50f07bc317

Changed dependencies
* src/base: 372a4aa0c0..c4afaf48dd
* src/build: 52ce353b48..431b81b25d
* src/ios: b46004586c..21298e7d45
* src/testing: 5817616949..48a7208ed6
* src/third_party: b5bcfdd8f4..940bd0e604
* src/third_party/android_build_tools/bundletool: sZ4fDz_PUiCe1yvyheO_yjeET3eVhFTFTmGaXsnrH9IC..D5lTGqnC49aEB2WwySxcHjPzhSMmkyVTB-vEupzVvXsC
* src/third_party/depot_tools: 208e343daf..b3b46a2689
* src/third_party/googletest/src: 565f1b8482..3f05f651ae
* src/third_party/r8: PiWJNu1SdDl433fYwX_rFSX3zNZWizTfghShod_8QZ0C..VYsSPB6QlnJQH-2vJBhK8T6r0mexvbb9klMKwnK22GoC
* src/tools: 2fbf20c96a..479af65255
DEPS diff: df72a9a5c5..50f07bc317/DEPS

No update to Clang.

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

Change-Id: I7c025d588ef7fa7898e156b1fa5f05977633f1d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151943
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@{#29102}
2019-09-06 18:34:51 +00:00
b64d65e67b Fix NetworkEmulationManagerTest.ThroughputStats flakiness.
Account for time measurement variability.

Bug: webrtc:10553
Change-Id: I7a82a15d5a7c2fb3e5cb80bfdf140433a3b93349
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151780
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29101}
2019-09-06 15:07:01 +00:00
e611f19c32 Remove completed TODOs
Bug: webrtc:10913
Change-Id: I0a47b50ad04a1b4e5ba3416c6e74efe79ee73935
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151904
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29100}
2019-09-06 14:53:11 +00:00
30323e2fb2 VP9 screenshare: fix incorrect assumptions on buffer contents
if higher layer is enabled, then disabled, then key-frame is issued, then
the layer is enabled again, the buffer would contain a picture from before
the key-frame and it might have a higher pid than the currently encoded one.
This would trigger the DCHECK. It's safe to remove the DCHECK completely, because
such occasions would cause unsigned overflow and cause the following check for
maximum allowed picture difference to fail and the wrong picture won't
be used as a temporal reference.

This error only caused failures in debug builds and couldn't lead to corruptions
because there're periodical key-frames generated and pid difference can never become so
big that negative value would overflow to something close to 0.

Bug: webrtc:10257
Change-Id: Ie3b3ed0e24421787e3b40a37987ccecb75d04635
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151643
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29099}
2019-09-06 12:30:16 +00:00
e15c10a02a Fix for rare read of uninitialized value in remote estimate test.
Bug: webrtc:10949
Change-Id: Ibddf5026eac7beff067f53c8c221aa1b41c5d50b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151902
Reviewed-by: Yves Gerey <yvesg@google.com>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29098}
2019-09-06 12:23:47 +00:00
2b9dba3d9c Implement stable rate support in SimulcastRateAllocator
Bug: webrtc:10126
Change-Id: I2ea8d27b0bd6f7ffd1ebbba451bd1ce1f2eee3d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151121
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29097}
2019-09-06 11:17:30 +00:00
059a0b7587 Fix for deadlock in AudioUsesAbsSendTimeExtension test.
Bug: webrtc:10904
Change-Id: Iea7814384d0e15ea8539e18732c689fafff225b0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151763
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29096}
2019-09-06 11:07:07 +00:00
a3baf2a3b1 Add one more BasicPortAllocator constructor
The new constructor takes a NetworkManager and a list of turn servers.
Intended to aid migration away from using the constructor with
additional relay addresses.

Bug: webrtc:10947
Change-Id: If8dcdc24090cc35b929646bc78aa646e8135e4cd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151641
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29095}
2019-09-06 10:52:17 +00:00
cc7ea18676 Roll chromium_revision 3cccc3ec06..df72a9a5c5 (694083:694187)
Change log: 3cccc3ec06..df72a9a5c5
Full diff: 3cccc3ec06..df72a9a5c5

Changed dependencies
* src/base: ba04f753dc..372a4aa0c0
* src/build: 2b2eb37587..52ce353b48
* src/ios: 8b662ea667..b46004586c
* src/testing: b360a4a50d..5817616949
* src/third_party: 0210eb1fa7..b5bcfdd8f4
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/9d20fbcb34..52c5d30be8
* src/third_party/depot_tools: 1ef851a140..208e343daf
* src/tools: c5dcfa862e..2fbf20c96a
DEPS diff: 3cccc3ec06..df72a9a5c5/DEPS

No update to Clang.

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

Change-Id: I69b7cd137fe629ce4a0e31c9d8fe74c4f93951ea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151920
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@{#29094}
2019-09-06 10:33:06 +00:00
19f9c2a057 Refactor video analyzer injection helper
Refactor it one more time to partly roll back previous change and unify
approach between capturer and renderer. Now we will be able to add single
screen shower listener to display video during the test on the screen.

Bug: webrtc:10138
Change-Id: Ib19117b0943e7c6dfc14630faca1f0e4ee2d038f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151649
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29093}
2019-09-06 10:16:07 +00:00
0bd2effb63 Reland "New build target p2p:stun_types"
This is a reland of 5b4fcb5bf69218c2f42ca2b0cada6c15f2f638e9

Original change's description:
> New build target p2p:stun_types
>
> The media:rtc_media_base target needs definitions of various
> stun-related types and constant. With this new smaller target, it no
> longer needs to depend on all of p2p.
>
> Bug: webrtc:8733
> Change-Id: I05910b6915f6d2c96e8f52a017adbc7eb693dca8
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150945
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29036}

Tbr: steveanton@webrtc.org
Bug: webrtc:8733
Change-Id: I1847007ecf29e0e6a27f559b92df632a1cd69280
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151880
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29092}
2019-09-06 10:14:38 +00:00
662e31ffec Prepare to move packet_socket_factory to api/.
I gave up on removing proxy_info, user_agent and tcp_options. I don't
think it's feasible to remove them without removing all the proxy code.
The assumption that you can set the proxy and user agent long after
you have created the factory is entrenched in unit tests and the code
itself. So is the ability to set tcp opts depending on protocol or
endpoint properties.

It may be easier to untangle proxy stuff from the factory later,
when it becomes a more first-class citizen and isn't passed via
the allocator.

Requires https://chromium-review.googlesource.com/c/chromium/src/+/1778870
to land first.

Bug: webrtc:7447
Change-Id: Ib496e2bb689ea415e9f8ec1dfedff13a83fa4a8a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150799
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29091}
2019-09-06 09:09:02 +00:00
50b0baf510 [tsan] Guard TestStatictics against concurrent access.
This CL quiets ThreadSanitizer for EventTracerTest.ScopedTraceEvent unit test.

Bug: webrtc:10943
Change-Id: Ifaec1ab37b85f091872f55e630189387f8df4401
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151309
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#29090}
2019-09-06 09:00:51 +00:00
75e2290af2 Rollback to strict audio codec tests for libopus on android (neon).
This a revert of the manual accommodation done in [1].
The lenient tests are no longer needed since a proper libopus fix [2]
has been rolled in [3].

[1] https://webrtc-review.googlesource.com/c/src/+/148700
[2] https://chromium-review.googlesource.com/c/chromium/src/+/1785648
[3] https://webrtc-review.googlesource.com/c/src/+/151721/

Bug: webrtc:9995, chromium:986727
Change-Id: I7f64a45ccbe2c4d985ba663cf77c6fa0efebd528
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151781
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#29089}
2019-09-06 07:48:28 +00:00
ba5f8e94c8 Revert "Implemented screen enumeration and selection for desktop capture under X11 using the X Resize and Rotate entension version 1.5."
This reverts commit e7153012682ccd3d1eacc18f802cab7820e3bad3.

Reason for revert: Suspect of breaking build on linux_rel Chromium bot, preventing rolls into Chromium.

Sample log message:

FAILED: deb_chrome.deps 
python ../../chrome/installer/linux/debian/calculate_package_deps.py chrome ../../build/linux/debian_sid_amd64-sysroot x64 deb_chrome.deps --distro-check
Dependency libxrandr2 (>= 2:1.5.0) not satisfiable on distro Debian 8 (Jessie) caused by binary chrome
[71411/71430] LINK ./browser_tests
[71412/71430] LINK ./unit_tests
ninja: build stopped: subcommand failed.

Sample failed roll: https://chromium-review.googlesource.com/c/chromium/src/+/1788844

Original change's description:
> Implemented screen enumeration and selection for desktop capture under X11 using the X Resize and Rotate entension version 1.5.
> 
> Bug: chromium:396091
> Change-Id: Ia1b36c771632c536bb8d15322461b479fabc409e
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/148768
> Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
> Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#29083}

TBR=zijiehe@chromium.org,tommi@webrtc.org,julien.isorce@chromium.org,sergeyu@chromium.org,trevor.axiom@gmail.com,jonringle@gmail.com

Change-Id: I4a07213951a14eae524427c0a92d0cad72ade84c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:396091
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151761
Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
Commit-Queue: Guido Urdaneta <guidou@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29088}
2019-09-06 05:36:23 +00:00
c2accf2de5 [tsan] Guard OwnerThread against concurrent access.
Prevent potential concurrent access of OwnerThread::has_run_ from:
 * Main thread via HasRun()
 * Signal thread via Run()
when running SignalThreadTest.OwnerThreadGoesAway.

Bug: webrtc:9855
Change-Id: I8951026a64794c085b4ac799ed4b74521b97f42a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151760
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29087}
2019-09-06 03:03:39 +00:00
eea6cedd8d Roll chromium_revision 675968a8c6..3cccc3ec06 (693954:694083)
Change log: 675968a8c6..3cccc3ec06
Full diff: 675968a8c6..3cccc3ec06

Changed dependencies
* src/base: cb4ee08593..ba04f753dc
* src/build: ecdf3752c2..2b2eb37587
* src/ios: 0b8db51e2d..8b662ea667
* src/testing: 34b894db4c..b360a4a50d
* src/third_party: 51f51a08b9..0210eb1fa7
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/f2c3c6a6ad..9d20fbcb34
* src/third_party/depot_tools: 624bf6e425..1ef851a140
* src/tools: 987faea9da..c5dcfa862e
DEPS diff: 675968a8c6..3cccc3ec06/DEPS

No update to Clang.

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

Change-Id: Icfbfa5ca2e2c0b5221f6a70503c0795e98ce8db3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151800
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@{#29086}
2019-09-06 02:32:02 +00:00
91c824f849 Revert "New build target p2p:stun_types"
This reverts commit 5b4fcb5bf69218c2f42ca2b0cada6c15f2f638e9.

Reason for revert: Breaks build

Original change's description:
> New build target p2p:stun_types
> 
> The media:rtc_media_base target needs definitions of various
> stun-related types and constant. With this new smaller target, it no
> longer needs to depend on all of p2p.
> 
> Bug: webrtc:8733
> Change-Id: I05910b6915f6d2c96e8f52a017adbc7eb693dca8
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150945
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29036}

TBR=steveanton@webrtc.org,mbonadei@webrtc.org,nisse@webrtc.org

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

Bug: webrtc:8733
Change-Id: I6e00657a6137ff773325f37ec02ee1014b6fe96b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151740
Reviewed-by: Hannes Landeholm <hnsl@webrtc.org>
Commit-Queue: Hannes Landeholm <hnsl@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29085}
2019-09-06 00:07:06 +00:00
f6ec68dd62 Roll chromium_revision 7e5c36432b..675968a8c6 (693630:693954)
Change log: 7e5c36432b..675968a8c6
Full diff: 7e5c36432b..675968a8c6

Changed dependencies
* src/base: ebf82dc7c4..cb4ee08593
* src/build: 7f76a96f7e..ecdf3752c2
* src/ios: 0f9030c1a8..0b8db51e2d
* src/testing: 809946d2ac..34b894db4c
* src/third_party: d897faa4f8..51f51a08b9
* src/third_party/android_ndk: https://chromium.googlesource.com/android_ndk.git/+log/62582753e8..89e8db0cdf
* src/third_party/freetype/src: 3fa35aa420..3de1b8d0b0
* src/third_party/libjpeg_turbo: d460d6b1cb..baa5dc2425
* src/tools: 7be347cdad..987faea9da
DEPS diff: 7e5c36432b..675968a8c6/DEPS

Clang version changed 8288453f6aac05080b751b680455349e09d49825:6964027315f70c6817217d8dba0368fd3a274ba3
Details: 7e5c36432b..675968a8c6/tools/clang/scripts/update.py

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

Change-Id: I35f91ae3b1171f0b7e3840426432048cdf1e3754
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151721
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@{#29084}
2019-09-05 22:43:26 +00:00
e715301268 Implemented screen enumeration and selection for desktop capture under X11 using the X Resize and Rotate entension version 1.5.
Bug: chromium:396091
Change-Id: Ia1b36c771632c536bb8d15322461b479fabc409e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/148768
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#29083}
2019-09-05 21:19:41 +00:00
bbbae4253d Refactor video analyzer injection helper
Separate renderer part into steps and make it easier to add more steps
as separate interceptors.

Bug: webrtc:10138
Change-Id: I667fc85d0da4fb59090e69caa4c32bd4afc3bd05
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151645
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29082}
2019-09-05 14:59:06 +00:00
d4e6904d40 AEC3: Reducing the complexity and heap usage of the adaptive filter
This CL reduces the complexity and heap usage of the adaptive filter
in AEC3 by avoiding to compute these for the shadow
filter. In particular it
-Moves to compute the ERL, frequency response and impulse response
 on an on-demand basis.
-Stores the ERL, frequency response and impulse response outside
 of the adaptive filter.

All the changes have been tested for bitexactness on a sizeable
amount of recordings.

Bug: webrtc:10913
Change-Id: If83c236a6e3f2e489be129b9ebf6143a72f521d1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151138
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29081}
2019-09-05 14:30:49 +00:00
f294d2629f Delete deprecated method StreamStatistician::GetStatistics
Bug: webrtc:10679
Change-Id: I9374b390783ef557c6981d8b3cea0be71f58cd27
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150323
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29080}
2019-09-05 14:12:24 +00:00
cfb9497299 Add multi-channel to FftBuffer
All channels are populated by RenderDelayBuffer. but all other
dependent modules are hardcoded to do their regular mono processing
on the first channel.

Bug: webrtc:10913
Tested: Bitexactness on a large set of aecdumps
Change-Id: I11d11aa0ad3da0f244c0ec020d2c9f0f4a735834
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151640
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29079}
2019-09-05 14:10:04 +00:00
5b728cca77 Revert "Make relative arrival delay mode default in NetEq delay manager."
This reverts commit 77c71d1488b1c821b2b3481f23a3264f1b1d37a5.

Reason for revert: breaking downstream projects

Original change's description:
> Make relative arrival delay mode default in NetEq delay manager.
> 
> Bug: webrtc:10333
> Change-Id: I9b1e0bec0b1813cf31259492f83eb2ca86a44d3f
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150782
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
> Reviewed-by: Minyue Li <minyue@webrtc.org>
> Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29075}

TBR=henrik.lundin@webrtc.org,srte@webrtc.org,minyue@webrtc.org,jakobi@webrtc.org

Change-Id: I67c5b9c7a6e854d3aac379aa4d98bfeb5425d312
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10333
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151642
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29078}
2019-09-05 11:59:53 +00:00
8dcbdd2f90 Roll chromium_revision e96090c328..7e5c36432b (693514:693630)
Change log: e96090c328..7e5c36432b
Full diff: e96090c328..7e5c36432b

Changed dependencies
* src/base: 594e748e9e..ebf82dc7c4
* src/build: e030d8a0ae..7f76a96f7e
* src/ios: 024fbc8d42..0f9030c1a8
* src/testing: 66f8176e03..809946d2ac
* src/third_party: 5214bb55d3..d897faa4f8
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/06605b0145..f2c3c6a6ad
* src/tools: cd56b39a00..7be347cdad
DEPS diff: e96090c328..7e5c36432b/DEPS

No update to Clang.

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

Change-Id: I6d08e1866fcdbe9c13cf8208e945dfae9c9a5680
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151620
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@{#29077}
2019-09-05 11:08:49 +00:00
f3f6159114 Rename VectorBuffer->SpectrumBuffer, MatrixBuffer->BlockBuffer, BlockBuffer->Aec2BlockBuffer
The VectorBuffer and MatrixBuffer names are too generic for their use case.

Bug: webrtc:10913
Change-Id: Ideecd0d27e07487a85a61dc6474e69733d07dcd6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151602
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29076}
2019-09-05 10:53:24 +00:00