Commit Graph

29094 Commits

Author SHA1 Message Date
16cec3be2c Added allow_codec_switching parameter to RTCConfig.
Bug: webrtc:10795
Change-Id: I5507f1d801e262223bd18198c685b5fffa644b0b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157891
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29612}
2019-10-25 11:06:31 +00:00
49c0880afa Revert "[PeerConnection] Use an OperationsChain in PeerConnection for async ops."
This reverts commit 1dddaa1a84330091ca083c950ef2e24a85a48fc8.

Reason for revert: Breaks downstream projects :(

Original change's description:
> [PeerConnection] Use an OperationsChain in PeerConnection for async ops.
> 
> For background, motivation, requirements and implementation notes, see
> https://docs.google.com/document/d/1XLwNN2kUIGGTwz9LQ0NwJNkcybi9oKnynUEZB1jGA14/edit?usp=sharing
> 
> Using the OperationsChain will unblock future CLs from chaining multiple
> operations together such as implementing parameterless
> setLocalDescription().
> 
> In this CL, the OperationsChain is used in existing signaling operations
> with little intended side-effects. An operation that is chained onto an
> empty OperationsChain will for instance execute immediately, and
> SetLocalDescription() and SetRemoteDescription() are implemented as
> "synchronous operations".
> 
> The lifetime of the PeerConnection is not indended to change as a result
> of this CL: All chained operations use a raw pointer to the PC that is
> ensured not to be used-after-free using an "IsAlive" object.
> 
> There is one notable change though: CreateOffer() and CreateAnswer() will
> asynchronously delay other signaling methods from executing until they
> have completed.
> 
> Drive-by fix: This CL also ensures that early failing
> CreateOffer/CreateAnswer operation's observers are invoked if the
> PeerConnection is destroyed while a PostCreateSessionDescriptionFailure
> is pending.
> 
> Bug: webrtc:11019
> Change-Id: I521333e41d20d9bbfb1e721609f2c9db2a5f93a9
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157305
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Henrik Boström <hbos@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29605}

TBR=steveanton@webrtc.org,hbos@webrtc.org

Change-Id: Ie540dcc8ecdc48ad0c65d23645fbc3ad5f99592b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11019
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158405
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29611}
2019-10-25 09:54:50 +00:00
1dac707ecb Cleanup PacketBuffer tests to use immediate result
delete traces of the OnAssembledFrame callback
relax some expectation to better match test purpose,
in particular avoid verifying every test buffer is not cleared on new packet.
switch comparisons from EXPECT_EQ(constant, value) to more natural EXPECT_EQ(value, constant)

Bug: None
Change-Id: I81e2c9d0133221435cb2bb02c9190d9f32abd548
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158140
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29610}
2019-10-25 09:35:47 +00:00
4f2783b9fe Speculative Revert: "Use FakeRenderer when fuzzing"
This reverts commit ce9da1636aba347f452f33a00a75b929eee77570.
The vp8_replay_fuzzer runs out of memory unders MSAN for the input
in bug 1015797.

Tbr: kcwu@chromium.org
Bug: chromium:1015797, chromium:952606, chromium:1009077, chromium:1009073
Change-Id: Iab03437595b33e56816efe83b74fab6faf2340da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158402
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29609}
2019-10-25 09:09:30 +00:00
b394a565ab Cleanup of EchoControl interface after downstream fixes
Bug: b/130016532
Change-Id: I94e92974c290e7080ab5c88fb2a91101a9856124
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158401
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29608}
2019-10-25 08:51:59 +00:00
e277bde7e4 Add APM test of pre-amplifier gain
This tests that both the ApplyConfig() and SetRuntimeSetting() route of
APM configuration correctly induce the pre-amplifier gain effect in APM.

