22320 Commits

Author SHA1 Message Date
Mirko Bonadei
edcd2cc572 Avoid allocation/copy by using GetFloatArrayRegion.
Bug: None
Change-Id: Ia049591f1d8d819d651ec8f359f318a7b9c12e43
Reviewed-on: https://webrtc-review.googlesource.com/74001
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23088}
2018-05-03 09:09:51 +00:00
Magnus Jedvert
26b9e12289 Android: Let VideoSource dispose SurfaceTextureHelper
This CL is a follow-up to
https://webrtc-review.googlesource.com/c/src/+/71666 where a lot of code
was removed. Accidentally, the code that called
SurfaceTextureHelper.dispose() was removed. This code used to reside in
surfacetexturehelper.cc. This CL reintroduces the call to dispose in the
VideoSource.java backwards compatibility path.

Bug: webrtc:9181
Change-Id: I3e439dbf97965d806d238f7697561ac5ee9e79f1
Reviewed-on: https://webrtc-review.googlesource.com/73180
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23087}
2018-05-03 08:50:01 +00:00
Oleh Prypin
2e28edaa8a Specify Xcode 9.2 and macOS versions that support it
"xcode version" key is deprecated.

Bug: chromium:838854, webrtc:9201
Change-Id: I55770a1a9c8301106b2d194e2e3f727ef0e63626
Reviewed-on: https://webrtc-review.googlesource.com/74000
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23086}
2018-05-03 08:37:51 +00:00
Magnus Jedvert
3e0dee2660 Android: Remove deprecated PeerConnectionFactory ctors
This CL removes deprecated PeerConnectionFactory ctors as well as some
deprecated comments and functions left from the
PeerConnectionFactory.initialize work.

Bug: webrtc:9158
Change-Id: I757f85b52cbfdbe15bf2570c394202b898892550
Reviewed-on: https://webrtc-review.googlesource.com/70400
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23085}
2018-05-03 07:56:41 +00:00
Benjamin Wright
6f7e6d6ff3 Created PeerConnectionDependencies to avoid creating new CreatePeerConnection overloads.
Currently CreatePeerConnection takes 3 parameters. This is going to expand to four with a new change. Every time a new parameter is added, we need to deprecate the old method, switch clients to the new one, update fake/mock classes and tests, and so on, which is a cumbersome process.

To address this, this CL introduces a PeerConnectionDependencies structure to encapsulate all mandatory and optional dependencies (where a dependency is defined as non trivial
executable code that an API user may want to provide to the native API). This allows adding a new injectable dependency by simply adding a new field to the struct, avoiding the hassle described above.

You may think we could use RTCConfiguration for this. But since RTCConfiguration is both passed in and out of the PeerConnection (using GetConfiguration/SetConfiguration), it can't carry unique_ptrs. And we don't want to inject dependencies via raw pointers, since this could lead to lifetime management bugs, where the dependency is deleted before the PeerConnection is done using it.

Bug: webrtc:7913
Change-Id: I38c3f4ce4f26b37e6fe219d1eeca271294b40db8
Reviewed-on: https://webrtc-review.googlesource.com/73663
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23084}
2018-05-02 21:43:47 +00:00
tzik
2199580590 Remove deprecated std::bind2nd and std::ptr_fun
std::bind2nd and std::ptr_fun are deprecated in C++11 and removed in
C++17. This CL removes their usage, so that the code base is ready for
C++17.

Bug: chromium:752720
Change-Id: I6ec0b596202ebf84cf7b8744f516a76ac8328ccd
Reviewed-on: https://webrtc-review.googlesource.com/72360
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#23083}
2018-05-02 19:51:17 +00:00
Qingsi Wang
26e0849061 Fix a null pointer bug in NetworkMonitorAutoDetect.getNetworkState.
Bug: webrtc:9168
Change-Id: I2cc4bb4dee6cec29400de2a8e030eea42868d9ba
Reviewed-on: https://webrtc-review.googlesource.com/73540
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@google.com>
Cr-Commit-Position: refs/heads/master@{#23082}
2018-05-02 17:42:17 +00:00
Yura Yaroshevich
cef0650781 Set name for threads created in ObjC SDK
Bug: webrtc:9216
Change-Id: I89ee671409db5c227ba1f9fd0a583be6ee4df63b
Reviewed-on: https://webrtc-review.googlesource.com/73560
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23081}
2018-05-02 17:12:57 +00:00
Niels Möller
f133856dfa Delete nack_enabled flag in encoder configuration.
This is a followup to cl https://webrtc-review.googlesource.com/71380,
which reworked the way encoder resilience is done, and made the
nack_enabled flag unused.

