Commit Graph

26870 Commits

Author SHA1 Message Date
8ea8dcbae6 Rename create_network_emulation_manager_api into create_network_emulation_manager
Bug: webrtc:10138
Change-Id: I2feaa1009739556ca87fe4d081d808fed3957479
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128877
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27288}
2019-03-26 13:09:22 +00:00
ac025898e1 Fix misunderstanding: OnTransportChanged is called on network thread
Earlier CLs assumed that the object pointed to by call_ had to be
accessed on the worker thread. While this is generally the case,
Call::MediaTransportChange is explicitly thread safe, so
PeerConnection::OnTransportChanged doesn't have to run on the worker
thread for that reason.

Which is fortunate, because it actually runs on the network thread.
The RTC_RUN_ON(worker_thread()) annotation on the method declaration
was ineffective because this method is being called via a base class
pointer; replacing it with a call to
RTC_DCHECK_RUN_ON(worker_thread()) in the function body immediately
triggered assertions in the unit tests.

Bug: webrtc:9987
Change-Id: I08cf558a74f4ca2b2eff8ef4810ebbd1287a9726
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129442
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27287}
2019-03-26 12:51:34 +00:00
89cc7d43e6 Add logging of internal stats into default video quality analyzer
Bug: webrtc:10138
Change-Id: I2ce0837baee4719bb571a989a850003e6521cfca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128874
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27286}
2019-03-26 12:50:16 +00:00
76ba7dbc4f Revert "Replace RTPHeader memset with assignment from a fresh object."
This reverts commit 50686460caad4d13283c550df01690316e7cb934.

Reason for revert: breaking downstream

Original change's description:
> Replace RTPHeader memset with assignment from a fresh object.
> 
> Since RTPHeader contains std::string members, memset results in
> undefined behavior, with memory leaks being the best case.
> 
> Bug: chromium:945598
> Change-Id: I5c04e6b2fb08816fc036abfbb6ba7aaf19469687
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129720
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27282}

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

Change-Id: Ifc69b6df7cd2ecd8d1b3dd5186e933ad12b53a8e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:945598
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129722
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27285}
2019-03-26 11:58:57 +00:00
12ba3adcaf Move unique_ptr into task instead of using a raw pointer
The raw pointer would have leaked if the task was ever destroyed
without being run.

Bug: webrtc:9987
Change-Id: Iddeb1adf0f836b8fec3056eab89bce7b9f034ca7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128865
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27284}
2019-03-26 11:28:25 +00:00
2611164688 Subtract protection bitrate from link headroom bitrate
In case protection bitrate (fec/nack) is used, don't allow encoder
(rate adjuster) to utilize those bits as that may result in pacer delay.

Bug: webrtc:10155
Change-Id: I5bceb100396f0ae2131db51039e8524ca068d13f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128873
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27283}
2019-03-26 11:22:55 +00:00
50686460ca Replace RTPHeader memset with assignment from a fresh object.
Since RTPHeader contains std::string members, memset results in
undefined behavior, with memory leaks being the best case.

Bug: chromium:945598
Change-Id: I5c04e6b2fb08816fc036abfbb6ba7aaf19469687
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129720
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27282}
2019-03-26 10:14:14 +00:00
f2ca8c5341 Allow injecting a Vp8FrameBufferControllerFactory
Injection is made possible through VP8Encoder::Create.
According to native-api.md, it is a defacto public API despite
not being in the api/ folder.

Bug: webrtc:10259, webrtc:10382
Change-Id: Ifc5d55aa99613cfee0fcb4f0c6690121c85b2e3e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128883
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27281}
2019-03-26 10:07:14 +00:00
2214b91c1f Cleanup SequenceTaskChecker unittests
Replaced multiple helpers for running code on a different thread with single helper.
Move logic under test and expectation from helpers to tests
Remove unique_ptr indirection where not used.
Replace rtc::TaskQueue with TaskQueueForTest to keep use convenient constructor
and to use convenient synchronous calls

Bug: webrtc:10284
Change-Id: I3f1ec2adc4dc16b44d35e769ef8b456407ee66c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128903
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27280}
2019-03-26 09:56:11 +00:00
d999351951 Delete function url_decode
It was used only in examples/peerconnection/server/peer_channel.cc,
for questionable utility.

