Commit Graph

26625 Commits

Author SHA1 Message Date
167316b833 Remove proxy layer from AndroidVideoTrackSource
This layer is not needed since the methods are thread safe, and the
classes those method touches (VideoBroadcaster, cricket::VideoAdapter)
are thread safe.

Bug: webrtc:10247
Change-Id: Id4e309de4ac1b9669052aaa60d3bd1ed965aaa29
Reviewed-on: https://webrtc-review.googlesource.com/c/120801
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26543}
2019-02-05 10:50:40 +00:00
69b761e52b Sets start on activities added after starting scenario test.
Bug: webrtc:9510
Change-Id: I814674d1c30369f3795847b0b299daafb1e47489
Reviewed-on: https://webrtc-review.googlesource.com/c/121427
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26542}
2019-02-05 08:16:56 +00:00
30b182aca0 New methods for registering network change callbacks in MediaTransport
Adds methods AddNetworkChangeCallback and RemoveNetworkChangeCallback,
to replace SetNetworkChangeCallback. Needed because both VideoChannel
and VoiceChannel register such a callback.

This cl is step 1, it just adds the methods to the interface, without
calling them.

Bug: webrtc:9719
Change-Id: I39f1748706d4369ca71d594ca5e2f1380de5ce66
Reviewed-on: https://webrtc-review.googlesource.com/c/121462
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Peter Slatala <psla@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26541}
2019-02-05 01:54:29 +00:00
626015d7f8 Make AudioSendStream to be OverheadObserver
In order to have correct overhead adjustments for ANA in AudioSendStream we need to know both transport and audio packetization overheads in AudioSendStream. This change makes AudioSendStream to be OverheadObserver instead of ChannelSend. This change is required for https://webrtc-review.googlesource.com/c/src/+/115082.

This change was also suggested earlier in TODO:
// TODO(solenberg): Make AudioSendStream an OverheadObserver instead.
https://cs.chromium.org/chromium/src/third_party/webrtc/audio/channel_send.cc?rcl=71b5a7df7794bbc4103296fcd8bd740acebdc901&l=1181

I think we should also consider moving TargetTransferRate observer to AudioSendStream. Since AudioSendStream owns encoder and configures ANA, it makes sense to consolidate all rate (and overhead) calculation there. Added TODO to clean it up in next chanelists.

Bug: webrtc:10150
Change-Id: I48791b998ea00ffde9ec75c6bca8b6dc83001b42
Reviewed-on: https://webrtc-review.googlesource.com/c/119121
Commit-Queue: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26540}
2019-02-05 00:25:12 +00:00
e22498cc3e Compare GetStreamCaps against S_OK
GetStreamCaps can return S_FALSE, which is not caught by FAILED().
Instead it is necessary to compare for equality with S_OK.

Bug: webrtc:10267
Change-Id: I4113ef5544f830f5cb5f09f143dff43129993d3d
Reviewed-on: https://webrtc-review.googlesource.com/c/120644
Commit-Queue: Dan Minor <dminor@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26539}
2019-02-04 20:18:30 +00:00
bfc9911661 Remove TCPPort incoming_only_ member.
TCPPort's incoming_only_ member seems unused and there was a TODO
about this. This CL just removes it.

Bug: webrtc:10198
Change-Id: I216c291159a32fa2924309affa3769a4be116fd0
Reviewed-on: https://webrtc-review.googlesource.com/c/120931
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26538}
2019-02-04 19:46:30 +00:00
167497fc2e Delete VCMNackFecTable; appears unused for a long time.
Digging in the git history, I see one reference to this table, deleted
in 2011. And reference to the header file disappeared in the cleanup cl
https://webrtc-review.googlesource.com/c/src/+/106280

Bug: None
Change-Id: Iab8cf407a5606e7c28f798f933ff57da0de8d1cc
Reviewed-on: https://webrtc-review.googlesource.com/c/120962
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26537}
2019-02-04 19:13:40 +00:00
edbea46295 Allow to change base minimum delay on NetEq.
This is first step to allow to set latency
from client code in Chromium.
Existing minimum latency hasn't been used because it can clash
with video syncronization code.

