39379 Commits

Author SHA1 Message Date
henrika
2264e7aacc Fixes distortion in WGC screen capture path
This is a partial revert of the previously landed CL in
https://webrtc-review.googlesource.com/c/src/+/301200.

I noticed when I used `getDisplayMedia` on my private Windows laptop
in combination with WGC that the captured screen was distorted and
did only contain tilted (~35 degrees) lines in all sorts of colors.

The issue only happened for one particular screen resolution
3000 x 2000 and 200% scale. Changing to 100% scale instead resolved
the issue.

I tried many other resolutions but could only trigger for the one
above with 200% scaling.

Next, I bisected and found [1] which led to [2] which contains my own
change in https://webrtc-review.googlesource.com/c/src/+/301200.

The only part that could affect the video frame was the part which
did `CopyPixelsFrom` so I reverted that part and it solved the issue
on my private Windows laptop.

I did not dig deeper into why this particular resolution triggered
the distortion but deiced to revert to avoid more reports.

[1] b4c2a7fcf5..ff848b7a43

[2] a9a2957dbc

Bug: chromium:1428592
Change-Id: I328e77840cd3ca6871254cdf06500bdc616b0c36
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306600
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#40147}
2023-05-25 16:46:47 +00:00
Per K
40a0fa95c8 Add new padding mode to RtpPacketHistory
Instead of using most recent, or most "valuable" packets for padding, use most recent large packet.
The large packet for padding is not culled when acked by the receiver.
The most recent large packet is kept where  payload size + 100bytes > currently stored.

Bug: webrtc:15201
Change-Id: I510735b757f99460c477b575061963d2b69016e4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306521
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Erik Språng <sprang@google.com>
Auto-Submit: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40146}
2023-05-25 15:26:40 +00:00
Beining Chen
4206d31ae1 [Analysis] Add new thresholds config schema
Generalize the threshold schema to support arbitrary metrics.
This is part of migrating to the new schema.
The old bug_filing_threshold and priorities.threshold will be removed once the migration is done.

Bug: None
Change-Id: I7d79b2f43a6ce7ad187fd1e75663d0629723325f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306560
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Commit-Queue: Beining Chen <beining@google.com>
Cr-Commit-Position: refs/heads/main@{#40145}
2023-05-25 13:43:54 +00:00
Harald Alvestrand
cfd4cd0703 Introduce AddDefaultRecvStreamForTesting to VideoReceiveChannel API
This change allows us to remove one static_cast from tests that
was problematic for another refactoring.

Bug: webrtc:13931
Change-Id: I8e1b5cecadd806b266b6c115b56b18b9613cbe82
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306500
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40144}
2023-05-25 12:59:53 +00:00
Philipp Hancke
5c35d08703 Replace "RTRR" with "RRTR"
which is the correct term used in
  https://www.rfc-editor.org/rfc/rfc3611#section-4.4

BUG=None

Change-Id: Iab5a1de6b69a8495aa9a6f79531053f4f2421c27
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306480
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40143}
2023-05-25 12:47:37 +00:00
chromium-webrtc-autoroll
1ecac13149 Roll chromium_revision be3e47cd99..aae661725b (1148555:1148994)
Change log: be3e47cd99..aae661725b
Full diff: be3e47cd99..aae661725b

Changed dependencies
* src/base: 26878e946c..1a5625efce
* src/build: 91fe56808c..40ec269a47
* src/buildtools: 5ba94a7ca3..edbefcee3d
* src/ios: 1df9c39f61..02f8084426
* src/testing: 21c061bfe0..6882fbb105
* src/third_party: 7bbd131784..622048e390
* src/third_party/androidx: Q3AZB5fRWzo_uiJt47UQ11_LRBtSFcurOt1Aofa9Wy4C..Ll2UQauMCmQu65qrrb_Z3qzG-sZhesVx9RnsetEDXPUC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/b05d23a928..2ed88c5bbb
* src/third_party/depot_tools: 85c13de0be..456d085e75
* src/third_party/perfetto: 603af58208..face7c192d
* src/third_party/r8: h3mD8cigmlOPxMqeMRW8Z2Wb364bRLWUMdjhwWy_UPsC..dJL8gwEiDUoK5pirX6la4l7ofdBufwcc1HUaCv4CZ8cC
* src/tools: 55c101eb37..4aa651cbef
DEPS diff: be3e47cd99..aae661725b/DEPS

