Commit Graph

28760 Commits

Author SHA1 Message Date
ea55b0872f Adds support for passing a vector of packets to the paced sender.
Bug: webrtc:10809
Change-Id: Ib2f7ce9d14ee2ce808ab745ff20baf2761811cfb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155367
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29378}
2019-10-04 08:56:11 +00:00
79f3287fcf Cleanup of simple TODO(srte) comments.
Just fixing some minor TODOs in my name. Not worth splitting into
separate CLs as the changes are minor.

Bug: webrtc:9883
Change-Id: I05c54b76507a1d51b92cad080ca4e2dfe8546bf1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155520
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29377}
2019-10-04 07:57:16 +00:00
5114a927aa Remove an old hack from test_main_lib.cc.
Bug: webrtc:9792
Change-Id: I0464f08bcc023dcbcaec595fc9ebb5bfe0736f68
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155441
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29376}
2019-10-04 07:19:05 +00:00
0429f78992 Base overhead calculation for audio priority rate on available data.
This improves the accuracy of the priority bitrate on IPv6 networks
and when the min frame length is longer than 20 ms. Unless either of
those are true, there's no significant change in behavior.

Bug: webrtc:11001
Change-Id: I29530655cb607a8e7e8186431cd9362ca397910b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155521
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29375}
2019-10-03 17:38:22 +00:00
78c82a4040 Adds trial to always start probes with a small padding packet.
This will reduce bias caused by uncertainty in averaging window.

Bug: None
Change-Id: I5c4fe39ffe69fb4af87d86995196a54115d3e0b2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144720
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29374}
2019-10-03 17:19:22 +00:00
608083b66e Reset QP sum when QP is not reported on decoded frame.
To avoid incorrect QP sum in the reported stats and to avoid log spam
when switching from a decoder that reports QP to a decoder that does
not report QP.

Bug: None
Change-Id: Ib5ef4d6227344b0d03c3d75596b4a07ef427ae1c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155444
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Mirta Dvornicic <mirtad@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29373}
2019-10-03 16:17:00 +00:00
6cf554ecb4 Reduces locking in RtpSenderVideo.
This CL removes some unnecessary locking, since we are already
serialized by the lock in VideoStreamEncoder. A simple RaceChecker is
used to verify this.

We also remove the usage of RegisterPayloadType() and replace it with
a parameter in SendVideo instead. This way we are prepared for removing
the payload type map and lock entirely. Some usage still exists
downstream and needs to be removed before cleaning this up.

Bug: webrtc:10809
Change-Id: Ie90163f15d11c8843f3beaf9a0df0dd2a1fd5ce6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154700
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29372}
2019-10-03 14:23:30 +00:00
f23131fdf2 Removing AudioAllocationSettings moving functionality to AudioSendStream.
This is a no-op change that just removes the AudioAllocationSettings
helper class that was previously introduced since the field trials in it
were used in several places. Those other usages has now been removed
and AudioSendStream is now the only user. By moving the trials directly
to AudioSendStream we reduce the reader overhead when trying to follow
what a particular field trial does.

The "WebRTC-Audio-ForceNoTWCC" trial was removed as it is always set
together with "WebRTC-Audio-ABWENoTWCC".

Bug: webrtc:9883
Change-Id: Ib63589255bfe7adb155ea41279bdcd153f1536c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155366
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29371}
2019-10-03 10:52:16 +00:00
b96a3118ad Sum byte counts for all reports of type kStatsReportTypeSsrc
Bug: webrtc:11003
Change-Id: I6d4bb13710e23e32da36122379226e1a55031008
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155364
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29370}
2019-10-03 07:34:51 +00:00
2077542378 Roll chromium_revision 1fdb019b56..b5ead1daa2 (701929:702047)
Change log: 1fdb019b56..b5ead1daa2
Full diff: 1fdb019b56..b5ead1daa2

