Commit Graph

28890 Commits

Author SHA1 Message Date
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
1903a35e00 Roll chromium_revision ecfd30c363..42b9d99dab (700332:700503)
Change log: ecfd30c363..42b9d99dab
Full diff: ecfd30c363..42b9d99dab

Changed dependencies
* src/base: 3b9333f57d..85620fb3e5
* src/build: 9e3c924f6e..b321a92cd2
* src/ios: dba83b40e4..eaabefdb4a
* src/third_party: 1625de3e13..87925dcbf7
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/62960ae899..15152b52a7
* src/third_party/depot_tools: 1ab7b6816f..e656e98831
* src/third_party/freetype/src: db4083fd7f..432efa25b3
* src/tools: 8428209938..0c38ca1e46
DEPS diff: ecfd30c363..42b9d99dab/DEPS

No update to Clang.

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

Change-Id: Idbdc72842da589fdc1864d796a3212bd88a149f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154620
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@{#29328}
2019-09-27 00:35:01 +00:00
7da4e563b7 Allow receive-only use of datagram transport for data channels.
Adds a field trial and configuration parameter to control whether
datagram transport may be used for data channels in a receive-only
manner.  By default, if use_datagram_transport_for_data_channels is
enabled, PeerConnection will create a datagram transport and offer its
use for outgoing calls as well as accept incoming offers with compatible
datagram transport parameters.

With this change, a receive_only mode is added for datagram transport
data channels.  When receive_only is set, the PeerConnection will not
create or offer datagram transports for outgoing calls, but will accept
incoming calls that offer compatible datagram transport parameters.

Bug: webrtc:9719
Change-Id: I35667bcc408ea4bbc61155898e6d2472dd262711
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154463
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29327}
2019-09-26 20:01:06 +00:00
63173d5bef pipewire: handle deleting the capturer while a D-Bus call is in progress
If a D-Bus call is in progress when a BaseCapturerPipeWire is deleted, then
the user_data is invalid when the callback function is called. This results
in memory corruption.

To fix this, use a GCancellable. If it is canceled, the callback will be
called with a corresponding error. Detect this error and abort before
accessing the user_data.

Note: The first argument is the 'source_object'. For g_dbus_proxy_call()
this is the proxy object not the connection. This was not a problem before,
because it was not used.

Bug: None
Change-Id: I8d5e3fb5c49fcc9afd61cdb8e8249f78b9434faf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149817
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#29326}
2019-09-26 18:58:56 +00:00
c6d7d58c13 Roll chromium_revision 2d2f043b9a..ecfd30c363 (700199:700332)
Change log: 2d2f043b9a..ecfd30c363
Full diff: 2d2f043b9a..ecfd30c363

Changed dependencies
* src/base: 3331fdd31f..3b9333f57d
* src/build: c9a62d3819..9e3c924f6e
* src/ios: 427b9509a2..dba83b40e4
* src/testing: 72fb845d04..7fe65418f8
* src/third_party: e25d8007ac..1625de3e13
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/eecf29fbbc..62960ae899
* src/third_party/depot_tools: 07cec8f6cb..1ab7b6816f
* src/tools: 4a18e6e281..8428209938
DEPS diff: 2d2f043b9a..ecfd30c363/DEPS

No update to Clang.

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

Change-Id: Id73aee03fa27532774784ec733625bbfab6d77cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154582
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@{#29325}
2019-09-26 18:43:36 +00:00
ee8ee2f103 Avoids update of WebRTC.Audio.SourceMatchesRecordingSession for Android < N
Before this change we always logged false in WebRTC.Audio.SourceMatchesRecordingSession
even when a test had not been executed (happens e.g. for Android < N).

This issue is now fixed and we only update WebRTC.Audio.SourceMatchesRecordingSession
if a valid test has been performed.

No-Try: True
TBR: glaznev
Bug: webrtc:10971
Change-Id: I907197476f00b812c67bb71e8fdcd6f297cfbdee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154563
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29324}
2019-09-26 14:59:12 +00:00
a21d50c1f3 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}
2019-09-26 14:58:07 +00:00
d27a0c1a89 Report payload byte counts in PC-level quality tests
Bug: None
Change-Id: I3908a065dd0d66802c7f8de64cdc03687ac7f9e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154521
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29322}
2019-09-26 14:56:47 +00:00
b4ffe881cd Roll chromium_revision fbc0a229ff..2d2f043b9a (700084:700199)
Change log: fbc0a229ff..2d2f043b9a
Full diff: fbc0a229ff..2d2f043b9a

Changed dependencies
* src/base: 84e2ae7c3e..3331fdd31f
* src/ios: eb9e0b7ab0..427b9509a2
* src/testing: 0245772498..72fb845d04
* src/third_party: a5b7cb4f3d..e25d8007ac
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/e00ffeb79a..eecf29fbbc
* src/third_party/depot_tools: 9a5bb612e6..07cec8f6cb
* src/third_party/libjpeg_turbo: baa5dc2425..38c6935694
* src/tools: c363235f60..4a18e6e281
DEPS diff: fbc0a229ff..2d2f043b9a/DEPS

No update to Clang.

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