Bug: webrtc:11045
Change-Id: Iddaa1c19487c6f68ed6eb1be6913ec2dfd284b04
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158083
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29607}
2019-10-25 08:50:54 +00:00
e914c1e73c Roll chromium_revision 64883b3ea2..3c5165bebc (709283:709394)
Change log: 64883b3ea2..3c5165bebc
Full diff: 64883b3ea2..3c5165bebc

Changed dependencies
* src/base: 6b1e582dbf..a90d12d9e1
* src/build: 4fd37925e4..a193dcc697
* src/ios: 7e1f0f8ece..596015ccb2
* src/testing: cfe9e39159..6aa713bd7b
* src/third_party: 4b1859633e..694eaf9c8e
* src/third_party/depot_tools: b1a9672432..86244d6913
* src/tools: 27365488f4..e4ec472d6e
DEPS diff: 64883b3ea2..3c5165bebc/DEPS

No update to Clang.

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

Change-Id: Iaa81b770cdc0207b53e52250577166f79c27f93c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158420
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@{#29606}
2019-10-25 08:41:28 +00:00
1dddaa1a84 [PeerConnection] Use an OperationsChain in PeerConnection for async ops.
For background, motivation, requirements and implementation notes, see
https://docs.google.com/document/d/1XLwNN2kUIGGTwz9LQ0NwJNkcybi9oKnynUEZB1jGA14/edit?usp=sharing

Using the OperationsChain will unblock future CLs from chaining multiple
operations together such as implementing parameterless
setLocalDescription().

In this CL, the OperationsChain is used in existing signaling operations
with little intended side-effects. An operation that is chained onto an
empty OperationsChain will for instance execute immediately, and
SetLocalDescription() and SetRemoteDescription() are implemented as
"synchronous operations".

The lifetime of the PeerConnection is not indended to change as a result
of this CL: All chained operations use a raw pointer to the PC that is
ensured not to be used-after-free using an "IsAlive" object.

There is one notable change though: CreateOffer() and CreateAnswer() will
asynchronously delay other signaling methods from executing until they
have completed.

Drive-by fix: This CL also ensures that early failing
CreateOffer/CreateAnswer operation's observers are invoked if the
PeerConnection is destroyed while a PostCreateSessionDescriptionFailure
is pending.

Bug: webrtc:11019
Change-Id: I521333e41d20d9bbfb1e721609f2c9db2a5f93a9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157305
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29605}
2019-10-25 07:39:34 +00:00
ef0e4d0438 Roll chromium_revision e1ab9e9b20..64883b3ea2 (709180:709283)
Change log: e1ab9e9b20..64883b3ea2
Full diff: e1ab9e9b20..64883b3ea2

Changed dependencies
* src/base: 3e8402e120..6b1e582dbf
* src/build: 8e1e5300a6..4fd37925e4
* src/ios: 2ba7718c65..7e1f0f8ece
* src/testing: aba2adfab4..cfe9e39159
* src/third_party: 48c4c1ac79..4b1859633e
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/13b94d068b..a38631cd74
* src/third_party/depot_tools: 1906f405ba..b1a9672432
* src/tools: 06c12fe9e9..27365488f4
DEPS diff: e1ab9e9b20..64883b3ea2/DEPS

No update to Clang.

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

