21624 Commits

Author SHA1 Message Date
Edward Lesmes
9599fd4414 Make num-retries default a string.
TBR=phoglund@webrtc.org

Bug: chromium:755660
Change-Id: I770a79a78721a312b603aec40d23689245a48001
Reviewed-on: https://webrtc-review.googlesource.com/61343
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22392}
2018-03-12 21:19:51 +00:00
Emircan Uysaler
f1ff3bdad2 Rename I420A Multiplex perf test
This test doesn't use foreman_cif as input, so correct the naming to reflect that
input comes from "Generator".

Bug: webrtc:7671
Change-Id: I4bc8fc5eb5c9c3aa1ecc95f47510ee5eaec398eb
Reviewed-on: https://webrtc-review.googlesource.com/61288
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22391}
2018-03-12 21:12:59 +00:00
Edward Lesmes
5b9c6840b1 Add num-retries flag to Android perf tests.
Add a flag to Android perf tests, so we can specify the number of
retries.

Bug: chromium:755660
Change-Id: Ic498373421b7e0fdf779a4659a0c79d47a59fbde
Reviewed-on: https://webrtc-review.googlesource.com/61103
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22390}
2018-03-12 19:51:09 +00:00
Autoroller
15fb915917 Roll chromium_revision 533a782979..f523bbad0e (542411:542531)
Change log: 533a782979..f523bbad0e
Full diff: 533a782979..f523bbad0e

Changed dependencies:
* src/base: e5f262681d..8740eceda2
* src/build: 8e843a96fa..ac5c4ee5cc
* src/ios: 6ece7bb274..91910d79bd
* src/testing: b6292e246e..e456fcb763
* src/third_party: 0f2a7d944e..d79ddd05c9
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/1537dcedd2..6eaec901b9
* src/tools: eecd4a7bcb..4095b600b7
DEPS diff: 533a782979..f523bbad0e/DEPS

No update to Clang.

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

Change-Id: I2de40e08d9976bb2422825140f99bc78e39bc3ac
Reviewed-on: https://webrtc-review.googlesource.com/61286
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22389}
2018-03-12 18:19:09 +00:00
Artem Titov
3faa832247 Separate test/fake_audio_device on API and implementation. Step 2.
Switch WebRTC internal usage of FakeAudioDevice on TestAudioDeviceModule.

Bug: webrtc:8946
Change-Id: I96b8b5d3b475d2197662e9007f836bd71f8ed04d
Reviewed-on: https://webrtc-review.googlesource.com/60521
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22388}
2018-03-12 16:14:39 +00:00
Sebastian Jansson
19704ec698 Removing AvailableBandwidth method on transport controller.
Removing the Synchronous call AvailableBandwidth from the
RtpTransportControllerSend interface. The bandwidth estimate is
provided trough a new interface that communicates with a struct
making it easier to add parameters in the future.

This prepares for removing locking behavior in
SendSideCongestionController that exists just to support this feature.

To keep backwards compatibility with the old
SendSideCongestionController, the struct TargetTransferRate
is constructed in RtpTransportControllerSend. This step can be
removed in the future when the old SendSideCongestionController
 is deprecated.

Bug: webrtc:8415
Change-Id: I06f64a89848157de412901c989650d1ecf35246b
Reviewed-on: https://webrtc-review.googlesource.com/60800
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22387}
2018-03-12 15:53:49 +00:00
Sami Kalliomäki
b9f4bf29d0 Remove build hooks implementation from AAR-builds.
It is unnecessary to include the build hooks implementation because we
don't use them. It was also causing errors because the interface the
class implements is not included in the AAR.

Also removes comments about re-enabling build hooks because it has grown
into something very Chromium specific and it is unlikely that we want to
re-enable them.

Bug: webrtc:8964, webrtc:8168
Change-Id: Ia95af13e90a5511554305d2688ced820e9914beb
Reviewed-on: https://webrtc-review.googlesource.com/61302
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22386}
2018-03-12 14:38:39 +00:00
Sami Kalliomäki
3e77afd0d2 Add an example app for Android native API.
The app is a simple loopback demo demonstrating the usage of Android
native API. This is an initial version and I will add support for
HW codecs etc. in the future.

Bug: webrtc:8769
Change-Id: Ifb6209769dabeb8ca3185b969a1ef8afd6d84390
Reviewed-on: https://webrtc-review.googlesource.com/60540
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22385}
2018-03-12 14:22:59 +00:00
Per Åhgren
0dd7435abc Correcting the reading of the AEC3 options in audioproc_f
This CL corrects some errors that were included in the CL for reading
the AEC3 options in the audioproc_f tool

