Commit Graph

27392 Commits

Author SHA1 Message Date
4b27648d8b Avoid the render lock in AudioProcessingImpl::ProcessStream
It seems unnecessary to lock it if not actually reinitializing.

Bug: webrtc:10205
Change-Id: Ib3292e1d640a92a7df77400aebe9583cf877f824
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/115460
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28060}
2019-05-24 13:24:27 +00:00
a0e9943ca6 Negotiation of LNTF controls instantiation of RTPSenderVideo::rtp_sequence_number_map_
Bug: webrtc:10662
Change-Id: I9e6b8636d915646c2a822599f5b1735494429ab9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138217
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28059}
2019-05-24 13:02:06 +00:00
0730872af2 Roll chromium_revision 8ae1a64b43..e1ec78e27e (662926:663034)
Change log: 8ae1a64b43..e1ec78e27e
Full diff: 8ae1a64b43..e1ec78e27e

Changed dependencies
* src/base: b0ebcd67fc..8e5cc6374c
* src/build: ae3ffb0405..912c7b060f
* src/third_party: 58118b386a..6bd5381759
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/63ab0c82ec..441284b3fb
* src/third_party/depot_tools: d390b317dc..54434e7e1d
* src/tools: f07fffb189..7cf65e88e0
DEPS diff: 8ae1a64b43..e1ec78e27e/DEPS

No update to Clang.

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

Change-Id: I0640a920a8ca2b28d7a6896357f9137599d0f481
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138241
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@{#28058}
2019-05-24 13:01:04 +00:00
a8cf3b7cbd Ensure CpuInfo::DetectNumberOfCores is > 0 and thread safe.
This CL adds error handling for sysconf, which can return -1 and
adds an RTC_CHECK_GT to ensure the value returned is always greater
than 0.

On top of that CpuInfo::DetectNumberOfCores is made thread safe because
the static local variable is initialized with the right values istead
of 0.

Bug: None
Change-Id: I294684e7380b12cda55ec8d6c7a90e132dc3af85
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138210
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28057}
2019-05-24 12:59:14 +00:00
fadb1811a8 Negotiate use of RTCP loss notification feedback (LNTF)
When the LossNotifications field trial is in effect, LNTF should
be offered/accepted in the SDP message, not assumed to be configured
on both sides equally.

Bug: webrtc:10662
Change-Id: Ibd827779bd301821cbb4196857f6baebfc9e7dc2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138079
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28056}
2019-05-24 12:44:14 +00:00
815b1a6f53 Use preprocessor to strip H264 implementation.
This CL makes it more flexible and easier to include/exclude H264 code
when using other build systems because it delegates the decision to
remove the code to the preprocessor instead of GN.

This CL should be a noop, and for WebRTC/Chromium the GN param
`rtc_use_h264` will still be the only thing to change in order to
include/exclude H264.

Moving code that requires ffmpeg or h264 out of the #ifdef/#endif
part should break the build since dependencies are only added if
`rtc_use_h264=true`.

Bug: webrtc:9213
Change-Id: Ibc04edc2f6b9e51489ffe638d5be4b32959cdca0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137430
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28055}
2019-05-24 11:33:07 +00:00
5c18a5ff5e Reland "VP9 screenshare: Don't base layers frame-rate on input frame-rate"
Reland with fixes.

If input framerate is a little unstable, using it to cap layers will
make output framerate even smaller for longer periods of time.

Also, fix screenshare_loopback test for low-fps vp9 testing.

Bug: webrtc:10257
Change-Id: Id40a780d461e6b51cb44d275b8aa5d7b348d3586
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138215
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28054}
2019-05-24 11:05:04 +00:00
479c05506e Let RtpVideoStreamReceiver implement KeyFrameRequestSender
Bug: None
Change-Id: I02c89aa169b63ddb6e9ec289c783f3e85d07841e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130101
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28053}
2019-05-24 10:52:22 +00:00
f25df35e14 Reland "Delete STACK_ARRAY macro, and use of alloca"
This is a reland of 74b373f04a69b279e45b0792d86c594cb33d22c1