Change-Id: I0bc91939d2bf3df89cba54d01d833b0fb5eb08a5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158380
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@{#29604}
2019-10-25 00:41:05 +00:00
c4af214ee2 Roll chromium_revision d7338c33b2..e1ab9e9b20 (708965:709180)
Change log: d7338c33b2..e1ab9e9b20
Full diff: d7338c33b2..e1ab9e9b20

Changed dependencies
* src/base: d3316195f5..3e8402e120
* src/build: 08c0f52820..8e1e5300a6
* src/ios: 2343142a49..2ba7718c65
* src/testing: 74115ea5c2..aba2adfab4
* src/third_party: ee908d6807..48c4c1ac79
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/bf69ed0d31..13b94d068b
* src/third_party/depot_tools: ad557c41da..1906f405ba
* src/third_party/freetype/src: 90a30f154a..0a3d2bb99b
* src/tools: ee184ccf04..06c12fe9e9
DEPS diff: d7338c33b2..e1ab9e9b20/DEPS

No update to Clang.

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

Change-Id: I04942363e92485e859ff6b6ab26758f293542eeb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158320
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@{#29603}
2019-10-24 20:56:36 +00:00
3cb6104864 AEC3: Support negative delay with external delay estimator
Bug: b/130016532
Change-Id: If41121e9ad95f235200c4b6b146ba8a8749daac4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158220
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29602}
2019-10-24 14:33:21 +00:00
a9229043e3 Calls OnPacketsAcknowledged on RtpRtcp instead of RTPSender directly.
This prepares for splitting RtpSenderEgress out of RTPSender.
For context, see:
https://webrtc-review.googlesource.com/c/src/+/158020

Bug: webrtc:11036
Change-Id: I6d385ba255ce23f4c6685a3737eeb243ce2ec6ff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158201
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29601}
2019-10-24 12:13:56 +00:00
b2290f4e13 Revert "Reset end-of-frame flag in non-VCL packet."
This reverts commit c98ff2eff052bb916661bcb016e430a401bc5dc7.

Reason for revert: breaks decoding of H264 RTP streams where M bit is set in AUD packets.

Original change's description:
> Reset end-of-frame flag in non-VCL packet.
> 
> Bug: chromium:999807
> Change-Id: I28309d2fda16842e620e499cb9e77ec771827b8c
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157160
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29560}

TBR=philipel@webrtc.org,ssilkin@webrtc.org,philipel@chromium.org

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

Bug: chromium:999807
Change-Id: I8d6bcf4c00197b00d279b9e53a11652d3e61171b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158204
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29600}
2019-10-24 12:12:26 +00:00
fc78aaceea Batches video frame packets when posting to pacer
All plumbing was landed a while ago, but this call site was not updated.
This change aims to reduce contention/overhead when posting large
number of packets to the paced sender.

Bug: webrtc:10809
Change-Id: I5486131b980e55331a38151bceee1cb96e35a942
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158203
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29599}
2019-10-24 12:03:36 +00:00
2040dcf9fc Roll chromium_revision f656c810e4..d7338c33b2 (708845:708965)
Change log: f656c810e4..d7338c33b2
Full diff: f656c810e4..d7338c33b2

Changed dependencies
* src/base: 7367c832c4..d3316195f5
* src/build: 493ce92c35..08c0f52820
* src/ios: 973179bedd..2343142a49
* src/testing: 8debb1f16e..74115ea5c2
* src/third_party: 5e39a9d8df..ee908d6807
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/9988f9da40..bf69ed0d31
* src/third_party/depot_tools: ea98ebbe65..ad557c41da
* src/tools: 2651d12003..ee184ccf04
DEPS diff: f656c810e4..d7338c33b2/DEPS

No update to Clang.

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

Change-Id: I550c1ab2e287db1ec87a224c3124ab9c118e348f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158185
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@{#29598}
2019-10-24 10:38:19 +00:00
eec39190ce Remove trial WebRTC-Bwe-ProbeRateFallback
It was intended to be used for to fall back to probe rate if ack rate is missing.

This partly reverts commit aa4f100225e86723e75497aaf2d510588dcb9851.

Reason for revert:
Code is unused 1 year after submitted.

Original change's description:
> Adds trial to fall back to probe rate if ack rate is missing.
>
> Bug: webrtc:9718
> Change-Id: I7b6e1d3c051e67b97f6de1ec95e84631af9c5b0d
> Reviewed-on: https://webrtc-review.googlesource.com/c/113600
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25953}

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

