Commit Graph

35532 Commits

Author SHA1 Message Date
d7fdb95346 Remove typing detection
Motivation: never used.
Follow-up CL of https://webrtc-review.googlesource.com/c/src/+/250680.

Tested on a custom chromium build by making a video call and with
keyboard activity. The expected logs from the APM transient suppressor
sub-module were shown.

Bug: webrtc:11226
Change-Id: I4186994412dd8ba2e71ed8f9dcc9cf8f8e40fbd3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250667
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36300}
2022-03-23 10:23:54 +00:00
2756ace4ce Roll chromium_revision cd60f7c147..a697245f3d (983336:984227)
Change log: cd60f7c147..a697245f3d
Full diff: cd60f7c147..a697245f3d

Changed dependencies
* src/base: 62ab5ed470..d07854bae7
* src/build: 0a7d5e2362..8ae687514c
* src/buildtools: d8c375426d..e1471b21ee
* src/buildtools/third_party/libc++abi/trunk: 93b8dcd57b..edde7bbc40
* src/ios: f05ae3297c..af28cc6c8b
* src/testing: e6c44c92f4..46f39ff7fc
* src/third_party: 9581bbe809..5ad0921fc7
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/54219055fc..180b8d540d
* src/third_party/depot_tools: f0bc2d2404..e7eb3eb81a
* src/third_party/googletest/src: b007c54f29..0affd45b62
* src/third_party/libvpx/source/libvpx: df0d06de6d..bf672f23a5
* src/third_party/perfetto: 723b273d39..5731615c4b
* src/third_party/turbine: Go9J3Mz5ankZAgxmn5GxeXKdEDV73zaZp2ojNfGC1RQC..yMO-x5RrhSksWmdTW_uQczi0PrHWCEfIyOkqwdFLExoC
* src/tools: a49530481c..b5911e5f6e
DEPS diff: cd60f7c147..a697245f3d/DEPS

No update to Clang.

BUG=None