Changed dependencies
* src/base: 7758ced941..a528f7afff
* src/build: 8b09db20d0..2b770975c2
* src/ios: 8800b245ce..162bfd6ed8
* src/testing: d65c0c2380..bbdcc97478
* src/third_party: 2d7c02c1b7..e9f6737252
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/017b54db6b..dbfa96532a
* src/third_party/depot_tools: 5eac9d3013..2458b31208
* src/tools: 2052347e27..a90e23c0c8
DEPS diff: 1fdb019b56..b5ead1daa2/DEPS

No update to Clang.

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

Change-Id: Idd4132f901c619e95e3dc6db722d12cd794614e5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155401
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@{#29369}
2019-10-03 07:33:46 +00:00
62aee9379c Adds trial to calculate audio overhead based on available data.
This adds the ability to disable legacy overhead calculation so we'll
use the available data on per packet over head and frame length range
to set the min and max total  allocatable bitrate.

Bug: webrtc:11001
Change-Id: I2a94499433e15bad11a08f81fe7f1dfc27982cdf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155175
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29368}
2019-10-02 13:42:15 +00:00
f1e97b9ebd Reland "Prepares RtpSenderVideo for batch forwarding of generated packets"
This is a reland of a21d50c1f3eab29fd9026cc67c8cb4017efda5e3

Original change's description:
> Prepares RtpSenderVideo for batch forwarding of generated packets
> 
> In order to reduce contention, this CL avoids taking locks per packet
> and prepares for forwarding all packets for a frame in one call, rather
> than one at a time. This will especially reduce contention in the paced
> sender during very high packet rates.
> 
> Bug: webrtc:10809
> Change-Id: Ifc5fe3759b76a2a45f418b69d29c329e876f96d0
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154358
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29323}

Bug: webrtc:10809
Change-Id: I50e0a27eb3b0b1afa39f250febdd564e1e1f06eb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155362
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29367}
2019-10-02 09:39:14 +00:00
1413ede74a Roll chromium_revision 4ce9e096a5..1fdb019b56 (701829:701929)
Change log: 4ce9e096a5..1fdb019b56
Full diff: 4ce9e096a5..1fdb019b56

Changed dependencies
* src/base: c9177a5ed8..7758ced941
* src/build: 5de2214dde..8b09db20d0
* src/ios: a3ab953f1d..8800b245ce
* src/testing: 2c79baad39..d65c0c2380
* src/third_party: b33e2755e3..2d7c02c1b7
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/16236fcfbe..017b54db6b
* src/third_party/depot_tools: b9aca9494e..5eac9d3013
DEPS diff: 4ce9e096a5..1fdb019b56/DEPS

No update to Clang.

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

Change-Id: I7f7e15717c55cd58150572d60554e285017f822f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155344
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@{#29366}
2019-10-02 08:34:33 +00:00
2e70719e48 Roll chromium_revision 443491f487..4ce9e096a5 (701518:701829)
Change log: 443491f487..4ce9e096a5
Full diff: 443491f487..4ce9e096a5

Changed dependencies
* src/base: 80bc1362d8..c9177a5ed8
* src/build: 2ee4ed0ee1..5de2214dde
* src/ios: a3e2506e86..a3ab953f1d
* src/testing: b5c9ecd16c..2c79baad39
* src/third_party: 1d3e012eb0..b33e2755e3
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/a7d9ac2af4..bd522862a0
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/ca0d056463..16236fcfbe
* src/third_party/depot_tools: a19d35307b..b9aca9494e
* src/tools: bc2d89f48c..2052347e27
DEPS diff: 443491f487..4ce9e096a5/DEPS

No update to Clang.

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

Change-Id: I111ee7db100e50c6ef7aa34dd99e79c41d70a5e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155340
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@{#29365}
2019-10-02 00:37:00 +00:00
f4e0c29ed1 SimulcastEncoderAdapter: support per layer fallback and single encoder proxying
This CL adds an optional second encoder factory to SimulcastEncoderAdapter,
that can be used to create software fallback adapter per simulcast layer.

It also adds logic to check if the encoder supports simulcast natively, if so
it only allocates a single instance and delegates the simulcast logic to that
encoder instead. This means we will be able to remove EncoderSimulcastProxy.

Bug: webrtc:11000
Change-Id: Ifd5f029cc281ee2cedf9d18efa5e7e460884d6ff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155171
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29364}
2019-10-01 17:31:44 +00:00
fddbe6c632 Improve readability in GoogCcNetworkController::OnSentPacket
Bug: None
Change-Id: Iff8a73611982506d44ac6818300663c3a4ac49b6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155177
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29363}
2019-10-01 16:27:00 +00:00
9d7eb28f72 Don't limit simulcast layers number for screenshare based on resolution
Bug: webrtc:10996
Change-Id: I72de00e615822e913e55d7fdd5bb0e736db31c6e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154523
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29362}
2019-10-01 14:26:09 +00:00
64672dce41 Adds log output to peer connection level scenario framework.
Based on similar code in the call level scenario test framework.

