Commit Graph

36524 Commits

Author SHA1 Message Date
8a09610219 Update WebRTC code version (2022-01-26T04:06:28).
Bug: None
Change-Id: Ifcb2618ad33f459b85bc732b043965b1ddbd3289
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249321
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#35792}
2022-01-26 05:04:41 +00:00
6a3c2bcfa5 Roll chromium_revision 5505a6af21..a255778ed0 (963228:963344)
Change log: 5505a6af21..a255778ed0
Full diff: 5505a6af21..a255778ed0

Changed dependencies
* src/base: 3511067ea4..f012b10ec7
* src/build: 4ccf6f6d1e..1c8bf9081f
* src/ios: cda1dc6525..fa76094d85
* src/testing: af27e9f310..e57e877ab9
* src/third_party: c24260336c..d3ab616349
* src/third_party/depot_tools: c5f0cbb865..d05a2e0395
* src/tools: b7d497dbfa..d859e7e2c6
DEPS diff: 5505a6af21..a255778ed0/DEPS

No update to Clang.

BUG=None

Change-Id: I514066302bce0901a1d454c211d0ac538f3d2860
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249300
Bot-Commit: 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/main@{#35791}
2022-01-26 02:17:00 +00:00
e33f5cf868 Roll chromium_revision e8048e7096..5505a6af21 (963073:963228)
Change log: e8048e7096..5505a6af21
Full diff: e8048e7096..5505a6af21

Changed dependencies
* src/base: 2004dc31c9..3511067ea4
* src/build: 04e66c68e0..4ccf6f6d1e
* src/ios: d4669e01df..cda1dc6525
* src/testing: 74d5680b7f..af27e9f310
* src/third_party: 5985519581..c24260336c
* src/third_party/freetype/src: 02fa26f4cd..267c6918d1
* src/tools: 9651542343..b7d497dbfa
DEPS diff: e8048e7096..5505a6af21/DEPS

No update to Clang.

BUG=None

Change-Id: I84441b4c606f4c5c0a1a8eff6671d42ed643e55e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249240
Bot-Commit: 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/main@{#35790}
2022-01-25 22:24:29 +00:00
3f06d23d2f Roll chromium_revision 2d23298755..e8048e7096 (962971:963073)
Change log: 2d23298755..e8048e7096
Full diff: 2d23298755..e8048e7096

Changed dependencies
* src/base: e43e377270..2004dc31c9
* src/build: 949b669bd9..04e66c68e0
* src/buildtools/third_party/libc++abi/trunk: 579d5e5496..e4cc353cbf
* src/ios: 12759562b3..d4669e01df
* src/testing: 427e716890..74d5680b7f
* src/third_party: 0faf387dbb..5985519581
* src/tools: cf9c29a689..9651542343
DEPS diff: 2d23298755..e8048e7096/DEPS

No update to Clang.

BUG=None

Change-Id: Ia6fc66ddabba91ba4279b3eb583d6a302dbe966c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249180
Bot-Commit: 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/main@{#35789}
2022-01-25 19:31:29 +00:00
f602a389ea Roll chromium_revision 2962054fb0..2d23298755 (961809:962971)
Change log: 2962054fb0..2d23298755
Full diff: 2962054fb0..2d23298755

Changed dependencies
* src/base: e622bde14a..e43e377270
* src/build: 906b90c327..949b669bd9
* src/buildtools/linux64: git_revision:80a40b07305373617eba2d5878d353532af77da3..git_revision:0725d7827575b239594fbc8fd5192873a1d62f44
* src/buildtools/mac: git_revision:80a40b07305373617eba2d5878d353532af77da3..git_revision:0725d7827575b239594fbc8fd5192873a1d62f44
* src/buildtools/third_party/libc++abi/trunk: fd0ef6db30..579d5e5496
* src/buildtools/third_party/libunwind/trunk: 295f84c04f..c8a5d430f2
* src/buildtools/win: git_revision:80a40b07305373617eba2d5878d353532af77da3..git_revision:0725d7827575b239594fbc8fd5192873a1d62f44
* src/ios: 015f2c06aa..12759562b3
* src/testing: 9ef62302b2..427e716890
* src/third_party: b4a203e0e4..0faf387dbb
* src/third_party/androidx: cvnN-qE6n5AuBxEsTtzpda1KG8oF_QAjRf62bBkmqhkC..tD6afWCDy8ThEQz5eRDILYCo5Oa0bZ0-daMLVxkS_7QC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/8bc3659ded..d90eeee993
* src/third_party/depot_tools: b8f1ca3058..c5f0cbb865
* src/third_party/freetype/src: 0b635b1eb2..02fa26f4cd
* src/third_party/googletest/src: 2ddfdf819d..3d81736c97
* src/third_party/perfetto: bda2a707d5..d7b55ea623
* src/third_party/turbine: 8Wzi8_CpwqQkJeczCQavMiPI6wJMCSLh_4jpRwUIlSkC..RkSl7-UvBXltU55m5zi387oPTAJqTj3Oz6nIpQkOI4wC
* src/tools: 7f40597977..cf9c29a689
* src/tools/luci-go: git_revision:5b02a4aaeb5fd78d6fe41d6d54d1cb58da17f192..git_revision:09f8b3edbbf18dc63d0d5aa7722ae7acc20b11b4
* src/tools/luci-go: git_revision:5b02a4aaeb5fd78d6fe41d6d54d1cb58da17f192..git_revision:09f8b3edbbf18dc63d0d5aa7722ae7acc20b11b4
DEPS diff: 2962054fb0..2d23298755/DEPS

No update to Clang.

BUG=None

Change-Id: Ibe65423698c7314d33fb6f239b2fba45882bab3f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249160
Bot-Commit: 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/main@{#35788}
2022-01-25 16:23:28 +00:00
7eac6caeee Don't use wall clock for stats
This uses the local NTP clock for RTCP report block stats.

This code exists in the version that Mozilla is shipping, with a review
here https://phabricator.services.mozilla.com/D127709 .

Bug: webrtc:13484
Change-Id: I2f46ec02acab0bbb09040778b05b248c2d815bd1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/240142
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35787}
2022-01-25 15:39:53 +00:00
027c793c57 Replace most explicit new RefCountedObject... with make_ref_counted
Bug: webrtc:12701
Change-Id: Iab91f1e96715eed7f9ddcfe1ca55510a18c817eb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/224544
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35786}
2022-01-25 14:28:12 +00:00
b428d6bad4 Add perkj@ as owner of congestion_controller
And remove srte and crodbro since they are no longer active.

Bug: none
Change-Id: I218e078c2803770cce93e3acb53cebd4eb771171
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249082
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35785}
2022-01-25 11:21:23 +00:00
d2a370f1c9 Refactor RtcEvent log events.
Bug: webrtc:11933
Change-Id: I1700f4b75c3608985c9027f7d6a866fef97ec38f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/246203
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35784}
2022-01-25 11:14:40 +00:00
8ad0be0ab1 Update link to chromium modern c++ page
The page was renamed in
https://chromium-review.googlesource.com/c/chromium/src/+/3399246