Bug: webrtc:10287
Change-Id: Ia38906506069a1abfa01698dc62df283fc15cfbc
Reviewed-on: https://webrtc-review.googlesource.com/c/121423
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Ruslan Burakov <kuddai@google.com>
Cr-Commit-Position: refs/heads/master@{#26536}
2019-02-04 17:19:55 +00:00
d8b980464c Add scaleResolutionDownBy to RtpParameters.Encoding in Android SDK.
Bug: webrtc:10069
Change-Id: I8130836c495d5584ca3e11e9e3155916b871ab21
Reviewed-on: https://webrtc-review.googlesource.com/c/120926
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Mirta Dvornicic <mirtad@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26535}
2019-02-04 16:50:24 +00:00
bfa5d5d9aa Return early from VP9EncoderImpl::Encode() if all layers inactive
Bug: chromium:927027
Change-Id: Ib3eab2ca782619b2b2a595f67db630b009c3ffba
Reviewed-on: https://webrtc-review.googlesource.com/c/121407
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26534}
2019-02-04 16:47:24 +00:00
8573aae7d0 Do not build rtp_generator in Chromium builds.
This tool is only needed for WebRTC standalone so there is no need to
build it on Chromium trybots (if we want to do that, we need to
explicitly link against the Chromium's TQ implementation).

[1] - https://cs.chromium.org/chromium/src/third_party/webrtc_overrides/BUILD.gn?l=114-124&rcl=3514203635d4f5c2d660784dd3007f1018c9af88

Bug: None
Change-Id: Ib75204205717637e6b9b4320deaad5221ce35692
Reviewed-on: https://webrtc-review.googlesource.com/c/121405
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26533}
2019-02-04 14:48:58 +00:00
80a8687082 [clang-tidy] Apply performance-move-const-arg fixes (mutable lambdas).
This CL is a manual spin-off of [1], which tried to apply clang-tidy's
performance-move-const-arg [1] to the WebRTC codebase.

Since there were some wrong fixes to correct, this CL lands all the
manual fixes where std::move was actually fine but the lambda was not
mutable.

[1] - https://webrtc-review.googlesource.com/c/src/+/120350
[2] - https://clang.llvm.org/extra/clang-tidy/checks/performance-move-const-arg.html

Bug: webrtc:10252
Change-Id: I4602e3d4a63d2637dd389e775ffbf80fe95f40fc
Reviewed-on: https://webrtc-review.googlesource.com/c/120927
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26532}
2019-02-04 14:47:56 +00:00
817aec8eca Add scaleResolutionDownBy to RTCRtpEncodingParameters in ObjC SDK.
Bug: webrtc:10069
Change-Id: I3b34d689569b6a462b771969e383f5d9d7c8047e
Reviewed-on: https://webrtc-review.googlesource.com/c/121404
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Mirta Dvornicic <mirtad@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26531}
2019-02-04 14:21:54 +00:00
30abc36444 ArrayView: Also accept const references when doing implicit conversions
This allows us to bind to temporaries.

Bug: none
Change-Id: Ic84ad378f344776bef38f9dc81a6fe0dee74400f
Reviewed-on: https://webrtc-review.googlesource.com/c/120901
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26530}
2019-02-04 13:42:20 +00:00
ee61f9440a Fix a bug in video_encoder_wrapper where int array was not freed properly.
JNI_COMMIT doesn't actually free the buffer.

From JNI docs:
0: copy back the content and free the elems buffer
JNI_COMMIT: copy back the content but do not free the elems buffer
JNI_ABORT: free the buffer without copying back the possible changes

Also introduces helper methods to help avoid this problem in the
future.

Bug: webrtc:10132
Change-Id: I769df286d3bd186fdf39ee2363e9002f36454509
Reviewed-on: https://webrtc-review.googlesource.com/c/120600
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26529}
2019-02-04 13:12:07 +00:00
eee110dea2 Remove nogncheck from pc/.
The usage of "nogncheck" is disallowed in WebRTC (the only exception is
for the "#includes" that are part of conditional compilation with the
preprocessor).

This CL removes some "nogncheck" from the pc/ folder. The included
headers were unused so this should be a no-op change.

Bug: webrtc:8733
Change-Id: I22f5238bbc08aa500d4f0850e30acfbaed9742ae
Reviewed-on: https://webrtc-review.googlesource.com/c/120929
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26528}
2019-02-04 12:59:41 +00:00
c402dbe2b0 Account for simulcast hysteresis in padding rate calculation.
Bug: webrtc:10271
Change-Id: If0b0eb7d94fb1c892880ff4745f34c43fcdeee54
Reviewed-on: https://webrtc-review.googlesource.com/c/120661
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26527}
2019-02-04 10:49:04 +00:00
819661a965 Pass explicit dependencies from ScreenshareLayers to GFD
This CL continues the work began by CL #119958, extending it
to ScreenshareLayers.