Bug: webrtc:10839
Change-Id: I262a890aa2cf905bb81b0f07957c08d0df5f7651
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154745
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29361}
2019-10-01 14:24:39 +00:00
65235d3ae7 Add GetStats at end of PeerConnection quality tests
Bug: None
Change-Id: Ia4a9c38d4afbc85e6bf016b94043e6c809e91c9e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155167
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29360}
2019-10-01 13:51:37 +00:00
7c2bed8337 Avoid memcpy in JavaToNativeEncodedImage
Followup to https://webrtc-review.googlesource.com/c/src/+/142160

Bug: webrtc:9378
Change-Id: If790cd628433046d6819a92449fcc68106535df4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154561
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29359}
2019-10-01 12:55:44 +00:00
55377fe241 Roll chromium_revision aa4c7d6aab..443491f487 (701411:701518)
Change log: aa4c7d6aab..443491f487
Full diff: aa4c7d6aab..443491f487

Changed dependencies
* src/build: 69e327091a..2ee4ed0ee1
* src/ios: 8d2d784dbf..a3e2506e86
* src/testing: 17ebf0b71c..b5c9ecd16c
* src/third_party: ba80411d3a..1d3e012eb0
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/5f4659d6f7..ca0d056463
* src/third_party/freetype/src: 839a023619..c912690d22
* src/tools: aa23487bfa..bc2d89f48c
DEPS diff: aa4c7d6aab..443491f487/DEPS

No update to Clang.

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

Change-Id: I67e0ad75caa14c5846abd3e962d4a1c9bcaff943
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155283
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@{#29358}
2019-10-01 12:37:24 +00:00
bfcec4c6d8 Delete old placeholders for moved api/ header files
The header files

  api/congestion_control_interface.h
  api/data_channel_transport_interface.h
  api/datagram_transport_interface.h
  api/media_transport_config.h
  api/media_transport_interface.h

have been moved into the api/transport/ and api/transport/media
subdirectories.

Bug: webrtc:8733
Change-Id: I98752c4d1306b54559bafa71712b105932c08834
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153522
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29357}
2019-10-01 12:23:19 +00:00
7c079f650d Reland "Fix minor regression caused by a8336d3"
This is a reland of 809198edfff416fce8d75b574a43afab5e67b1cd

A fix was made in https://webrtc-review.googlesource.com/c/src/+/154343
which fixed the regression issues caused by the original patch.

Original change's description:
> Fix minor regression caused by a8336d3
>
> VideoEncoder::SetRates was being called unnessesarily when the fields
> appended to RateControlParameters were changed. Since SetRates only
> cares about RateControlParameters, it should have only been called if
> the RateControlParameters themselves were actually changed.
>
> Bug: webrtc:10126
> Change-Id: Ic47d67e642a3043307fec950e5fba970d9f95167
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152829
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Evan Shrubsole <eshr@google.com>
> Cr-Commit-Position: refs/heads/master@{#29208}

Bug: webrtc:10126
Change-Id: Iecc3ab6a5cd1193a1fa8e824dcf4f0b8165f9bf8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154359
Commit-Queue: Evan Shrubsole <eshr@google.com>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29356}
2019-10-01 11:49:38 +00:00
8f736c0aeb AEC3: Analyze multi-channel SubtractorOutput in AecState
Updates SubtractorOutputAnalyzer and AecState::SaturationDetector
to multi-channel.