No update to Clang.

BUG=None

Change-Id: Iaf62f065a4479ce8506b2cbf78673e6e8d59e0a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306540
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@{#40142}
2023-05-25 11:20:24 +00:00
Linus Nilsson
f4d0a493b4 Adopt EglThread in EglRenderer
This allows EglRenderer to share render thread EGLContext with other renderers.
go/meet-android-eglcontext-reduction

Bug: b/225229697
Change-Id: I8aa41e61ada195fbbe3338c05815b26f3238dd78
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306281
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40141}
2023-05-25 11:03:53 +00:00
Philipp Hancke
1cc41ea84f Remove unused Win32Window class
BUG=None

Change-Id: I1d6b4e64a01076166d841c7c72eb0e2b968dd812
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306441
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40140}
2023-05-25 10:48:40 +00:00
Henrik Boström
0f1376529a Delete RTC[NonStandard/Restricted]StatsMember.
Whether a metric is to be exposed to JavaScript or not is a blink
implementation detail that the WebRTC repository does not need to be
concerned with.

This CL removes unused code and paves the way for the possibility of
making the one and only RTCStatsMember class be absl::optional<>-based
in the future.

Bug: webrtc:15162
Change-Id: I578715f48b8fcc3534b72b4c700fd6567f8d553e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304722
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40139}
2023-05-25 08:39:48 +00:00
Rasmus Brandt
621cb2943d Fix video version of RTCInboundRtpStreamStats.jitterBufferDelay to obey spec.
Prior to this CL, the video `jitterBufferDelay` stat was the accumulated current delay, which is a smoothened version of the target delay. This is not correct according to the spec [1]. Rather, the stat should be the accumulated time spent in the jitter buffer, for all emitted frames. This CL fixes this spec compliance problem.

Expect changes to test metrics and product monitoring as this CL rolls out.

[1]: https://www.w3.org/TR/webrtc-stats/#dom-rtcinboundrtpstreamstats-jitterbufferdelay

Tested:
1. Go to https://jsfiddle.net/jib1/0L6duga2/show
2. Apply 2.0 seconds of video delay.
3. Notice that "Video jitter buffer delay" is slightly less than 1990ms. (2000ms playoutdelayhint - 10ms render delay - Xms decode delay).

Bug: webrtc:15085
Change-Id: I42805faafd7dd3bcdcf3ad08e751e08d6de38906
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304521
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40138}
2023-05-25 07:33:39 +00:00
webrtc-version-updater
8ac66a2ba8 Update WebRTC code version (2023-05-25T04:12:48).
Bug: None
Change-Id: I884d33da97ed03ab3a92f6a73475a9cc64a11420
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306425
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@{#40137}
2023-05-25 06:08:12 +00:00
chromium-webrtc-autoroll
ec863a213f Roll chromium_revision 8f46ad499d..be3e47cd99 (1148441:1148555)
Change log: 8f46ad499d..be3e47cd99
Full diff: 8f46ad499d..be3e47cd99

Changed dependencies
* src/base: e7c2526512..26878e946c
* src/build: 5c438afca9..91fe56808c
* src/ios: ffb392c344..1df9c39f61
* src/testing: 2fac9eb926..21c061bfe0
* src/third_party: a3bc7e62be..7bbd131784
* src/tools: f27bdf6006..55c101eb37
DEPS diff: 8f46ad499d..be3e47cd99/DEPS

Clang version changed llvmorg-17-init-10134-g3da83fba:llvmorg-17-init-12166-g7586aeab
Details: 8f46ad499d..be3e47cd99/tools/clang/scripts/update.py

BUG=None

Change-Id: Iaa660f01d2f9205f3574bc148fb092ebc14eb901
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306420
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@{#40136}
2023-05-24 17:27:34 +00:00
Henrik Boström
979b0479a1 Revert "Temporarily add dummy trackId to unblock roll."
This reverts commit 3df4178d5966f9e2c9cb3bd97f27d7e86314ddb4.

Reason for revert: This dummy variable is no longer needed to make
importer happy

Original change's description:
> Temporarily add dummy trackId to unblock roll.
>
> NOTRY=True
>
> Bug: webrtc:15198
> Change-Id: I3090b90c549da3f2368001f2049bbf1d66042af4
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306400
> Reviewed-by: Markus Handell <handellm@webrtc.org>
> Commit-Queue: Henrik Boström <hbos@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40130}

Bug: webrtc:15198
Change-Id: Ib47471259de72771292887050d1576707a473eec
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306401
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Auto-Submit: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40135}
2023-05-24 15:50:44 +00:00
Danil Chapovalov
aa1ad7d6a4 In RtcpTransciever refactor outgoing transport interface
Replace Transport* interface with since std::function to stress this class doesn't produce RTP packets
Repesent outgoing packet as ArrayView instead of pointer + length.
Make outgoing transport optional, thus allowing to use RtcpTransciever as an rtcp parser.

