Commit Graph

28139 Commits

Author SHA1 Message Date
8d4105850c Remove unused rtc_tools/video_analysis.py.
Bug: None
Change-Id: I5ad3744afc809ed468dd3eb509a36332f4c9449e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146941
Reviewed-by: Christoffer Jansson <jansson@google.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28757}
2019-08-05 12:40:32 +00:00
b56cca3282 Remove the old ContributingSources class.
This change removes the old `ContributingSources` class. It has been replaced by the new `SourceTracker`.

Bug: webrtc:10793
Change-Id: Ibd481cf6584837c46b229b9fc2a071362f07d361
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147878
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Chen Xing <chxg@google.com>
Cr-Commit-Position: refs/heads/master@{#28756}
2019-08-05 12:30:22 +00:00
3d351c6885 Revert "Adds PeerConnection scenario test framework."
This reverts commit ad5c4accad00e04de08e2b62d366cc1f8e0320a5.

Reason for revert: Breaks downstream bots.

Original change's description:
> Adds PeerConnection scenario test framework.
> 
> Bug: webrtc:10839
> Change-Id: If67eeb680d016d66c69d8e761a88c240e4931a5d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147276
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28754}

TBR=steveanton@webrtc.org,sprang@webrtc.org,srte@webrtc.org

Change-Id: I35576b4afe100a3220c3c01a6a6d5fbdf48a258b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10839
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147876
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28755}
2019-08-05 10:46:25 +00:00
ad5c4accad Adds PeerConnection scenario test framework.
Bug: webrtc:10839
Change-Id: If67eeb680d016d66c69d8e761a88c240e4931a5d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147276
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28754}
2019-08-05 10:12:43 +00:00
139f4dc7ac QualityScaler: Add option to try fast adapt down at start up based on initial bw estimates.
optional<int> initial_bitrate_interval_ms: time interval since start of call
where fast adapt down is allowed.
optional<double> initial_bitrate_factor: try fast adapt down if bw estimate is
below initial bitrate * factor.

Bug: none
Change-Id: I63e1fdaac6556d8e9a961a42e11c925f9ecb9771
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147725
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28753}
2019-08-05 09:43:19 +00:00
fedd625e0c Change 2g network pc audio test to more realistic network
Bug: webrtc:10138
Change-Id: I6f4b23fe702d26dbbeed05d0d09b79a9a966e40c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147728
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28752}
2019-08-02 22:28:02 +00:00
d75b3c4fab Roll chromium_revision 2ab7c1917b..7c6275bdfa (683574:683711)
Change log: 2ab7c1917b..7c6275bdfa
Full diff: 2ab7c1917b..7c6275bdfa

Changed dependencies
* src/base: dae065e2ca..4c6ed4708b
* src/build: 63108fa2f2..c441c0a09d
* src/ios: 6bfc5e510b..ec642043d5
* src/testing: 2cedc7b79a..12f69d1a5b
* src/third_party: 57a4f29cc3..7448965c2a
* src/tools: 11238ddd61..494a8a0b5a
DEPS diff: 2ab7c1917b..7c6275bdfa/DEPS

No update to Clang.

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

Change-Id: I8b30deebc348c2c91eef2e5c967b2618cbb6c7b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147945
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@{#28751}
2019-08-02 20:23:55 +00:00
a28590918c Revert "Adding new top-level directory crypto/"
This reverts commit 7f1c58938db72b1508e383d94a0e59dd70ff306e.

Reason for revert: this has been temporarily postponed.

Original change's description:
> Adding new top-level directory crypto/
> 
> Adding the crypto root directory to WebRTC. The goal with this change is to
> centralize the management of crypto code into a single location.
> 
> Currently we have cryptography code scattered across pc/ and rtc_base/
> which makes it difficult audit and maintain.
> 
> By having a crypto/ directory we gain:
> 1. A clear first point of contact for auditing the cryptography in WebRTC.
> 2. Fine grain ownership to cryptography maintainers, we can include BoringSSL
>    maintainers in this directory.
> 3. It improves maintanability of crypto code as we have improved modularization.
>    It will not be deeply nested in all different parts of WebRTC.
> 4. Improved testability. We can cleanly build crypto libraries which plug into
>    pc/ which we can more easily mock.
> 5. Enforce stricter rules. For example we may want to enforce ZeroOnFreeBuffer
>    for all sensitive material. This is easier to enforce in a single directory.
> 
> Bug: webrtc:9600
> Change-Id: I8e76332c7dcdac0a45a470ba2e930196e1ccf395
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125142
> Commit-Queue: Benjamin Wright <benwright@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27028}