Bug: webrtc:10249
Change-Id: I59d0c062a93b288007977e00aa3a2e0929509e0c
Reviewed-on: https://webrtc-review.googlesource.com/c/120042
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26526}
2019-02-04 10:34:03 +00:00
432c833e9e Remove redundant check in channel_receive.cc.
Change-Id: I13400dd74582b875423d8a2d7bb840eee207cf2c

Bug: webrtc:10285
Change-Id: I13400dd74582b875423d8a2d7bb840eee207cf2c
Reviewed-on: https://webrtc-review.googlesource.com/c/121340
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ruslan Burakov <kuddai@google.com>
Cr-Commit-Position: refs/heads/master@{#26525}
2019-02-04 10:29:43 +00:00
0d28972d8f Add field trial to reduce max STUN check retransmissions from 8 to 6 in accordance with RFC 5389.
Bug: webrtc:10282
Change-Id: I19ac690e3388e2015792695cf7836cb727a4314b
Reviewed-on: https://webrtc-review.googlesource.com/c/120960
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26524}
2019-02-04 10:26:53 +00:00
0237106559 Expose video freeze metrics in GetStats.
This adds the following non-standardized metrics to video receiver
stats:
- freezeCount
- pauseCount
- totalFreezesDuration
- totalPausesDuration
- totalFramesDuration
- sumOfSquaredFrameDurations

For description of these metrics see
https://henbos.github.io/webrtc-provisional-stats/#RTCVideoReceiverStats-dict*

Bug: webrtc:10145
Change-Id: I4c76d5651102e73b1592ffed561e6224f2badeb6
Reviewed-on: https://webrtc-review.googlesource.com/c/114840
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26523}
2019-02-04 09:58:08 +00:00
1266487631 Partial frame capture API part 3
Implement utility for applying partial updates to video frames.

Bug: webrtc:10152
Change-Id: I295fa9f792b96bbf1140a13f1f04e4f9deaccd5c
Reviewed-on: https://webrtc-review.googlesource.com/c/120408
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26522}
2019-02-04 09:57:05 +00:00
88fa2ab966 Always add/rewrite VUI and set max_num_reorder_frames to 0.
Bug: webrtc:10256
Change-Id: I5c28e69973cc5666deba4a1d7d660dc91f82c9f6
Reviewed-on: https://webrtc-review.googlesource.com/c/120349
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26521}
2019-02-04 09:18:46 +00:00
a1fae4b475 Trying to quiet clang-tidy
Bug: webrtc:10138
Change-Id: Ie7f2449870f93753876bb587e24898a89efc405e
Reviewed-on: https://webrtc-review.googlesource.com/c/120921
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26520}
2019-02-02 21:10:04 +00:00
a4ede424a5 Roll chromium_revision b1a56e7eae..b4fb8097f2 (628426:628538)
Change log: b1a56e7eae..b4fb8097f2
Full diff: b1a56e7eae..b4fb8097f2

Changed dependencies
* src/base: 74adaea16c..4b78c0bd13
* src/build: 484514e5b0..eb6198331c
* src/ios: 89d395a411..8f35e7fbb0
* src/testing: 2d89ba8fdb..76a6275418
* src/third_party: 12369ff543..3bd4180fbf
* src/third_party/android_tools: https://chromium.googlesource.com/android_tools.git/+log/e958d6ea74..347a7c8078
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/6c1b376e1d..1a51a5b4a6
* src/third_party/depot_tools: 4f738c1fe5..a1fbdff177
* src/tools: ce771681ff..7d96add57e
DEPS diff: b1a56e7eae..b4fb8097f2/DEPS

No update to Clang.

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