Change-Id: If1b2148ca4fa04e96316b62f6921e2773352f3a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256440
Reviewed-by: Christoffer Jansson <jansson@google.com>
Owners-Override: Christoffer Jansson <jansson@google.com>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/main@{#36299}
2022-03-23 10:05:24 +00:00
a76ae851ad Run instrumentation tests with the default runner
This migrates all tests that work by just changing their runner.

This excludes tests using `@RunWith(ParameterizedRunner.class)`, and a
few other non-parameterized tests that fail with the default runner.

Bug: webrtc:13662
Change-Id: Ia0b7c80e04a6a6b7a51348b3a7f587d10061b58e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256367
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Xavier Lepaul‎ <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36298}
2022-03-23 10:01:04 +00:00
e7d7497e34 Split Mac clang format + use py3 for all clang-format OS's
No-Try: True
Bug: b/226298805
Change-Id: Iebd074aac1b15feb740a6fdcab122fe66053b2e2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256460
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/main@{#36297}
2022-03-23 09:02:26 +00:00
445a750d38 Update WebRTC code version (2022-03-23T04:05:31).
Bug: None
Change-Id: I0bdb52494a01c82bcdc682807f37a4be1e69559b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256425
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@{#36296}
2022-03-23 06:25:33 +00:00
56b836d958 Ensure there is a unique FrameQueue for each DxgiOutputDuplicator
DxgiOutputDuplicator objects hold a reference to the last frame that
they succesfully captured by maintaining a reference to the
SharedDesktopFrame that was passed as their target. This is done because
the DirectX capture APIs may fail to provide an update if there has been
no (or no substantial) change since the last capture call was made.
However, the higher levels of this capture stack
(DxgiDuplicatorController and ScreenCapturerWinDirectX), were unaware of
this, and assumed that the caller of CaptureFrame is the only one who
may have held a reference to the frame. Thus, when CaptureFrame is
called, the DirectX screen capturer assumes that the oldest frame in its
queue can be safely reused.

In the steady state, where capture is not being switched between
monitors, this is fine as there are no competing DxgiOutputDuplicators
being run and this assumption mostly holds true (or the frame is being
overwritten only when the DxgiOutputDuplicator is also done holding it).
However, when capture is being rapidly switched between multiple targets
(e.g. to show a preview of each of the available monitors), this can
result in a frame being held by one DxgiOutputDuplicator being passed to
another as a valid target and overwritten. In the common case of only a
single monitor this is essentially the same as steady state capture,
where there are no competing DxgiOutputDuplicator. In the other common
case of two monitors being captured, the fact that the
ScreenCaptureFrameQueue has two frames ends up masking this issue. Since
each monitor is captured in the same order, the same frame ends up
getting passed to each DxgiOutputDuplicator, so no data actually ends
up getting overwritten. In the case of 3 monitors, the 1st and 3rd
monitor end up sharing a frame, which when capture fails on one of them
surfaces as the other monitor being duplicately shown.

This change addresses the issue by ensuring that each screen that the
ScreenCapturerWinDirectX *actually attempts* to capture, gets it's own
FrameQueue, and thus essentially brings us back to the "steady state"
case for each monitor. Note that this does increase memory usage of
capturers that are switched between multiple targets by 2 frames/target
used (and actually attempted to be captured).

Alternatives considered:
DxgiOutputDuplicator makes a copy of the frame, rather than holding
a reference
  This was rejected because adding an additional copy for every
  capture upon getting a new frame, would expensive and could degrade
  performance.

Allow the DxgiOutputDuplicators to "fail" when there has been no update
  This would result in either a breaking change to the API for consumers
  or would require the ScreenCapturerWinDirectX to track these last
  captured frames; which would result in essentially the same approach,
  but with less abstraction for re-using the frames.

Bug: chromium:1296228
Change-Id: I5442ec40e9f234046010b562b258db63693ccc6b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256043
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#36295}
2022-03-22 16:53:53 +00:00
d7f9550647 Fix interaction between ScopedkeyValueConfig and global field trials string
This patch fixes a problem for test programs that mix usage of
ScopedKeyValueConfig and the global field trial string.

In this case, tests that were using CallTest.

The solution is to check the global string when nothing has been explicitly added to a ScopedKeyValueConfig.

Bug: webrtc:13828
Change-Id: Ib89735670cfe93340ca0a8bac53f8a64a600ad66
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256366
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36294}
2022-03-22 16:40:33 +00:00
8f1159b518 [cleanup] Remove VCMTiming::get_min/max_playout_delay
These methods were only used for testing.

Change-Id: Icbb6a3cc59cbc0b5e1f42efcb86a7203704b92d8
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256362
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36293}
2022-03-22 15:38:23 +00:00
92e89d7f77 [cleanup] Return struct from VCMTiming::GetTimings
Cleans callers having to initialize TimeDeltas.

Change-Id: Ib00a59bedf05fb82c9fde1d9fdd1e341e2132cb8
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256360
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36292}
2022-03-22 15:15:13 +00:00
6ceb81f62b Clean up SimpleStringBuilder after absl::string_view adoption
Bug: webrtc:13579
Change-Id: I8fdc65e19893c9a96b263bbc99c4f9139fa4b78f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256268
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36291}
2022-03-22 14:33:14 +00:00
ed3832b89f Make sure OnChanged() notifications are handled, post construction.
If an instance of AudioRtpReceiver was initialized with a valid media
channel pointer (i.e. SetMediaChannel() was not being called), then
OnChanged() notification would not be handled correctly.

This fixes the issue by making sure the safety flag is marked as
'alive' when [re]starting the media channel.