Original change's description:
> Delete STACK_ARRAY macro, and use of alloca
> 
> Refactor the few uses of STACK_ARRAY to avoid an extra copy
> on the stack.
> 
> Bug: webrtc:6424
> Change-Id: I5c8f3c0381523db0ead31207d949df9a286c76ba
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137806
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28038}

Bug: webrtc:6424
Change-Id: Id635ccdfae12157cbb3ab9089c5e4a9f77f742ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138211
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28052}
2019-05-24 09:33:06 +00:00
ce723234ba Revert "VP9 screenshare: Don't base layers frame-rate on input frame-rate"
This reverts commit eb1754c5750dfcad23ac62b47aa3aa2176ae7be2.

Reason for revert: breaks downstream projects

Original change's description:
> VP9 screenshare: Don't base layers frame-rate on input frame-rate
> 
> If input framerate is a little unstable, using it to cap layers will
> make output framerate even smaller for longer periods of time.
> 
> Also, fix screenshare_loopback test for low-fps vp9 testing.
> 
> Bug: webrtc:10257
> Change-Id: I64aa087e859ab4ab8e484c9ab7f5ac0fb18bd37d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138204
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28050}

TBR=ilnik@webrtc.org,ssilkin@webrtc.org

Change-Id: I82bfbac58249cfe0da5ff565aa97a4745fd078ff
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10257
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138213
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28051}
2019-05-24 09:31:56 +00:00
eb1754c575 VP9 screenshare: Don't base layers frame-rate on input frame-rate
If input framerate is a little unstable, using it to cap layers will
make output framerate even smaller for longer periods of time.

Also, fix screenshare_loopback test for low-fps vp9 testing.

Bug: webrtc:10257
Change-Id: I64aa087e859ab4ab8e484c9ab7f5ac0fb18bd37d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138204
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28050}
2019-05-24 09:04:51 +00:00
f3db34d060 Revert "Cleanup of video packet overhead calculation."
This reverts commit 890bc3069cbababa19b40ec02684253d60e051b2.

Reason for revert: Div by zero.

Original change's description:
> Cleanup of video packet overhead calculation.
> 
> This CL updates the video packet overhead calculation to make it more
> clear. This prepares for future work on improving the accuracy of the
> calculation.
> 
> Bug: webrtc:9883
> Change-Id: I1d623a3e0de45be7b6e4a1f9e3cbe54fd2b8a45a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138077
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28040}

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

Change-Id: Icbdfc7b9252f8f9aa8e7e97b85b04171a27935e4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9883
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138212
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28049}
2019-05-24 07:34:10 +00:00
4c55c8953b Roll chromium_revision 8b25075ed7..8ae1a64b43 (662811:662926)
Change log: 8b25075ed7..8ae1a64b43
Full diff: 8b25075ed7..8ae1a64b43

Changed dependencies
* src/base: 42d83ee168..b0ebcd67fc
* src/build: 1981b00027..ae3ffb0405
* src/ios: d3df50f4a7..3af8884c08
* src/testing: f4b538c584..98c1282560
* src/third_party: 6dc43cbf6e..58118b386a
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/35a5a9e7be..2e0d354690
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/37e000347c..63ab0c82ec
* src/third_party/depot_tools: 6768b27cc8..d390b317dc
* src/tools: 615afdf4e2..f07fffb189
DEPS diff: 8b25075ed7..8ae1a64b43/DEPS

No update to Clang.

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