Bug: webrtc:8830
Change-Id: I3de2508c97bc71e01c8f2232d16cd1f33e57fe4a
Reviewed-on: https://webrtc-review.googlesource.com/69986
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23080}
2018-05-02 16:05:27 +00:00
Sam Zackrisson
c3d8bb1c52 Disable flaky test FullStackTest.SimulcastFullHdOveruse
NOTRY=True

Bug: webrtc:9220
Change-Id: Id3b9bbd867bec277b54f4168d758d295fe77ef34
Reviewed-on: https://webrtc-review.googlesource.com/73682
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23079}
2018-05-02 15:32:57 +00:00
Minyue Li
2a35c43779 Removing shared_ptr in a unittest in audio coding.
Bug: webrtc:9222
Change-Id: I26aee886896416af98c39511046d5cfd836cb01e
Reviewed-on: https://webrtc-review.googlesource.com/73720
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23078}
2018-05-02 13:52:28 +00:00
Kári Tristan Helgason
cad94449dd Remove H264 CHP field trial code.
Bug: webrtc:8317
Change-Id: I2da3cc6578dd8ff6e88052bc33cd38cb92af46dc
Reviewed-on: https://webrtc-review.googlesource.com/73242
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23077}
2018-05-02 13:42:37 +00:00
Sergey Silkin
5613879b7b Fill drops with last decoded frame.
Fill drops with last decoded frame to make them look like freeze at
playback and to keep decoded spatial layers in sync.

Bug: none
Change-Id: I65f7c21100985c22932a1edd441b6c724833c11e
Reviewed-on: https://webrtc-review.googlesource.com/73685
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23076}
2018-05-02 10:46:06 +00:00
Jesús de Vicente Peña
2f2633d90c AEC3: Audility: Avoid the initialization of the noise estimator in pure zeroes signals at the render.
Bug: webrtc:9193,chromium:836790
Change-Id: Ic162dd72947f1d075b55df6725a17b66c782930a
Reviewed-on: https://webrtc-review.googlesource.com/73200
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23075}
2018-05-02 10:19:46 +00:00
Sergey Silkin
3c30c9cb9f Decode base reference frame if current layer was dropped.
If frame of current layer was dropped, pass base frame to decoder if
non_ref_for_inter_layer_pred is set to true.

Bug: none
Change-Id: If7bf5220b74f424106edf74867c9afa8cc2b1ec5
Reviewed-on: https://webrtc-review.googlesource.com/73440
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23074}
2018-05-02 10:17:01 +00:00
Magnus Jedvert
8b4e92d0a5 ObjC SDK: Stop using built-in SW video codecs
This CL removes the use of default built-in SW in the ObjC layer. If a
client want to depend on the video SW codecs, they must inject them
explicitly.

Bug: webrtc:7925
Change-Id: If752e7f02109ff768dc5ec38d935203de85987c2
Reviewed-on: https://webrtc-review.googlesource.com/69800
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23073}
2018-05-02 10:15:56 +00:00
Kári Tristan Helgason
be80681295 Add runtime check for metal support.
Bug: None
Change-Id: I1bc64c072c3ccf3430e084f9598931c159e6b039
Reviewed-on: https://webrtc-review.googlesource.com/70800
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23072}
2018-05-02 09:52:26 +00:00
Niels Möller
2d06118623 Reland "Make VideoStreamEncoder::ReconfigureEncoder always call ConfigureQualityScaler."
This is a reland of f394f65b7195a5f9f71c9f0dec3bb68300590b5b