Bug: webrtc:10913
Change-Id: I39edafdc5d5a4db5cc853cf116d60af0f506b3bf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154342
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29355}
2019-10-01 11:36:58 +00:00
b3bb2040a1 Remove unused RtpFrameObject ctor.
Bug: webrtc:10979
Change-Id: I9ab8cbd3da4c753f0fa318c41b6e74ddd9679901
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155172
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29354}
2019-10-01 11:23:26 +00:00
2f7d779471 Use new RtpFrameObject ctor for fuzzing.
Bug: webrtc:10979
Change-Id: Idd3f09955e8c93738a677c447dad958cc50f4f66
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155161
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29353}
2019-10-01 08:34:37 +00:00
2be50f5092 Roll chromium_revision a935474316..aa4c7d6aab (701308:701411)
Change log: a935474316..aa4c7d6aab
Full diff: a935474316..aa4c7d6aab

Changed dependencies
* src/build: c468c1a68b..69e327091a
* src/ios: 38f314d400..8d2d784dbf
* src/testing: 2eaa1b2177..17ebf0b71c
* src/third_party: acf69e0d29..ba80411d3a
* src/third_party/depot_tools: f656f57a36..a19d35307b
* src/tools: c93c6dc7c9..aa23487bfa
DEPS diff: a935474316..aa4c7d6aab/DEPS

No update to Clang.

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

Change-Id: I543004ea31f5d7c00db6e9e8f81c4c7df2cbec91
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155223
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@{#29352}
2019-10-01 02:34:58 +00:00
8e1343aeda Add an alt-protocol to SDP to indicate which m= sections use a plugin transport.
The plugin transport parameters (a=x-opaque: lines) relate to how to create and
set up a plugin transport.  When SDP bundle is used, the x-opaque line needs to
be copied into the bundled m= section.  This means x-opaque can appear on a
section even if the offerer does not intend to use the transport for the media
described by that section.  Consequently, the answerer cannot currently tell
whether the caller is offering an alternate transport for media, data, or both.

This change adds an a=x-alt-protocol: line to SDP.  The value following this
line matches the <protocol> part of the x-opaque:<protocol>:<params> line.
However, alt-protocol is not bundled--it only ever applies to the m= section
that contains the line.  This allows the offerer to express which m= sections
should actually use an alternate transport, even in the case of bundle.

Note that this is still limited by the available configuration options:
datagram transport can be used for media (audio + video) and/or data.  It is
still not possible to use it for audio but not video, or vice versa.

PeerConnection places an alt-protocol line in each media (audio/video) m=
section if it is configured to use a datagram transport for media.  It places
an alt-protocol line in each data m= section if it is configured to use a
datagram transport for data channels.  PeerConnection leaves alt-protocol in
media (audio/video) m= sections of the answer if it is configured to use a
datagram transport for media, and in data m= sections of the answer if it is
configured to use a datagram transport for data channels.

JsepTransport now negotiates use of the datagram transport independently for
media and data channels.  It only uses it for media if the m= sections for
bundled audio/video have an alt-protocol line matching the x-opaque protocol,
and only uses it for data channels if a bundled m= section for data has an
alt-protocol line matching the x-opaque protocol.

Bug: webrtc:9719
Change-Id: I773e4fc10c57d815afcd76a2a74da38dd0c52b3b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154763
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29351}
2019-09-30 23:10:34 +00:00
894eb8b0c9 Roll chromium_revision 1d84c1e780..a935474316 (701137:701308)
Change log: 1d84c1e780..a935474316
Full diff: 1d84c1e780..a935474316