Bug: webrtc:9718
Change-Id: I06804782c2e210d1c484426e915e4d8447572739
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158084
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29597}
2019-10-24 08:30:42 +00:00
d113ee326b Removes deprecated WebRTC-Bwe-AimdRateControl-NetworkState trial.
Bug: webrtc:10498
Change-Id: Ie435ad2e2c73bf2b54d9caccabf9a27443ca4229
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158082
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29596}
2019-10-24 08:14:02 +00:00
bd2007738e Roll chromium_revision 510c0ca3d7..f656c810e4 (708742:708845)
Change log: 510c0ca3d7..f656c810e4
Full diff: 510c0ca3d7..f656c810e4

Changed dependencies
* src/ios: 4f6d555559..973179bedd
* src/testing: 507aa43a19..8debb1f16e
* src/third_party: a7b3304257..5e39a9d8df
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/577977ad23..9988f9da40
* src/third_party/depot_tools: b1ae481f7f..ea98ebbe65
* src/tools: 30a8878496..2651d12003
DEPS diff: 510c0ca3d7..f656c810e4/DEPS

No update to Clang.

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

Change-Id: If6c852457d5b5a4ec8cf54decb510443d9a032d3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158160
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@{#29595}
2019-10-24 00:39:07 +00:00
0e2b581395 RTC_EXPORT webrtc::DesktopCapturerDifferWrapper.
This symbol is needed by Chromium, failing to export it causes [1] in the
Chromium / WebRTC component build.

[1] - https://ci.chromium.org/p/chromium/builders/try/linux-chromeos-compile-dbg/256692

Bug: webrtc:9419
Change-Id: Ic4d950f42f0cfe1db07b60f04dd06c042542612f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158122
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29594}
2019-10-23 23:34:46 +00:00
c1a8abc0a3 Roll chromium_revision b5030084da..510c0ca3d7 (708640:708742)
Change log: b5030084da..510c0ca3d7
Full diff: b5030084da..510c0ca3d7

Changed dependencies
* src/base: 5bf89f7c11..7367c832c4
* src/build: 487581f894..493ce92c35
* src/ios: e4ab5194c0..4f6d555559
* src/testing: 57c984b240..507aa43a19
* src/third_party: 1bcf952f01..a7b3304257
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/61a1e81e89..577977ad23
* src/tools: c24c427829..30a8878496
DEPS diff: b5030084da..510c0ca3d7/DEPS

No update to Clang.

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

Change-Id: Ia68a1a1c7d3dc51f1b5985ae007ba9cc9f268f56
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158066
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@{#29593}
2019-10-23 20:37:37 +00:00
4ff1c87204 Fix RTC_LOCKABLE RTC_EXPORT order for rtc::Thread.
The previous order of macros causes [1].

[1] - https://ci.chromium.org/p/chromium/builders/try/win_chromium_compile_dbg_ng/420871

Bug: webrtc:9419
Change-Id: If261e5c1d4bf058417be2bcc9a7cd26cc210f20b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158121
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29592}
2019-10-23 18:50:18 +00:00
d7bf5c56b6 Revert "Define WEBRTC_ENABLE_SYMBOL_EXPORT if is_component_build=true."
This reverts commit 6e81567d291f973769a2b8b19801bfd71cc603ad.

Reason for revert: Testing reason, this CL will break Chromium FYI bots but now that it is landed I can start a Chromium CL and pin this WebRTC version.

Original change's description:
> Reland "Define WEBRTC_ENABLE_SYMBOL_EXPORT if is_component_build=true."
> 
> This is a reland of 03bc15c646d5b41d3169f2686316944788f640ed
> 
> Original change's description:
> > Define WEBRTC_ENABLE_SYMBOL_EXPORT if is_component_build=true.
> >
> > In order to land the component build support in Chromium, it is
> > easier to turn on symbols export every time that is_component_build=true
> > instead of setting rtc_enable_symbol_export=is_component_build in
> > Chromium (since is_component_build is not available in .gn).
> >
> > rtc_enable_symbol_export is still kept in the mix in order to turn
> > on symbol exports in any case a shared library will be added to the
> > WebRTC build.
> >
> > Bug: webrtc:9419
> > Change-Id: I5a7195826dea13d9a6f10a1160c35f2864bfa6c2
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157108
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#29540}
> 
> TBR: kwiberg@webrtc.org
> Bug: webrtc:9419
> Change-Id: Ic35347636984b360e0bee01f2a3e37efd351e3d5
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157976
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29590}

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