TBR=steveanton@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org,benwright@webrtc.org

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

Bug: webrtc:9600
Change-Id: I3c99e733d53d76071179f0ff9ffdec965d20829d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147871
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28750}
2019-08-02 18:38:55 +00:00
df7c5f1950 Roll chromium_revision 01452febf2..2ab7c1917b (683465:683574)
Change log: 01452febf2..2ab7c1917b
Full diff: 01452febf2..2ab7c1917b

Changed dependencies
* src/base: 0f4054f507..dae065e2ca
* src/build: 23c3ca46d0..63108fa2f2
* src/ios: 5fa82bd7c9..6bfc5e510b
* src/testing: b9115fa8ae..2cedc7b79a
* src/third_party: 637c7f7b56..57a4f29cc3
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/ec6ed57a68..4f68ff26e4
* src/tools: 1890327adc..11238ddd61
DEPS diff: 01452febf2..2ab7c1917b/DEPS

No update to Clang.

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

Change-Id: Iddf519ac0009334712b7d23f3cf20cd20d17d030
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147941
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@{#28749}
2019-08-02 14:32:45 +00:00
8bbdb5b9bd Update VideoBitrateAllocator allocate to take a struct with more fields
We want to evaluate more data in order to make better choices in the
bitrate allocators.
In order to freely update the parameter list without
breaking the API many times for projects customizing them, we'll use a
struct instead.

Bug: webrtc:10126
Change-Id: I443f86781c5134950294cdd1e3197a47447cf973
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141418
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28748}
2019-08-02 13:52:54 +00:00
9a9f18a736 Get WebRTC.Video.ReceivedPacketsLostInPercent from ReceiveStatistics
Old way to produce this histogram was based on RtcpStatisticsCallback
reporting sent RTCP messages, with some additional processing by the
ReportBlockStats class. After this cl, to grand average fraction loss
is computed by StreamStatistician, queried by VideoReceiveStream when
the stream is closed down, and passed to ReceiveStatisticsProxy which
produces histograms.

This is a preparation for deleting the RtcpStatisticsCallback from
ReceiveStatistics.

Bug: webrtc:10679
Change-Id: Ie37062c1ae590fd92d3bd0f94c510e135ab93e8d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147722
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28747}
2019-08-02 12:38:34 +00:00
054e3bbbe7 Reland "Replace the implementation of GetContributingSources() on the audio side."
This reverts commit 67008dfb366237469fe088a61b62c0cad852c024.

Reason for revert: Tests in the Chromium repo have been changed to accomodate this CL: https://chromium-review.googlesource.com/c/chromium/src/+/1728565

Original change's description:
> Revert "Replace the implementation of `GetContributingSources()` on the audio side."
> 
> This reverts commit 8fa7151e4bbad40fec1f964fe0c003b8787bb78a.
> 
> Reason for revert: Speculative revert to fix roll of webrtc into chrome. Right now tests related to RTCRtpReceiver failing and looks like it is main candidate, who can affect that behavior.
> 
> Original change's description:
> > Replace the implementation of `GetContributingSources()` on the audio side.
> > 
> > This change replaces the `ContributingSources`-implementation of `GetContributingSources()` and `GetSynchronizationSources()` on the audio side with the spec-compliant `SourceTracker`-implementation.
> > 
> > The most noticeable impact is that the per-frame dictionaries are now updated when frames are delivered to the RTCRtpReceiver's MediaStreamTrack rather than when RTP packets are received on the network.
> > 
> > This change is almost identical to the previous video side change at: https://webrtc-review.googlesource.com/c/src/+/143177
> > 
> > Bug: webrtc:10545
> > Change-Id: Ife7f08ee8ca1346099b7466837a3756947085fc5
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144422
> > Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
> > Commit-Queue: Chen Xing <chxg@google.com>
> > Cr-Commit-Position: refs/heads/master@{#28459}
> 
> TBR=ossu@webrtc.org,chxg@google.com
> 
> Change-Id: I5c631d4dcfb39601055ffce9b104f45eea871fd3
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10545
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144562
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28478}

TBR=ossu@webrtc.org,titovartem@webrtc.org,chxg@google.com

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