Original change's description:
> Make VideoStreamEncoder::ReconfigureEncoder always call ConfigureQualityScaler.
> 
> In addition restore call to ConfigureQualityScaler in SetSource, which
> is needed if degradation preferences change mid-stream.
> 
> Fixes a regressions from https://webrtc-review.googlesource.com/70740,
> The encoder's GetScalingSettings may depend on arguments to
> InitEncode, so configuring the quality scaler only at encoder creation
> time isn't enough.
> 
> Bug: webrtc:8830
> Change-Id: I48f66cde219c56272f44441fdb26ec64c6002068
> Reviewed-on: https://webrtc-review.googlesource.com/72000
> Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22993}

Bug: webrtc:8830
Change-Id: I96f0b8c27e3b58b9e9268117267abcb63ee7fe73
Reviewed-on: https://webrtc-review.googlesource.com/72320
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23071}
2018-05-02 07:58:56 +00:00
Steve Anton
f764cf4677 Don't transition ICE to Checking if there are no transports
This attempts to make it more clear that an offer or answer with
no transports will no start ICE.

Bug: None
Change-Id: Ifb8d9e445b8fbef1fb1590477dd6bdb4fc651a90
Reviewed-on: https://webrtc-review.googlesource.com/73640
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23070}
2018-05-02 00:43:07 +00:00
Autoroller
878a3df8a2 Roll chromium_revision a64fa182cd..fa9c81b199 (554722:554823)
Change log: a64fa182cd..fa9c81b199
Full diff: a64fa182cd..fa9c81b199

Changed dependencies:
* src/base: 4e0b74ac4c..a123d7adfa
* src/build: 8c075578bb..3e09ee495d
* src/ios: fbee889aff..ba4b83bf42
* src/testing: dce34bf986..0e717bdaa1
* src/third_party: a4cd9edd39..4e16929f46
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/a4814ecb93..21bd95c909
* src/tools: a2528eeccc..d8ecfb8461
DEPS diff: a64fa182cd..fa9c81b199/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: I60698f3c687c621c6432610ecbd8768990b444f2
Reviewed-on: https://webrtc-review.googlesource.com/73460
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23069}
2018-04-30 19:17:21 +00:00
Sebastian Jansson
66fa535e6e Prepares for moving units to API.
Cleanup based on review of move CL. Using separate CL to keep the
move clean.

Bug: webrtc:9155
Change-Id: Ie0b15c6d3efcd86e2fa5761f014d0daf72ccfa06
Reviewed-on: https://webrtc-review.googlesource.com/73367
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23068}
2018-04-30 15:53:20 +00:00
Autoroller
71a720ba16 Roll chromium_revision 81845cf247..a64fa182cd (554621:554722)
Change log: 81845cf247..a64fa182cd
Full diff: 81845cf247..a64fa182cd

Changed dependencies:
* src/base: 54644bdd2c..4e0b74ac4c
* src/build: fb6dc3aba5..8c075578bb
* src/testing: 91977e8c64..dce34bf986
* src/third_party: f3df07c278..a4cd9edd39
* src/tools: 536c720c9f..a2528eeccc
DEPS diff: 81845cf247..a64fa182cd/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: I3dff8071187dab8f5d13c856b896a69366bab0fb
Reviewed-on: https://webrtc-review.googlesource.com/73381
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23067}
2018-04-30 12:17:29 +00:00
Alessio Bazzica
f22550175b AGC2 RNN VAD: Pitch Search
Functions to estimate pitch period and gain.

Bug: webrtc:9076
Change-Id: Icfe9430dcae11bdb96165c5bfe6e2b1d3bf848ab
Reviewed-on: https://webrtc-review.googlesource.com/70382
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23066}
2018-04-30 10:20:39 +00:00
Jesús de Vicente Peña
9558192711 AEC3: Removing the need of a buffer for the stationarity estimator of the render signal.
Change-Id: I6983e1d8bdd048a5d92209e3023c687f82d383d5

Bug: webrtc:9193,chromium:836790
Change-Id: I6983e1d8bdd048a5d92209e3023c687f82d383d5
Reviewed-on: https://webrtc-review.googlesource.com/72760
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23065}
2018-04-30 09:03:19 +00:00
Oleh Prypin
28899d0791 Replace direct invocation of ShadowApplication.getApplicationContext()
with call to RuntimeEnvironment.application which provides the same instance.