Change-Id: If84559ded2d58da8c7c497406d10076c726d3798
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138191
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@{#28048}
2019-05-24 01:31:56 +00:00
316f3ac13b Datagram Transport Integration
- Implement datagram transport adaptor, which wraps datagram transport in DtlsTransportInternal. Datagram adaptor owns both ICE and Datagram Transports.
- Implement setup of datagram transport based on RTCConfiguration flag use_datagram_transport. This is very similar to MediaTransport setup with the exception that we create DTLS datagram adaptor.
- Propagate maximum datagram size to video encoder via MediaTransportConfig.

TODO: Currently this CL can only be tested in downstream projects. Once we add fake datagram transport, we will be able to implement unit tests similar to loopback media transport.

Bug: webrtc:9719
Change-Id: I4fa4a5725598dfee5da4f0f374269a7e289d48ed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138100
Commit-Queue: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28047}
2019-05-23 23:36:05 +00:00
c1c0d6d8ad Roll chromium_revision b82a501520..8b25075ed7 (662691:662811)
Change log: b82a501520..8b25075ed7
Full diff: b82a501520..8b25075ed7

Changed dependencies
* src/base: 0d2946f054..42d83ee168
* src/build: 688df3073f..1981b00027
* src/buildtools: 6884242d26..0218c0f9ac
* src/ios: af3ed64652..d3df50f4a7
* src/testing: 4ccc4cac65..f4b538c584
* src/third_party: 8d3bfad760..6dc43cbf6e
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/1d6ef8a048..37e000347c
* src/third_party/depot_tools: 181e44c231..6768b27cc8
* src/tools: f93d2f3e93..615afdf4e2
DEPS diff: b82a501520..8b25075ed7/DEPS

No update to Clang.

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

Change-Id: I29d361d3a9d7e8dcfd0f7524fff8f423a5288728
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138186
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@{#28046}
2019-05-23 21:46:19 +00:00
4163317283 [PeerConnection::AddIceCandidate()] Use mid to look up contents in remote descriptions
Prior to this CL, only the mline index of an ice candidate was used to
look up contents. However, due to recent changes, it is possible that
no mline index is specified, but that only a mid is specified.
No mline index is indicated with a -1 value.

This CL makes sure the mid is used if no mline index is given.

Bug: chromium:965483
Change-Id: I8962e71acb386f7b50349802f27358ba24c11921
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138075
Commit-Queue: Guido Urdaneta <guidou@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28045}
2019-05-23 20:45:23 +00:00
51f579061f Roll chromium_revision 15b783dc7c..b82a501520 (662034:662691)
Change log: 15b783dc7c..b82a501520
Full diff: 15b783dc7c..b82a501520

Changed dependencies
* src/base: 39c41ceaa9..0d2946f054
* src/build: 19cf694133..688df3073f
* src/buildtools: 9ea486bd06..6884242d26
* src/buildtools/third_party/libc++/trunk: 9b96c3dbd4..5938e0582b
* src/ios: f152a7a2dc..af3ed64652
* src/testing: 1bf0d81894..4ccc4cac65
* src/third_party: 46d9f87561..8d3bfad760
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/f014d609c0..35a5a9e7be
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/535dc1d8e2..1d6ef8a048
* src/third_party/depot_tools: c7e440c009..181e44c231
* src/third_party/libvpx/source/libvpx: 78c44e2dc2..197827edb8
* src/tools: fce3fb0700..f93d2f3e93
* src/tools/swarming_client: 1b65f4e862..779c4f0f84
DEPS diff: 15b783dc7c..b82a501520/DEPS

Clang version changed 361212:67510fac36d27b2e22c7cd955fc167136b737b93
Details: 15b783dc7c..b82a501520/tools/clang/scripts/update.py

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

Change-Id: Iac7cae24ef8b9437164f9f8edcf01020a5fc04d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138182
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@{#28044}
2019-05-23 18:00:35 +00:00
c1b36669db Revert "Delete STACK_ARRAY macro, and use of alloca"
This reverts commit 74b373f04a69b279e45b0792d86c594cb33d22c1.

Reason for revert: This breaks chromium, blocking webrtc from rolling.

...
In file included from ../../third_party/webrtc\rtc_base/strings/string_builder.h:23:
../../third_party/webrtc\rtc_base/string_utils.h(54,28): error: implicit conversion loses integer precision: 'std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >::size_type' (aka 'unsigned long long') to 'int' [-Werror,-Wshorten-64-to-32]
                        ws.size());