Change-Id: Ic6e4fe081d0d6ef1249bc3f933c00c0e54cca554
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9419
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158064
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29591}
2019-10-23 16:56:30 +00:00
6e81567d29 Reland "Define WEBRTC_ENABLE_SYMBOL_EXPORT if is_component_build=true."
This is a reland of 03bc15c646d5b41d3169f2686316944788f640ed

Original change's description:
> Define WEBRTC_ENABLE_SYMBOL_EXPORT if is_component_build=true.
>
> In order to land the component build support in Chromium, it is
> easier to turn on symbols export every time that is_component_build=true
> instead of setting rtc_enable_symbol_export=is_component_build in
> Chromium (since is_component_build is not available in .gn).
>
> rtc_enable_symbol_export is still kept in the mix in order to turn
> on symbol exports in any case a shared library will be added to the
> WebRTC build.
>
> Bug: webrtc:9419
> Change-Id: I5a7195826dea13d9a6f10a1160c35f2864bfa6c2
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157108
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29540}

TBR: kwiberg@webrtc.org
Bug: webrtc:9419
Change-Id: Ic35347636984b360e0bee01f2a3e37efd351e3d5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157976
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29590}
2019-10-23 16:53:07 +00:00
ce1ffcdc06 change PacketBuffer to return it's result rather that use callback
Bug: None
Change-Id: I8cc05dd46e811d6db37af520d2106af21c671def
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157893
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29589}
2019-10-23 16:50:57 +00:00
2522b25f19 Roll chromium_revision 6dc3a51e22..b5030084da (708537:708640)
Change log: 6dc3a51e22..b5030084da
Full diff: 6dc3a51e22..b5030084da

Changed dependencies
* src/base: 79f7872ce2..5bf89f7c11
* src/build: f3832d6daa..487581f894
* src/ios: 26344289e1..e4ab5194c0
* src/testing: af3a480d85..57c984b240
* src/third_party: 620b178817..1bcf952f01
* src/tools: 86075cc76f..c24c427829
DEPS diff: 6dc3a51e22..b5030084da/DEPS

No update to Clang.

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

Change-Id: I5072c12c144c77e497c03a8a429dcfc8b149f010
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158120
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@{#29588}
2019-10-23 16:39:27 +00:00
6adb0a2684 Do not compile webrtc_lib_link_test if is_asan=true.
This should avoid to get errors like the ones below when is_asan=true
and target_os="mac":

warning: (x86_64)  could not find object file symbol for symbol _write_mb_features
warning: (x86_64)  could not find object file symbol for symbol _update_mode
warning: (x86_64)  could not find object file symbol for symbol _vp8cx_base_skip_false_prob
warning: (x86_64)  could not find object file symbol for symbol _default_coef_counts
warning: (x86_64)  could not find object file symbol for symbol _vpx_skin_pixel

Bug: webrtc:11027
Change-Id: Iebcb55a43d1ed5c8d1ce43d456c0e83ffa5cc2c1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158000
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29587}
2019-10-23 16:07:22 +00:00
21bfa401dd Update APM config on RuntimeSetting pre amplifier gain change
Bug: webrtc:11045
Change-Id: I78c777632a46e1f8ebf96f4a64c4e1738184d350
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158081
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29586}
2019-10-23 12:34:35 +00:00
4f178d08de Fix gtk color-space conversion in peerconnection_client
Bug: webrtc:6857
Change-Id: I3fc95237cc699569d165a3286e96422c77913cbf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158080
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29585}
2019-10-23 11:25:06 +00:00
d81a04e7b2 Roll chromium_revision c0cca6e419..6dc3a51e22 (708426:708537)
Change log: c0cca6e419..6dc3a51e22
Full diff: c0cca6e419..6dc3a51e22