Bug: webrtc:8239, webrtc:14870
Change-Id: Ia582d9a980786df8e295adcebe27081258b80dc0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306280
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40134}
2023-05-24 14:14:53 +00:00
Philipp Hancke
f4d762e776 docs: explain release note process
in particular which Chromium directories are taken into account.
Also update the list of release notes.

BUG=webrtc:14227
No-Try: true

Change-Id: I7279e1e79cb397e154bc8c6545f323d194ab8f08
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306360
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Christoffer Jansson <jansson@google.com>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#40133}
2023-05-24 14:09:54 +00:00
Henrik Boström
2057d71775 [Stats] Delete unused NonStandardGroupId.
NonStandardGroupId is no longer wired up to Chrome, but if we did want
to only expose certain metrics if a field trial was enabled then the
right place to do that would be in blink, where WebIDL lives.

This was only used prior to the WebRtcStatsReportIdl launch and
experiments haven't been active in several years so its dead code.

Blocked on:
- https://chromium-review.googlesource.com/c/chromium/src/+/4514754

Bug: webrtc:15162
Change-Id: Ia41a4d21d7e5f029ddb121183fbd69ae7f98fac4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304720
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40132}
2023-05-24 14:08:32 +00:00
Harald Alvestrand
61bacd1ddd Enable WebRTC-SplitMediaChannel by default
This is a refactoring that should have no production impact.
It has been activated for 2 weeks before, but was rolled back
because of a performance impact - this has now been fixed.

Intended to be submitted May 24 - after the 115 branch cut.

Bug: webrtc:13931
Change-Id: I745558cc3062cb4ea0a4d6f537702efc96eb7574
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305221
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40131}
2023-05-24 12:59:23 +00:00
Henrik Boström
3df4178d59 Temporarily add dummy trackId to unblock roll.
NOTRY=True

Bug: webrtc:15198
Change-Id: I3090b90c549da3f2368001f2049bbf1d66042af4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306400
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40130}
2023-05-24 12:54:43 +00:00
Henrik Boström
4e231eedbd Delete deprecated 'track' and 'stream' metrics from WebRTC.
Track stats are roughly equal in size as the RTP stream stats which
are the largest objects making up the majority of the RTCStatsReport
size and scales with meeting size. Deleting track/stream reduces the
size in approximately half which should reduce performance overhead
and unblock code simplifications.

Blocked on:
- https://chromium-review.googlesource.com/c/chromium/src/+/4517530

# Relevant bots already passed
NOTRY=True

Bug: webrtc:14175, webrtc:14419
Change-Id: Ib7bdb84c10459b42b829228d11876498e5227312
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/289043
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40129}
2023-05-24 12:26:56 +00:00
chromium-webrtc-autoroll
54c37a5500 Roll chromium_revision 9378e3160b..8f46ad499d (1148314:1148441)
Change log: 9378e3160b..8f46ad499d
Full diff: 9378e3160b..8f46ad499d