See https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8912652299012991936/+/steps/compile__with_patch_/0/stdout

Original change's description:
> Delete STACK_ARRAY macro, and use of alloca
> 
> Refactor the few uses of STACK_ARRAY to avoid an extra copy
> on the stack.
> 
> Bug: webrtc:6424
> Change-Id: I5c8f3c0381523db0ead31207d949df9a286c76ba
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137806
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28038}

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

Change-Id: I223fceab60855dde363cc9ce8375e8f5cca43c02
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:6424
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138209
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28043}
2019-05-23 17:35:07 +00:00
2988acac05 Fix chromium autoroller to parse new clang revision format
BUG=None

Change-Id: Ia03fa8d790bae020efdc26f70b684b49d064abcb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138201
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28042}
2019-05-23 17:10:04 +00:00
62ce035c29 RtpVideoSender nits
The following private methods needlessly took a reference to the
RtpConfig on which they had worked, which was itself a member.

* ConfigureProtection
* ConfigureSsrcs
* ConfigureRids

Bug: None
Change-Id: I013ca438915336d1b8f3477fe8b9f1bf87f514f3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138205
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28041}
2019-05-23 16:29:32 +00:00
890bc3069c Cleanup of video packet overhead calculation.
This CL updates the video packet overhead calculation to make it more
clear. This prepares for future work on improving the accuracy of the
calculation.

Bug: webrtc:9883
Change-Id: I1d623a3e0de45be7b6e4a1f9e3cbe54fd2b8a45a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138077
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28040}
2019-05-23 15:30:24 +00:00
e9a2ee2631 Improve NetEq network adaptation in the beginning of the call.
Change the way the forget factor converge to the steady state so that we don't overemphasize the first packets received.

The logic is controlled by the delay histogram field trial which has an added parameter to control if emphasis should be even (c=1, default) or put on later packets (c>1) until we reach our steady state forget factor.

Bug: webrtc:10411
Change-Id: Ia5d46c22d1a4a66994652f71c8cde664362bfacb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137050
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Chen Xing <chxg@google.com>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28039}
2019-05-23 14:19:30 +00:00
74b373f04a Delete STACK_ARRAY macro, and use of alloca
Refactor the few uses of STACK_ARRAY to avoid an extra copy
on the stack.

Bug: webrtc:6424
Change-Id: I5c8f3c0381523db0ead31207d949df9a286c76ba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137806
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28038}
2019-05-23 13:10:13 +00:00
eb180f8f77 Fix incorrect libvpx vp9 dynamic rate control settings
Bug: webrtc:10155, b:133399415
Change-Id: I69430dce41cde8bc1f8716b8508d4be8d9645d6d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138076
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28037}
2019-05-23 12:55:36 +00:00
fe68daab97 Add option to configure raw RTP packetization per payload type.
Bug: webrtc:10625
Change-Id: I699f61af29656827eccb3c4ed507b4229dee972a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137803
Commit-Queue: Mirta Dvornicic <mirtad@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28036}
2019-05-23 12:38:16 +00:00
a352248c43 Add a config flag to disable the audio ALR probing request.
Bug: webrtc:10200
Change-Id: Ifc5ea100cd66a7ccd6b777259d6531c93118eeb1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138064
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28035}
2019-05-23 11:23:43 +00:00
e7e3601614 Remove hex_encode functions with raw buffer output from the header file
Moved into the anonymous namespace in string_encode.cc.

Bug: webrtc:6424
Change-Id: I5e8ea0f02c94d6de82ca4f875d16862eb2db3d2b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138073
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28034}
2019-05-23 10:53:56 +00:00
39ece6d315 Delete unused method ModuleRtpRtcpImpl::SendCompoundRTCP
The corresponding method on RTCPSender is unchanged.