Bug: webrtc:10545
Change-Id: I609cca4f0ca4e1d31a156ba9eb44407518409f57
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147865
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Chen Xing <chxg@google.com>
Commit-Queue: Chen Xing <chxg@google.com>
Cr-Commit-Position: refs/heads/master@{#28746}
2019-08-02 11:45:34 +00:00
59bbd65561 Add ToString method for AudioProcessing::Config
Bug: webrtc:10138
Change-Id: Icc0b40596867fd6fb8c1de5ca209dbafb504e50d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147726
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28745}
2019-08-02 10:01:56 +00:00
6563934be3 Revert "Sanitize the codec list before sending it to the media engine"
This reverts commit add7ef974ee2642a3b55a36ec80be50a615bc60a.

Reason for revert: Cause regression in pc_full_stack_tests.cc

Original change's description:
> Sanitize the codec list before sending it to the media engine
>
> The SDP can assign the same codec to two different payload types
> which gets represented as two separate codecs in the SDP structure.
> The media engine assumes that the client does not pass down
> duplicate codecs. This change adds logic to BaseChannel to filter
> out codecs of the same name with different payload types, picking
> the one which is listed first in the m= line.
>
> Bug: chromium:987598
> Change-Id: I6fa813db1769e572ff7c3f322dc9b1de39817ea2
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147602
> Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28726}

TBR=steveanton@webrtc.org,amithi@webrtc.org

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

Bug: chromium:987598
Change-Id: I4ffbfcd90c81c6c6c8ee8f872f7e217d8291c857
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147864
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28744}
2019-08-02 09:26:36 +00:00
5e155a63a3 ReportBlockStatsTest: Remove usage of RTCPReportBlock (no longer used).
Bug: none
Change-Id: I5625537dd63b999df28906786a5adf8f0e9f3166
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147724
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28743}
2019-08-02 08:58:36 +00:00
916fda588e Sync download_tools.py with changes in gclient_utils module.
Bug: none
Change-Id: I3eb0d995527742245639ea7f9bc59113184ea428
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147861
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28742}
2019-08-02 08:15:15 +00:00
9160b627d7 Improve thread safety of AndroidVideoTrackSource::SetState.
1. Prevents deadlocks from AsyncInvoker destructor
2. Makes future state() calls are guaranteed to return the new state after
   SetState() completes.

I am not sure if it is allowed to call FireOnChanged from non-signaling
threads so I will leave the post for now.

Bug: webrtc:10813
Change-Id: I5712a45f71431765898037867382397d537570a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147727
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28741}
2019-08-02 07:45:45 +00:00
b3f78deb78 Reland "Don't use all_dependent_configs for sdk frameworks"
This is a reland of 63741c7fa1aa55a38af11ac8cc04498722f9407d

It's possible to reland after the downstream fix in
https://chromium-review.googlesource.com/1730415

Original change's description:
> Don't use all_dependent_configs for sdk frameworks
>
> libs should be propagated to the final binary even without that:
> https://gn.googlesource.com/gn/+/master/docs/reference.md#var_libs
>
> But add some missing SDK framework dependencies:
>
> * RTCNativeI420Buffer.mm uses CGBitmapContextGetBytesPerRow.
> * socketrocket uses SecCertificateCopyData.
>
> Bug: None
> Change-Id: Iba38a5dfaf470a5a790d494cbec8ade44b1d16ba
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146082
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28605}

Bug: None
Change-Id: I6a1cd80c5177ef3a3b92ee55fc91e187b202d864
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147720
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28740}
2019-08-02 06:09:39 +00:00
28ee3dae9a Roll chromium_revision 2d438bebcd..01452febf2 (683346:683465)
Change log: 2d438bebcd..01452febf2
Full diff: 2d438bebcd..01452febf2

Changed dependencies
* src/base: 7ffc626ebb..0f4054f507
* src/build: c096825c07..23c3ca46d0
* src/ios: 6a1e706b5e..5fa82bd7c9
* src/testing: 3643e7704d..b9115fa8ae
* src/third_party: 2a2bc9e234..637c7f7b56
* src/third_party/depot_tools: 447b45d423..59bb8cce84
* src/tools: ba21fbbda8..1890327adc
DEPS diff: 2d438bebcd..01452febf2/DEPS

No update to Clang.

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