Bug: webrtc:8671
Change-Id: Iecaee0ebf08f8a8f75aba1d395dd467a41b876f3
Reviewed-on: https://webrtc-review.googlesource.com/60870
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22384}
2018-03-12 13:39:39 +00:00
Karl Wiberg
d6fbf2a4b1 Tests: Pass codec ID argument to audio codecs
Bug: webrtc:8941
Change-Id: Ia6d51dcbf7d69b38f3615e01d3f7031b8f5c31d0
Reviewed-on: https://webrtc-review.googlesource.com/58092
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22383}
2018-03-12 13:25:29 +00:00
Niels Möller
6fed924857 Delete RTPPayloadRegistry::SetIncomingPayloadType.
It only affects the write-only member |incoming_payload_type_|.

Bug: webrtc:8995
Change-Id: I0cf86a6d0603c809367105cee31eb1b8b2802d32
Reviewed-on: https://webrtc-review.googlesource.com/61040
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22382}
2018-03-12 11:03:59 +00:00
Henrik Boström
b619936dee Stats traversal algorithm added.
This is part of the work to add a selector argument to getStats().

Changes:
- TakeReferencedStats() added, which traverses the stats graph and takes
  any stats from the report that are directly or indirectly accessible
  from the starting stats objects in the stats graph. The result is
  returned as a stats report.
- GetStatsReferencedIds(), an efficient helper function for getting
  neighbor stats object IDs.
- RTCStatsReport::Take(), removed the stats object with the given ID and
  returns ownership of it (so that it can be added to another report).

TakeReferencedStats() is tested with a bunch of sample stats graphs.

GetStatsReferencedIds() is tested in the rtcstats_integrationttest.cc,
making sure the expected IDs are returned. The expected IDs are the
values of the stats object members with the "Id" or "Ids" suffix.

Design doc:
https://docs.google.com/document/d/18BywbtXgHCjsbR5nWBedpzqDjAfXrFSTJNiADnzoK0w/edit?usp=sharing

Bug: chromium:680172
Change-Id: I5da9da8250da0cb05adb864015901393a4290776
Reviewed-on: https://webrtc-review.googlesource.com/60869
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22381}
2018-03-12 10:54:09 +00:00
Rasmus Brandt
0f1c0bd326 Add async simulcast support to VideoProcessor.
For the buffering of |input_frames_|, we assume that frames
are ordered per simulcast layer but we make no assumptions
between layers.

For SVC, we still assume ordering of encode callbacks for
the spatial layers. If we ever add async codecs that support SVC,
they should still obey this assumption.

Bug: webrtc:8448
Change-Id: I4ebb0c1e1d0eef41d850ed5b92aacc79d0a11137
Reviewed-on: https://webrtc-review.googlesource.com/60801
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22380}
2018-03-12 09:36:39 +00:00
Autoroller
0fdb317b67 Roll chromium_revision abe34c4ead..533a782979 (542307:542411)
Change log: abe34c4ead..533a782979
Full diff: abe34c4ead..533a782979

Changed dependencies:
* src/base: e3ff882773..e5f262681d
* src/testing: 120169c8d4..b6292e246e
* src/third_party: bd89bbe67d..0f2a7d944e
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/21ff400bb4..1537dcedd2
* src/tools: 9ad2626dd0..eecd4a7bcb
DEPS diff: abe34c4ead..533a782979/DEPS

No update to Clang.

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

Change-Id: I1a751805668ca162a0cce5bc4be3fad0cda7a1dc
Reviewed-on: https://webrtc-review.googlesource.com/61249
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22379}
2018-03-12 01:36:48 +00:00
Karl Wiberg
abff7dd7c9 De-inline SimpleStringBuilder methods
Bug: webrtc:8982
Change-Id: Iadc83f6de48aad9e66952b6d3ff917672e87e247
Reviewed-on: https://webrtc-review.googlesource.com/61042
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22378}
2018-03-10 16:32:17 +00:00
Autoroller
19170186a0 Roll chromium_revision eead1e7595..abe34c4ead (542200:542307)
Change log: eead1e7595..abe34c4ead
Full diff: eead1e7595..abe34c4ead