Bug: webrtc:6663
Change-Id: I4047eb12f35615621dd0b34a694dead51c5fd20d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128869
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27279}
2019-03-26 09:41:20 +00:00
6cab5c8718 Add thread safety annotations for some more PeerConnection members (part 5)
Plus all the annotations that were necessary to make things compile
again.

We needed a special twist for call_. The value it points to is owned
by the worker thread, but the signal thread needs to read the pointer.
We could have made the pointer const, except that we explicitly reset
it in the destructor (in an invoke to the worker thread).

Bug: webrtc:9987
Change-Id: I31f024547f4be0e50967133b0d452c80ae38d7ed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128863
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27278}
2019-03-26 09:35:20 +00:00
4168437782 Remove unused callbacks from VideoStreamDecoder
VCMReceiveStatisticsCallback originates in the old jitter buffer, and
is no longer used.

VCMFrameTypeCallback originates in VideoReceiver::RequestKeyFrame,
which is called from OncomingPacket, Process, Decode(uint16_t
maxWaitTimeMs), all of which are unused by VideoReceiveStream.

So delete the code to wire them up via VideoStreamDecoder.

Bug: webrtc:7408
Change-Id: I173bc94eb32f2641f943c125083db038c3bcaeb1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128870
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27277}
2019-03-26 09:25:43 +00:00
39903df628 Delete unused method StreamInterface::ReadAll
Bug: webrtc:6424
Change-Id: Ibc76d28a504864b0d089268dd1a8438ec77b19f7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128774
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27276}
2019-03-26 09:14:28 +00:00
f269b561f5 Remove public visibility from some rtc_base libraries.
Bug: webrtc:9838
Change-Id: I34943a8f9422284a2e4c7ec287e7a294fc120db1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129445
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27275}
2019-03-26 09:13:23 +00:00
2597823b2e Roll chromium_revision 576174d494..bef297074c (644114:644220)
Change log: 576174d494..bef297074c
Full diff: 576174d494..bef297074c

Changed dependencies
* src/base: a481787654..faefb650f8
* src/build: 48d52cb937..aee5bb4a03
* src/ios: 1edc720da2..c352fa3f0d
* src/testing: 6962000d4a..c3e0b433c2
* src/third_party: 29d15c6bfb..8dbab0f306
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/df064c9fdf..85ead57963
* src/third_party/depot_tools: ba35c7f8ce..e17d1ed64f
* src/tools: 89b3662384..85707c71f1
DEPS diff: 576174d494..bef297074c/DEPS

No update to Clang.

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

Change-Id: I550f8518362dc6f7af14bc8a6619d914932c5e0b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129680
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@{#27274}
2019-03-26 08:31:04 +00:00
6da14388cd Roll chromium_revision 13ad83754c..576174d494 (643446:644114)
Change log: 13ad83754c..576174d494
Full diff: 13ad83754c..576174d494

Changed dependencies
* src/base: 5ff53de083..a481787654
* src/build: 80c51a33a8..48d52cb937
* src/buildtools: 735271f870..31e0bb5fad
* src/ios: 74f7e8a4d4..1edc720da2
* src/testing: 33263a5be7..6962000d4a
* src/third_party: 9a402f7f8f..29d15c6bfb
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/aadcce380f..4ca8d131d3
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/9bc89199cc..df064c9fdf
* src/third_party/depot_tools: d0f7911725..ba35c7f8ce
* src/third_party/googletest/src: 8b6d3f9c4a..a18ac392d8
* src/third_party/libvpx/source/libvpx: 3e2b4b3d48..0d2299c1ee
* src/tools: 7e0915556b..89b3662384
DEPS diff: 13ad83754c..576174d494/DEPS

No update to Clang.

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

Change-Id: Ic07d298cd6f6dfb140c6e3aacc4dc3602d264e27
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129620
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@{#27273}
2019-03-26 01:37:20 +00:00
a59dcc3de2 Use Abseil container algorithms in api/
Bug: None
Change-Id: I87439a234d7018757eb61e99d5c6f9c7be4ab357
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128825
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27272}
2019-03-25 22:11:06 +00:00
2acd163448 Use Abseil container algorithms in rtc_base/
Bug: None
Change-Id: I4499adaf8e777d570a3bc119ee29727ab7c790a5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128962
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27271}
2019-03-25 22:08:06 +00:00
8f4338495d Add probing histograms.
This CL adds a handful of histograms that track how many probes we send, and some details about
them.