Change-Id: I5af637e3822ff4cb49d22a14e40016ca3995bb45
Reviewed-on: https://webrtc-review.googlesource.com/c/121140
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@{#26519}
2019-02-02 01:26:40 +00:00
0f9bfbbe22 Roll chromium_revision 6893a4aa8c..b1a56e7eae (628317:628426)
Change log: 6893a4aa8c..b1a56e7eae
Full diff: 6893a4aa8c..b1a56e7eae

Changed dependencies
* src/base: ed586db47d..74adaea16c
* src/build: 2a08c53df7..484514e5b0
* src/ios: 0781525936..89d395a411
* src/testing: 93962b71ec..2d89ba8fdb
* src/third_party: 82963b25c5..12369ff543
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/da7318dd0e..8af4b4b644
* src/tools: f64cfca0b9..ce771681ff
DEPS diff: 6893a4aa8c..b1a56e7eae/DEPS

No update to Clang.

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

Change-Id: Iae5047f8a75dd3247e6f8061adcc57233b4b4f7a
Reviewed-on: https://webrtc-review.googlesource.com/c/121060
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@{#26518}
2019-02-01 20:38:43 +00:00
87bbb91469 Add rtp_generator utility to rtc_tools.
This CL introduces a new rtp_generator tool that can be utilized to generate
.rtpdump files that can be replayed by the video_replayer. This allows
automated generation of corpus material for the new WebRTC RTP fuzzers in
addition to allowing anyone who is experimenting with a new RTP feature to
quickly debug issues.

It can be used as follows:
./rtp_generator --input_config=./rtc_tools/rtp_generator/configs/vp8.json --output_rtpdump=/tmp/vp8.rtpdump
./video_replay --config_file test/fuzzers/configs/replay_packet_fuzzer/vp8_config.json --input_file /tmp/vp8.rtpdump

It works by generating squares randomly on the screen for a given duration. This
initial version is very limited and doesn't support FEC, RED and other
configurations. I plan to extend it to support these in future CLs.

Bug: webrtc:10117
Change-Id: I31d3dbb6fad73c727145ead4e7d085113d11fc51
Reviewed-on: https://webrtc-review.googlesource.com/c/119964
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26517}
2019-02-01 18:36:19 +00:00
a34d7766c5 Move RtpSenderAudioTest to its own file
Update RtpSenderAudioTest to call methods on RTPSenderAudio rather
than RTPSender, when possible. In particular, avoid
RTPSender::SendOutgoingData. Drop parameterization on the
WebRTC-SendSideBwe-WithOverhead field trial, since that appears
unrelated to these tests.

Also delete some unused parts of the RtpSender test.

Bug: webrtc:7135
Change-Id: I535bf48bb1720e2727f4a62fa3e49b2bb84394a0
Reviewed-on: https://webrtc-review.googlesource.com/c/120920
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26516}
2019-02-01 15:15:56 +00:00
05cf6be726 [clang-tidy] Apply performance-move-const-arg fixes.
This CL is a manual spin-off of [1], which tried to apply clang-tidy's
performance-move-const-arg [1] to the WebRTC codebase.

Since there are some wrong fixes to correct, this CL collects all the
fixes that could be landed as is.

[1] - https://webrtc-review.googlesource.com/c/src/+/120350
[2] - https://clang.llvm.org/extra/clang-tidy/checks/performance-move-const-arg.html

Bug: webrtc:10252
Change-Id: Ic4882213556344e65c66e27415e91ff6f89134d7
Reviewed-on: https://webrtc-review.googlesource.com/c/120814
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26515}
2019-02-01 15:02:36 +00:00
9e24fc2196 Roll chromium_revision ecc3b419cc..6893a4aa8c (628213:628317)
Change log: ecc3b419cc..6893a4aa8c
Full diff: ecc3b419cc..6893a4aa8c

Changed dependencies
* src/build: c1ab94d375..2a08c53df7
* src/ios: 4575f3bdbc..0781525936
* src/testing: a03407ae65..93962b71ec
* src/third_party: 8ed004f3ee..82963b25c5
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/b6cc5a6baf..da7318dd0e
* src/third_party/depot_tools: 39b0b8e32a..4f738c1fe5
* src/tools: 6b7b19a20e..f64cfca0b9
DEPS diff: ecc3b419cc..6893a4aa8c/DEPS

No update to Clang.

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

Change-Id: I0677b11e67205f3cc4607600592bcbc5d882b2d4
Reviewed-on: https://webrtc-review.googlesource.com/c/120940
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@{#26514}
2019-02-01 14:43:14 +00:00
01dc691462 Delete sequence number save and restore in ChannelSend.
Calling ModuleRtpRtcpImpl::SetSendingStatus or
ModuleRtpRtcpImpl::SetSendingMediaStatus doesn't change the
current sequence number, which is part of the RTPSender state.

Bug: webrtc:2111
Change-Id: I432d4daa7ab4cc25d87b90c8b1b255359ffbe3a3
Reviewed-on: https://webrtc-review.googlesource.com/c/120401
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26513}
2019-02-01 14:41:15 +00:00
6c70e16a4a Fix RTCStatsReport::ConstIterator move constructor.
This problem has been originally discovered by clang-tidy while trying
to apply performance-move-const-arg [1] on [2].