Bug: None
No-Try: true
Change-Id: I7ddfb6c91b61ec071fbac95a30c56161119cc683
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248863
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35783}
2022-01-25 11:07:43 +00:00
4c72f99d67 FrameBuffer2: Specify high precision repeated tasks.
This unblocks lowering the precision of low precision tasks which are
the default.

Bug: webrtc:13604
Change-Id: Icd663cbbf5b0bf87ac83a4a0abd58699e6e27e8f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248862
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35782}
2022-01-25 10:46:53 +00:00
2dd3915284 Make use of TaskQueue/TaskQueueBase's PostDelayedHighPrecisionTask.
Use cases of TaskQueue or TaskQueueBase that are considered high
precision are updated to make use of PostDelayedHighPrecisionTask
(see go/postdelayedtask-precision-in-webrtc) instead of PostDelayedTask.

The cases here are the ones covered by that document, plus some
testing-only uses. The FrameBuffer2 and DataTracker use cases will
be covered by separate CLs because FrameBuffer2 uses
RepeatingTaskHandle and DataTracker uses dcsctp::Timer.

This protects these use cases against regressions when PostDelayedTask
gets its precision lowered.

This CL also adds TaskQueue::PostDelayedHighPrecisionTask which calls
TaskQueueBase::PostDelayedHighPrecisionTask (same pattern as for
PostDelayedTask).