Change-Id: I1b34958c06cbe00a683f68d00bc6bf8ebf5a71e7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147901
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@{#28739}
2019-08-02 04:43:59 +00:00
402f6250cc Roll chromium_revision 9c759119a4..2d438bebcd (683187:683346)
Change log: 9c759119a4..2d438bebcd
Full diff: 9c759119a4..2d438bebcd

Changed dependencies
* src/base: 8190eb1f36..7ffc626ebb
* src/build: 190e1453d5..c096825c07
* src/ios: 7c64b82ed5..6a1e706b5e
* src/testing: 92ff5c16ab..3643e7704d
* src/third_party: db25b237ad..2a2bc9e234
* src/third_party/libjpeg_turbo: 14eba7addf..81aef9014e
* src/tools: 8d802a9214..ba21fbbda8
DEPS diff: 9c759119a4..2d438bebcd/DEPS

No update to Clang.

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

Change-Id: I22f7402cbe31d711b600c5b79fb4b557ccc8f68e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147880
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@{#28738}
2019-08-01 22:50:46 +00:00
0c67c80ac3 Guard video analyzer against race conditions.
This CL adds thread annotations and ensure that neither data races
nor deadlocks occur.
It prevents weird results and helps detecting other concurrency issues.

As a bonus, some dead code has been removed.

Bug: webrtc:10834
Change-Id: Ibd140db9e4dbf81b212044647e2d85bd18ef8d78
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147278
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#28737}
2019-08-01 16:50:31 +00:00
59a041db7e Roll chromium_revision 4b9d901264..9c759119a4 (683063:683187)
Change log: 4b9d901264..9c759119a4
Full diff: 4b9d901264..9c759119a4

Changed dependencies
* src/base: 2a3fb19568..8190eb1f36
* src/build: bc4a3ca3f6..190e1453d5
* src/ios: f3df7ed6b2..7c64b82ed5
* src/testing: 09665260fc..92ff5c16ab
* src/third_party: a7a8bb0c8c..db25b237ad
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/f3157c496d..ec6ed57a68
* src/tools: 76518253ba..8d802a9214
DEPS diff: 4b9d901264..9c759119a4/DEPS

No update to Clang.

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

Change-Id: Ia9dc7fb761689efb7efe9e5b05773b33384772ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147820
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@{#28736}
2019-08-01 16:32:21 +00:00
bd3f30535c Request a new key frame if packet buffer is cleared
Bug: webrtc:10843
Change-Id: I1eab0891f3e68b7d504dc637790604a25c243856
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147721
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28735}
2019-08-01 14:35:54 +00:00
77d3efc509 Simplify ReportBlockStats
Bug: webrtc:10679
Change-Id: I946e805eb4edf3c3fc39b78235a5bd353db11598
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147644
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28734}
2019-08-01 14:09:23 +00:00
84de3d95cf Factor framework dependencies out of audio_device_impl
Bug: None
Change-Id: I7d8d737134bb1a9dcf376cd39e74e73a5a6a0e97
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147723
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28733}
2019-08-01 12:06:14 +00:00
32eaa7b5ba Roll chromium_revision d488661c95..4b9d901264 (682945:683063)
Change log: d488661c95..4b9d901264
Full diff: d488661c95..4b9d901264

Changed dependencies
* src/base: e658dada4b..2a3fb19568
* src/build: ecb38e41bd..bc4a3ca3f6
* src/ios: ecb9897dd1..f3df7ed6b2
* src/testing: af5dfd1750..09665260fc
* src/third_party: 97677c0717..a7a8bb0c8c
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/471a922d82..f3157c496d
* src/third_party/depot_tools: 364640e249..447b45d423
* src/tools: 3afb8d2b27..76518253ba
DEPS diff: d488661c95..4b9d901264/DEPS

No update to Clang.

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

Change-Id: I50b108a86847fae30086108e925211d5dff2df49
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147681
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@{#28732}
2019-08-01 04:45:39 +00:00
da4f09315f Reland "Only include payload in bytes sent/received."
This is a reland of 74a1b4b1321b426392d4c32e4a02361226ad5358

Original change's description:
> Only include payload in bytes sent/received.
>
> According to https://www.w3.org/TR/webrtc-stats/#sentrtpstats-dict* and
> https://tools.ietf.org/html/rfc3550#section-6.4.1, the bytes sent
> statistic should not include headers or padding.
>
> Similarly, according to
> https://www.w3.org/TR/webrtc-stats/#inboundrtpstats-dict*, bytes
> received are calculated the same way as bytes sent (eg. not including
> padding or headers).
>
> This change stops adding padding and headers to these statistics.
>
> Bug: webrtc:8516,webrtc:10525
> Change-Id: I891ad5a11a493cc3212afe93e13f62795bf4031f
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146180
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
> Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28647}