Changed dependencies
* src/base: a954fc39ba..e7c2526512
* src/buildtools: 5d2ccbf93c..5ba94a7ca3
* src/ios: 385ea59ae6..ffb392c344
* src/testing: 3cb2e3246a..2fac9eb926
* src/third_party: 305cdff3c4..a3bc7e62be
* src/third_party/depot_tools: 6463e8c4bb..85c13de0be
* src/third_party/perfetto: ab5c58d254..603af58208
* src/tools: 48afe5fcc0..f27bdf6006
* src/tools/luci-go: git_revision:6ac770095bc0e289138f6f29aa91ff2f4886b81c..git_revision:2eaf659a45c8945c3e15f202c4e8a734243f8270
* src/tools/luci-go: git_revision:6ac770095bc0e289138f6f29aa91ff2f4886b81c..git_revision:2eaf659a45c8945c3e15f202c4e8a734243f8270
DEPS diff: 9378e3160b..8f46ad499d/DEPS

No update to Clang.

BUG=None

Change-Id: Icdad71ecfcfc9d54a8bba52144616029946e04ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306342
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@{#40128}
2023-05-24 11:30:48 +00:00
webrtc-version-updater
18898d7db3 Update WebRTC code version (2023-05-24T04:17:39).
Bug: None
Change-Id: Id88c0d0c986afd3038d70cf15241763b15c72e86
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306321
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@{#40127}
2023-05-24 06:19:45 +00:00
chromium-webrtc-autoroll
1920430ebb Roll chromium_revision 3d8a0c6a22..9378e3160b (1148203:1148314)
Change log: 3d8a0c6a22..9378e3160b
Full diff: 3d8a0c6a22..9378e3160b

Changed dependencies
* src/base: d99b5d9669..a954fc39ba
* src/build: 9f567be8ad..5c438afca9
* src/ios: d7d0d5171c..385ea59ae6
* src/testing: 1c73d7d914..3cb2e3246a
* src/third_party: 6f45715e2e..305cdff3c4
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/f8c80ae9df..b05d23a928
* src/third_party/depot_tools: 02838e6f4e..6463e8c4bb
* src/tools: 44949d05d9..48afe5fcc0
DEPS diff: 3d8a0c6a22..9378e3160b/DEPS

No update to Clang.

BUG=None

Change-Id: I680b350f4435ef9fef187653f1d0969148e152c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306301
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@{#40126}
2023-05-24 02:40:37 +00:00
chromium-webrtc-autoroll
531383c653 Roll chromium_revision bbf4ff3290..3d8a0c6a22 (1148035:1148203)
Change log: bbf4ff3290..3d8a0c6a22
Full diff: bbf4ff3290..3d8a0c6a22

Changed dependencies
* src/base: 2593c032bb..d99b5d9669
* src/build: f8e391d8c4..9f567be8ad
* src/ios: e26bbe2094..d7d0d5171c
* src/testing: e1331a79b5..1c73d7d914
* src/third_party: 37e64a17d3..6f45715e2e
* src/third_party/android_build_tools/bundletool: Xt6znihJ60Ym06wn163_2B0HOt2tNsV5fVy-BpYJZcMC..LbB0aRQ3VKjRJZmc_PD0VTZ1O34_zD92rh71aOEOEcEC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/4f43388d90..f8c80ae9df
* src/third_party/depot_tools: 63d20c330b..02838e6f4e
* src/third_party/perfetto: 86ba039eec..ab5c58d254
* src/tools: 00f92bf881..44949d05d9
DEPS diff: bbf4ff3290..3d8a0c6a22/DEPS

No update to Clang.

BUG=None

Change-Id: I0c3160c6db761aa9f15f5ae9f504adc76e2406f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306266
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#40125}
2023-05-23 22:40:01 +00:00
chromium-webrtc-autoroll
4daa4e6b2f Roll chromium_revision c025c4ac7b..bbf4ff3290 (1147854:1148035)
Change log: c025c4ac7b..bbf4ff3290
Full diff: c025c4ac7b..bbf4ff3290

Changed dependencies
* src/base: a82ed8daa8..2593c032bb
* src/build: fa91c17478..f8e391d8c4
* src/ios: a338bea3df..e26bbe2094
* src/testing: 0497194285..e1331a79b5
* src/third_party: 62d97e5d4e..37e64a17d3
* src/third_party/freetype/src: 562f348192..80a507a6b8
* src/third_party/perfetto: 9d82cb8525..86ba039eec
* src/tools: ec531e162e..00f92bf881
DEPS diff: c025c4ac7b..bbf4ff3290/DEPS

No update to Clang.

BUG=None

Change-Id: Ic0a56bdf69cc9f0c6204a0714ff36c43ad16e2ff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306264
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@{#40124}
2023-05-23 18:58:28 +00:00
Alexander Cooper
a7d10811cd Revert "pipewire capturer: Reduce the amount of copying"
This reverts commit 8856410b6d54b546bdb3185587474f0f9b3a7c2e.

Reason for revert: chromium:1447540

Original change's description:
> pipewire capturer: Reduce the amount of copying
>
> Improves the capture latency by reducing the amount of
> copying needed from the frame. We keep track of the
> damaged region of previous frame and union it with
> the damaged region of this frame and only copy this
> union of the frame over. X11 capturer already has
> such synchronization in place.
>
> The change is beneficial especially when there are
> small changes on the screen (e.g. clock ticking).
> For a 4k screen with 128 cores, I observed the
> capture latencies drop from 5 - 8 ms to 0 ms when the
> system is left idle. This is in line with the X11
> capturer.
>
> Bug: chromium:1291247
> Change-Id: Iffb441f9e1902d2658031f5f35b5372ee8e94073
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299720
> Reviewed-by: Alexander Cooper <alcooper@chromium.org>
> Commit-Queue: Salman Malik <salmanmalik@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#39968}

Bug: chromium:1291247
Change-Id: Id1bfd3fc39fea2bb1f232cad5218f90e144920e7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306263
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Auto-Submit: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#40123}
2023-05-23 17:58:08 +00:00
chromium-webrtc-autoroll
2eacbbc03a Roll chromium_revision 692840e030..c025c4ac7b (1147747:1147854)
Change log: 692840e030..c025c4ac7b
Full diff: 692840e030..c025c4ac7b

Changed dependencies
* src/base: 3bd5ac2003..a82ed8daa8
* src/ios: 3b159b39d9..a338bea3df
* src/testing: 7d69a6efe3..0497194285
* src/third_party: 0a3ca294f8..62d97e5d4e
* src/third_party/perfetto: 24fae90b5e..9d82cb8525
* src/tools: 00be3c5a98..ec531e162e
DEPS diff: 692840e030..c025c4ac7b/DEPS

No update to Clang.

BUG=None

Change-Id: Ic303b08ebca06ea438d5148a0ec95a7d81a0dc96
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306261
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#40122}
2023-05-23 14:58:53 +00:00
Linus Nilsson
3369729100 Add EglThread class wrapping EglConnection and handler.
EglThread can be shared by multiple clients each using their own
EglBase instance, but sharing thread and EglConnection.
go/meet-android-eglcontext-reduction

Bug: b/225229697
Change-Id: I2d18b92bdef51362a9dbd9c0af56cb868e29869d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305462
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40121}
2023-05-23 14:02:21 +00:00
Harald Alvestrand
ff35a37a8b Unit tests for MediaChannel creation API
These tests verify the ability to override either the old or the
new function, and get the expected results.

Bug: webrtc:13931
Change-Id: Iebd0c929eda73dea75f32b96eb91a64e059a3cf8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/294880
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40120}
2023-05-23 13:24:46 +00:00
Danil Chapovalov
98f47a300b Delete redundant member StreamDataCounters::last_packet_received_time
StreamDataCounters is used both for send-side and receive side stats,
but last_packet_received_time is only used by receive statistician where
it duplicates another member

Bug: webrtc:13757
Change-Id: Iae6a65aba497e577ee3255e40623362e8c4c8a72
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306183
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40119}
2023-05-23 13:09:31 +00:00
Sergey Silkin
0328190ab3 Add video_codec_perf_tests to desktop and android perf test suites
Followed instructions in https://webrtc.googlesource.com/src/+/refs/heads/main/g3doc/add-new-test-binary.md

Bug: webrtc:14852
Change-Id: I4cdc7d55270de7b24723a89b8e3bb0d392d0e788
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305600
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40118}
2023-05-23 12:13:29 +00:00
chromium-webrtc-autoroll
e3441ec456 Roll chromium_revision fb6508249a..692840e030 (1147609:1147747)
Change log: fb6508249a..692840e030
Full diff: fb6508249a..692840e030