Bug: webrtc:13854
Fixes: webrtc:13854
Change-Id: Iaa5cfeb4036bfc9dc2efbfa9e1319d508ab151a9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256361
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36290}
2022-03-22 14:04:04 +00:00
6dbc1723f1 [cleanup] Prefer VCMTiming unique_ptr in VideoReceiveStream2 c'tor
Change-Id: Ifc2667ef9da38563266fb5ca7800ec757464035e
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256363
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36289}
2022-03-22 13:15:33 +00:00
04c881683d Switch to absl::string_view in field_trial::FindFullName()
Bug: webrtc:13579
Change-Id: Iaaea42957afb4af66ad5eea6447e75dddc13b5ea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256263
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36288}
2022-03-22 10:35:15 +00:00
2b168062d6 Update WebRTC code version (2022-03-22T04:02:08).
Bug: None
Change-Id: I5732b1ca0e5266952f5d33f9a7257236586c7c79
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256217
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@{#36287}
2022-03-22 05:51:13 +00:00
44ff88dd04 DXGI capturer hangs when changing resolution in detached sessions
This CL addresses an issue where the desktop appears to freeze after
resizing the desktop in a curtained CRD session when using the DXGI
capturer. This problem does not reproduce when using the GDI capturer
nor does it reproduce when the Windows session is attached to the local
console.

After digging in, it appears that the DXGI DuplicateOutput API stops
providing updated frame data. No errors are returned but yet no data is
produced. The problem is that when in this condition, there isn't a
good way to discern between this problem and a case where the desktop
is actually static.

The DxgiDuplicatorController already contains logic to attempt to
capture a frame prior to returning success after reinitialization.  This
logic works fine in the console case and occasionally works in the
detached session case. What I noticed in my reproductions was that DXGI
would produce a few frames before hanging (usually 1-2 but sometimes 3
or 4).  My solution is to check the session state and adjust the number
of frames we attempt to capture (I also simplified the wait logic as
there was a bug in the time calc and it seemed more complicated than it
needed to be).

One option considered would be to introduced a new differ class higher
up in the stack which would run the GDI and DXGI capturers in parallel
(instead of in the fallback configuration as they are today) however
that seemed like overkill for this specific issue.

Bug: chromium:1307357
Change-Id: Idba4bb9b2aa7692040344d480be3f0d09b9ce9e9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256214
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@google.com>
Commit-Queue: Joe Downing <joedow@google.com>
Cr-Commit-Position: refs/heads/main@{#36286}
2022-03-21 23:49:03 +00:00
608f9a5489 screencast_portal: Allow hooks to adapt behavior for remote desktop
Change adds callbacks to the class so that the remote desktop portal can
still make use of this class for selecting sources but can provide its
own implementation on what to do after the sources are selected.
Furthermore, few getters are exposed in the class interface so as to
allow the remote desktop portal class to leverage them when sending the
captured pipewire frames onto the capture stream's consumer. Setters are
added for session, pipewire stream node id and few interfaces are made
public since remote desktop portal relies on them (e.g.
`SelectSources`).

The reason behind the change is that remote desktop portal depends on
screen cast portal for selecting sources. Also the setup to select
devices to control remotely as well as source selection should be
handled as part of the same session (and session should be
instantiated only once).

Currently, starting the screencast portal calls into a callback chain
that not only selects the sources but also starts the session but with
this change a consumer, such as remote desktop portal, can hook into
this callback chain by overriding the callbacks and provide a custom
callback chain from there onwards, if need be.

Bug: chromium:1291247
Change-Id: I983aff062ec2ddf52fdef5545fc58fede416e6ed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249862
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Salman Malik <salmanmalik@google.com>
Cr-Commit-Position: refs/heads/main@{#36285}
2022-03-21 21:12:52 +00:00
19a6e9438b Expose RTCSSLCertificateVerifier from iOS SDK.
Bug: webrtc:11710
Change-Id: I825c6350a71b2ff180520f8643cbd4d6febdc883
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/254821
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Yura Yaroshevich <yura.yaroshevich@gmail.com>
Cr-Commit-Position: refs/heads/main@{#36284}
2022-03-21 17:24:12 +00:00
df59e53818 Reland "Pacer: Reduce TQ wake up and improve packet size estimation"
Update `early_execute_margin` after process packets, and the test case.

Original change's description:
>Pacer: Reduce TQ wake up and improve packet size estimation
>
>The TQ Pacer schedules delayed task according to target time of
>PacingController. It drains all valid ProcessPackets() in single loop,
>denies retired scheduled tasks, and round up the timeout to 1ms.
>
>This CL also improves packet size estimation in TQ Pacer by removing
>zero initialization, and introduces `include_overhead_` configuration.
>
>Tests:
>1. webrtc_perf_tests: MaybeProcessPackets() calls
>  2075147 -> 2007995
>
>2. module_unittests: MaybeProcessPackets() calls
>  203393 -> 183563
>
>3. peerconnection_unittests: MaybeProcessPackets() calls
>  66713-> 64333
>
>Bug: webrtc:13417, webrtc:13437
>Change-Id: I18eb0a36dbe063c606b1f27014df74a65ebfc486
>Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242962
>Reviewed-by: Erik Språng <sprang@webrtc.org>
>Reviewed-by: Henrik Boström <hbos@webrtc.org>
>Commit-Queue: Erik Språng <sprang@webrtc.org>
>Cr-Commit-Position: refs/heads/main@{#36179}

Bug: webrtc:13417, webrtc:13437
Change-Id: I79f2554cf02364b67ce7073698611a3ae337a73b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256145
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Owners-Override: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36283}
2022-03-21 16:41:42 +00:00
98274ee948 Roll chromium_revision 3fdea4fb00..cd60f7c147 (983226:983336)
Change log: 3fdea4fb00..cd60f7c147
Full diff: 3fdea4fb00..cd60f7c147

Changed dependencies
* src/build: 2432cc5556..0a7d5e2362
* src/ios: ae135d284f..f05ae3297c
* src/testing: 47c212f7df..e6c44c92f4
* src/third_party: f6fd5326b8..9581bbe809
* src/third_party/freetype/src: a960be9e5e..fc15ebe0a6
* src/third_party/perfetto: 5f95e72333..723b273d39
* src/tools: 8ec39e2d1b..a49530481c
DEPS diff: 3fdea4fb00..cd60f7c147/DEPS

No update to Clang.

BUG=None

Change-Id: I774058c6a6b9793e69fc66753d2f0209b911d82f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256211
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@{#36282}
2022-03-21 16:36:02 +00:00
9dde120d65 Reject double RefCountedObject inheritance in rtc::make_ref_counted.
Bug: webrtc:12701
Change-Id: Ie45707e3266e6a27cae073f824a1c77707d77000
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256240
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36281}
2022-03-21 16:31:21 +00:00
cf08d33944 Remove deprecated TurnPort::Create() versions
Bug: webrtc:10335
Change-Id: I62eb0534ade2de221bc90c2f6c4f3caa0ac2e91b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256266
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36280}
2022-03-21 16:04:02 +00:00
493718ea47 Make MockRtpTransceiver not inherit from RefCountedObject
Bug: webrtc:12701
Change-Id: Ia43c943cbf96ef7d745dfea79ecca6e52e8bc3b6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256104
Reviewed-by: Niels Moller <nisse@webrtc.org>
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36279}
2022-03-21 14:09:02 +00:00
94029b812f Remove unused script webrtc_dashboard_upload.py
The script process_perf_results.py is used instead.

Bug: webrtc:13806
Change-Id: I672da41d7264d5f996eef38f1178f486dad968ee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256220
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36278}
2022-03-21 12:54:42 +00:00
769de49937 Update VideoTrack::Create to use rtc::scoped_refptr.
Bug: webrtc:13464
Change-Id: I6508fbede2f447f8c0c9b37556d37e7fc2ccb744
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252441
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36277}
2022-03-21 10:38:52 +00:00
b3517fea83 Remove RefCountedObject dependency from FakeFrameDecryptor
Bug: webrtc:12701
Change-Id: I705007948eed7b8300f02a61307e8f4b3410e666
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256108
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36276}
2022-03-21 09:43:12 +00:00
a9fa92efdb Roll chromium_revision b76e799ccc..3fdea4fb00 (983116:983226)
Change log: b76e799ccc..3fdea4fb00
Full diff: b76e799ccc..3fdea4fb00