Change-Id: I53b8754cdd90fa8b35d6d22f87cd28bac00cd530
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154580
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@{#29321}
2019-09-26 12:36:49 +00:00
89e7fcb726 Revert "Enable capturing from camera in PC framework"
This reverts commit 482d26ce9d2b676ca277ca3f44a5d89105627cce.

Reason for revert: Reduced amount of captured frames on some devices. Will require deeper look on it.

Original change's description:
> Enable capturing from camera in PC framework
> 
> Bug: webrtc:10138
> Change-Id: I6b2eaddf4975ddc7237932511de06744ef962489
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154357
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29318}

TBR=ilnik@webrtc.org,kwiberg@webrtc.org,titovartem@webrtc.org

Change-Id: Ie9db3b1a13fa6ebfd8e277b68b5d808533a84620
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10138
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154560
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29320}
2019-09-26 12:00:01 +00:00
abd9e0f5c2 VideoStreamEncoder: Don't crop and scales frames for external encoders
Bug: none
Change-Id: I1edc0314450793c0ae3fb471aa8936a102773a96
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154424
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29319}
2019-09-26 11:49:09 +00:00
482d26ce9d Enable capturing from camera in PC framework
Bug: webrtc:10138
Change-Id: I6b2eaddf4975ddc7237932511de06744ef962489
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154357
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29318}
2019-09-26 11:42:29 +00:00
7acc4a4a3a Reset |reference_finder_| on codec switch.
In this CL:
 - Moved critical section out of RtpFrameReferenceFinder.
 - RtpFrameReferenceFinder can now assign picture ids with an offset.
 - RtpVideoStreamReceiver will now reset the |reference_finder_| in case
   of a codec switch.

Bug: webrtc:10795, webrtc:10828
Change-Id: I22631c121a465c434de24af5ce8be2a647fe3556
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154353
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29317}
2019-09-26 11:05:59 +00:00
5dacece70c Removed unused _rotation_set variable from EncodedFrame.
Bug: none
Change-Id: I398417541fb66e58b0ad90c4b17c5d36eb61a004
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154520
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29316}
2019-09-26 10:45:03 +00:00
741bab0f6c Add Slice method to CopyOnWriteBuffer and use it in FEC code.
This avoids unnecessary memcpy calls.

Bug: webrtc:10750
Change-Id: I73fe8f1c9659f2c5e59d7fb97b80349a3504a34a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145320
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29315}
2019-09-26 09:48:07 +00:00
85d5c197a8 Added RtpFrameObject ctor with no PacketBuffer pointer.
Bug: webrtc:10979
Change-Id: Ie6a2b56e7374d60d1f74d8c315216b27df22a19b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154426
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29314}
2019-09-26 08:55:00 +00:00
2bc55585f6 Renaming variables in SendSideBandwidthEstimation.
This makes them better reflect their contents and usage. Also replacing
zero with infinity where it's used to reflect the lack of a limit.

Bug: webrtc:9883
Change-Id: Ibc498aa3a41d34c16d363e892a927e482949ab51
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154423
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29313}
2019-09-26 08:30:40 +00:00
ccfb3401ee Update balanced tests to use BalancedDegradationTest fixture.
Bug: none
Change-Id: If10f28ff1da40a379b4a5b26c7bdf638913b48c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153351
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29312}
2019-09-26 06:59:54 +00:00
ace2a2bcce Roll chromium_revision 1fa0f66d36..fbc0a229ff (699974:700084)
Change log: 1fa0f66d36..fbc0a229ff
Full diff: 1fa0f66d36..fbc0a229ff

Changed dependencies
* src/base: ca8a07cbc8..84e2ae7c3e
* src/build: f13e1a6418..c9a62d3819
* src/ios: c700700078..eb9e0b7ab0
* src/testing: 6f93c5a94d..0245772498
* src/third_party: 6f06723da7..a5b7cb4f3d
* src/third_party/depot_tools: 6a5cb2517a..9a5bb612e6
* src/tools: 45c45c3822..c363235f60
DEPS diff: 1fa0f66d36..fbc0a229ff/DEPS

No update to Clang.

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

Change-Id: I7460f50890484dc58660c24e42fdd107d63297d1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154468
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@{#29311}
2019-09-26 04:27:19 +00:00
d6eab9edaf Roll chromium_revision 489dde9b43..1fa0f66d36 (699869:699974)
Change log: 489dde9b43..1fa0f66d36
Full diff: 489dde9b43..1fa0f66d36

Changed dependencies
* src/base: 74b875cec7..ca8a07cbc8
* src/build: 6d45b1db5f..f13e1a6418
* src/ios: 8babf22e8f..c700700078
* src/testing: 760f7ad36e..6f93c5a94d
* src/third_party: 6037ad3eee..6f06723da7
* src/third_party/depot_tools: 7211cf6444..6a5cb2517a
* src/tools: 1776195753..45c45c3822
DEPS diff: 489dde9b43..1fa0f66d36/DEPS

No update to Clang.

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

Change-Id: I45d15435a4e3fb4ad004b51a0bd73f3efa4bcc71
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154465
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@{#29310}
2019-09-25 22:43:40 +00:00
c5bc9d6da8 Treat wlan as a WiFi adapter name on all platforms.
wlan was previously classified as WiFi only on Android, while some
non-Android platforms may use the same name for a WiFi adapter. This
causes a WiFi interface to be assigned a higher network cost than
designed when we rely on the name matching to identify the network
type, which has further implication in the ICE candidate pair selection.

Bug: webrtc:10992
Change-Id: I8d2bb18cf9a0e3a06a104f359a85f802526a2ff9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154464
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Alex Drake <alexdrake@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29309}
2019-09-25 22:41:00 +00:00