Changed dependencies
* src/base: 09b6fc180b..3bd5ac2003
* src/ios: 2d5a6062e5..3b159b39d9
* src/testing: 7e3b3222e7..7d69a6efe3
* src/third_party: 11a1d1060f..0a3ca294f8
* src/third_party/kotlin_stdlib: 5vxa94PP6aaNePK9IF8ZwAYbDA-08mk4nkPED5CMbFoC..z4_AYYz2Tw5GKikuiDLTuxxf0NJVGLkC3CVcyiIpc-gC
* src/tools: c00b8763b8..00be3c5a98
DEPS diff: fb6508249a..692840e030/DEPS

No update to Clang.

BUG=None

Change-Id: I8c59d793d3684b522b03fde6bba8d07b2279a53e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306240
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@{#40117}
2023-05-23 10:42:57 +00:00
Ying Wang
aa6d4fa622 Adds WebRTC-DisableRtxRateLimiter for enable/disable RTX rate limiter.
Change-Id: I22e65c5b2a0b5017aa52a3f1af0fc2fd6357f439
Bug: webrtc:15184
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305660
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40116}
2023-05-23 09:59:11 +00:00
Markus Handell
f67d1fd42c OveruseFrameDetector: complete removal of mac rules kill switch.
Finally remove bogus code after a year of no feedback on the matter.