Changed dependencies
* src/base: 30c6152ced..62ab5ed470
* src/build: 2a9033b2ea..2432cc5556
* src/ios: d0ddd84c26..ae135d284f
* src/testing: 0f9838ee47..47c212f7df
* src/third_party: a3946cc010..f6fd5326b8
* src/third_party/depot_tools: fbb927599f..f0bc2d2404
* src/third_party/freetype/src: d2c3bbcd8e..a960be9e5e
* src/tools: 25fb123606..8ec39e2d1b
* src/tools/resultdb: git_revision:735a8a662d3874d8b1d795a40e46ea0f57b52758..git_revision:6cc18e2763e180929d70c786b419c1f8e6bcc66c
DEPS diff: b76e799ccc..3fdea4fb00/DEPS

No update to Clang.

BUG=None

Change-Id: Iaba181b0a0088e9e388c5371ab676ef294c23580
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256207
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@{#36275}
2022-03-21 08:51:04 +00:00
f11a04d0f5 remove all but 2 redundant factory methods in TurnPort
and those will be fixed after I fixed downstream.

Bug: webrtc:10335
Change-Id: Ie824b422b4240fbcdb5d7ee40ae9be91655abae7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256111
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36274}
2022-03-21 08:12:22 +00:00
60c588d77e Fixed typos, candiate -> candidate
Bug: None
Change-Id: I2dee549aa79f1eb6bddd58cfc6c9f67eb6ba3663
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256147
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36273}
2022-03-21 06:30:32 +00:00
9d52093ff9 Update WebRTC code version (2022-03-21T04:05:30).
Bug: None
Change-Id: I5701b2ffa1d17aab2ac159d8d7094acd068b2dc7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256205
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@{#36272}
2022-03-21 05:21:34 +00:00
82c94af48f Revert "Make MockPeerConnectionInterface not inherit from RefCountedObject"
This reverts commit d67903d284353dffcf28dfb92819e3d7c4b69bfd.

Reason for revert: A downstream issue needs to be fixed.

Original change's description:
> Make MockPeerConnectionInterface not inherit from RefCountedObject
>
> Bug: webrtc:12701
> Change-Id: I51fb7caf12b97d70f35af12703104112f9fdfaff
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256107
> Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36267}