Changed dependencies
* src/base: 3a9e4cab1c..79f7872ce2
* src/build: c23a16d83c..f3832d6daa
* src/third_party: ddc24037f0..620b178817
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/bef344f701..61a1e81e89
* src/third_party/depot_tools: 67fccdf0c9..b1ae481f7f
* src/tools: 320ee2a801..86075cc76f
DEPS diff: c0cca6e419..6dc3a51e22/DEPS

No update to Clang.

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

Change-Id: I4cf68d5ec955ef475679c244073155689d6d76a5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158062
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@{#29584}
2019-10-23 10:09:36 +00:00
0ff7c02bc9 Add multipleTouchEnabled for subview of RTCMTLVideoView and RTCEAGLVideoView
Bug: webrtc:11044
Change-Id: Ice4232d54d4680b3228295ef8053e405cd0fa786
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157980
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29583}
2019-10-23 09:53:36 +00:00
27c293665e Implement an OperationsChain, to be used by PeerConnection in follow-up.
This allows asynchronous tasks to be queued to be executed in order.
The class is motivated by the "operations chain" in the spec:
https://w3c.github.io/webrtc-pc/#dfn-operations-chain

In a follow-up CL I intend to use this in PeerConnection's
CreateOffer(), CreateAnswer() SetLocalDescription() and
SetRemoteDescription() and unblock https://crbug.com/980885.

For background, motivation, requirements and implementation notes, see
https://docs.google.com/document/d/1XLwNN2kUIGGTwz9LQ0NwJNkcybi9oKnynUEZB1jGA14/edit?usp=sharing

Bug: webrtc:11019
Change-Id: I982e4a1c0e77fa62096c16deed459d9d9e9b63f0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/156120
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29582}
2019-10-23 09:33:16 +00:00
fcf79cca7b Add estimatedPlayoutTimestamp to RTCInboundRTPStreamStats.
https://w3c.github.io/webrtc-stats/#dom-rtcinboundrtpstreamstats-estimatedplayouttimestamp

Partial implementation: currently only populated when a/v sync is enabled.

Bug: webrtc:7065
Change-Id: I8595cc848d080d7c3bef152462a9becf0e5a2196
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155621
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29581}
2019-10-23 07:46:39 +00:00
261fc5197e Roll chromium_revision 83bb172f2d..c0cca6e419 (708314:708426)
Change log: 83bb172f2d..c0cca6e419
Full diff: 83bb172f2d..c0cca6e419

Changed dependencies
* src/base: 83f26beb6d..3a9e4cab1c
* src/build: 8e286f419f..c23a16d83c
* src/testing: 57ce63f4f3..af3a480d85
* src/third_party: bf84a480ef..ddc24037f0
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/bfdfc7ac41..bef344f701
* src/third_party/depot_tools: 53f9e0979a..67fccdf0c9
* src/third_party/icu: 5005010d69..b51014b962
* src/tools: 782210e67e..320ee2a801
DEPS diff: 83bb172f2d..c0cca6e419/DEPS

No update to Clang.

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

Change-Id: I4184edae48020d783b98cde7c89b350534d3e6da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157977
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@{#29580}
2019-10-23 00:58:48 +00:00
8e13e6ed3d Handle no-longer-sticky-in-Q+ WIFI_P2P_CONNECTION_CHANGED_ACTION intent.
This CL ensures that webrtc can work with an already-connected Wi-Fi
Direct network on Android Q.

Bug: None
Change-Id: Icf98c2f029fe0a92f95266310e6304268c2d9c70
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157504
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29579}
2019-10-23 00:29:18 +00:00
c04792ebef Component Build support for api/task_queue:task_queue_test.
Chromium tests depend on api/task_queue:task_queue_test but it
cannot be added to the WebRTC component in Chromium (which is not
testonly).