Changed dependencies:
* src/base: 585d9bdc59..e3ff882773
* src/ios: 02ff6db311..6ece7bb274
* src/testing: e79d3cec67..120169c8d4
* src/third_party: 8873d196ad..bd89bbe67d
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/b90b97cf8d..21ff400bb4
* src/tools: d1b3aff080..9ad2626dd0
DEPS diff: eead1e7595..abe34c4ead/DEPS

No update to Clang.

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

Change-Id: I9627a8499b46212535360dfa39f8ad5ef81511bb
Reviewed-on: https://webrtc-review.googlesource.com/61144
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22377}
2018-03-10 03:02:14 +00:00
Emircan Uysaler
03e6ec9db0 Reland "Add multiplex case to webrtc_perf_tests"
This is a reland of d90a7e842437f5760a34bbfa283b3c4182963889

Original change's description:
> Add multiplex case to webrtc_perf_tests
>
> This CL adds two new tests to perf, covering I420 and I420A input to multiplex
> codec. In order to have the correct input, it adds I420A case to
> SquareGenerator and corresponding PSNR and SSIM calculations.
>
> Bug: webrtc:7671
> Change-Id: I9735d725bbfba457e804e29907cee55406ae5c8d
> Reviewed-on: https://webrtc-review.googlesource.com/52180
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22330}

Bug: webrtc:7671
Change-Id: Ib6e37ce4bc0bae903dd72f49ffdc2ee583d75491
TBR: niklas.enbom@webrtc.org, phoglund@webrtc.org, sprang@webrtc.org
Reviewed-on: https://webrtc-review.googlesource.com/61120
Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22376}
2018-03-10 01:21:04 +00:00
Autoroller
35576ac007 Roll chromium_revision a6afb13552..eead1e7595 (542089:542200)
Change log: a6afb13552..eead1e7595
Full diff: a6afb13552..eead1e7595

Changed dependencies:
* src/base: 15daf4df4a..585d9bdc59
* src/build: d8b353b735..8e843a96fa
* src/ios: b4344e2cca..02ff6db311
* src/testing: e7b24ec1ba..e79d3cec67
* src/third_party: 98ea2bc461..8873d196ad
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/8f3d6b77ac..b90b97cf8d
* src/tools: 8ff992fb51..d1b3aff080
DEPS diff: a6afb13552..eead1e7595/DEPS

No update to Clang.

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

Change-Id: Iebfd3ed833c190a29adc68342010de2de0265e37
Reviewed-on: https://webrtc-review.googlesource.com/60961
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22375}
2018-03-09 20:57:54 +00:00
Pengyu Liao
ba907f0058 Add stereo support to FakeAudioDevice.
The stereo-ness depends on the input Capturer and Renderer:
1) The stereo-ness of playout equals to Renderer;
2) The stereo-ness of recording equals to Capturer.