Bug: None
Change-Id: I4e318955086dff990cb572a09c116d28a1023a34
Reviewed-on: https://webrtc-review.googlesource.com/73244
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23064}
2018-04-30 08:54:29 +00:00
Autoroller
9546f37c03 Roll chromium_revision 58de35c184..81845cf247 (554518:554621)
Change log: 58de35c184..81845cf247
Full diff: 58de35c184..81845cf247

Changed dependencies:
* src/base: a6a8333865..54644bdd2c
* src/build: 82daaa128f..fb6dc3aba5
* src/ios: b376ecb331..fbee889aff
* src/testing: 0fc3c466c8..91977e8c64
* src/third_party: 58d90af62b..f3df07c278
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/6761f26bd9..a4814ecb93
* src/third_party/depot_tools: 179dd1e016..65dbd53944
* src/tools: 5182e4e42e..536c720c9f
DEPS diff: 58de35c184..81845cf247/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: Ic43cac197a1c9e8ad411855bc29a2071ef617696
Reviewed-on: https://webrtc-review.googlesource.com/73290
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23063}
2018-04-28 04:17:03 +00:00
Steve Anton
df527fd6a6 Add e2e test for multiple video tracks without signaling SSRCs
This is intended to exercise end-to-end sending with the MID RTP
header extension and demuxing by MID.

Bug: webrtc:4050
Change-Id: I81edb3687c65f5efce9591fa34cb03522ad675e5
Reviewed-on: https://webrtc-review.googlesource.com/71601
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23062}
2018-04-27 23:29:23 +00:00
Qingsi Wang
de2ed7dc18 Support VPN adapter type in WebRTC Android.
The VPN adapter type is not effectively supported in WebRTC Android for
1) the network monitor may not obtain the VPN adapter type from the OS,
e.g. via NetworkInfo.getType, 2) and VPN adapter type is replaced
by the adapter type of an underlying network by the network monitor in
the current implementation. Specifically, WebRTC Android would
previously classify VPNs as either type ADAPTER_TYPE_UNKNOWN, or the
type of the currently active network (which we assume the VPN is
using).

In this CL, VPNs are classified as ADAPTER_TYPE_VPN whenever possible,
and the underlying network type, if available from the VPN, is
separately stored and used to prioritize ICE candidates in network path
selection.

This allows ADAPTER_TYPE_VPN to be used in networkIgnoreMask to ignore
VPNs when gathering ICE candidates.

Bug: webrtc:9168
Change-Id: I9513c76a114ba967437b699e71223a4a2f13f34a
Reviewed-on: https://webrtc-review.googlesource.com/70960
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23061}
2018-04-27 22:49:33 +00:00
Autoroller
e80689fcab Roll chromium_revision 1589d89737..58de35c184 (554416:554518)
Change log: 1589d89737..58de35c184
Full diff: 1589d89737..58de35c184

Changed dependencies:
* src/base: 91b65a4f4a..a6a8333865
* src/build: 298c672395..82daaa128f
* src/ios: 71e73ad48c..b376ecb331
* src/testing: 7bba5e0465..0fc3c466c8
* src/third_party: 1ea10c92f1..58d90af62b
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/9f0e7cb314..cece32610b
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/82069c8b6e..6761f26bd9
* src/tools: 96607d9b7c..5182e4e42e
DEPS diff: 1589d89737..58de35c184/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: I3d603229193656ac536ae250cd43c2fb16a64eeb
Reviewed-on: https://webrtc-review.googlesource.com/73283
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23060}
2018-04-27 22:18:43 +00:00
Per Åhgren
658ad8816b Removed the updating of the padding data buffer in the AEC3 FFT
This CL removes the updating of the buffered data used to to pad the
64 sample blocks to 128 samples FFTs. As that padding was used
incorrectly in one place this resolves an important issue.


Bug: webrtc:9159,chromium:833801,webrtc:9206
Change-Id: Ie6830878ebec6130b61d4e7e3169357f2e253073
Reviewed-on: https://webrtc-review.googlesource.com/73240
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23059}
2018-04-27 19:26:03 +00:00
Autoroller
033050c50f Roll chromium_revision 80461bb5df..1589d89737 (554260:554416)
Change log: 80461bb5df..1589d89737
Full diff: 80461bb5df..1589d89737