Bug: webrtc:12701
Change-Id: I25e2d6004d257dd0b1d17fb1f7726d04d29e6eed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256109
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36271}
2022-03-20 18:48:02 +00:00
0a5e12b07d Reland "Apply lower bound of delay based estimate in AimdRateControl::ClampBitrate"
This reverts commit 865d94e45258c9c8876ea4cbdd5dade510cb7d93.

First patch is the same as original cl. Second patch includes a fix to ensure the clamped bitrate does not increase to 85% of the last network estimate.

Bug: none
Change-Id: Idf1b2af3fb60c0d392c48c1b6c0d8526f900f9d6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256016
Reviewed-by: Diep Bui <diepbp@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36270}
2022-03-20 16:56:41 +00:00
83929a8525 Roll chromium_revision b0887fb2d1..b76e799ccc (983014:983116)
Change log: b0887fb2d1..b76e799ccc
Full diff: b0887fb2d1..b76e799ccc

Changed dependencies
* src/base: bba9c68f4d..30c6152ced
* src/build: 3f1e2153f3..2a9033b2ea
* src/ios: 91ce947590..d0ddd84c26
* src/testing: fd6103c22b..0f9838ee47
* src/third_party: 39a80fa616..a3946cc010
* src/third_party/freetype/src: 53dfdcd819..d2c3bbcd8e
* src/tools: f0bd7bdb78..25fb123606
DEPS diff: b0887fb2d1..b76e799ccc/DEPS

No update to Clang.

BUG=None