Bug: webrtc:14138
Change-Id: I8083c9e1986e3779c9023a7d8935b717f63f0d86
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306180
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40115}
2023-05-23 09:05:53 +00:00
Markus Handell
06130548fc Remove unused histograms.
This CL removes histograms which are no longer of use.

Bug: chromium:1255737
Change-Id: I7eb7e2cfbb03126257b51bfaa30d764b37dd9bd0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306200
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40114}
2023-05-23 09:04:31 +00:00
Danil Chapovalov
434deda6fa Cleanup RtcpReceiver from using RtcpBandwidthObser callback interface
All known users were updated to NetworkLinkRtcpObserver interface instead

Bug: webrtc:13757
Change-Id: I1f2a7be0c9192890b38a811a739ddd666b0985f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306161
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40113}
2023-05-23 08:18:01 +00:00
Harald Alvestrand
4858a0d9d8 Add test for split-mode SSRC callback
And fix bug that prevented it from passing.

Bug: webrtc:13931
Change-Id: I6cbc8e3aad704f6f7e33362efb7ec589ca6e6568
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306184
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40112}
2023-05-23 07:56:57 +00:00
webrtc-version-updater
85632b8191 Update WebRTC code version (2023-05-23T04:03:48).
Bug: None
Change-Id: I487845577d1832744b09701fb8d6e7b0c599e955
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306150
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@{#40111}
2023-05-23 05:36:31 +00:00
chromium-webrtc-autoroll
a8f55c7c03 Roll chromium_revision 634d3c7e62..fb6508249a (1147498:1147609)
Change log: 634d3c7e62..fb6508249a
Full diff: 634d3c7e62..fb6508249a

Changed dependencies
* src/ios: 2d114bd897..2d5a6062e5
* src/testing: c2564f39b7..7e3b3222e7
* src/third_party: ce9a1cc978..11a1d1060f
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/c6222c27ba..4f43388d90
* src/third_party/libyuv: 8670bcf17f..dcbe082070
* src/tools: 2fe69ef6f5..c00b8763b8
DEPS diff: 634d3c7e62..fb6508249a/DEPS

No update to Clang.

BUG=None

Change-Id: I366a000d4e72ebd2a4b7485a8a2a34ee5fe90107
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306148
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#40110}
2023-05-23 02:36:54 +00:00
chromium-webrtc-autoroll
c941cdd540 Roll chromium_revision 15e9b8d197..634d3c7e62 (1147348:1147498)
Change log: 15e9b8d197..634d3c7e62
Full diff: 15e9b8d197..634d3c7e62

Changed dependencies
* src/ios: 99cf5daace..2d114bd897
* src/testing: 1f716e1171..c2564f39b7
* src/third_party: 3069405d54..ce9a1cc978
* src/third_party/depot_tools: 3a5cc40813..63d20c330b
* src/third_party/freetype/src: 2342a03a9d..562f348192
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/b5f92a9883..0a770ff99d
* src/third_party/libyuv: a37799344d..8670bcf17f
* src/tools: fee54dd10a..2fe69ef6f5
DEPS diff: 15e9b8d197..634d3c7e62/DEPS

No update to Clang.

BUG=None

Change-Id: Ie797a72e9bd357cb179c7979deb6c2a276b19680
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306146
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@{#40109}
2023-05-22 22:56:03 +00:00
chromium-webrtc-autoroll
3fea51aa20 Roll chromium_revision 0eaeb41fa6..15e9b8d197 (1147199:1147348)
Change log: 0eaeb41fa6..15e9b8d197
Full diff: 0eaeb41fa6..15e9b8d197

Changed dependencies
* src/base: d3a491fbe1..09b6fc180b
* src/build: 9a9598afc4..fa91c17478
* src/ios: ea58544f4b..99cf5daace
* src/testing: 4709124623..1f716e1171
* src/third_party: f016ffe1b3..3069405d54
* src/third_party/perfetto: f7a6f0099e..24fae90b5e
* src/third_party/turbine: sTawWbD0GN8RYp6JHHFxxGNi2nNPvuNSuBjIpS4GaD0C..Foa7uRpVoKr4YoayCKc9EERkjpmGOE3DAUTWFLL7gKEC
* src/tools: c1c6a3ab9a..fee54dd10a
DEPS diff: 0eaeb41fa6..15e9b8d197/DEPS

No update to Clang.

BUG=None

Change-Id: I8e7519e228478b0c1ff6c0dbb015fed40291e8ad
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306144
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@{#40108}
2023-05-22 18:58:22 +00:00
Harald Alvestrand
13897e67c8 Change SSRC-passing for MediaChannel from external to callback
This makes the handling somewhat more uniform, and is the same
for both video and audio channels.

Bug: webrtc:13931
Change-Id: I26605c56e069e8a34e03708d45eb27a6b7492130
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306100
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40107}
2023-05-22 14:33:59 +00:00
chromium-webrtc-autoroll
5dc42050e1 Roll chromium_revision 65192f0ef9..0eaeb41fa6 (1147078:1147199)
Change log: 65192f0ef9..0eaeb41fa6
Full diff: 65192f0ef9..0eaeb41fa6

Changed dependencies
* src/base: 4f67669f4a..d3a491fbe1
* src/build: 7f93a1e7ae..9a9598afc4
* src/ios: f15139e640..ea58544f4b
* src/testing: 2ab5e92e5f..4709124623
* src/third_party: 1f84b9e872..f016ffe1b3
* src/third_party/perfetto: 87d4934194..f7a6f0099e
* src/tools: 66c0ec7cb7..c1c6a3ab9a
DEPS diff: 65192f0ef9..0eaeb41fa6/DEPS

No update to Clang.

BUG=None

Change-Id: I616eeb38adf2b1e32098bed96741debf3d765a6b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306142
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@{#40106}
2023-05-22 14:30:00 +00:00
Jonas Oreland
1d3452f31b RequestedResolution - Bug fix
Change default value of is_active to false,
this means that VideoRenderer or other VideoSinks
added with default rtc::VideoSinkWants() does not
block usage of RequestedResolution, e.g JNI_VideoTrack_AddSink.

This problem occurs when attaching a VideoRenderer directly to
the sending VideoTrack (which is a great solution!). But the
VideoRenderer is "passive" and should not block adaptations
from RequestedResolution.

Bug: webrtc:14451
Change-Id: I2ab02596245c7b82bf94fe86f8788f458c7ea286
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305024
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40105}
2023-05-22 13:58:50 +00:00
Rasmus Brandt
b7a688c68e Delete WebRTC.Video.BadCall.* histograms.
Reasons:
* Old code that has not been updated or tuned in several years.
* Nobody seems to intentionally use it.
* The application can do this itself by looking at GetStats.

Bug: None
Change-Id: Ib34bbebcf5885cf41ba05036506b500db7eb6b69
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306160
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40104}
2023-05-22 12:02:25 +00:00
Yosef Twaik
b4015689b8 Initial copy of flexfec_header_reader_writer.
Create a copy of flexfec_header_reader_writer for changing the implementation according to updated RFC. The fork is needed, since the updated RFC is incompatible with flexfec-03.
In the updated RFC, we receive the list and the number of protected ssrcs from the RTP header (from it's CSRCs , and CSRC count fields).
This Change is only a copy of the existing files. This will make it easier to understand the changes to the implementation in the next change sets.

Bug: webrtc:15002
Change-Id: I31bf5eca0d8f3cb23b4caabb477897eeb0ca6d96
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/303240
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40103}
2023-05-22 10:32:14 +00:00
Danil Chapovalov
718601a1f8 Cleanup RtcpReceiver from passing TransportFeedback via older interface
Bug: webrtc:8239
Change-Id: Ibc289627cc89bda86f3e2c7c0c11d0ec2ae95087
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305783
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40102}
2023-05-22 10:14:04 +00:00
Philipp Hancke
15feded162 Increase maximum RTP padding length to 255 bytes
which is the maximum allowed in RFC 3550:
  The last octet of the padding contains a count of how
  many padding octets should be ignored, including itself