We'll track the total number of requested probe clusters and how many of them timed out, recorded
when we destroy the prober. For the successful clusters we'll also track how many bytes it took,
how many packets we sent and how long it took to send.

Bug: webrtc:10413
Change-Id: I4a223caa6d3c2829a36788d4fa615a41286b183f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127884
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27270}
2019-03-25 17:11:59 +00:00
d97096706b Delete unused method ProxyServer::OnBindingDestroyed
Also use unique_ptr, to simplify destruction.

Bug: webrtc:6424
Change-Id: I091980bca37ec5320f33f8219590e507d2e910d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129421
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27269}
2019-03-25 14:16:44 +00:00
c29cb2c42a Fix for potential RTCP XR target bitrate issue.
Fix issue where RTCP XR target bitrate could be incorrect when temporal layers are configured but it is not supported by encoder.

Bug: webrtc:10475
Change-Id: Ib525eb5f0ad8392e88d2579930ac8e459a1d194b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128778
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27268}
2019-03-25 14:15:39 +00:00
7db3bb95dc Revert "Remove rtc::TimeMillis() call from ALR detector."
This reverts commit 2c7964832eacfddceb467da385c0dfe89a5b8d7d.

NOTE: Build file changes had to be manually reverted to avoid
merge conflict.

Reason for revert: Bad interaction with Chromium issue.

Original change's description:
> Remove rtc::TimeMillis() call from ALR detector.
>
> We want to avoid system clock dependencies in congestion
> controllers as it makes it harder to test them. This CL removes
> a rtc::TimeMillis() call from the AlrDetector class and removes
> dependencies on rtc_base_approved as it exposes time_utils.h.
>
> Bug: None
> Change-Id: Ie50a27399c05a0c50cdc17ad142db884b94ee918
> Reviewed-on: https://webrtc-review.googlesource.com/c/124491
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26879}

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

Bug: chromium:942752
Change-Id: I7fc4391f16779ebb5d3c72a058fc72a3e4c64bce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129440
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27267}
2019-03-25 14:08:53 +00:00
1419539656 Disable TestVp9ImplProfile2.EncodeDecode on iOS.
The test crashes in libvpx VP9 encoder on iOS simulator.

Bug: webrtc:10473
Change-Id: I99ad0ac45e55f445cf1b3964ff0e66020fccb1f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129441
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27266}
2019-03-25 12:36:34 +00:00
d57efc12fb Delete class StringRtpHeaderExtension, replaced with std::string
Bug: webrtc:10440
Change-Id: I52f865496f9838ac0981a6cd13f24b5b681b6616
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128609
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27265}
2019-03-25 12:32:41 +00:00
90ed3f9e32 AEC3: Signal dependent ERLE: adding bounds to the index used for accessing the filter frequency response.
In this CL bounds are added to the index used for accessing the filter frequency response. That vector has always a capacity in memory equal to the final number of blocks of the main filter. However, at the initial part of the call or after an echo path change, a transition phase is started and a filter with a lower number of blocks is used and, therefore, its size is lower than that capacity during that transition phase.

Bug: webrtc:10463
Change-Id: I6ebfdea43047a3fa993a27f2c52bb3024df84ffe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128777
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27264}
2019-03-25 09:38:52 +00:00
98417037d9 rtc::Event::Wait(kForever): Print stack trace when we deadlock
After being stuck "forever" (3 seconds) waiting for an event to
trigger, log the stack trace of the current thread to aid debugging of
the deadlock.

Bug: webrtc:10308
Change-Id: I04852f191027294d7e7a7f5e63de4c6c7fdd6326
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128342
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27263}
2019-03-25 09:37:12 +00:00
b00dec57fe Qualify cmath function calls.
Bug: webrtc:10433
Change-Id: I5c31010a99be8ae93b3a85c3bce09292268007cd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128612
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27262}
2019-03-25 09:28:23 +00:00
2cdc6117b0 Add some OWNERS to rtc_base/experiments/
Bug: none
Change-Id: Iab6174e047baa9946974e26daacc6c05d54d3752
Notry: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128905
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27261}
2019-03-25 09:26:22 +00:00
9b1288c8ec PFFFT APM wrapper: unit test fix.
This CL replaces death tests placed inside a loop with a parametric test.
A better option is to mock Pffft::IsValidFftSize and test CreatePffftWrapper
when the former returns false. However, that would require to define an
interface for the PFFFT wrapper.