Changed dependencies:
* src/base: aa46e2af68..91b65a4f4a
* src/build: a629436deb..298c672395
* src/buildtools: ab7b6a7b35..b7d53a9302
* src/ios: b200e2c7c3..71e73ad48c
* src/testing: c7b8ca1c58..7bba5e0465
* src/third_party: 92601ff244..1ea10c92f1
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/846cec5c4d..82069c8b6e
* src/third_party/depot_tools: 97ce05851c..179dd1e016
* src/tools: 9f1a4134c7..96607d9b7c
DEPS diff: 80461bb5df..1589d89737/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: I48ff949efcf0cd5f68ea3fa55558c6a287e71c21
Reviewed-on: https://webrtc-review.googlesource.com/73280
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23058}
2018-04-27 18:47:03 +00:00
Per Åhgren
169c7fd521 Use windowed, data padded, FFTs when computing the AEC3 suppressor gain
This CL changes the way the suppressor gain is computed in AEC3 in that
the FFTs used are padded with data and windowed with a Hanning-style
window.
This gives better FFT accuracy, an behavior matching the suppressor
gain application, and also results in one less FFT operation.

Bug: webrtc:9204,chromium:837563
Change-Id: I612676c389cb76a3130966a9b596ff3f44d21863
Reviewed-on: https://webrtc-review.googlesource.com/73141
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23057}
2018-04-27 14:47:56 +00:00
Bjorn Terelius
c4ca1d3f37 Reland "Create new API for RtcEventLogParser."
The new API stores events gathered by event type. For example, it is
possible to ask for a list of all incoming RTCP messages or all audio
playout events.

The new API is experimental and may change over next few weeks. Once
it has stabilized and all unit tests and existing tools have been
ported to the new API, the old one will be removed.

This CL also updates the event_log_visualizer tool to use the new
parser API. This is not a funcional change except for:
- Incoming and outgoing audio level are now drawn in two separate plots.
- Incoming and outgoing timstamps are now drawn in two separate plots.
- RTCP count is no longer split into Video and Audio. It also counts
  all RTCP packets rather than only specific message types.
- Slight timing difference in sendside BWE simulation due to only
  iterating over transport feedbacks and not over all RTCP packets.
  This timing changes are not visible in the plots.


Media type for RTCP messages might not be identified correctly by
rtc_event_log2text anymore. On the other hand, assigning a specific
media type to an RTCP packet was a bit hacky to begin with.

Bug: webrtc:8111
Change-Id: Ib244338c86a2c1a010c668a7aba440482023b512
Reviewed-on: https://webrtc-review.googlesource.com/73140
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23056}
2018-04-27 14:46:51 +00:00
Yongje Lee
ebd9abc1a2 Use IFA_LOCAL instead of IFA_ADDRESS over IPv4 network on ANDROID
IFA_ADDRESS gives DESTINATION address in case of point-to-point
connection, which is not able to create ports for candidate gathering.
Use IFA_LOCAL to avoid this problem.

Bug: webrtc:9189
Change-Id: Ifcb1955b1b4011dc69c93d99b4e223b370dc16eb
Reviewed-on: https://webrtc-review.googlesource.com/69620
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23055}
2018-04-27 14:16:01 +00:00
Yura Yaroshevich
ad3971f40f Allow x86 when build WebRTC.framework for iOS
Bug: webrtc:9203
Change-Id: Id331b14fc1a0695a561f52acd767645caa7f3b49
Reviewed-on: https://webrtc-review.googlesource.com/72940
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23054}
2018-04-27 13:05:31 +00:00
Alex Loiko
95141d91d8 Set a positive initial gain in the Adaptive Digital GC.
If the adaptive gain is too low, we raise it slowly and only during
speech.

The CL gives better behavior at the start of a call. If the gain is too
high, the fixed-digital limits it. The gain is also quickly reduced by
the AdaptiveGainApplier.

Bug: webrtc:7494
Change-Id: I683f1e3e463cddec2d91f6c7f15c73e744430034
Reviewed-on: https://webrtc-review.googlesource.com/71484
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23053}
2018-04-27 09:05:25 +00:00
Niels Möller
d4043f69ae Replace runtime thread checks by compile-time checks.
For all private methods of BitrateAllocator.