Bug: webrtc:13604
Change-Id: I7dcab59cbe4d274d27b734ceb4fc06daa12ffd0f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248864
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35781}
2022-01-25 08:57:36 +00:00
2d3186e001 Introduce a variant of rtc::split that returns a vector of string_view
Intended to be compatible with absl::StrSplit, but without the binary
cost of that dependency.

Bug: webrtc:13579
Change-Id: I167726903d74b8d5f299886cfb3e5d60610ddb93
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247185
Reviewed-by: Ali Tofigh <alito@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35780}
2022-01-25 08:25:50 +00:00
3a88dd99c7 Update WebRTC code version (2022-01-25T04:05:44).
Bug: None
Change-Id: I9967224a6bf188e3224ee7fc1002667975ecd2b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249040
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#35779}
2022-01-25 06:32:56 +00:00
7abf45fe2c LSC: Apply clang-tidy's modernize-use-bool-literals
The check finds implicit conversions of integer literals to bools:
  bool b1 = 1;
  bool b2 = static_cast<bool>(1);
and transforms them to:
  bool b1 = true;
  bool b2 = true;

Bug: chromium:1290142
Change-Id: I6819a0bd2ca84ecadae08ed9389c17d2652589f4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248166
Auto-Submit: Anton Bikineev <bikineev@chromium.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Anton Bikineev <bikineev@chromium.org>
Cr-Commit-Position: refs/heads/main@{#35778}
2022-01-24 20:42:01 +00:00
9d230d54c7 (Un/)Subscribe RtpVideoSender for feedback on the transport queue.
* RtpVideoSender now registers/unregisters for feedback callback
  inside of SetActive(), which runs on the transport queue.
* Transport feedback is given on the transport queue
* Registration/unregistration for feedback is done on the same
* Removed the last mutex from TransportFeedbackDemuxer.

Ultimately, this work is related to moving state from the Call
class, that's related to network configuration, but due to the code
is currently written is attached to the worker thread, over to the
Transport, where it's used (e.g. suspended_video_send_ssrcs_).

Bug: webrtc:13517, webrtc:11993
Change-Id: I057d0e2597e6cb746b335e0308599cd547350e56
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248165
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35777}
2022-01-24 19:50:03 +00:00
27e8a095bf Add ability to specify delayed task precision in RepeatingTaskHandle.
See go/postdelayedtask-precision-in-webrtc for context of which use
cases are considered "high" or "low". Most use cases are "low" which
is the default, but this CL allows opting in to "high".

Will be used by FrameBuffer2.

Bug: webrtc:13604
Change-Id: Iebf6eea44779873e78746da749a39e1101b92819
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248861
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35776}
2022-01-24 17:56:50 +00:00
6f542d5e92 Move call to TransportFeedbackDemuxer::AddPacket to transport queue.
Before, this call was being made from the SendPacket path of the
pacer. The transport will post a task to the transport queue regardless
so this change moves the lock inside of the demuxer away from the
pacer and over to the transport queue.

Moving forward, the calls to register/unregister with the feedback
demuxer, will occur on the transport queue as well and we can change
the transport OnTransportFeedback() implementation to forward the
calls to the demuxer on the transport queue as well. That will bring
all calls into the same execution context and we won't need a lock.

Bug: webrtc:13517, webrtc:11993
Change-Id: If714ca6d2b164a1a2b6bcb8c99787372064a31a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248164
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35775}
2022-01-24 16:50:00 +00:00
3088941a5e Minor order change to Call::DestroyVideoSendStream.
Move StopPermanentlyAndGetRtpStates closer to being the last step of
the destruction process.