Bug: webrtc:8516, webrtc:10525
Change-Id: Iaa1613e5becdfaa0af0f6b9f00e5b871937a719c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147520
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28731}
2019-08-01 01:08:24 +00:00
fd643a4782 Build core audio for older windows versions
Some of the constants and structure definitions used are only available with
specific and recent versions of the windows SDK. This change allows this
to build with a toolchain targeting WINVER 0x0601 (Windows 7)

Bug: None
Change-Id: I3339f7c44c375fb7d583b78aa137f748c9776a07
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147440
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Paul Roberts <pacaro@google.com>
Cr-Commit-Position: refs/heads/master@{#28730}
2019-07-31 22:58:00 +00:00
076bdba8cf Roll chromium_revision 1bdd79185b..d488661c95 (682806:682945)
Change log: 1bdd79185b..d488661c95
Full diff: 1bdd79185b..d488661c95

Changed dependencies
* src/base: aa0441184b..e658dada4b
* src/build: 4c9b2a4271..ecb38e41bd
* src/ios: 1aa33472f3..ecb9897dd1
* src/testing: cf8b5bf865..af5dfd1750
* src/third_party: 15720ec986..97677c0717
* src/tools: ddab2b582f..3afb8d2b27
DEPS diff: 1bdd79185b..d488661c95/DEPS

No update to Clang.

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

Change-Id: I4ac06dc0d1b40b60be3245975933a01c6b0ece02
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147627
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@{#28729}
2019-07-31 22:35:10 +00:00
ea9798c5eb Update video quality tests units reporting.
Update video quality units to the ones supported by Chrome perf
dashboard:
https://cs.chromium.org/chromium/src/third_party/catapult/tracing/tracing/value/histogram.py?q=UNIT_NAMES

Bug: webrtc:10138
Change-Id: I5f2f4e538e2ae2553bb10fdf5c6836b1c32b74ac
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147271
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28728}
2019-07-31 19:54:37 +00:00
032ea9cbc7 Remove "Missing track ID" StatsCollector log message
Bug: None
Change-Id: I94a70d5cbe4238220bf0939ba5807cf51195fe7f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147661
Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28727}
2019-07-31 19:33:16 +00:00
add7ef974e Sanitize the codec list before sending it to the media engine
The SDP can assign the same codec to two different payload types
which gets represented as two separate codecs in the SDP structure.
The media engine assumes that the client does not pass down
duplicate codecs. This change adds logic to BaseChannel to filter
out codecs of the same name with different payload types, picking
the one which is listed first in the m= line.

Bug: chromium:987598
Change-Id: I6fa813db1769e572ff7c3f322dc9b1de39817ea2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147602
Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28726}
2019-07-31 19:19:56 +00:00
f6f3ecf4bb Roll chromium_revision 6ba1e90223..1bdd79185b (682701:682806)
Change log: 6ba1e90223..1bdd79185b
Full diff: 6ba1e90223..1bdd79185b

Changed dependencies
* src/base: a70630e9c7..aa0441184b
* src/build: a70ee4d66e..4c9b2a4271
* src/ios: 43a1a529d2..1aa33472f3
* src/testing: 2ca3665a90..cf8b5bf865
* src/third_party: b591b12c87..15720ec986
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/88aae3b051..471a922d82
* src/third_party/depot_tools: c0758331ea..364640e249
* src/tools: 542180c73e..ddab2b582f
DEPS diff: 6ba1e90223..1bdd79185b/DEPS

No update to Clang.

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

Change-Id: If8c9cb4eb1ba0cadd65188c3a225f7d898de6c76
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147626
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@{#28725}
2019-07-31 18:36:57 +00:00
8d3e4bd9a6 Adds simulated network node builder.
Bug: webrtc:10839
Change-Id: I8fd7efc928e418bee3871c3870adb6d9061348fe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147274
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28724}
2019-07-31 17:05:01 +00:00
e05ae5bbbb Adds non-forwarding frame tap to video frame matcher.
Bug: webrtc:10839
Change-Id: I9cf348435db6edf7b2e81f262ffb6cb9b87cb98f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147273
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28723}
2019-07-31 17:01:21 +00:00
53571c75c6 Adds config based creation of frame generator capturer.
This simplifies creations of frame generator capturers in a reusable
way. It's modelled on the scenario VideoSendStreamConfig,