Bug: None
Change-Id: I5a36e5e9f1afe97084928bb2257b81014da04e18
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138071
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28033}
2019-05-23 10:14:25 +00:00
2799e63bfb Add sizes of spatial layer frames to EncodedImage
WebRTC combines VP9 SVC spatial layer frames into superframe and passes
it to a decoder. The chromium HW VP9 decoder (wrapper) needs to know
location of each spatial layer frame in the frame buffer. To provide
decoder with such information this CL:
- Adds Set/SpatialLayerFrameSize methods to EncodedImage.
- Sets size of each spatial layer frame on superframe at assembly stage.

Bug: webrtc:10495
Change-Id: I68c3c0d668c67dfa1740e004059d860dd98f67f9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/136922
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28032}
2019-05-23 07:16:42 +00:00
40244407e3 Lowercase windows includes in desktop_capture/.
Allows building on case-sensitive file systems.

BUG=None

Change-Id: I0ecd494a5ed6e6dc2658d3918f88fa8692a471cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138180
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28031}
2019-05-23 06:36:19 +00:00
ecd3054b56 Replace a broken assumption in candidate gathering for mDNS candidates.
The gathering of host candidates with mDNS names is asynchronous and its
completion can happen after a srflx candidate is gathered by the same
underlying socket. We have a broken check in UDPPort::CreateConnection()
that assumes the gathering of host and srflx candidates is sequential.

This CL also does minor refactoring and clean-up.

Bug: chromium:944577
Change-Id: Ic28136a9515081f40b232a22fcbf4209814ed33a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138043
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28030}
2019-05-22 22:58:58 +00:00
7e7c5c3c25 WebRTC Opus C interface: Add support for non-48 kHz encode sample rate
Plus tests fo 16 kHz.

Bug: webrtc:10631
Change-Id: I162c40b6120d7e308e535faba7501e437b0b5dc4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137047
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28029}
2019-05-22 22:56:58 +00:00
646fda0212 Implement RTCMediaSourceStats and friends in standard getStats().
This implements RTCAudioSourceStats and RTCVideoSourceStats, both
inheriting from abstract dictionary RTCMediaSourceStats:
https://w3c.github.io/webrtc-stats/#dom-rtcmediasourcestats

All members are implemented except for the total "frames" counter:
- trackIdentifier
- kind
- width
- height
- framesPerSecond

This means to make googFrameWidthInput, googFrameHeightInput and
googFrameRateInput obsolete.

Implemented using the same code path as the goog stats, there are
some minor bugs that should be fixed in the future, but not this CL:
1. We create media-source objects on a per-track attachment basis.
   If the same track is attached multiple times this results in
   multiple media-source objects, but the spec says it should be on a
   per-source basis.
2. framesPerSecond is only calculated after connecting (when we have a
   sender with SSRC), but if collected on a per-source basis the source
   should be able to tell us the FPS whether or not we are sending it.

Bug: webrtc:10453
Change-Id: I23705a79f15075dca2536275934af1904a7f0d39
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137804
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28028}
2019-05-22 16:03:41 +00:00
58c71db1b3 Fix for crash in event log when using scenario tests.
Scenario tests runs all its activities on task queues. This is not
allowed by the default event log writer, causing a DCHECK failure.
This CL makes it possible to stop the event asynchronously,
thereby avoiding the need for the DCHECK.

Bug: webrtc:10365
Change-Id: I1206982b29fd609ac85b4ce30ae9291cbec52041
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/136685
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28027}
2019-05-22 15:22:49 +00:00
9ce451a03f End NetEq simulation if there are no more packets to decode.
Bug: b/133217334
Change-Id: Ibd696011f390ef60a6ac44e603ab4380ae5e759a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138060
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28026}
2019-05-22 15:21:44 +00:00
4ed7e511f6 Revert "Add ability to cap the video jitter estimate to a max value."
This reverts commit a8ae407a480a2a9982eecf9e3a9b10da5373cd9a.

Reason for revert: This CL incorrectly affects non-experiment branch.  A new CL affecting only the experiment will be uploaded.