Bug: webrtc:11993
Change-Id: I83d86c505b05f5c10d0ce802494baba9aa645027
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239182
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35774}
2022-01-24 14:33:40 +00:00
29159ca979 dcsctp: Use c++17 structured bindings
As WebRTC now supports C++17, simplify the code of dcSCTP by binding
return values from std::pair or std::tuple to separate names.

Bug: webrtc:13220
Change-Id: Ie49154ff4c823e1528deaef7e372cbc550923bc2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/246442
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35773}
2022-01-24 13:57:30 +00:00
cabd374cbb Replace lock with checker in TransportFeedbackDemuxer
Bug: webrtc:13517, webrtc:11993
Change-Id: If44c7a7428454c0bf5a6fee6d12d816e3dc8e27c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248163
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35772}
2022-01-24 11:51:50 +00:00
604fd2f1ab Remove RTC_DISALLOW_COPY_AND_ASSIGN from modules/
Bug: webrtc:13555, webrtc:13082
Change-Id: I2c2cbcbd918f0cfa970c1a964893220ba11d4b41
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247960
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: (Daniel.L) Byoungchan Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#35771}
2022-01-24 11:50:20 +00:00
ce6170fcdf Refactor GoogCC unittests
After the refactoring, the test fixture is only used for creating the
object under test and dependencies. This leads to more readable code and
allows more flexibility when creating the object under test.

Bug: none
Change-Id: I643330290da17efe0a02fe5dc6b884136705de0b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248140
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35770}
2022-01-24 11:45:08 +00:00
d5f414cee1 Add class comments to Call and ChannelInterface
These class comments can help people to keep the relationship between
various classes / levels of abstraction straight.

Bug: None
Change-Id: I9fc899ac9c1080a406b06e88a38883cc3f00093d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248169
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35769}
2022-01-24 11:30:28 +00:00
49a1d621be Fix possible compile issue with PeerConnectionInterface::AsString.
AsString is constexpr, but RTC_CHECK_NOTREACHED is not. Using some gcc
compile rules, having a constexpr make use of RTC_CHECK_NOTREACHED does
not compile.

See internal issue number 215785261. We could either remove constexpr
or remove the RTC_CHECK_NOTREACHED. This CL does the latter.

Bug: None
Change-Id: I7ea84b345e9abdba60a7620e1d92c3159c0d7974
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248167
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35768}
2022-01-24 10:19:59 +00:00
347488e450 Make AddIceCandidate's error type match the spec.
See https://crbug.com/webrtc/4409.

Bug: webrtc:4409
Change-Id: I4249444a385ac7c4b3da88125a0d7c88a88bceeb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248143
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35767}
2022-01-24 09:04:10 +00:00
5411b174c8 Add a channel factory interface.
The interface is implemented by the ChannelManager and contains methods
to create and destroy media channel objects as used by a transceiver.

This will subsequently allow us to delete the channel objects from
the transceiver class where ownership really lies rather than from
the outside - which is currently required by some tests that keep
channel objects on the stack. We'll furthermore be able to do the
destruction asynchronously without additional Invoke()s as we do now
which will remove an Invoke when making sdp changes.

With introducing the interface, the following simplifications were made:
* ChannelManager constructed on the signaling thread.
  Before, there was an Invoke in the context class, which existed
  for the purposes of calling MediaEngine::Init() (which in turn is
  only needed for the VoiceEngine). This Invoke has now been moved
  into the CM (more tbd).
* The CM now has a pointer to the signaling thread (since that's the
  construction thread). That allows us to remove the signaling thread
  parameter from the CreateFooChannel methods.
* The ssrc_generator (UniqueRandomIdGenerator) instance for SSRCs moved
  from SdpOfferAnswerHandler to the CM, as it's always used in
  combination with the CM. This simplifies the CreateFooChannel methods
  as well as a couple of other classes that have a CM dependency.
* Removed DestroyFooChannel related code from SdpOfferAnswerHandler since
  the channel type detail can be taken care of by the CM.