Bug: webrtc:10839
Change-Id: Ibe0709cd94521f78c6267eece533b048607d0994
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147272
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28722}
2019-07-31 16:32:17 +00:00
d0b67c2a70 Roll chromium_revision 1443fbac59..6ba1e90223 (682581:682701)
Change log: 1443fbac59..6ba1e90223
Full diff: 1443fbac59..6ba1e90223

Changed dependencies
* src/base: 3f93991811..a70630e9c7
* src/build: 496479d3f7..a70ee4d66e
* src/ios: 6d0af05f47..43a1a529d2
* src/testing: 7d4cbcd55c..2ca3665a90
* src/third_party: 3975ed4a5a..b591b12c87
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/2568b37b25..88aae3b051
* src/tools: 8b2321c79e..542180c73e
DEPS diff: 1443fbac59..6ba1e90223/DEPS

No update to Clang.

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

Change-Id: I627155a51c89425bc5fd44b339e820ac63114b40
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147624
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@{#28721}
2019-07-31 14:38:19 +00:00
928e7a3e79 Make ID of datachannel stats not depend on dc.id
The ID of stats was based on the datachannel's "id"
attribute, but that could change - it was -1 before ID
allocation, and a number afterwards.

This CL changes the stats ID to depend on a monotonically
increasing counter for allocated datachannels.

Bug: webrtc:10842
Change-Id: I3e0c5dc07df8a7a502396de06bbedc9f676994a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147642
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28720}
2019-07-31 13:19:08 +00:00
97e015fa8e Update metrics units for better fit in DefaultVideoQualityAnalyzer
Bug: webrtc:10138
Change-Id: I823e21bd4e570511cffff1797ebdaae9adb2e4fd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147646
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28719}
2019-07-31 13:14:28 +00:00
60ffc31ae1 Fix potential crash if nack is being processed when media gets disabled
This is a race that can happen if a nack arrives before media is
disabled, but the packet is not processed until after the disabling
is complete.

Bug: webrtc:10633, b/138636698
Change-Id: Ic90462b815163ab58c324e5cdb95c8d199c0b772
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147277
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28718}
2019-07-31 12:28:04 +00:00
f034b86463 Remove dead code from DefaultVideoQualityAnalyzer
Bug: webrtc:10138
Change-Id: I562a7eb23f9fee8012bfd671f5b4bac5e076ce5e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147643
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28717}
2019-07-31 11:55:34 +00:00
a1b99b3c9b Use total_decode_time_ms in VideoAnalyzer
Use the newly added total_decode_time_ms to get an accurate value
for the average decode time. The sparsely sampled decode_ms is
sensitive to the sampling instance.

Bug: chromium:980853
Change-Id: I9b63c8d1053fa95f74918807b83d1edb5cd726fb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147268
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28716}
2019-07-31 11:53:24 +00:00
6acb069c2c Adds default for PeerConnectionObserver::OnIceConnectionChange
It's planned to be deprecated so it should not be required.

Bug: webrtc:9883
Change-Id: I7daa922786d3cbf6bca38e205f4f57773f3f8448
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147275
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28715}
2019-07-31 11:33:34 +00:00
7702c8ac04 Fix SendSideBweWithOverhead using new pacer code path.
This field trial was read in RTPSender, and the altered packet size
passed along to the pacer. Now, the pacer packet queue looks directly
at the packet instance, so it needs to be aware of the experiment flag
in order to make the right decision.

Bug: webrtc:10633, b/138582168
Change-Id: If1148f39c463e11ad49a659913465f131cf9b526
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147270
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28714}
2019-07-31 09:33:36 +00:00
e529ecb5bb Roll chromium_revision bb33f8cf70..1443fbac59 (682476:682581)
Change log: bb33f8cf70..1443fbac59
Full diff: bb33f8cf70..1443fbac59

Changed dependencies
* src/base: 36a1cfe42d..3f93991811
* src/build: 562b237474..496479d3f7
* src/ios: b38e8cdfe4..6d0af05f47
* src/testing: 6e0195c2af..7d4cbcd55c
* src/third_party: e76b07ad11..3975ed4a5a
* src/third_party/r8: rLiAA9o9m-A_sa-HdXeWBwW3OiySYlJz5KqwhP83wk4C..1ceH-5pheRe3OUeFz4TzVc2xcu6sm45yeFQBTT4rd6IC
* src/tools: 78c9865779..8b2321c79e
DEPS diff: bb33f8cf70..1443fbac59/DEPS