Original change's description:
> Add ability to cap the video jitter estimate to a max value.
>
> Bug: webrtc:10572
> Change-Id: I21112824dc02afa71db61bb8c2f02723e8b325b6
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133963
> Commit-Queue: Michael Horowitz <mhoro@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27744}

TBR=stefan@webrtc.org,mhoro@webrtc.org

Bug: webrtc:10572
Change-Id: I4af334168ca70ecfae7fd18fc7c852819a98d866
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138063
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Michael Horowitz <mhoro@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28025}
2019-05-22 15:07:33 +00:00
040dc4388b Fix shadowing of override_field_trials_ in WebRtcVideoEngineTest
Bug: webrtc:10663
Change-Id: I6612997a0a03dc1e4d779acb059479cf10af3b17
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138062
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28024}
2019-05-22 14:11:39 +00:00
b32f2c7f57 Publish rtc event log api and default factory for it in api/
Bug: webrtc:10206
Change-Id: I34194ddb6fd2b0a3d7c553fadc9ddc1ea9740da0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137500
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28023}
2019-05-22 13:38:25 +00:00
23aff9b737 Implement RTCOutboundRtpStreamStats.totalEncodedBytesTarget.
This is a standardized metric:
https://w3c.github.io/webrtc-stats/#dom-rtcoutboundrtpstreamstats-totalencodedbytestarget

We estimate the target frame size in bytes from the current encoder
target bitrate and encoder framerate.

We would expect that the average bytes produced by the encoder would
over time match the average target, which is calculated by polling
getStats() twice and dividing the delta totalEncodedBytesTarget with
the delta framesEncoded. This is meant to make googTargetEncBitrate
obsolete.

Bug: webrtc:10446
Change-Id: Ib10ce236476a2f965582d5c536f419952926d4e6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137200
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28022}
2019-05-22 10:59:39 +00:00
04f39242c2 Delete no longer used windows helpers
Utf8ToWindowsFilename:
     Unused since deletion of FileStream, cl
     https://webrtc-review.googlesource.com/c/src/+/128900

  GetCurrentProcessIntegrityLevel and IsCurrentProcessLowIntegrity:
    Unused since deletion of GetTemporaryFolder, cl
    https://codereview.webrtc.org/2995413002

Bug: webrtc:6424
Change-Id: Iec9e1137c6873fd6f3d6888101bae1a741c9d4b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137807
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28021}
2019-05-22 10:32:25 +00:00
b5d918324c Add RTP timestamp to contributing sources
RTP timestamp was recently added to contributing sources in the WebRTC
specification. This CL implements that change in WebRTC.

Bug: webrtc:10650
Change-Id: Ic0ccfbea7049a5b66063fa6cf60d01d5bd713132
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137515
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28020}
2019-05-22 08:53:08 +00:00
afb8d5cdae Log average decoded and rendered framerate for a VideoReceiveStream.
Bug: webrtc:10655
Change-Id: I018b7c254a8e7db6b624c469df8289ed0f110f71
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137516
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28019}
2019-05-22 07:15:38 +00:00
bb90cccb7d Roll chromium_revision 1216f271d5..15b783dc7c (661928:662034)
Change log: 1216f271d5..15b783dc7c
Full diff: 1216f271d5..15b783dc7c

Changed dependencies
* src/build: 7682abdc79..19cf694133
* src/ios: 82325d0b90..f152a7a2dc
* src/testing: 6726c4afbf..1bf0d81894
* src/third_party: e810a0fe6f..46d9f87561
* src/third_party/depot_tools: aca5b6aca8..c7e440c009
* src/tools: b1d01fcba7..fce3fb0700
DEPS diff: 1216f271d5..15b783dc7c/DEPS

No update to Clang.

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