Changed dependencies
* src/base: f0c22a589a..80bc1362d8
* src/build: 0a96846217..c468c1a68b
* src/ios: f87e85eacd..38f314d400
* src/testing: a3f632c09a..2eaa1b2177
* src/third_party: 845b973174..acf69e0d29
* src/third_party/freetype/src: c37a501458..839a023619
* src/tools: b363030eac..c93c6dc7c9
DEPS diff: 1d84c1e780..a935474316/DEPS

No update to Clang.

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

Change-Id: Id99569e534c4d2d5f37d3ae0c9ca6d33589593ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155222
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@{#29350}
2019-09-30 23:06:24 +00:00
4aded80e04 Roll chromium_revision bd70e4cf18..1d84c1e780 (701000:701137)
Change log: bd70e4cf18..1d84c1e780
Full diff: bd70e4cf18..1d84c1e780

Changed dependencies
* src/base: feb7ae87f2..f0c22a589a
* src/build: 373c77cd9e..0a96846217
* src/ios: bdb751e5c9..f87e85eacd
* src/third_party: ab0c4b44e4..845b973174
* src/third_party/depot_tools: 0081c0ff17..f656f57a36
* src/tools: cc326be75c..b363030eac
DEPS diff: bd70e4cf18..1d84c1e780/DEPS

No update to Clang.

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

Change-Id: Ic8c489dfe2925417633ddd477219de7bbc5e2cee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155220
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@{#29349}
2019-09-30 16:32:57 +00:00
1e91551885 Fix -Wtautological-constant-compare in test/fuzzers.
This started to be detected by a new version of clang and it is blocking
the roll:

../../third_party/webrtc/test/fuzzers/agc_fuzzer.cc:85:29: error: converting the result of '?:' with integer constants to a boolean always evaluates to 'true' [-Werror,-Wtautological-constant-compare]
const bool num_channels = fuzz_data->ReadOrDefaultValue(true) ? 2 : 1;

Bug: chromium:1007367
Change-Id: Ib9a6e4e3c8f109d10845a315dd0782b1498cb54e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155166
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29348}
2019-09-30 14:50:36 +00:00
ef3dbad49a New class ScopedJavaRefCounted
Intended to be used for holding on to references to the java
EncodedImage and call its release method when no longer used by C++.

Bug: webrtc:9378
Change-Id: I40d917c2bb4217419ef2d609e517566c8466a274
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154740
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29347}
2019-09-30 14:43:56 +00:00
e00ea5ef11 Refactoring CapBitrateToThresholds in SendSideBandwidthEstimation.
Renaming and splitting it into helper methods. This is to more clearly
separate the things it does and prepares for moving things to GoogCC.

Additionally, replacing calls with current_target_ as input with
ApplyTargetLimits to better reflect the intended behavior.

Bug: webrtc:9883
Change-Id: I2c47ec74a9cbc271aff91645c763373297f26acc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154425
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29346}
2019-09-30 13:30:32 +00:00
002b6f4f23 Fixes for support of disabling lower spatial layers in VP9
1) Always allocate at least one spatial layer in svc rate allocator

2) Ensure tests reflect known existing failing scenario
(k-svc video with no external ref control).

3) Update log representation of bitrate allocation, as it looks very
confusing with lower layers disabled.

Was:
[
[],
[], [x, y, z]]
New:
[
[]
[]
[x,y,z]]

Bug: webrtc:10977
Change-Id: I248d9b44c8848710aa5a194a5c1b96df6a2734ac
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154744
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29345}
2019-09-30 13:20:12 +00:00
32eae4c231 AEC3: use different seed for different channels in CNG
Bug: webrtc:10913
Change-Id: Idca6be02b54b67753cfaf6ff588f5271e0cce892
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155160
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29344}
2019-09-30 13:04:00 +00:00
09f119598e Always pass arguments to INSTANTIATE_TEST_SUITE_P.
Passing an empty arg is working at the moment but it is not
guaranteed to continue to work in the future.