No update to Clang.

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

Change-Id: Ie485f4235d94696f60e943cd8deb6cf1b38754bb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147543
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@{#28713}
2019-07-31 04:51:14 +00:00
8e967dfdfc Use unique_ptr in JsepCandidateCollection
Bug: None
Change-Id: I80ffacf3a355879b56a03b5cb59bffa32114dac1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147601
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28712}
2019-07-31 01:48:07 +00:00
e08ca23ec9 Include overlapping dialogs when capturing a window via screen cropping
This change includes windows owned by the primary captured window in the
captured frames if these conditions are met:
1) The owned window (e.g. dialog) overlaps the primary window (in whole
or part)
2) The primary window is otherwise eligible for the crop-from-screen
path (CroppingWindowCapturer is being used, and other conditions in
ShouldUseScreenCapturer are met)

In practice, this means that dialog windows / message boxes are captured
in many cases where they aren't today. This seems beneficial to some
scenarios (e.g. demonstrating / recording how to do something, or
requesting help with something, that involves dialogs).

This is a logical revert of a change for https://crbug.com/webrtc/8062 .
There's some commentary in the newer bug that attempts to make a case
for revisiting that change. (In summary: cases where a dialog would be
substantialy clipped / partial seem relatively uncommon and have
workarounds. Clipping may already occur for menus & tooltips. Clipping
seems less surprising than complete absence.)

Changing the GA_ROOT flag back to GA_ROOTOWNER is sufficient to restore
the older behavior. The removal of the EnumChildWindows call is just a
minor optimization (it was unnecessary/superfluous, since every child
window would match the GA_ROOT check; dialogs are owned root windows,
not child windows).

Removing condition (2) above (capturing dialogs & other related
overlapping windows when not using the crop-from-screen path) is tracked
by https://crbug.com/980864 .

Bug: webrtc:10767
Change-Id: If7b418365685a7b96dc93901ef9367844f9ee99e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147421
Commit-Queue: Jamie Walch <jamiewalch@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#28711}
2019-07-30 23:54:50 +00:00
5ae853a163 Roll chromium_revision 394c077f2b..bb33f8cf70 (682353:682476)
Change log: 394c077f2b..bb33f8cf70
Full diff: 394c077f2b..bb33f8cf70

Changed dependencies
* src/base: 87590bccf3..36a1cfe42d
* src/build: 45a3fe03cb..562b237474
* src/ios: 30af52eddf..b38e8cdfe4
* src/testing: 2d2c1148ff..6e0195c2af
* src/third_party: 42873568e1..e76b07ad11
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/e73fe02a40..2568b37b25
* src/tools: 951726492e..78c9865779
DEPS diff: 394c077f2b..bb33f8cf70/DEPS

No update to Clang.

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

Change-Id: I8f5e166ba1481368d8af1caec35d2230c795a404
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147600
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@{#28710}
2019-07-30 22:31:20 +00:00
4ed5b087f5 Skip empty strings in ToUtf(8|16).
We've observed a crash on Windows when the strings are empty, skipping the conversion seems reasonable in that case.

Bug: None
Change-Id: I3acf3060a88741fb750d7a0cc02e9422713c59cd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147380
Commit-Queue: Noah Richards <noahric@chromium.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28709}
2019-07-30 19:35:37 +00:00
fe431e482e Roll chromium_revision 0959b866c2..394c077f2b (682230:682353)
Change log: 0959b866c2..394c077f2b
Full diff: 0959b866c2..394c077f2b

Changed dependencies
* src/base: 7bf777e49d..87590bccf3
* src/ios: 4817341d75..30af52eddf
* src/testing: 595ca01a88..2d2c1148ff
* src/third_party: 535424a775..42873568e1
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/7c54fa2d45..e73fe02a40
* src/tools: c25cde0278..951726492e
DEPS diff: 0959b866c2..394c077f2b/DEPS

No update to Clang.

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

Change-Id: Ied7e6efaafb1fc82a305bc8ed622d1d6497839e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147542
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@{#28708}
2019-07-30 18:32:04 +00:00