Bug: webrtc:10426
Change-Id: I3c49f1b271c8bf0099a4846014bef021676ef3e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128862
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27260}
2019-03-25 09:19:39 +00:00
9debe5aee4 Deleting copy constructors for Scoped* classes.
Bug: webrtc:10365
Change-Id: Ia670b7b1ac72eb19f9e30228fd023601e2fb8a88
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128901
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27259}
2019-03-25 09:05:29 +00:00
0cd95081c0 Delete last traces of RtpTransportAdapter
Bug: None
Change-Id: I6bfac26ebd924c83f2f8a3adae983feb7d5bf00e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128770
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27258}
2019-03-25 08:52:45 +00:00
85a4a93e77 Add thread safety annotations for some more PeerConnection members (part 4)
Plus all the annotations that were necessary to make things compile
again.

Bug: webrtc:9987
Change-Id: Ia421e4dc0e1bbc81c3976cc7530d44de934d33bb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128882
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27257}
2019-03-23 06:54:31 +00:00
c70999ed54 Add thread safety annotations for some more PeerConnection members (part 3)
Plus all the annotations that were necessary to make things compile
again.

Bug: webrtc:9987
Change-Id: Ieb363d9ebb47658ecf9138552f44c5bcba6b9b80
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128775
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27256}
2019-03-23 06:43:31 +00:00
1e1e102380 Add thread safety annotations for some more PeerConnection members (part 2)
Plus all the annotations that were necessary to make things compile
again.

Bug: webrtc:9987
Change-Id: I7bd9793eb2d474f2ac7ce9e1ed590e67cc2e0a93
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128881
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27255}
2019-03-23 06:40:11 +00:00
fb3be3948d Add thread safety annotations for some more PeerConnection members
Plus all the annotations that were necessary to make things compile
again.

port_allocator_flags_ was accessed on both the signaling and the
network thread, but I was able to replace it with a return value.

Bug: webrtc:9987
Change-Id: Iab977a49d6588ce2240487475ec3588ae579caa1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128772
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27254}
2019-03-23 06:14:11 +00:00
c771c805f1 Use scoped_refptr to share the instance of OpenSLEngineManager
Use rtc::scoped_refptr instead of std::unique_ptr to hold the instance
of OpenSLEngineManager; this makes it safe to share it between
OpenSLESRecorder and OpenSLESPlayer.

Bug: webrtc:10436
Change-Id: Ibd0717e5410020c89a40bfdb05953a02378a6a4b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128651
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27253}
2019-03-22 20:15:42 +00:00
b947fe1218 Paying off some debt from rtp_utils.cc
Using reinterpret_cast for array view and re-enabling DCHECK.

Bug: webrtc:10418
Change-Id: Ie96e7b203c95546ea790e1434d6cad8daadbbf5d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128824
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27252}
2019-03-22 19:59:59 +00:00
56325786d4 Mark MediaBufferImpl as final.
Without being marked final, calling "delete this" produces a warning
because IMediaBuffer/IUnknown don't have a virtual destructor when
-Wdelete-non-virtual-dtor is set.