A possible solution is to make api/task_queue:task_queue_test
depend on the WebRTC component which lives in Chromium only
when `build_with_chromium=true`.

Bug: webrtc:9419
Change-Id: I1cbe1fb97f21ef7a201d09d2f0f729104d01ed90
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157427
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29578}
2019-10-22 23:21:06 +00:00
7058d33c19 Roll chromium_revision fc69c6f5b4..83bb172f2d (708204:708314)
Change log: fc69c6f5b4..83bb172f2d
Full diff: fc69c6f5b4..83bb172f2d

Changed dependencies
* src/base: 2a6fb4e02f..83f26beb6d
* src/build: 25a6c3c566..8e286f419f
* src/testing: f5deff7ca7..57ce63f4f3
* src/third_party: b7d5faba6a..bf84a480ef
* src/tools: 9eaf0586c9..782210e67e
DEPS diff: fc69c6f5b4..83bb172f2d/DEPS

No update to Clang.

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

Change-Id: I9a6633e4cecc934a3516f3f9d97632d53289b385
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158040
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@{#29577}
2019-10-22 21:04:28 +00:00
05691ddbd2 Add possibility to skip check_includes presubmit check.
Bug: webrtc:9419
Change-Id: I0fd8fb37cd2d000f0e1f488bf98d39b5ee5e9305
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157963
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29576}
2019-10-22 19:35:31 +00:00
33678af88d Roll chromium_revision 9b6351c71d..fc69c6f5b4 (708073:708204)
Change log: 9b6351c71d..fc69c6f5b4
Full diff: 9b6351c71d..fc69c6f5b4

Changed dependencies
* src/base: bdec6d072b..2a6fb4e02f
* src/build: 996a3e8661..25a6c3c566
* src/ios: ae09c822ec..26344289e1
* src/testing: b5fddaf89e..f5deff7ca7
* src/third_party: 7105cee06d..b7d5faba6a
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/03882834cb..bfdfc7ac41
* src/third_party/libyuv: f9aacffa02..53b529e362
* src/tools: 370c2cce2c..9eaf0586c9
DEPS diff: 9b6351c71d..fc69c6f5b4/DEPS

No update to Clang.

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

Change-Id: I05dd40f59b7ee0905975b7e8962ec928907f80eb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157973
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@{#29575}
2019-10-22 16:42:58 +00:00
a043b2ba46 Support case where win32socketserver's window class is not unregistered properly.
Either from failure to shutdown or when instantiated in a dll that is loaded or
unloaded multiple times within a single process lifetime.

Change-Id: I52b05a6d84c9312fbd45aaa34ed3f49566daadfd
Bug: b/140961297
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155987
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29574}
2019-10-22 16:15:56 +00:00
8c51f2e9cd AnalyzeReverseStream with StreamConfig
Adding a version of AnalyzeReverseStream with audio parameters
described by StreamConfig. This is part of preparations for
multichannel APM in Chromium.

Bug: webrtc:10913
Change-Id: I7c4650eab8bd7fcdec970a7e4a8fa203f09bed9e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157897
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29573}
2019-10-22 14:27:14 +00:00
e76b3abf61 Add per frame decode time histograms for 4k/HD and VP9/H264
Add new histograms
WebRTC.Video.DecodeTimePerFrameInMs.[codec].[resolution].[decoder]
These histograms are more explicit than the existing histogram
WebRTC.VideoDecodTimeMs, since they allow to see performance per
codec/resolution/decoder and also contain per frame statistics instead
of an average decode time.

There's a killswitch, WebRTC-DecodeTimeHistogramsKillSwitch, that can be
used to disable the histograms.