Bug: webrtc:11992, webrtc:13540
Change-Id: I04938a803734de8489ba31e6212d9eaecc244126
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247904
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35766}
2022-01-24 08:50:30 +00:00
c0a4316825 PipeWire capturer: split xdg-desktop-portal and PipeWire implementations
Make PipeWire stream shared through DesktopCaptureOptions (similar to
X11 implementation sharing XDisplay) so we can implement better cursor
support with our own MouseCursorMonitor implementation.

Bug: webrtc:13429
Change-Id: I781482aa29cee0c105c42e5109f28e95dde9881b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238174
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#35765}
2022-01-21 19:14:37 +00:00
b39fce858f [frame-buffer3] Enable WebRTC-LegacyFrameIdJumpBehavior by default
When disabled, the test ResolutionAdaptsToAvailableBandwidth fails when
using frame buffer3. It is not clear if that is a problem with the test
or if that behaviour is required, and thus it is safer to have this
enabled by default and experiment with turning it off in the future.

Change-Id: I7a6ae14c37a0cdc3e203f39f6cc0c3ad87038a60
Bug: webrtc:13343
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247700
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35764}
2022-01-21 15:07:19 +00:00
95701503f2 Make libaom_av1_encoder always build the libaom encoder.
Currently `CreateLibaomAv1Encoder` will either return an actual libaom AV1 encoder or a nullptr depening on whether the build flag `enable_libaom` was configured to true or not. This CL updates the `libaom_av1_encoder` build target to no longer depend on `enable_libaom` so that `CreateLibaomAv1Encoder` will always return an encoder instance.

Added `CreateLibaomAv1EncoderIfSupported` as a replacement to the old `CreateLibaomAv1Encoder`.

Bug: webrtc:13573
Change-Id: Ibdcd52c609acd79feefa2b86f19d1b4ca3e91d0a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242360
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35763}
2022-01-21 13:45:47 +00:00
01ef37c08e Reland "Wire up proto-free event log format in encoder and parser."
This is a reland of 46333dbf6211ea197965c30fdbecbeb62bc81e5b

Original change's description:
> Wire up proto-free event log format in encoder and parser.
>
> Encode ALR state events as an example. The ALR state unit tests pass with the new format, but the tests are not enabled in this CL since the other event types aren't encoded yet.
>
> Bug: webrtc:11933
> Change-Id: I3ba22778b55f24e2e2bd7d95bb9b17de29ef899f
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/234520
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35752}

Bug: webrtc:11933
Change-Id: Ia8b23cfb134b61c9ef02aa21189ecbd239783c40
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248141
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35762}
2022-01-21 13:14:27 +00:00
e1cd3ad4f5 Switch encoder on init failure
Currently if encoder initialization fails WebRTC doesn't send any video.
This CL adds functionality that changes encoder type in such case and
restores the video. If encoder selector is available we switch to
encoder it recommends. Otherwise, VP8 is used as the default fallback
encoder.

Bug: webrtc:13572
Change-Id: Ifcdf707a575711f5ff81f9451caf30140c9171dc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/246960
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35761}
2022-01-21 12:05:17 +00:00
6d2fe89b7e [C++] Change default sdp_semantics to kUnifiedPlan.
This CL also removed the temporary enum value kNotSpecified.
See PSA https://groups.google.com/u/1/g/discuss-webrtc/c/SdoVP02eUIk
for more information.

With this CL we can close https://crbug.com/webrtc/11121 as fixed.

Bug: webrtc:11121
Change-Id: I1340b9be8e1d7a45e6327a5f550402bc542325ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/246209
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35760}
2022-01-21 10:44:56 +00:00
2832bbfeeb [ObjC] Change default sdpSemantics to UnifiedPlan.
This CL also removed the temporary enum value NotSpecified.
See PSA https://groups.google.com/u/1/g/discuss-webrtc/c/SdoVP02eUIk
for more information.

Bug: webrtc:11121
Change-Id: Ib19e1f5911ffad001fc61ac28174eb8e823fc803
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/246208
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35759}
2022-01-21 09:43:11 +00:00
0431d2a94a [Java] Change default sdpSemantics to UNIFIED_PLAN.
This CL also removed the temporary enum value NOT_SPECIFIED.
See PSA https://groups.google.com/u/1/g/discuss-webrtc/c/SdoVP02eUIk
for more information.