Change-Id: I5484f854dbd484628c4d53f0ce6afec362928ee7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138042
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@{#28018}
2019-05-22 02:32:15 +00:00
5f19f8fccc Roll chromium_revision 0c18b1a229..1216f271d5 (661811:661928)
Change log: 0c18b1a229..1216f271d5
Full diff: 0c18b1a229..1216f271d5

Changed dependencies
* src/base: 5bd91a1a24..39c41ceaa9
* src/ios: f619bdc81a..82325d0b90
* src/testing: 7d296af34c..6726c4afbf
* src/third_party: 1afbe018a5..e810a0fe6f
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/ea6b999d4b..535dc1d8e2
* src/third_party/depot_tools: d6bf517dd4..aca5b6aca8
* src/third_party/googletest/src: 9d4cde44a4..f71fb4f9a9
* src/tools: 23d8d853c4..b1d01fcba7
DEPS diff: 0c18b1a229..1216f271d5/DEPS

No update to Clang.

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

Change-Id: Id4e28a29bbbc136603e36c0a53009374dccc6b9f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138020
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@{#28017}
2019-05-21 22:51:19 +00:00
4f08faae82 Introduce MediaTransportConfig
Currently we pass media_transport from PeerConnection to media layers. The goal of this change is to replace media_transport with struct MediaTransportCondif, which will enable adding different transports (i.e. we plan to add DatagramTransport) as well as other media-transport related settings without changing 100s of files.

TODO: In the future we should consider also adding rtp_transport in the same config, but it will require a bit more work, so I did not include it in the same change.


Bug: webrtc:9719
Change-Id: Ie31e1faa3ed9e6beefe30a3da208130509ce00cd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137181
Commit-Queue: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28016}
2019-05-21 18:58:33 +00:00
4880e15707 Roll chromium_revision 7a39eea5d8..0c18b1a229 (661628:661811)
Change log: 7a39eea5d8..0c18b1a229
Full diff: 7a39eea5d8..0c18b1a229

Changed dependencies
* src/base: 1d4c19a8a6..5bd91a1a24
* src/build: 12e7bf6a6d..7682abdc79
* src/ios: 2cace45200..f619bdc81a
* src/testing: 6d481142ef..7d296af34c
* src/third_party: aa6915457b..1afbe018a5
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/5655d8f9f1..ea6b999d4b
* src/third_party/depot_tools: 5716400ae2..d6bf517dd4
* src/tools: ccc725a068..23d8d853c4
DEPS diff: 7a39eea5d8..0c18b1a229/DEPS

Clang version changed 361104:361212
Details: 7a39eea5d8..0c18b1a229/tools/clang/scripts/update.py

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

Change-Id: I7793872ec50a727f24e70f69ddfbbebf3ff1de01
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137965
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@{#28015}
2019-05-21 18:57:28 +00:00
9c91887c3f Splits SendTimeHistory::AddAndRemoveOld into Add/Remove.
Bug: webrtc:9883
Change-Id: I710e6011b63ffd09eb2b115716f6841c88e85c1e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137511
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28014}
2019-05-21 18:26:08 +00:00
3b112e2f35 Delete multi-parameter CreateModularPeerConnectionFactory
In favor of single-parameter CreateModularPeerConnectionFactory

Bug: None
Change-Id: Ie7e85ee4d76ff3168466440ce6471eaa75ace643
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132559
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28013}
2019-05-21 17:22:40 +00:00
acab559c7b Adds overuse predictor to GoogCC.
Bug: webrtc:10498
Change-Id: Ic97c16d28cbc1e30609f6c1daa3a61423d44641c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/136924
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28012}
2019-05-21 16:50:39 +00:00
c701dec22b Add GetTransportParametersOffer method for DatagramTransportInterface
This change adds missing GetTransportParametersOffer, which is required for datagram transport setup. We have exactly the same method in MediaTransportInterface. It's possible to add a separate interface, which will be used in both Media and Datagram transports, but I do not want to overcomplicate it now until we know more about future of media and datagram transports.


Bug: webrtc:9719
Change-Id: I8b6c9ebc9522acba75f74da2e18e4bb1eb0d1e4c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137861
Commit-Queue: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28011}
2019-05-21 16:13:43 +00:00