Bug: None
Change-Id: I975bc8779bac9700854de411301415338dcaf9f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154820
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29343}
2019-09-30 12:52:07 +00:00
45b176fc22 Downgrade fps in same step as resolution in initial drop due to size.
Bug: none
Change-Id: If0943ee291a029fa81035c72607873995ba8ab8b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154742
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29342}
2019-09-30 12:28:26 +00:00
08a9f98a5a Revert "Prepares RtpSenderVideo for batch forwarding of generated packets"
This reverts commit a21d50c1f3eab29fd9026cc67c8cb4017efda5e3.

Reason for revert: Speculative revert due to unexpected perf changes.

Original change's description:
> Prepares RtpSenderVideo for batch forwarding of generated packets
> 
> In order to reduce contention, this CL avoids taking locks per packet
> and prepares for forwarding all packets for a frame in one call, rather
> than one at a time. This will especially reduce contention in the paced
> sender during very high packet rates.
> 
> Bug: webrtc:10809
> Change-Id: Ifc5fe3759b76a2a45f418b69d29c329e876f96d0
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154358
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29323}

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

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

Bug: webrtc:10809
Change-Id: I1cbf0ce0cc06f9195b5e0716b8dd4c85f7f6bab1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155164
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29341}
2019-09-30 11:20:04 +00:00
e7314cd4a2 In ulpfec receiver check for malformed packets to avoid DCHECKS tirggering
If the packet can't be parsed, the buffer isn't moved to the packet.
Then, a new empty buffer is moved back from the packet.
Thus, the consequtive DCHECK fails because the data isn't the same anymore.

Bug: chromium:1009236
Change-Id: Ie27f438c40f38074d42d8491fe03df45d50eba50
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155162
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29340}
2019-09-30 10:40:31 +00:00
2449d7aa78 Refactor legacy FrameBuffer to use EncodedImageBuffer::Realloc
Preparation for deleting VCMEncodedFrame::VerifyAndAllocate and
EncodedImage::Allocate.

Bug: webrtc:9378
Change-Id: If7c16061962bbd58c3e7d5720189854e00a3d7bf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154570
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29339}
2019-09-30 09:48:26 +00:00
fbf75a7891 Video: Log scalability configuration on encoder reconfigure
Lately there were 2 separate bugs, where seeing this information in the
log could help immediately figuring out the problem.

Bug: none
Change-Id: I3f2b2d5864106cdb231715e1702edee3b9b05caa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154566
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29338}
2019-09-30 09:08:20 +00:00
fc3587418d Use new RtpFrameObject ctor for unittests.
Bug: webrtc:10979
Change-Id: I63f501b3a4538d65a73aae226f2006de191dbbec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154565
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29337}
2019-09-30 08:28:45 +00:00
ff2e215bcd Change FrameBuffer::CombineAndDeleteFrames to allocate a new buffer
Modifying buffers passed in to the frame buffer breaks sharing. This
cl is also a preparation for deleting
VCMEncodedFrame::VerifyAndAllocate and EncodedImage::Allocate.

Bug: None
Change-Id: I4e14bc4708bbcbcd91af2d4b764cb9b8271ec090
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154569
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29336}
2019-09-30 07:06:10 +00:00
44db436e87 Propagate task queue to create test::DirectTransport by TaskQueueBase interface
actual task queue implementation for these tests is intentionally unchanged for now.

while at it, change return type of created transports to unique_ptr to note passing ownership.

Bug: webrtc:10933
Change-Id: I324597b503e647c471f43511340eb9c07ba03ee8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154743
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29335}
2019-09-30 03:23:07 +00:00
578270d9d2 Roll chromium_revision 929ce7dfed..bd70e4cf18 (700900:701000)
Change log: 929ce7dfed..bd70e4cf18
Full diff: 929ce7dfed..bd70e4cf18