Bug: None
Change-Id: I9943d3ee4cdfe00a842e7c2258f57d88b96c4dda
Reviewed-on: https://webrtc-review.googlesource.com/72860
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23052}
2018-04-27 07:51:55 +00:00
Gustaf Ullberg
216af841ad Add debug data dumping to the AEC3 suppressor
Bug: webrtc:8671
Change-Id: Ia4f96fc247335bdf19620446559c21f16abd6682
Reviewed-on: https://webrtc-review.googlesource.com/72700
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23051}
2018-04-27 07:45:45 +00:00
Magnus Jedvert
5ebb82ba9c Android: Remove video recording functionality from the camera classes
There was an attempt to add MediaRecording functionality to the camera
classes, but it was never finished and never worked properly. This CL
removes the code for it. In the future, if offline video recording is
needed we should add it as a VideoSink instead of inside the camera
classes.

Bug: webrtc:9144
Change-Id: I74b70d4b128aa212d84e70da01e5e19133c5af24
Reviewed-on: https://webrtc-review.googlesource.com/69642
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23050}
2018-04-27 07:38:05 +00:00
Sergey Silkin
6a8f30e5a3 Add control for inter-layer prediction mode.
This allows to control inter-layer prediction at encoding VP9 SVC.
There are three options:
1. Disabled.
2. Enabled for all pictures.
3. Enabled for key pictures, disabled for others.

Inter-layer prediction is enabled for all pictures by default.

Bug: none
Change-Id: I49fe43d8744c92bec349d815100ba158519f0664
Reviewed-on: https://webrtc-review.googlesource.com/71500
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23049}
2018-04-27 06:20:15 +00:00
braveyao
ad7f6e5ccf [desktopCapture Mac] Continue screen capture at graphic cards switching
The MBP having both discrete and integrated graphic cards will do
automate graphics switching by default. When it switches from discrete to
integrated one, the current display ID of the built-in display will
change and this will cause screen capture stops.
So make screen capture of built-in display continuing even if its display
ID is changed.

Bug: chromium:836979
Change-Id: If4f2d04d99a2690ccd6f894d94e6f8ff58ba2ec8
Reviewed-on: https://webrtc-review.googlesource.com/72603
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Brave Yao <braveyao@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23048}
2018-04-27 04:07:05 +00:00
Autoroller
65e9439f38 Roll chromium_revision fb0734bbb7..80461bb5df (553995:554260)
Change log: fb0734bbb7..80461bb5df
Full diff: fb0734bbb7..80461bb5df

Changed dependencies:
* src/base: 3d769d3b59..aa46e2af68
* src/build: 403c903190..a629436deb
* src/ios: acfe41aa08..b200e2c7c3
* src/testing: efdf54c18f..c7b8ca1c58
* src/third_party: 9537e2acb2..92601ff244
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/dc970d3e1f..846cec5c4d
* src/third_party/depot_tools: 3b9bb81317..97ce05851c
* src/third_party/ffmpeg: 3eebd9796f..156e91a4f3
* src/third_party/googletest/src: 4bd8c4638a..a6f06bf2fd
* src/tools: f2823f163c..9f1a4134c7
DEPS diff: fb0734bbb7..80461bb5df/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: Ia9ce46ca7c91083f5ada981e6cab15e18480b608
Reviewed-on: https://webrtc-review.googlesource.com/73005
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23047}
2018-04-27 02:20:25 +00:00
Steve Anton
25cfeb9ef1 Fix possible race between the stats collector and transport controller
Previously, it would be possible for the RTCStatsCollector to start
an async network task to gather stats that would be run after the
PeerConnection was closed when the transport controller was set to
null.

Bug: chromium:829238
Change-Id: I22fb4ce603caf2614814780b95b62127cee28284
Reviewed-on: https://webrtc-review.googlesource.com/72525
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23046}
2018-04-26 19:35:24 +00:00
Benjamin Wright
e782abab19 Revert "TCP TURN Integration Test"
This reverts commit edbd389ecc7388973b55e6e3787ed6a95254dc99.

Reason for revert: Breaking integration on Linux.