Bug: webrtc:11121
Change-Id: I46b7902354e588c3197a500c5ee1315b5a3ed0a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/246207
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35758}
2022-01-21 09:17:25 +00:00
265f22b735 Roll chromium_revision 73dab048d0..2962054fb0 (961686:961809)
Change log: 73dab048d0..2962054fb0
Full diff: 73dab048d0..2962054fb0

Changed dependencies
* src/base: 33b6d893c0..e622bde14a
* src/build: 7095aec865..906b90c327
* src/buildtools/third_party/libc++abi/trunk: 7d7912617f..fd0ef6db30
* src/ios: 5e48aa6760..015f2c06aa
* src/testing: 62ca8f0891..9ef62302b2
* src/third_party: 67f270b584..b4a203e0e4
* src/third_party/depot_tools: ac54b8de82..b8f1ca3058
* src/third_party/perfetto: 585716d40f..bda2a707d5
* src/tools: 5bd0c37640..7f40597977
DEPS diff: 73dab048d0..2962054fb0/DEPS

No update to Clang.

BUG=None

Change-Id: Idc5fe50f679abc5d7127f26638c7bd24def870e6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248121
Bot-Commit: 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/main@{#35757}
2022-01-21 07:05:07 +00:00
10d4ec46f0 Update WebRTC code version (2022-01-21T04:03:17).
Bug: None
Change-Id: I8f533101f5f281d64e76e866d61f8a2225abe8b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248120
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#35756}
2022-01-21 05:35:07 +00:00
45b3536a43 Roll chromium_revision c1a9a95784..73dab048d0 (961552:961686)
Change log: c1a9a95784..73dab048d0
Full diff: c1a9a95784..73dab048d0

Changed dependencies
* src/base: 466bb59e27..33b6d893c0
* src/build: 95b79dc567..7095aec865
* src/ios: 8704fe3fbf..5e48aa6760
* src/testing: 699ada065d..62ca8f0891
* src/third_party: d4530f76fc..67f270b584
* src/third_party/perfetto: 7cb76b7bef..585716d40f
* src/tools: d9080d57d2..5bd0c37640
DEPS diff: c1a9a95784..73dab048d0/DEPS

No update to Clang.

BUG=None

Change-Id: I714a9d6ff7ed6d3cab1e8c15f2eb0a7c2fa93ebc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248080
Bot-Commit: 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/main@{#35755}
2022-01-21 00:31:41 +00:00
00ecf48117 Roll chromium_revision ddc84409e8..c1a9a95784 (961419:961552)
Change log: ddc84409e8..c1a9a95784
Full diff: ddc84409e8..c1a9a95784

Changed dependencies
* src/base: 878376b19e..466bb59e27
* src/build: 23933803a5..95b79dc567
* src/buildtools/third_party/libunwind/trunk: efb2cbd374..295f84c04f
* src/ios: e9f90e0602..8704fe3fbf
* src/testing: 60542625f2..699ada065d
* src/third_party: a87ca4eecc..d4530f76fc
* src/third_party/depot_tools: a657331e90..ac54b8de82
* src/third_party/freetype/src: 773e31c783..0b635b1eb2
* src/third_party/googletest/src: 100f6fbf5f..2ddfdf819d
* src/third_party/perfetto: 264b143984..7cb76b7bef
* src/tools: 7796d83d8e..d9080d57d2
DEPS diff: ddc84409e8..c1a9a95784/DEPS

No update to Clang.

BUG=None

Change-Id: Ifbc1564452694c7994576896be7a02925e7d577c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248040
Bot-Commit: 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/main@{#35754}
2022-01-20 20:55:58 +00:00
6053903ab9 Revert "Wire up proto-free event log format in encoder and parser."
This reverts commit 46333dbf6211ea197965c30fdbecbeb62bc81e5b.

Reason for revert: Downstream test broken by changed error message.

Original change's description:
> Wire up proto-free event log format in encoder and parser.
>
> Encode ALR state events as an example. The ALR state unit tests pass with the new format, but the tests are not enabled in this CL since the other event types aren't encoded yet.
>
> Bug: webrtc:11933
> Change-Id: I3ba22778b55f24e2e2bd7d95bb9b17de29ef899f
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/234520
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35752}

TBR=terelius@webrtc.org,srte@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I9a21ec3c4f876102da146898b840c740f575e03c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11933
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247901
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35753}
2022-01-20 16:15:28 +00:00
46333dbf62 Wire up proto-free event log format in encoder and parser.
Encode ALR state events as an example. The ALR state unit tests pass with the new format, but the tests are not enabled in this CL since the other event types aren't encoded yet.

Bug: webrtc:11933
Change-Id: I3ba22778b55f24e2e2bd7d95bb9b17de29ef899f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/234520
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35752}
2022-01-20 15:22:28 +00:00
ec3862ba86 Roll chromium_revision 75b5f4522f..ddc84409e8 (961310:961419)
Change log: 75b5f4522f..ddc84409e8
Full diff: 75b5f4522f..ddc84409e8