Bug: None
Change-Id: I1905e4e5b0beab695cc7a4b901542b3aeb789b20
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128821
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Noah Richards <noahric@chromium.org>
Cr-Commit-Position: refs/heads/master@{#27251}
2019-03-22 19:23:51 +00:00
f695d2717b Roll chromium_revision 161757587a..13ad83754c (643321:643446)
Change log: 161757587a..13ad83754c
Full diff: 161757587a..13ad83754c

Changed dependencies
* src/base: 55c5a91cab..5ff53de083
* src/build: c7ad255e36..80c51a33a8
* src/ios: 7b5d7aee8f..74f7e8a4d4
* src/testing: ea68a8f045..33263a5be7
* src/third_party: 70569252e7..9a402f7f8f
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/2432a1034a..9bc89199cc
* src/third_party/depot_tools: 4492c37a14..d0f7911725
* src/tools: f80c61dae2..7e0915556b
DEPS diff: 161757587a..13ad83754c/DEPS

No update to Clang.

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

Change-Id: Id1dbcfcfa232ad1c961f398269fb9bd6c64f6263
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128941
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@{#27250}
2019-03-22 18:44:33 +00:00
e155dd0fdb Adding reinterpret to ArrayView to allow data manipulation.
Reinterpret will only allow conversions when the underlying types are
fundamental and have the same size.

Bug: None
Change-Id: Id6a4e9784998fe65fb26ab3fd398710c892c4a67
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128228
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27249}
2019-03-22 18:15:22 +00:00
fe0b499634 legacy stats: update timestamp on localcandidate/remotecandidate
updates the timestamp on the local and remote candidate stats for consistency
with other places. This also makes the graphs on chrome://webrtc-internals
work (even though most values don't update so showing graphs is not meaningful)

BUG=chromium:937833

Change-Id: I3267dd7a5f5a887dcd0756137077b8f02c201905
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128765
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27248}
2019-03-22 17:26:20 +00:00
d57628fed4 Move API for PC e2e test framework to the public API folder
Bug: webrtc:10138
Change-Id: If60019c9a7afe4760f4292e722cbc5aa229f437b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127891
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27247}
2019-03-22 16:52:16 +00:00
ddb930a83b Update per-file OWNERS to reflect renamed file names
Bug: None
No-Try: True
Change-Id: I2404bd14296286a832943226c20e947d1efb73fb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128920
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27246}
2019-03-22 16:47:56 +00:00
31660fdfea Avoid using global task queue factory in audio/ unittests
in particular replace rtc::TaskQueue with TaskQueueForTest class since
latter uses DefaultTaskQueueFactory() directly instead of through
GlobalTaskQueueFactory

Bug: webrtc:10284
Change-Id: I1a52c5942626e3e2256b3d78975d2740e9facb1d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128880
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27245}
2019-03-22 15:53:28 +00:00
0d617ccc1c Adds simulated time controller
This CL introduces the TimeControllerInterface that provides timing
related functionality. Most notably it provides a TaskQueueFactory
and facilitates creation of ProcessThread.

Two implementations of the interface are provided, RealTimeController
and SimulatedTimeController.

This prepares for an upcoming CL using these in Scenario tests.

Bug: webrtc:10365
Change-Id: Id956a29628d7e2f53ecaedadd643a9f697329d2f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127297
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27244}
2019-03-22 14:57:23 +00:00
9b0b1e0063 Delete unused method VCMReceiveStatisticsCallback::OnReceiveRatesUpdated
Only interesting call deleted in cl
https://codereview.webrtc.org/2704183002.

Move call to QualitySample (used for bad call detection) to
OnRenderedFrame

Bug: webrtc:7408
Change-Id: I0e9ae2ed62fe19a282377cb840e38bd2aae8f3e6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128768
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27243}
2019-03-22 14:56:18 +00:00
f24908e611 Delete unused enum StreamType and kViEStreamType* values.
Unused since https://codereview.webrtc.org/1693553002
Also drop an unneeded include of video_stream_decoder.h.

Bug: webrtc:7408
Change-Id: I249ecfe41b55b59abbd2e880ef144d64f130b0b0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128767
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27242}
2019-03-22 14:55:14 +00:00
54659c1086 Fix obsolete settings in VideoEngine for VP9 screenshare
Bug: webrtc:10257
Change-Id: I092af5ea2d3700bd9bfe60438918bbfcd8d10dbf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128771
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27241}
2019-03-22 14:46:20 +00:00
001c782ff2 Save encoded ivf files separately for different TLs.
This allows offline visualization of the different TL.

For now, there is no need to do the same for the decoded frames.

Bug: webrtc:10349
Tested: 1) ninja -C out/Debug; and out/Debug/modules_tests --gtest_filter="*MultiresVP8*:*SvcVP9*". 2) Downstream tests.
Change-Id: Iaf5ab19ee681488706d8777a5adba78efd5cc1ee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128861
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Mirta Dvornicic <mirtad@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27240}
2019-03-22 13:15:54 +00:00
8f7ce222e7 Make VideoFrameType an enum class, and move to separate file and target
Bug: webrtc:5876, webrtc:6883
Change-Id: I1435cfa9e8e54c4ba2978261048ff3fbb993ce0e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126225
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27239}
2019-03-22 12:44:51 +00:00