Original change's description:
> TCP TURN Integration Test
> 
> This changeset adds a new integration test to do basic validation that TCP
> TURN functionality works in WebRTC. It simply sets up a TestTurnServer
> configured to relay over TCP and then allows the clients to connect to this
> server over TCP.
> 
> Bug: webrtc:7668
> Change-Id: Id9f3b4e22f40ace7c7eeddf103b5d954a0872777
> Reviewed-on: https://webrtc-review.googlesource.com/70568
> Commit-Queue: Benjamin Wright <benwright@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23044}

TBR=deadbeef@webrtc.org,stefan@webrtc.org,pthatcher@webrtc.org,benwright@webrtc.org

Change-Id: Icdf8747d7a1a7bd2a1a29f1536821a0eacb7764e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7668
Reviewed-on: https://webrtc-review.googlesource.com/72961
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23045}
2018-04-26 18:43:49 +00:00
Benjamin Wright
edbd389ecc TCP TURN Integration Test
This changeset adds a new integration test to do basic validation that TCP
TURN functionality works in WebRTC. It simply sets up a TestTurnServer
configured to relay over TCP and then allows the clients to connect to this
server over TCP.

Bug: webrtc:7668
Change-Id: Id9f3b4e22f40ace7c7eeddf103b5d954a0872777
Reviewed-on: https://webrtc-review.googlesource.com/70568
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23044}
2018-04-26 17:33:27 +00:00
Bjorn Mellem
3a9c46d5ff Extend packet_id to 64 bits in SentPacket and PacketOptions to support QUIC
packet numbers.

Bug: webrtc:9103
Change-Id: Iff85a9523b2890254c295d1e88b93c2e80ff8e17
Reviewed-on: https://webrtc-review.googlesource.com/72261
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23043}
2018-04-26 16:33:57 +00:00
Per Åhgren
280a31fc30 Revert "Making the delay estimator more robust to noisy nearends and low echoes"
This reverts commit b04e5cae08b8a7bc27041c1606547f807aaa2fc1.

Reason for revert: The reason for the revert is that some scenarios were detected where this caused the delay estimation to occur too slowly.

Original change's description:
> Making the delay estimator more robust to noisy nearends and low echoes
> 
> This CL reduces the delay estimator step size to make it react better in
> scenarios where the environment is noisy, or the echo level is fairly
> low.
> 
> Bug: webrtc:9177,chromium:835281
> Change-Id: I482d898c91eddc497e1284ee500d26df21a0574a
> Reviewed-on: https://webrtc-review.googlesource.com/71486
> Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
> Commit-Queue: Per Åhgren <peah@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22990}

TBR=gustaf@webrtc.org,peah@webrtc.org

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

Bug: webrtc:9177, chromium:835281
Change-Id: I33e09ebfed8ad8330419e554f482c956608befce
Reviewed-on: https://webrtc-review.googlesource.com/72843
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23042}
2018-04-26 16:32:07 +00:00
Rasmus Brandt
efbdcb0008 Clarify comment in simulcast.cc.
NOTRY=True
TBR=magjed@webrtc.org

Bug: None
Change-Id: I5355919edacbd6e220e8f511abec7e5d058d5e85
Reviewed-on: https://webrtc-review.googlesource.com/72901
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23041}
2018-04-26 15:56:37 +00:00
Sergey Silkin
bc0f0d3ded Rename end_of_superframe to end_of_picture.
For consistency with the VP9 RTP spec which uses term "picture" for set
of frames which belong to the same time instance.

Bug: none
Change-Id: I30e92d5debb008feb58f770b63fe10c2e0029267
Reviewed-on: https://webrtc-review.googlesource.com/72180
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23040}
2018-04-26 15:47:17 +00:00
Gustaf Ullberg
0cb4a25e43 Apply upper gain limit after coherence gains in AEC3
This CL makes sure that the coherence-based gains are affected by the
upper gain limit during call start-up and after resets.

Bug: webrtc:9159,chromium:833801
Change-Id: I93fdd173b6e11ea861d0e01e12c048ec0a91db70
Reviewed-on: https://webrtc-review.googlesource.com/72841
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23039}
2018-04-26 15:43:27 +00:00