Changed dependencies
* src/base: 890d81a09c..878376b19e
* src/build: 841e388a14..23933803a5
* src/ios: d2b4acaa69..e9f90e0602
* src/testing: eca0dae75b..60542625f2
* src/third_party: ffd6acf3ba..a87ca4eecc
* src/tools: 9a85b547d4..7796d83d8e
DEPS diff: 75b5f4522f..ddc84409e8/DEPS

No update to Clang.

BUG=None

Change-Id: I109712277ac21574c7166e5cdc576389483386ba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247980
Bot-Commit: 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/main@{#35751}
2022-01-20 14:53:58 +00:00
2deee4bbb2 Mark rtc::Thread's versions of PostTask/PostDelayedTask deprecated.
Because rtc::Thread inherits from TaskQueueBase, it already implements
a pair of PostTask/PostDelayedTask methods that we want to keep. But in
addition to those, rtc::Thread defines its own PostTask/PostDelayedTask
using templates. These are the versions that we want to deprecate.

They were originally implemented prior to rtc::Thread inheriting from
TaskQueueBase. We want to deprecate them because...
- We don't want to have multiple code paths that do the same thing.
- We want to move away from rtc::Thread to TaskQueueBase long-term.
- These versions are not overridable in Chromium.
- These versions don't have high/low precision versions of PDT.

Helper methods are added to rtc::Thread so that callers don't have to
wrap every lambda in webrtc::ToQueuedTask() and update dependencies.

Bug: webrtc:13582
Change-Id: I58702c53f4cb3705681bd9f1ea16b7aaa5052c18
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247660
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Markus Handell <handellm@google.com>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35750}
2022-01-20 12:59:27 +00:00
c065e739e2 Remove RTC_DISALLOW_COPY_AND_ASSIGN more.
Bug: webrtc:13555, webrtc:13082
Change-Id: I9c07708108da0a26f5e228384fd56cef4d1540b3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247300
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: (Daniel.L) Byoungchan Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#35749}
2022-01-20 11:00:18 +00:00
cf9899c518 TaskQueueBase: Add PostDelayedHighPrecisionTask().
As per go/postdelayedtask-precision-in-webrtc we want to reduce the
precision of PostDelayedTask() in order to schedule work on the CPU
more efficiently. In order not to break "high precision" use cases, a
new API is added to allow opting in to high precision.

PostDelayedHighPrecisionTask() has the same precision that
PostDelayedTask() has today, but by changing the interface's
requirements on PostDelayedTask(), adding the high precision version
of it will unblock making the old PostDelayedTask() API lower
precision.

This CL does not update implementations to support low precision so
until those are updated, both PostDelayedTask() and
PostDelayedHighPrecisionTask() have the same precision (=high).

This CL also adds TODOs to make some rtc::Thread-specific versions
of PostTask/PostDelayedTask obsolete, see
https://crbug.com/webrtc/13582 for more info.

Bug: webrtc:13583, webrtc:13582
Change-Id: I4c6d53d22bb299c49893ce9f3ef73a40d8c75de1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247367
Reviewed-by: Markus Handell <handellm@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35748}
2022-01-20 10:45:10 +00:00
c1ccc821bb remove loopback test
which relies on no-longer existing apprtc infrastructure