Bug: webrtc:8978
Change-Id: Ib41b8294c30ef6db54fdaf9d1890de0135a976d1
Reviewed-on: https://webrtc-review.googlesource.com/60100
Commit-Queue: Pengyu Liao <pengyul@google.com>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22374}
2018-03-09 18:43:24 +00:00
George Zhou
2770c3df91 Synced webrtc_unity_plugin to the latest webrtc and fixed bugs.
1, Let targets libwebrtc_unity and webrtc_unity_plugin built with Ninja -C out/***.
2, Fixed compile issue of libwebrtc_unity.
3, Built libwebrtc_unity classes into Java 7 instead of Java 8 for android.
4, Added an interface to enable peerconnectionFactory for android in Unity.

Bug: webrtc:8986
Change-Id: I2a206a77ab38895ec9ac845ce89507d61076d396
Reviewed-on: https://webrtc-review.googlesource.com/59000
Reviewed-by: Qiang Chen <qiangchen@chromium.org>
Commit-Queue: George Zhou <gyzhou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#22373}
2018-03-09 18:34:14 +00:00
Ivo Creusen
8c812f3fc3 Restructure the audioproc_f tool into a library with a thin executable wrapper.
This refactoring makes it easier to experiment with injectable components.

Bug: webrtc:8732
Change-Id: I2cd2a8ff80516a76aec814af02b61778915f2217
Reviewed-on: https://webrtc-review.googlesource.com/60863
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22372}
2018-03-09 18:06:04 +00:00
Sebastian Jansson
45d9c1de9c Added congestion control functionality to pacer.
This adds the ability to the pacer to apply a congestion window by
tracking sent data. This makes it more reliable when the congestion
window is small enough to be filled at a high rate as there are less
thread context switches that might affect the timing and performance.

Outstanding data is not reduced by the pacer as it has no information
about acknowledged packet feedback. This is by design as the pacer would
also need to keep track of on which connection packets were sent or
received, requiring a larger, more complex, change to the pacer.

Bug: webrtc:8415
Change-Id: I4ecd303e835552ced042cd21186da910288a8258
Reviewed-on: https://webrtc-review.googlesource.com/51764
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22371}
2018-03-09 17:40:24 +00:00
Sebastian Jansson
dae6aad6e7 Providing bitrate constraints in SSCC constructor.
This ensures that SendSideCongestionController is always initialized
with starting bitrate and bitrate limits.

Bug: webrtc:8415
Change-Id: If3b75e935dda755f9e0f40af1021f97ff150c9e9
Reviewed-on: https://webrtc-review.googlesource.com/59224
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22370}
2018-03-09 17:26:14 +00:00
Niels Möller
09ae92a38f Delete unused method RTPPayloadRegistry::SetRtxPayloadType.
And write-only mapping rtx_payload_type_map_.

Bug: webrtc:8995
Change-Id: I5193d411587bc4eadb9521250519990781515a76
Reviewed-on: https://webrtc-review.googlesource.com/61041
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22369}
2018-03-09 16:51:44 +00:00
Danil Chapovalov
dd7e284ce8 Reland "Enable and fix chromium clang warnings in rtp_rtcp test targets"
This reverts commit 01aa210fad68f1006528d32d388b307c22990734.

Reason for revert: downstream project adjusted

Original change's description:
> Revert "Enable and fix chromium clang warnings in rtp_rtcp test targets"
> 
> This reverts commit 9486b117daac09c9f7ac8450ccda835938cf3150.
> 
> Reason for revert: Breaks downstream project
> 
> Original change's description:
> > Enable and fix chromium clang warnings in rtp_rtcp test targets
> > 
> > Bug: webrtc:163
> > Change-Id: I4ed3e63296d8bf06536a83196d597c7a906ba11c
> > Reviewed-on: https://webrtc-review.googlesource.com/60802
> > Reviewed-by: Björn Terelius <terelius@webrtc.org>
> > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#22357}
> 
> TBR=danilchap@webrtc.org,phoglund@webrtc.org,terelius@webrtc.org
> 
> Change-Id: I2c3777ea9f26813bdb395e7fd68f6b49443586ea
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:163
> Reviewed-on: https://webrtc-review.googlesource.com/61060
> Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22365}

TBR=danilchap@webrtc.org,phoglund@webrtc.org,oprypin@webrtc.org,terelius@webrtc.org

Change-Id: I0b4cb6d05b37caeb52cca9abf95417ad3ad6f76b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:163
Reviewed-on: https://webrtc-review.googlesource.com/61080
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22368}
2018-03-09 16:04:35 +00:00
Harald Alvestrand
5081c0cc6d Change error handlers for Set*Description to use RTCError
Needed in order to return error codes to Chromium.

Bug: chromium:819629, chromium:589455
Change-Id: Iab22250db62a348eee21c6d8bfc44020a7380586
Reviewed-on: https://webrtc-review.googlesource.com/60522
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22367}
2018-03-09 15:37:34 +00:00
Autoroller
a5aa68b73f Roll chromium_revision 6f54ca247b..a6afb13552 (541802:542089)
Change log: 6f54ca247b..a6afb13552
Full diff: 6f54ca247b..a6afb13552

Changed dependencies:
* src/base: 824c18ebe1..15daf4df4a
* src/build: f8a8dffa89..d8b353b735
* src/ios: 60b03e72b3..b4344e2cca
* src/testing: d78e3853ae..e7b24ec1ba
* src/third_party: 5275c46747..98ea2bc461
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/6fbfa7cb20..8f3d6b77ac
* src/third_party/depot_tools: 53014653d8..44048672dc
* src/tools: 2e8f687275..8ff992fb51
DEPS diff: 6f54ca247b..a6afb13552/DEPS

No update to Clang.

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

Change-Id: I7a12ed81f7203e4bba17036d5577d729f399a0f1
Reviewed-on: https://webrtc-review.googlesource.com/60981
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22366}
2018-03-09 14:59:34 +00:00
Oleh Prypin
01aa210fad Revert "Enable and fix chromium clang warnings in rtp_rtcp test targets"
This reverts commit 9486b117daac09c9f7ac8450ccda835938cf3150.

Reason for revert: Breaks downstream project

Original change's description:
> Enable and fix chromium clang warnings in rtp_rtcp test targets
> 
> Bug: webrtc:163
> Change-Id: I4ed3e63296d8bf06536a83196d597c7a906ba11c
> Reviewed-on: https://webrtc-review.googlesource.com/60802
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22357}

TBR=danilchap@webrtc.org,phoglund@webrtc.org,terelius@webrtc.org

Change-Id: I2c3777ea9f26813bdb395e7fd68f6b49443586ea
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:163
Reviewed-on: https://webrtc-review.googlesource.com/61060
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22365}
2018-03-09 14:49:15 +00:00
Sergey Silkin
d4bc01b7dd Added printing of frame level statistics.
Bug: none
Change-Id: I0fa607c4f26ccf2bceac116c7869698c9d16cfa3
Reviewed-on: https://webrtc-review.googlesource.com/61000
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22364}
2018-03-09 14:20:54 +00:00
Niels Moller
465e96291d Revert "Delete VideoCodec::plName"
This reverts commit 89d88c0b9d61975bc63623ab8028377d8f9733dc.

Reason for revert: Breaks an internal project.

Original change's description:
> Delete VideoCodec::plName
> 
> All use was deleted in cl https://webrtc-review.googlesource.com/56100, now
> delete the actual member too.
> 
> Bug: webrtc:8830
> Change-Id: Iabbfd8eb08078e39a8e57f33f7c6a9de4bc3b6cb
> Reviewed-on: https://webrtc-review.googlesource.com/60300
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22353}

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

Change-Id: I4901d2a7ef6de5f87520d7026906608904cf825e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8830
Reviewed-on: https://webrtc-review.googlesource.com/60901
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22363}
2018-03-09 13:58:35 +00:00
Oleh Prypin
72467c24ac Fix NarrowingCompoundAssignment warning
This ErrorProne warning was enabled in
http://crrev.com/96c7ab0153ae97a8d8e05949f36cd7bb8eedbf1d
https://webrtc-review.googlesource.com/60849

Bug: None
Change-Id: I5e622f84925ee96e7743d2c08d17fcdb4c4a0f55
Reviewed-on: https://webrtc-review.googlesource.com/60940
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22362}
2018-03-09 13:52:09 +00:00
Danil Chapovalov
a06f360d5b in RtcpTransceiverImplTest relax expectation on wait time between reports
If 10ms delayed report is scheduled at 1.9ms (truncated by TaskQueue clock to 1ms)
it may run at 11.1ms (truncated to 11ms, i.e. first time it look like 10ms passed).
But (test) clock with different time offset may see passed time as 9ms
which result in a test failure for a wrong reason.

Relaxing period expectation by 1ms should mitigate the issue

Bug: webrtc:8945
Change-Id: I902d8af436fc74d4a3a0ad8ffdb5a6d3565adb7d
Reviewed-on: https://webrtc-review.googlesource.com/58095
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22361}
2018-03-09 13:51:04 +00:00
Henrik Lundin
8fabab1509 CNG fuzzer: avoid long fuzzer runs by limiting generator calls
The number of calls to ComfortNoiseDecoder::Generate() was determined
by the fuzzer input, and was chosen between 0 and 255. This would
sometimes lead to very long runs, with questionable merit. With this
change, the number of call to Generate() is limited to 17 (an
arbitrary small integer).

Bug: chromium:820078
Change-Id: I27b5c7f0b72d53370d002a6b157d4451079a0ba9
Reviewed-on: https://webrtc-review.googlesource.com/60941
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22360}
2018-03-09 13:16:44 +00:00
Sergey Silkin
3285897c1f Cleaning up modules_tests resources.
* Removed video files which were not used by any tests.
* Removed ConferenceMotion_1280_720_50.yuv for mobile builds.

Bug: webrtc:8936
Change-Id: I0539e9fce20470fcc2f0af84bd297faffc4b587a
Reviewed-on: https://webrtc-review.googlesource.com/60942
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22359}
2018-03-09 12:57:24 +00:00
Oleh Prypin
5a98049f6a Revert "Reland "Rework rtp packet history""
This reverts commit 7bb37b884b197ea22e2830b043c09018c186bad5.

Reason for revert: Breaks downstream projects

Original change's description:
> Reland "Rework rtp packet history"
> 
> This is a reland of 6328d7cbbc8a72fdc81a766c0bf4039e1e2e7887
> 
> Original change's description:
> > Rework rtp packet history
> > 
> > This CL rewrites the history from the ground up, but keeps the logic
> > (mostly) intact. It does however lay the groundwork for adding a new
> > mode where TransportFeedback messages can be used to remove packets
> > from the history as we know the remote end has received them.
> > 
> > This should both reduce memory usage and make the payload based padding
> > a little more likely to be useful.
> > 
> > My tests show a reduction of ca 500-800kB reduction in memory usage per
> > rtp module. So with simulcast and/or fec this will increase. Lossy
> > links and long RTT will use more memory.
> > 
> > I've also slightly update the interface to make usage with/without
> > pacer less unintuitive, and avoid making a copy of the entire RTP
> > packet just to find the ssrc and sequence number to put into the pacer.
> > 
> > The more aggressive culling is not enabled by default. I will
> > wire that up in a follow-up CL, as there's some interface refactoring
> > required.
> > 
> > Bug: webrtc:8975
> > Change-Id: I0c1bb528f32eeed0fb276b4ae77ae3235656980f
> > Reviewed-on: https://webrtc-review.googlesource.com/59441
> > Commit-Queue: Erik Språng <sprang@webrtc.org>
> > Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#22347}
> 
> Bug: webrtc:8975
> Change-Id: Ibbdbcc3c13bd58d994ad66f789a95ef9bd9bc19b
> Reviewed-on: https://webrtc-review.googlesource.com/60900
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22356}

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

Change-Id: Id698f5dbba6f9f871f37501d056e2b8463ebae50
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8975
Reviewed-on: https://webrtc-review.googlesource.com/61020
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22358}
2018-03-09 12:28:39 +00:00
Danil Chapovalov
9486b117da Enable and fix chromium clang warnings in rtp_rtcp test targets
Bug: webrtc:163
Change-Id: I4ed3e63296d8bf06536a83196d597c7a906ba11c
Reviewed-on: https://webrtc-review.googlesource.com/60802
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22357}
2018-03-09 12:27:35 +00:00
Erik Språng
7bb37b884b Reland "Rework rtp packet history"
This is a reland of 6328d7cbbc8a72fdc81a766c0bf4039e1e2e7887

Original change's description:
> Rework rtp packet history
> 
> This CL rewrites the history from the ground up, but keeps the logic
> (mostly) intact. It does however lay the groundwork for adding a new
> mode where TransportFeedback messages can be used to remove packets
> from the history as we know the remote end has received them.
> 
> This should both reduce memory usage and make the payload based padding
> a little more likely to be useful.
> 
> My tests show a reduction of ca 500-800kB reduction in memory usage per
> rtp module. So with simulcast and/or fec this will increase. Lossy
> links and long RTT will use more memory.
> 
> I've also slightly update the interface to make usage with/without
> pacer less unintuitive, and avoid making a copy of the entire RTP
> packet just to find the ssrc and sequence number to put into the pacer.
> 
> The more aggressive culling is not enabled by default. I will
> wire that up in a follow-up CL, as there's some interface refactoring
> required.
> 
> Bug: webrtc:8975
> Change-Id: I0c1bb528f32eeed0fb276b4ae77ae3235656980f
> Reviewed-on: https://webrtc-review.googlesource.com/59441
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22347}

Bug: webrtc:8975
Change-Id: Ibbdbcc3c13bd58d994ad66f789a95ef9bd9bc19b
Reviewed-on: https://webrtc-review.googlesource.com/60900
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22356}
2018-03-09 11:42:34 +00:00
Karl Wiberg
881f16891b Make SimpleStringBuilder into a non-template
So that future CLs can de-inline its methods.

We do this by asking the caller to allocate the buffer instead of
having it as a data member.

Bug: webrtc:8982
Change-Id: I246b0973e54510fdd880c3b6875336c31334d008
Reviewed-on: https://webrtc-review.googlesource.com/60000
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22355}
2018-03-09 11:32:34 +00:00
Joachim Bauch
4c6a30c1bf Add templated version of ByteBufferWriter.
This CL switches to a Buffer for storing the data and allows using
a different class, e.g. "ZeroOnFreeBuffer" for sensitive data.

Bug: webrtc:8905
Change-Id: Ic56f3f51cc6d640135c4ee0e1ad0fd48d27bbbdf
Reviewed-on: https://webrtc-review.googlesource.com/60660
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Joachim Bauch <jbauch@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22354}
2018-03-09 10:50:34 +00:00
Niels Möller
89d88c0b9d Delete VideoCodec::plName
All use was deleted in cl https://webrtc-review.googlesource.com/56100, now
delete the actual member too.

Bug: webrtc:8830
Change-Id: Iabbfd8eb08078e39a8e57f33f7c6a9de4bc3b6cb
Reviewed-on: https://webrtc-review.googlesource.com/60300
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22353}
2018-03-09 09:45:33 +00:00
Sam Zackrisson
ab1aee0be4 Reland "Deprecate the adaptive level controller"
This is a reland of 6f37ed78d99daa36e964ff0a65b205f0916d9949

CQ dry run OK except for missing iOS swarming bots.
NOTRY=True

Original change's description:
> Deprecate the adaptive level controller
>
> Level control handled by default-on AGC.
>
> Bug: none
> Change-Id: I405daeceece12c896d41156b649fcfd556726f77
> Reviewed-on: https://webrtc-review.googlesource.com/59682
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Alex Loiko <aleloi@webrtc.org>
> Commit-Queue: Sam Zackrisson <saza@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22305}

Bug: none
Change-Id: I0b9b8e2f3457d5efd4603efbfbbc6b84651df315
Reviewed-on: https://webrtc-review.googlesource.com/60720
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22352}
2018-03-09 09:42:13 +00:00
Qingsi Wang
e6826d2461 Add configurable connectivity check intervals.
The connectivity check intervals for candidate pairs with strong and
weak connectivity are currently constants in the ICE implementation. A
set of suboptimal value of these constants for a given application may
result in undesirable behavior including excessive network switching
latency. This CL adds these intervals to RTCConfiguration that is
available to applications to configure, while maintaining the original
constants as their default value for compatibility with existing
applications.

Bug: webrtc:8988
Change-Id: I804b0f4cf7881be7d3c8aec2776bc9596de72482
Reviewed-on: https://webrtc-review.googlesource.com/60585
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@{#22351}
2018-03-09 08:09:43 +00:00
Taylor Brandstetter
6d72c3258f Revert "Rework rtp packet history"
This reverts commit 6328d7cbbc8a72fdc81a766c0bf4039e1e2e7887.

Reason for revert: Breaks downstream build, due to use of std::pair constructor that some compilers appear to not support yet. See comment.

Original change's description:
> Rework rtp packet history
> 
> This CL rewrites the history from the ground up, but keeps the logic
> (mostly) intact. It does however lay the groundwork for adding a new
> mode where TransportFeedback messages can be used to remove packets
> from the history as we know the remote end has received them.
> 
> This should both reduce memory usage and make the payload based padding
> a little more likely to be useful.
> 
> My tests show a reduction of ca 500-800kB reduction in memory usage per
> rtp module. So with simulcast and/or fec this will increase. Lossy
> links and long RTT will use more memory.
> 
> I've also slightly update the interface to make usage with/without
> pacer less unintuitive, and avoid making a copy of the entire RTP
> packet just to find the ssrc and sequence number to put into the pacer.
> 
> The more aggressive culling is not enabled by default. I will
> wire that up in a follow-up CL, as there's some interface refactoring
> required.
> 
> Bug: webrtc:8975
> Change-Id: I0c1bb528f32eeed0fb276b4ae77ae3235656980f
> Reviewed-on: https://webrtc-review.googlesource.com/59441
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22347}

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

Change-Id: I2fa7efc7d008c56f7a8f77bc9958c19119f69de8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8975
Reviewed-on: https://webrtc-review.googlesource.com/60880
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22350}
2018-03-08 23:41:24 +00:00
Erik Språng
8493594dc2 Cleanup of TransportFeedbackObserver interface
The GetTransportFeedbackVector() method is only used in tests, and they
can access the class directly anyway. Keeping it is adding code bloat
and is also making upcoming refactoring more difficult.

Bug: webrtc:8975
Change-Id: I8323addb3c1461dd73b30353c8d9fe9410471c15
Reviewed-on: https://webrtc-review.googlesource.com/60860
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22349}
2018-03-08 22:51:53 +00:00
Taylor Brandstetter
25e022fd5c Deliver cached stats reports asynchronously.
This has the following benefits:
* Stats reports are always delivered asynchronously. This means the API
  client doesn't need to worry about *possibly* getting a synchronous
  callback depending on when the last report was generated.
* Stats callbacks will always be invoked in the same order that the
  GetStats calls were made, even in cases where a callback recursively
  calls GetStats again.

Bug: webrtc:8973
Change-Id: I94ca4b5dc5c21a8f2df42adfcddf357f40a32025
Reviewed-on: https://webrtc-review.googlesource.com/60473
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22348}
2018-03-08 19:12:43 +00:00
Erik Språng
6328d7cbbc Rework rtp packet history
This CL rewrites the history from the ground up, but keeps the logic
(mostly) intact. It does however lay the groundwork for adding a new
mode where TransportFeedback messages can be used to remove packets
from the history as we know the remote end has received them.

This should both reduce memory usage and make the payload based padding
a little more likely to be useful.

My tests show a reduction of ca 500-800kB reduction in memory usage per
rtp module. So with simulcast and/or fec this will increase. Lossy
links and long RTT will use more memory.

I've also slightly update the interface to make usage with/without
pacer less unintuitive, and avoid making a copy of the entire RTP
packet just to find the ssrc and sequence number to put into the pacer.

The more aggressive culling is not enabled by default. I will
wire that up in a follow-up CL, as there's some interface refactoring
required.

Bug: webrtc:8975
Change-Id: I0c1bb528f32eeed0fb276b4ae77ae3235656980f
Reviewed-on: https://webrtc-review.googlesource.com/59441
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22347}
2018-03-08 19:01:53 +00:00
Rasmus Brandt
d062a3c626 Prepare VideoProcessor for async simulcast support.
* Add support for SimulcastEncoderAdapter wrapping of encoder.
* Store input frame timestamps out-of-band, so we don't need to keep
  a raw VideoFrame around just for it's timestamp.
* Store current frame rate in |framerate_fps_|, instead of in
  codec settings struct.
* Add some comments and reorder some data members.
* Explicitly include VideoBitrateAllocator.
* Change type of |input_frames_|, to avoid one layer of indirection.
* Move VideoProcessor::CalculateFrameQuality to anonymous namespace.

This change should have no functional implications.

Bug: webrtc:8448
Change-Id: I10c140eeda750d9bd37bfb6cb1e8acb401fb91d3
Reviewed-on: https://webrtc-review.googlesource.com/60520
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22346}
2018-03-08 17:41:13 +00:00
Autoroller
22229215a9 Roll chromium_revision 90346c9657..6f54ca247b (541700:541802)
Change log: 90346c9657..6f54ca247b
Full diff: 90346c9657..6f54ca247b

Changed dependencies:
* src/base: 9d5451c41e..824c18ebe1
* src/build: 84410477ef..f8a8dffa89
* src/ios: 6e4b15e880..60b03e72b3
* src/testing: 63840e3f78..d78e3853ae
* src/third_party: 2c26e360d9..5275c46747
* src/third_party/depot_tools: c29602466d..53014653d8
* src/tools: 7b3fdcf7c9..2e8f687275
DEPS diff: 90346c9657..6f54ca247b/DEPS

No update to Clang.

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

Change-Id: Ie141f4663d2310f96e06e62292d212bfea95e703
Reviewed-on: https://webrtc-review.googlesource.com/60842
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22345}
2018-03-08 16:53:13 +00:00
Per Åhgren
ad09d74f67 Extend the audioproc_f input parameters to match what is supported by AEC3
This CL extends the options for the audioproc_f tool to match the options
for AEC3.

Bug: webrtc:8671
Change-Id: I39972eae33dba461b94118ec47a8560eb9cfe5a6
Reviewed-on: https://webrtc-review.googlesource.com/43120
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22344}
2018-03-08 16:04:23 +00:00
Mirko Bonadei
a51bbd8701 Adding PRESUBMIT check to stop using istream, ostream and sstream.
WebRTC would like to stop using std::stringstream (in favor of
rtc::SimpleStringStream) and in order to avoid to introduce new
dependencies on it (and on other streams), this CL adds a PRESUBMIT
check.

The check will trigger anytime an #include of istream, ostream or
sstream is detected. It also ensures that new usages of types defined
in these headers are not introduced in the codebase.

Bug: webrtc:8982
Change-Id: I3e44d6a53772f25405234f10d4cf0a7209fedf99
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/60542
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22343}
2018-03-08 15:25:53 +00:00