[1] - https://clang.llvm.org/extra/clang-tidy/checks/performance-move-const-arg.html
[2] - https://webrtc-review.googlesource.com/c/src/+/120350

Bug: webrtc:10252
Change-Id: I2b0a116f78ca8096a6cf2bc23e2f4b8f372ca04f
Reviewed-on: https://webrtc-review.googlesource.com/c/120815
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26512}
2019-02-01 14:12:43 +00:00
4bfbb01e84 Improve CPU utilization when encoding VP8 with a single temporal layer
Prior to this CL, when software VP8 encoding was done with one temporal
layer, instead of only predicting from the latest frame, the code
allowed the encoder to reference the latest key frame as well.
This improves quality for the few frames immediately after
the key frame, but is not useful for later frames, which diverge
significantly from the key frame. However, the cost of producing
the prediction from more than one reference is incurred by all frames.
My measurements of the effect of this show an improvement
in CPU utilization of 5%-13% when this is not done.

foreman_352x288, 30fps, target bitrate 500kps
Pre-change:
send_enc_speed_fps: avg(566.187, 570.012, 575.665) = 570.621
send_avg_qp: 45.36
send_avg_psnr: 37.13
Post-change:
send_enc_speed_fps: avg(633.188, 604.694, 623.232) = 620.371
send_avg_qp: 45.88
send_avg_psnr: 37.0749
Improvement in send_enc_speed_fps: 8.71%

foreman_480x272, 30fps, target bitrate 500kps
Pre-change:
send_enc_speed_fps: avg(481.244, 486.971, 487.322) = 485.179
send_avg_qp: 48.9
send_avg_psnr: 37.6217
Post-change:
send_enc_speed_fps: avg(521.651, 499.416, 511.551) = 510.872
send_avg_qp: 48.88
send_avg_psnr: 37.6094
Improvement in send_enc_speed_fps: 5.29%

news_352x288, 30fps, target bitrate 500kps
Pre-change:
send_enc_speed_fps: avg(699.407, 697.837, 699.49) = 698.9113333
send_avg_qp: 24.15
send_avg_psnr: 40.9551
Post-change:
send_enc_speed_fps: avg(758.526, 768.104, 757.232) = 761.2873333
send_avg_qp: 23.9833
send_avg_psnr: 40.9697
Improvement in send_enc_speed_fps: 8.92%

Bridge_180x320_15 (video of brandtr@ from Google), 15fps, target bitrate 500kps
Pre-change:
send_enc_speed_fps: avg(454.757, 450.399, 446.812) = 450.656
send_avg_qp: 17.6771
send_avg_psnr: 39.9267
Post-change:
send_enc_speed_fps: avg(500.014, 513.316, 513.613) = 508.981
send_avg_qp: 17.6837
send_avg_psnr: 39.9137
Improvement in send_enc_speed_fps: 12.94%

Bug: webrtc:10281
Change-Id: If02736e1535c5f46689fd42b657e35a1e1f64d6d
Reviewed-on: https://webrtc-review.googlesource.com/c/120904
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26511}
2019-02-01 14:11:38 +00:00
ab56670af9 Add a small README file for api/
Bug: none
Change-Id: Ied90a30724c3b3230af4aa4ffa8d4ee5b617f8a6
Notry: true
Reviewed-on: https://webrtc-review.googlesource.com/c/120605
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26510}
2019-02-01 13:24:47 +00:00
65cc52ebca Fix heap use overrun in FakeEncoder
By removing unnecessary fixed size buffer.

BUG=webrtc:10276

Change-Id: I303303d8c4aa356372875abe6db5711cd10bcc71
Reviewed-on: https://webrtc-review.googlesource.com/c/120811
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26509}
2019-02-01 11:26:57 +00:00
4f6c539105 Update internal.*.webrtc iOS bots iOS version, remove redundant config file
This is a reland of 9a27c2fc7a2eb068eb06fad2e991039e2fceb960

Original change's description:
> Make internal.*.webrtc iOS bots dimensions depend on bot_id and pool only
>
> Bug: webrtc:10047
> Change-Id: I48bcc15721859062c73c7e5fbae7a2fd65713adc
> Reviewed-on: https://webrtc-review.googlesource.com/c/120615
> Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> Commit-Queue: Artem Titarenko <artit@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26485}