Changed dependencies
* src/build: b321a92cd2..373c77cd9e
* src/testing: c4c150a60e..a3f632c09a
* src/third_party: 584a8fe8ff..ab0c4b44e4
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/ed74a5890e..5f4659d6f7
* src/third_party/depot_tools: 69d781151b..0081c0ff17
* src/third_party/freetype/src: 432efa25b3..c37a501458
* src/tools: 762208d8f6..cc326be75c
DEPS diff: 929ce7dfed..bd70e4cf18/DEPS

No update to Clang.

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

Change-Id: I1490c127ffd47630de07ff776c51ddf2c0a23cc9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155040
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@{#29334}
2019-09-29 16:29:56 +00:00
0e3517d558 Roll chromium_revision 15c33f453d..929ce7dfed (700783:700900)
Change log: 15c33f453d..929ce7dfed
Full diff: 15c33f453d..929ce7dfed

Changed dependencies
* src/base: 7ed699329f..feb7ae87f2
* src/ios: ca3d38bb7f..bdb751e5c9
* src/testing: 7e847b739d..c4c150a60e
* src/third_party: 03b652bc94..584a8fe8ff
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/15152b52a7..ed74a5890e
* src/third_party/depot_tools: 2b82936829..69d781151b
* src/tools: f0a3247275..762208d8f6
DEPS diff: 15c33f453d..929ce7dfed/DEPS

No update to Clang.

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

Change-Id: I02a8ee5ebbd1a3b68f14d0b58ae2ad1348c99639
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154780
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@{#29333}
2019-09-28 00:36:28 +00:00
68e92ceb9d Roll chromium_revision e76bf0b809..15c33f453d (700610:700783)
Change log: e76bf0b809..15c33f453d
Full diff: e76bf0b809..15c33f453d

Changed dependencies
* src/base: c9cbf78733..7ed699329f
* src/ios: f1a036ffe0..ca3d38bb7f
* src/third_party: be719c373a..03b652bc94
* src/tools: b4efeff828..f0a3247275
DEPS diff: e76bf0b809..15c33f453d/DEPS

No update to Clang.

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

Change-Id: I238eda23841843cd7429a95abd1df90e09ff4a04
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154761
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@{#29332}
2019-09-27 18:34:11 +00:00
ba2ba59c4b Rewrite test::DirectTransport to work with any TaskQueue implementation
Bug: webrtc:10933
Change-Id: Ib207a5dac57e0200f1298097edb52689c4748d07
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154568
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29331}
2019-09-27 10:26:04 +00:00
bc8049ef0b Reland "VP9 encoder: handle disabled layers correctly"
Now vp9 screenshare would enable new layers as soon as requested and will force all spatial layers present on the next frame, even if they should be dropped because of frame-rate limiting.

This might cause frame-rate liming to be exceeded if layer is toggling on and off very often, but this situation is bad itself. E.g. in realtime video it will cause too many key-frames.

Now SvcRateAllocator and VP9EncoderImpl are aware that there may be some skipped layers before the first enabled. Key-frames and ss_info triggering logic is also updated.

(This is a reland without changes after updates to downstream projects)
Original-Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153483

Bug: webrtc:10977
Change-Id: I02459c5982da2e0542a837514f5753c5f96401c6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154355
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29330}
2019-09-27 09:28:38 +00:00
e72a78e4b2 Roll chromium_revision 42b9d99dab..e76bf0b809 (700503:700610)
Change log: 42b9d99dab..e76bf0b809
Full diff: 42b9d99dab..e76bf0b809

Changed dependencies
* src/base: 85620fb3e5..c9cbf78733
* src/ios: eaabefdb4a..f1a036ffe0
* src/testing: 7fe65418f8..7e847b739d
* src/third_party: 87925dcbf7..be719c373a
* src/third_party/depot_tools: e656e98831..2b82936829
* src/tools: 0c38ca1e46..b4efeff828
DEPS diff: 42b9d99dab..e76bf0b809/DEPS

No update to Clang.

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

Change-Id: If7b2055753e9a42e1ec5aa8b18c57770d3a096d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154662
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@{#29329}
2019-09-27 08:39:28 +00:00