Change-Id: I47f16d3d3558817229f8e02da894408efd390f3b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256182
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@{#36269}
2022-03-20 10:27:32 +00:00
1568f55668 Update WebRTC code version (2022-03-20T04:05:29).
Bug: None
Change-Id: Ia96519e30bf8ccef120f3c53e1e92d7bc784f3d8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256156
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@{#36268}
2022-03-20 05:06:01 +00:00
d67903d284 Make MockPeerConnectionInterface not inherit from RefCountedObject
Bug: webrtc:12701
Change-Id: I51fb7caf12b97d70f35af12703104112f9fdfaff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256107
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36267}
2022-03-19 16:17:27 +00:00
346abbc68a Update WebRTC code version (2022-03-19T04:04:24).
Bug: None
Change-Id: Ib8158e2d3116652dc268e955832aa81d19fa5aaa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256141
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@{#36266}
2022-03-19 04:57:37 +00:00
36addb3139 Roll chromium_revision f55241d014..b0887fb2d1 (982852:983014)
Change log: f55241d014..b0887fb2d1
Full diff: f55241d014..b0887fb2d1

Changed dependencies
* src/base: bee216d673..bba9c68f4d
* src/build: b42b203381..3f1e2153f3
* src/ios: 043ae4b9e4..91ce947590
* src/testing: c4769e51cb..fd6103c22b
* src/third_party: 7835795588..39a80fa616
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/389f33bb40..54219055fc
* src/third_party/depot_tools: bc93924b3b..fbb927599f
* src/third_party/grpc/src: 2a0d6234cb..208619cdce
* src/third_party/perfetto: 6dadd2c3b2..5f95e72333
* src/tools: 3c7dc0d25c..f0bd7bdb78
DEPS diff: f55241d014..b0887fb2d1/DEPS

No update to Clang.

BUG=None

Change-Id: I261f8fb459b95dc7230eb2892c947097092e149d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256142
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@{#36265}
2022-03-19 04:48:22 +00:00
e0e91a624a AlwaysValidPointer - forwarding constructor and tests
Bug: webrtc:10335
Change-Id: I1305ccf8d4f1b25f89fef7d26b090741d5f57f7e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256106
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36264}
2022-03-19 00:31:37 +00:00
0627cb3920 shared_screencast_stream: Set rectangle on the frame
The diff capturer wrapper doesn't work if the frame doesn't have any
rectangle and a static image is observed while chromoting. This change
adds a rectangle to the frame object, as done by other capturers, and
this in turn ensures that the wrapper that calulcates diffs from one
frame to the next can do its job.

Bug: chromium:1291247
Change-Id: I5bf1981f34b3a88ad4d82a081fed1ce210f71ed0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251205
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Salman Malik <salmanmalik@google.com>
Cr-Commit-Position: refs/heads/main@{#36263}
2022-03-18 22:08:46 +00:00
ea021333cb Roll chromium_revision 176855dcc8..f55241d014 (982693:982852)
Change log: 176855dcc8..f55241d014
Full diff: 176855dcc8..f55241d014

Changed dependencies
* src/base: ad8d9a01a5..bee216d673
* src/build: 0e41ee9abf..b42b203381
* src/ios: 332d8dee2d..043ae4b9e4
* src/testing: 4c179bb28c..c4769e51cb
* src/third_party: fc55284d0c..7835795588
* src/third_party/depot_tools: 76979dae56..bc93924b3b
* src/third_party/icu: ea8c08d878..a9359a84a3
* src/third_party/perfetto: 9b8eaa21f1..6dadd2c3b2
* src/tools: 4b90fc63cc..3c7dc0d25c
DEPS diff: 176855dcc8..f55241d014/DEPS

No update to Clang.

BUG=None

Change-Id: Iac3a522d3dd92121d664b103a9ea6d674bfbe944
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256120
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@{#36262}
2022-03-18 20:44:46 +00:00
0d5ce62d01 Make RtpTransceiver not inherit from RefCountedObject.
Also update API proxy Create() factory functions to accept the inner
reference counted object via scoped_refptr instead of a raw pointer.
This is to avoid accidentally creating and deleting an object when
passing an inner object to a proxy class.

Consider something like:
  auto proxy = MyProxy::Create(
      signaling_thread(), make_ref_counted<Foo>());

Bug: webrtc:13464, webrtc:12701
Change-Id: I55ccfff43bbc164a5e909b2c9020e306ebb09075
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256010
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36261}
2022-03-18 16:17:24 +00:00
7bd06dda3c Roll chromium_revision 7fc7e127cd..176855dcc8 (982354:982693)
Change log: 7fc7e127cd..176855dcc8
Full diff: 7fc7e127cd..176855dcc8

Changed dependencies
* src/base: 68127bb5f9..ad8d9a01a5
* src/build: 3accbb4b4d..0e41ee9abf
* src/buildtools: f0259e64a3..d8c375426d
* src/ios: dbde37f9b8..332d8dee2d
* src/testing: cb66ad8363..4c179bb28c
* src/third_party: a3813e6a9a..fc55284d0c
* src/third_party/android_build_tools/aapt2: yQIf5Ev_-q9u6Pr_a0APd1dHcImJSmotVADw4Pj151QC..wicn5Ce1ay6ivbZ1GNFF0gRSS3NYv_7hJTPtVga3O-QC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/4cc26bd5a0..389f33bb40
* src/third_party/dav1d/libdav1d: b1a5189c9d..56e7ffc0db
* src/third_party/depot_tools: 950a6b4225..76979dae56
* src/third_party/freetype/src: 1e2eb65048..53dfdcd819
* src/third_party/icu: 8a5b728e4f..ea8c08d878
* src/third_party/perfetto: a2dabf80a3..9b8eaa21f1
* src/tools: 91235624de..4b90fc63cc
DEPS diff: 7fc7e127cd..176855dcc8/DEPS

No update to Clang.

BUG=None

Change-Id: Icf50126e0a84cdd676f26d76c1987f5f49e7e369
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256050
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@{#36260}
2022-03-18 15:35:28 +00:00
66eb789b41 Add class for pointer or owned object.
To be used as part of field trial conversion effort.

Bug: webrtc:10335
Change-Id: Iaeff520d5a83331926ead945c9e414716e61cac8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256013
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36259}
2022-03-18 15:24:57 +00:00
3c60f2d31c Change the default value of bandwidth_backoff_factor to 1.0.
The default backoff behavior of loss based 2.0 should remain the same.

Bug: webrtc:12707
Change-Id: Ica7b8da26c11317a6cb7cd9272c07d03d066f30b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256005
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36258}
2022-03-18 15:18:38 +00:00
be74b8058b Fix spelling of receiver and transceiver.
Bug: None
Change-Id: I439e217d67283b182833e48da15af9ae367ac14e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256015
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36257}
2022-03-18 14:54:10 +00:00
76dd735a14 desktop_capturer: Extract helpers from screencast portal
Extract helper methods from screencast portal that can be
reused for remote desktop portal client.

Bug: chromium:1291247
Change-Id: I66d09c75f0c34d81c7ceff8998720fbbd1902ac8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249860
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Salman Malik <salmanmalik@google.com>
Cr-Commit-Position: refs/heads/main@{#36256}
2022-03-18 14:53:07 +00:00
29ad53e466 Remove 'owned proxy' macros from proxy.h.
This seems to be unused and also differs from other proxy
implementations in that proxies are generally for reference counted
interfaces whereas the 'owned proxy' macros are not.

Bug: webrtc:13464, webrtc:12701
Change-Id: I2fc2c2f186bccab8388928d41610112c3b5f88ac
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256018
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36255}
2022-03-18 14:48:39 +00:00
ef6b028c92 Implement recieving NACK in RtcpTranceiver
Bug: webrtc:8239
Change-Id: I41d6c3252bbffeab66ded7ed294f82134351541a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/254800
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36254}
2022-03-18 14:46:18 +00:00
16af378884 Remove deprecated TaskQueuePacedSender constructor.
Bug: webrtc:13417
Change-Id: I1486aedf2069d70c515fad97c665c7a5a94b6c38
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256017
Auto-Submit: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36253}
2022-03-18 14:36:57 +00:00
4fc9bd9f69 Add a new script to upload perf tests.
Also add a script to do the bridge between a python 2 and a python 3 interpreter.
This should be removed when the merge scripts will be using python 3 (https://crbug.com/webrtc/13835).

Note that webrtc_dashboard_upload.py will be removed when the new script is stabilized.

Bug: webrtc:13806
Change-Id: I806fa11f417ef37674bdaeb5126c71570e3697d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/255560
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Christoffer Jansson <jansson@google.com>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36252}
2022-03-18 13:30:59 +00:00
e9a6ada2e3 Fix add some eng prod owners to PRESUBMIT.py.
Bug: webrtc:13836
Change-Id: I220fcef0412fa477627e8632b49e05a2b130eb53
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256007
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36251}
2022-03-18 13:19:07 +00:00