BUG=None

Change-Id: I1cecc039c69dff5923b5f57c872e74155c46ed05
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247662
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/main@{#35747}
2022-01-20 08:18:39 +00:00
09698b29dc Roll chromium_revision 8b13984d34..75b5f4522f (961195:961310)
Change log: 8b13984d34..75b5f4522f
Full diff: 8b13984d34..75b5f4522f

Changed dependencies
* src/base: 4a67a0b070..890d81a09c
* src/build: 635ab5f4cc..841e388a14
* src/ios: f754f5f51c..d2b4acaa69
* src/testing: fbc641aac9..eca0dae75b
* src/third_party: ca8410f38c..ffd6acf3ba
* src/third_party/depot_tools: b674278ce7..a657331e90
* src/third_party/ffmpeg: 53de560ab9..1edb3eb491
* src/third_party/perfetto: 645a5c0de6..264b143984
* src/tools: 3382825b93..9a85b547d4
* src/tools/luci-go: git_revision:d1e877e2b3e5a05a5cd34c4a340fedba14a16c2b..git_revision:5b02a4aaeb5fd78d6fe41d6d54d1cb58da17f192
* src/tools/luci-go: git_revision:d1e877e2b3e5a05a5cd34c4a340fedba14a16c2b..git_revision:5b02a4aaeb5fd78d6fe41d6d54d1cb58da17f192
DEPS diff: 8b13984d34..75b5f4522f/DEPS

No update to Clang.

BUG=None

Change-Id: I244699d2bd6d8377206c70510891f91120fe28cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247820
Bot-Commit: 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/main@{#35746}
2022-01-20 05:00:51 +00:00
6d56a8cdc7 Roll chromium_revision d3a2776850..8b13984d34 (961086:961195)
Change log: d3a2776850..8b13984d34
Full diff: d3a2776850..8b13984d34

Changed dependencies
* src/base: 88165acd18..4a67a0b070
* src/buildtools/third_party/libc++abi/trunk: 94855f7b7c..7d7912617f
* src/ios: 851ebf19f3..f754f5f51c
* src/testing: 3ce6541d98..fbc641aac9
* src/third_party: 27a82fd1db..ca8410f38c
* src/third_party/depot_tools: cb340f5b7b..b674278ce7
* src/third_party/perfetto: c581dd4f59..645a5c0de6
* src/tools: 2ddc26c0a0..3382825b93
DEPS diff: d3a2776850..8b13984d34/DEPS

No update to Clang.

BUG=None

Change-Id: I8b48e50167d917b36458f8e77d16e88cdf75e3d3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247780
Bot-Commit: 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/main@{#35745}
2022-01-20 00:26:58 +00:00
63c4585865 Roll chromium_revision c68a34c4bf..d3a2776850 (960970:961086)
Change log: c68a34c4bf..d3a2776850
Full diff: c68a34c4bf..d3a2776850

Changed dependencies
* src/base: 7eb3c62083..88165acd18
* src/build: 8460fe0529..635ab5f4cc
* src/ios: 0ee5dfebd9..851ebf19f3
* src/testing: a986612739..3ce6541d98
* src/third_party: 51ab711f71..27a82fd1db
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/f92a0a2305..8bc3659ded
* src/tools: 3434dd87e0..2ddc26c0a0
DEPS diff: c68a34c4bf..d3a2776850/DEPS

No update to Clang.

BUG=None

Change-Id: Icc37eabe10203610d7e3205672fb0bb6873f2c59
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247740
Bot-Commit: 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/main@{#35744}
2022-01-19 20:36:47 +00:00
f83d4265b5 Add frame_helpers
A number of utility functions to be shared between frame buffer 2
and the new frame scheduling implementation based on frame buffer 3.

Change-Id: Icc932c6c76fddeeedc8aa64ec27c7e0c955abfd0
Bug: webrtc:13343
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/241604
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35743}
2022-01-19 17:19:57 +00:00