Bug: chromium:1007526
Change-Id: I9f75127b4bc5341e9f406c64ed91164564290b26
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157881
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29572}
2019-10-22 12:34:21 +00:00
13a8e16247 Cleanup use of deprecated PacketRouter methods
Bug: webrtc:11036
Change-Id: I5131fc9d5d048c691fdb501e0885310664fb9419
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157884
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29571}
2019-10-22 12:30:51 +00:00
1272dade56 Reduce log level of Opus bitrate.
Bug: None
Change-Id: Iab815dbbc12bf1ca2c1cc87acb0765e2ccade591
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157895
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29570}
2019-10-22 12:02:09 +00:00
d15a0283d1 Hide deprecated SingleThreadedTaskQueueForTest behind an accessor
this change is intentionally noop.
Goal is to minimize change that would replace the
SingleThreadedTaskQueueForTest with a regular task queue.

Bug: webrtc:10933
Change-Id: I6da768941af048de3716af13e41b8f0f1ccd4cab
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157892
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29569}
2019-10-22 11:57:49 +00:00
528a03441e Fix fuzzer-found inconsistency in AEC3 config json parsing
Type mismatches will silently fail and skip reading a parameter
in the JSON parsing, except when parsing a size_t from a negative int.

This CL updates the parsing to silently ignore negative values provided
for size_t config parameters, instead of explicitly DCHECKing.

Tested: Ran the fuzzer on the crash test case with + without this fix.

Bug: chromium:1016139
Change-Id: I3899e81e1183aa54b708030efeb6e0006b8cd881
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157894
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29568}
2019-10-22 10:21:53 +00:00
5f2fc41fb5 VP9 decoder: replace DCHECK with error message
Bug: chromium:1016160
Change-Id: I0ef0db2b254829e7c0dff24b7a8da3a4056547ac
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157890
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29567}
2019-10-22 09:54:19 +00:00
0855e2d0ed Delete unused members of MediaReceiverInfo and MediaSenderInfo
The deleted members are bytes_sent, bytes_received,
and (receive-side) fraction_lost.

Followup to https://webrtc-review.googlesource.com/c/src/+/143178.

Bug: webrtc:10744, webrtc:10525
Change-Id: Ibd8b15619c78b82a9dc18abddb6e1687fae60c88
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/143902
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29566}
2019-10-22 08:57:56 +00:00
85a10001a5 Use deprecated SingleThreadedTaskQueueForTesting as regular task queue
Bug: webrtc:10933
Change-Id: I749ecd9cedb6798f1640ce663c6ebb6679889b67
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157883
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29565}
2019-10-22 08:34:57 +00:00
b9014fb4bb Roll chromium_revision b528279c97..9b6351c71d (707828:708073)
Change log: b528279c97..9b6351c71d
Full diff: b528279c97..9b6351c71d

Changed dependencies
* src/base: a1875fd77d..bdec6d072b
* src/build: fec0010459..996a3e8661
* src/ios: dfcaa1c95f..ae09c822ec
* src/testing: d9a21bfd44..b5fddaf89e
* src/third_party: 4266812d61..7105cee06d
* src/third_party/depot_tools: a0aed87f71..53f9e0979a
* src/third_party/libjpeg_turbo: 9d3bf3e968..bc13578529
* src/tools: 15a95e934e..370c2cce2c
DEPS diff: b528279c97..9b6351c71d/DEPS

No update to Clang.

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

Change-Id: Id2302e31475cd45864f1b09d028f507367ea19e7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157965
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@{#29564}
2019-10-22 02:38:07 +00:00
ead0ec9a20 Add firing of OnRemoveTrack and OnRenegotationNeeded during rollback
Bug: chromium:980875
Change-Id: I71439cea4c79e4a8dae6488404b0c303a9c33a97
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157581
Commit-Queue: Eldar Rello <elrello@microsoft.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29563}
2019-10-21 20:47:16 +00:00