SRTP encryption does not need to be taken into account since none of
the cipher suites used by WebRTC require padding:
https://www.rfc-editor.org/rfc/rfc3711#section-3.1
https://www.rfc-editor.org/rfc/rfc7714#section-7.2

BUG=webrtc:15182

Change-Id: Ife3d264af389509733699f2dd4d32ba63793e9de
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305642
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#40101}
2023-05-22 09:43:06 +00:00
chromium-webrtc-autoroll
194f657b51 Roll chromium_revision 20c92b363d..65192f0ef9 (1146960:1147078)
Change log: 20c92b363d..65192f0ef9
Full diff: 20c92b363d..65192f0ef9

Changed dependencies
* src/build: 1ff15967fa..7f93a1e7ae
* src/testing: 24d83692e2..2ab5e92e5f
* src/third_party: 54aeda1253..1f84b9e872
* src/third_party/depot_tools: 4d73c057d8..3a5cc40813
* src/tools: 1e97227f54..66c0ec7cb7
DEPS diff: 20c92b363d..65192f0ef9/DEPS

No update to Clang.

BUG=None

Change-Id: I4b72706973d780739bd5db44a71aac50dbb789d8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306081
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#40100}
2023-05-22 08:33:34 +00:00
Danil Chapovalov
0c85f733c9 For AV1, disable error resilience on upper temporal layers
Error resilience is no longer required for upper temporal layers.
Disabling error resilience on the upper layers leads to a ~2% PSNR BD-rate gain.

Reland of https://webrtc-review.googlesource.com/c/src/+/302001

Bug: webrtc:15106
Change-Id: I72ca9d504a7848dda934cbd52669027061742256
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305782
Reviewed-by: Jerome Jiang <jianj@google.com>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Marco Paniconi <marpan@webrtc.org>
Reviewed-by: Michael Horowitz <mhoro@webrtc.org>
Reviewed-by: Marco Paniconi <marpan@google.com>
Cr-Commit-Position: refs/heads/main@{#40099}
2023-05-22 08:14:08 +00:00
webrtc-version-updater
3fb338a4d5 Update WebRTC code version (2023-05-22T04:03:29).
Bug: None
Change-Id: I020f6fed4f27d57aa2481880df6e3a0cc8e2581e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306065
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@{#40098}
2023-05-22 05:31:04 +00:00