No-Try: true
Bug: webrtc:10047
Change-Id: Ib9f765439dc58d4e63a201d746129f99e8271175
Reviewed-on: https://webrtc-review.googlesource.com/c/120803
Commit-Queue: Artem Titarenko <artit@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26508}
2019-02-01 10:33:06 +00:00
6347029875 Removes usages of TaskQueueCongestionControl field trial.
It doesn't do anything any more, so it should be removed.

Bug: webrtc:9586
Change-Id: I0b320b6ce4f480ff8cb59451db29bcc77b882b5f
Reviewed-on: https://webrtc-review.googlesource.com/c/120813
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26507}
2019-02-01 09:46:59 +00:00
f1d1061e51 mb: Fix iOS config after the earlier CL
Followup to https://webrtc-review.googlesource.com/120404

Add forgotten bot ios_arm64_perf.
Drop dcheck_always_on from perf bots like it was before.

Bug: webrtc:10253
Change-Id: I1ab989a6d6059f5ddf6f341e54fcc92cac97755a
Reviewed-on: https://webrtc-review.googlesource.com/c/120804
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26506}
2019-02-01 08:51:45 +00:00
4a2911fc50 Roll chromium_revision 9963b4a7d5..ecc3b419cc (628101:628213)
Change log: 9963b4a7d5..ecc3b419cc
Full diff: 9963b4a7d5..ecc3b419cc

Changed dependencies
* src/base: 1eebae8c27..ed586db47d
* src/build: 90e66bc2ad..c1ab94d375
* src/ios: 9a63603764..4575f3bdbc
* src/testing: 3cf865e559..a03407ae65
* src/third_party: f09defc3ff..8ed004f3ee
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/2061050c4d..b6cc5a6baf
* src/third_party/depot_tools: 50b187ca83..39b0b8e32a
* src/third_party/libvpx/source/libvpx: 9ecc0e779a..cde3da57b9
* src/tools: 42fe5bfbda..6b7b19a20e
DEPS diff: 9963b4a7d5..ecc3b419cc/DEPS

No update to Clang.

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

Change-Id: I1886caab75a29059d3b694b063b31da1a3ab8199
Reviewed-on: https://webrtc-review.googlesource.com/c/120865
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@{#26505}
2019-02-01 03:38:11 +00:00
831bd96138 Remove unnecessary memset to DesktopFrame
With a recent change, the webrtc::DesktopFrame is created and
initialized with 0. So it's not necessary to call memset() to
the frame again any more.

See https://webrtc-review.googlesource.com/c/src/+/97184/

Bug: webrtc:9703
Change-Id: I27d096058ead075765f4c49bf60cb8d725da1afd
Reviewed-on: https://webrtc-review.googlesource.com/c/120700
Commit-Queue: Brave Yao <braveyao@webrtc.org>
Reviewed-by: Brave Yao <braveyao@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26504}
2019-02-01 01:21:48 +00:00
f3e9abf6b3 Add field trial for ExtraICEPing
This patch adds a field trial for sending an extra ice ping
when receiving a ice ping and we have not received an ice ping
response. The theory is that this will decrease time it takes
for a connection to become writable and improve behavior with
ice reroutes (choosing a new ice candidate pair).

Bug: webrtc:10273
Change-Id: I98d442649869e7c7655edbbb5ab42c596f5d3b9d
Reviewed-on: https://webrtc-review.googlesource.com/c/120722
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26503}
2019-01-31 22:40:16 +00:00
39ecb17572 Roll chromium_revision 71d81bd262..9963b4a7d5 (627987:628101)
Change log: 71d81bd262..9963b4a7d5
Full diff: 71d81bd262..9963b4a7d5

Changed dependencies
* src/base: eed1b927dc..1eebae8c27
* src/build: 036ce949f6..90e66bc2ad
* src/ios: 06dbb6d476..9a63603764
* src/testing: b216197e41..3cf865e559
* src/third_party: 08cb17e8b3..f09defc3ff
* src/tools: a922084473..42fe5bfbda
DEPS diff: 71d81bd262..9963b4a7d5/DEPS

No update to Clang.

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

Change-Id: I0a496a8fc2a59f6a3379fbfc798478b5918fcd57
Reviewed-on: https://webrtc-review.googlesource.com/c/120843
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@{#26502}
2019-01-31 22:36:16 +00:00
1e6e773d79 Add steveanton@ to media/ OWNERS
Bug: None
Change-Id: Ic1f9e72cb574002539f4fe84d483bb94afbfbb71
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/c/120747
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26501}
2019-01-31 22:10:21 +00:00
e92d6624e8 Modify pc/ WATCHLISTS definition
Bug: None
Change-Id: I187981ac0dd16c7da299208e8dc351a686e8eea9
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/c/120820
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26500}
2019-01-31 22:09:16 +00:00
a177f801e4 Roll chromium_revision a91ca6cb6f..71d81bd262 (627878:627987)
Change log: a91ca6cb6f..71d81bd262
Full diff: a91ca6cb6f..71d81bd262

Changed dependencies
* src/base: a6964ea54f..eed1b927dc
* src/build: b6c33ca929..036ce949f6
* src/ios: 27d4dd83f5..06dbb6d476
* src/testing: af8ccf68fb..b216197e41
* src/third_party: 64b1dd4a22..08cb17e8b3
* src/tools: a45805a008..a922084473
DEPS diff: a91ca6cb6f..71d81bd262/DEPS

No update to Clang.

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

Change-Id: Ie2fe5deb57cb93a9f12887e0e37a2239167c39ad
Reviewed-on: https://webrtc-review.googlesource.com/c/120746
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@{#26499}
2019-01-31 17:44:37 +00:00
7af962b38d Add field trial to configure averaging window for BitrateEstimator.
Bug: webrtc:10274
Change-Id: Ida699c8e0cdc91d55f91e7f685d0ab7e880703a0
Reviewed-on: https://webrtc-review.googlesource.com/c/120809
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26498}
2019-01-31 16:18:42 +00:00
01f64e0eb2 Add test to verify TaskQueue memory access order.
Bug: webrtc:10138
Change-Id: I53e8a3a612ad44feced8d63a4035d79b7e0f22a9
Reviewed-on: https://webrtc-review.googlesource.com/c/120601
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26497}
2019-01-31 14:45:45 +00:00
5054f54457 Partial frame capture API part 2
Implement test utility for extracting changed part of video frames.

Bug: webrtc:10152
Change-Id: Iead052d2a18384aaa828cd7821be961b8614568e
Reviewed-on: https://webrtc-review.googlesource.com/c/120407
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26496}
2019-01-31 14:44:40 +00:00
b6458e1af2 Switch test on audio stream instead of data channel.
Create audio stream instead of data channel to check compatibility of
network layer with PeerConnection. Replacement is done because there is
a data race inside data channel sctp transport. This CL will fix
bot behavior. Further data race investigation will be done in this
bug: https://bugs.chromium.org/p/webrtc/issues/detail?id=10268

Bug: webrtc:10268, webrtc:10138
Change-Id: I4f7a1116c65dbf4a3508b7d81d654ccd320795f0
Reviewed-on: https://webrtc-review.googlesource.com/c/120807
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26495}
2019-01-31 14:16:11 +00:00
c84f661b10 Stop using Googletest legacy APIs.
Googletest recently started replacing the term Test Case by Test Suite.
From now on, the preferred API is TestSuite*; the older TestCase* API
will be slowly deprecated.

This CL moves WebRTC to the new set of APIs.

More info in [1].

This CL has been generated with this script:

declare -A items
items[TYPED_TEST_CASE]=TYPED_TEST_SUITE
items[TYPED_TEST_CASE_P]=TYPED_TEST_SUITE_P
items[REGISTER_TYPED_TEST_CASE_P]=REGISTER_TYPED_TEST_SUITE_P
items[INSTANTIATE_TYPED_TEST_CASE_P]=INSTANTIATE_TYPED_TEST_SUITE_P
items[INSTANTIATE_TEST_CASE_P]=INSTANTIATE_TEST_SUITE_P
for i in "${!items[@]}"
do
  git ls-files | xargs sed -i "s/\b$i\b/${items[$i]}/g"
done
git cl format

[1] - https://github.com/google/googletest/blob/master/googletest/docs/primer.md#beware-of-the-nomenclature

Bug: None
Change-Id: I5ae191e3046caf347aeee01554d5743548ab0e3f
Reviewed-on: https://webrtc-review.googlesource.com/c/118701
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26494}
2019-01-31 13:23:33 +00:00