Commit graph

39010 commits

Author SHA1 Message Date
Henrik Boström
bce135a4a7 Add test coverage for legacy VP9 SVC with media flow.
When asking for 3 encodings of VP9, which the spec says is simulcast,
you don't get simulcast but instead you get one RTP stream sending SVC.

This results in a single "outbound-rtp" but GetParameters() still says
3 encodings are used. We know we get SVC because the scalabilityMode
from getStats() says "L3T3_KEY".

In a future CL we will add simulcast VP9 support when
`scalability_mode` is specified in the API but we'll need to continue
to support the legacy SVC code paths until that has been deprecated
and removed (https://crbug.com/webrtc/14889).

Bug: webrtc:14884
Change-Id: Ibeca44b7a0b93097ad9525e45ebbca3b7663c686
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292581
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39278}
2023-02-09 09:00:44 +00:00
chromium-webrtc-autoroll
7484e62332 Roll chromium_revision b49d6c9ec1..790425576f (1103023:1103139)
Change log: b49d6c9ec1..790425576f
Full diff: b49d6c9ec1..790425576f

Changed dependencies
* fuchsia_vesion: version:11.20230208.1.1..version:11.20230208.3.1
* src/base: 987b55e37c..56be631faa
* src/build: c76ecbbe01..ec73ae49c0
* src/buildtools: 8d801d3675..70e9f44cbc
* src/buildtools/third_party/libc++/trunk: 6569774a33..035440c707
* src/testing: 5ab3bb2eef..0e9e5db2f3
* src/third_party: b1395e4f52..df834f553a
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/56803dac3b..37e879a7d1
* src/third_party/depot_tools: cd2395991f..d8fb7c9667
* src/third_party/ffmpeg: f2459ece25..ee0c52d520
* src/third_party/freetype/src: 4c3916e901..995ccfaca5
* src/tools: ce86aaefb9..3a60443d9f
DEPS diff: b49d6c9ec1..790425576f/DEPS

No update to Clang.

BUG=None

Change-Id: I2ccc3377c2bd9ba2aa8d729bafcbfd9c90f7eeea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292782
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@{#39277}
2023-02-09 06:42:44 +00:00
chromium-webrtc-autoroll
713fdc0c67 Roll chromium_revision 513ae2fffc..b49d6c9ec1 (1102858:1103023)
Change log: 513ae2fffc..b49d6c9ec1
Full diff: 513ae2fffc..b49d6c9ec1

Changed dependencies
* src/base: 5156eb889b..987b55e37c
* src/ios: a5010c85e1..4b4e61e03b
* src/testing: 9c8dc598e1..5ab3bb2eef
* src/third_party: 0c83a0d592..b1395e4f52
* src/third_party/depot_tools: 2ec2918216..cd2395991f
* src/third_party/freetype/src: 27b2cd4101..4c3916e901
* src/tools: 76adb287ba..ce86aaefb9
* src/tools/luci-go: git_revision:a8b84fba102daff5bf5e65975dcc0887da7ab62a..git_revision:f6b5518e872364f59bb17dd5a967270b38331b84
* src/tools/luci-go: git_revision:a8b84fba102daff5bf5e65975dcc0887da7ab62a..git_revision:f6b5518e872364f59bb17dd5a967270b38331b84
DEPS diff: 513ae2fffc..b49d6c9ec1/DEPS

No update to Clang.

BUG=None

Change-Id: I78846e6bdcfc1b3fc359668f57914805c783a0a8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292763
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@{#39276}
2023-02-09 01:05:00 +00:00
Alexander Cooper
318cf28945 Fix Destruction inside WGC Callback
If we are notified of the destruction of the window before a
CaptureFrame call can fail, then we may end up attempting to destroy the
underlying WGC object inside it's own event handler. This can be
problematic, as the class itself may want to run other code. Instead,
we just unsubscribe and signal that any future CaptureFrame calls should
reject.

This also removes setting "is_capture_started_=false" in the item closed
handler, as all that served to do is cause the WgcCapturerWin code to
attempt to restart the capturer, and somewhat muddies up our metrics.

Bug: chromium:1413005
Change-Id: Ibccb7a2e7ce531ba80b4b331b9bc2cda0ff75f4e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292762
Auto-Submit: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#39275}
2023-02-08 23:19:22 +00:00
chromium-webrtc-autoroll
d8361ee6b7 Roll chromium_revision 5346f2f55a..513ae2fffc (1102735:1102858)
Change log: 5346f2f55a..513ae2fffc
Full diff: 5346f2f55a..513ae2fffc

Changed dependencies
* src/base: 3dc499e06b..5156eb889b
* src/build: ddb3db78d7..c76ecbbe01
* src/ios: 134cdaf4c5..a5010c85e1
* src/testing: ebeb57dc76..9c8dc598e1
* src/third_party: 5653e7f5f2..0c83a0d592
* src/third_party/perfetto: 656582b37c..0374f0872c
* src/tools: 90e93597e6..76adb287ba
DEPS diff: 5346f2f55a..513ae2fffc/DEPS

No update to Clang.

BUG=None

Change-Id: I987a2933dbc455459dd43dfce2785f9e3391906e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292760
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@{#39274}
2023-02-08 20:33:40 +00:00
chromium-webrtc-autoroll
12ae52c0f2 Roll chromium_revision 2e99d26f79..5346f2f55a (1102579:1102735)
Change log: 2e99d26f79..5346f2f55a
Full diff: 2e99d26f79..5346f2f55a

Changed dependencies
* fuchsia_vesion: version:11.20230207.2.1..version:11.20230208.1.1
* src/base: ff1fad290c..3dc499e06b
* src/build: 1927b9f65b..ddb3db78d7
* src/ios: aa6029a62f..134cdaf4c5
* src/testing: c8fdd94c0f..ebeb57dc76
* src/third_party: 1f4e92205f..5653e7f5f2
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/bf85e76dc3..56803dac3b
* src/third_party/depot_tools: 9d4c379aeb..2ec2918216
* src/third_party/freetype/src: d3582e3f8d..27b2cd4101
* src/third_party/perfetto: 79b41912cc..656582b37c
* src/third_party/r8: 7NX1KWQ3KHKbmaaxraYpk3oE7zBzlk8IcJ4_srR86PAC..shk1TNQCPsWWeZyuC5uzvDQmrY2wQfPzO0E_SKCaEu0C
* src/tools: 0b98659319..90e93597e6
DEPS diff: 2e99d26f79..5346f2f55a/DEPS

No update to Clang.

BUG=None

Change-Id: I16344817caab0da40ff2a7e22763fadbb5c4c4ab
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292740
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@{#39273}
2023-02-08 16:35:14 +00:00
Henrik Boström
88ddfdba60 Verify codec and scalability mode in simulcast test.
Explicitly configure VP8 and verify the codec and scalability mode makes
sense. In preparation for doing the same with VP9 when VP9 simulcast is
supported.

Bug: webrtc:14885, webrtc:14884
Change-Id: If0c89e9b5de4fc63a59e17412fe4f0317fd61229
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292580
Auto-Submit: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39272}
2023-02-08 14:20:33 +00:00
Henrik Boström
fd4ddd1fb1 Add a simulcast test that verifies media is flowing on all layers.
Previous tests only asserted that O/A succeeded and that the number of
encodings was as expected. This test goes further and also asserts that
bytesSent eventually becomes non-zero (after an initial ramp-up time).

Let's get testing straight before we add VP9 simulcast support.

Bug: webrtc:14885, webrtc:14884
Change-Id: Idccce66698a077264fa0df2c448c8474d2439aea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291960
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39271}
2023-02-08 11:55:36 +00:00
Palak Agarwal
617d89a385 Add capture time as identifier in webrtc::VideoFrame
This will be used by third_party/blink/renderer/platform/peerconnection/webrtc_video_track_source.cc to provide capture_time_identifier_ms_ from
media::VideoFrame.

This identifier would then be passed to webrtc::EncodedFrame and
webrtc::TransformableVideoSenderFrame (in the future CLs) to be used as
an identifier for encoded frames.


Bug: webrtc:14878
Change-Id: I1d8a27891323d86fdc2f014988a8da572df84119
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291805
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Palak Agarwal <agpalak@google.com>
Cr-Commit-Position: refs/heads/main@{#39270}
2023-02-08 11:05:47 +00:00
Mirko Bonadei
cd3e1d0ac4 Roll chromium_revision e182675fbb..2e99d26f79 (1098562:1102579)
Change log: e182675fbb..2e99d26f79
Full diff: e182675fbb..2e99d26f79

Changed dependencies
* src/base: 5f5494ca68..ff1fad290c
* src/build: 882a4eaafa..1927b9f65b
* src/buildtools: 3c7e3f1b8b..8d801d3675
* src/buildtools/linux64: git_revision:5e19d2fb166fbd4f6f32147fbb2f497091a54ad8..git_revision:edf6ef4b06b42c58292faea78498aff76bdf68ed
* src/buildtools/mac: git_revision:5e19d2fb166fbd4f6f32147fbb2f497091a54ad8..git_revision:edf6ef4b06b42c58292faea78498aff76bdf68ed
* src/buildtools/third_party/libc++/trunk: 1127c78cf9..6569774a33
* src/buildtools/third_party/libc++abi/trunk: d520d582aa..b74d771611
* src/buildtools/win: git_revision:5e19d2fb166fbd4f6f32147fbb2f497091a54ad8..git_revision:edf6ef4b06b42c58292faea78498aff76bdf68ed
* src/ios: 6a6fc13416..aa6029a62f
* src/testing: fb8aa9ad33..c8fdd94c0f
* src/third_party: adbb0963bd..1f4e92205f
* src/third_party/android_build_tools/bundletool: XIPSJgFHEHN1ogOJqWVktlbl8PTfLZdNf_G2h4GcnrYC..TpDdbF-PPgwL0iOVsdLM07L-DUp2DV3hgzCMmPd2_GUC
* src/third_party/android_build_tools/manifest_merger: 5Zw4RYBL86koJro2O-jjcZYxOOdEW-hJDYykae8efQAC..gzy9U2HI42hR8r1zspR-mPI3BQ6I3zTmJ3GojAQrvgcC
* src/third_party/android_deps/libs/net_bytebuddy_byte_buddy: version:2@1.12.13.cr1..version:2@1.12.22.cr1
* src/third_party/android_deps/libs/net_bytebuddy_byte_buddy_agent: version:2@1.12.13.cr1..version:2@1.12.22.cr1
* src/third_party/android_deps/libs/org_mockito_mockito_core: version:2@4.7.0.cr1..version:2@5.1.1.cr1
* src/third_party/android_deps/libs/org_objenesis_objenesis: version:2@3.2.cr1..version:2@3.3.cr1
* src/third_party/androidx: Hdb7ZPqGV3lLyY7geGwmoelVab7mxM0oA0jtglEVp2MC..DmFWfKTs5X8UZayNJFuL3kDaONOVDU9NarTxeqLoyRYC
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/45b8d7bbd7..0586618453
* src/third_party/breakpad/breakpad: 79326ebe94..5687ac51ca
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/35d06490ad..bf85e76dc3
* src/third_party/depot_tools: 9d77ca716f..9d4c379aeb
* src/third_party/ffmpeg: dcb9e9003f..f2459ece25
* src/third_party/freetype/src: bea675cde6..d3582e3f8d
* src/third_party/icu: 2c51e5cc7e..266a46937f
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/706ee36dcc..70b12695e1
* src/third_party/libjpeg_turbo: ed683925e4..0b6e6a1522
* src/third_party/perfetto: 81c39bac7b..79b41912cc
* src/third_party/r8: kTwoRbYJ0cNEX_B1XARsNkSFKf4bOHgQCEiP4afsmBUC..7NX1KWQ3KHKbmaaxraYpk3oE7zBzlk8IcJ4_srR86PAC
* src/tools: ff1e059133..0b98659319
* src/tools/luci-go: git_revision:221383f749a2c5b8587449d3d2e4982857daa9e7..git_revision:a8b84fba102daff5bf5e65975dcc0887da7ab62a
* src/tools/luci-go: git_revision:221383f749a2c5b8587449d3d2e4982857daa9e7..git_revision:a8b84fba102daff5bf5e65975dcc0887da7ab62a
Removed dependencies
* src/third_party/android_deps/libs/org_jetbrains_annotations
* src/third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_stdlib
* src/third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_stdlib_common
DEPS diff: e182675fbb..2e99d26f79/DEPS

No update to Clang.

BUG=None

Change-Id: Ie1922d8814728fe1773c46c7a1de5a8956b359ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292608
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#39269}
2023-02-08 10:47:04 +00:00
Byoungchan Lee
cd489a06ab Fix autoroller not to miss writing to DEPS of variable changes.
In the previous commit, I changed to modify deps_content,
but it was no-op since the content was already written to the DEPS file.

Bug: None
Change-Id: I278fbbb628422a42e616708f00529e935d75cd1f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292660
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Christoffer Jansson <jansson@google.com>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#39268}
2023-02-08 09:07:44 +00:00
Byoungchan Lee
e8ac5af787 Teach autoroller to roll variables like fuchsia_version.
By making this change, we ensure that these variables are not outdated.
Also, remove unnecessary list calls to python generators.

Bug: None
Change-Id: I53babe03da1cb78cf5dc127b7e1f753b63be20de
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292620
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#39267}
2023-02-08 08:08:50 +00:00
Tony Herre
b459deaf38 Add ssrc to VideoFrameMetadata used in encoded transforms
This allows callers to modify an encoded video frame's SSRC via the
setMetadata() call, which we'd like to do from Chrome, to allow using
an encoded frame from one PC on a different one.

Bug: webrtc:14709
Change-Id: Ia6b33761a3f63038f6eabbcd848916877e24454b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292380
Auto-Submit: Tony Herre <herre@google.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39266}
2023-02-08 06:34:27 +00:00
Olov Brändström
1f33a2ba3f Add capture timestamps to test audio device.
Absolute capture time extension did not work in tests that use test_audio_device. This change add capture timestamp to test audio device so absolute capture timestamp extensions can be sent in tests.

This make it possible to write tests for absolute header extension in Hamrit, and possible other test platforms as well.

Bug: None
Change-Id: Ie237f516ce0cccf43c32fe40da76a9d31f9fba53
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292340
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Olov Brändström <brandstrom@google.com>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39265}
2023-02-07 12:21:52 +00:00
Philipp Hancke
51dbe82fed setOfferedHeaderExtensions: stop any filtered extension
addressing feedback from
  https://github.com/w3c/webrtc-extensions/issues/130
and aligning the behavior with setCodecPreferences.

BUG=chromium:1051821

Change-Id: If0c29e1e16781b6898814e2f888ad08a079fc609
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/286780
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#39264}
2023-02-07 09:45:00 +00:00
Björn Terelius
e9c3e515c8 Add a DEPS hook to download llvm-cov and llvm-profdata based on .gclient custom_vars.
Bug: b/236797073
Change-Id: I8f72240a2c4ca0b47d431598fb70e3319e9675b8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292420
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39263}
2023-02-06 18:07:12 +00:00
Sameer Vijaykar
c7a0620c98 Add an ICE switch reason for a switch requested by an application.
Also added an enum for unknown reason.

New value uses a macro-like name rather than a constant-like name for consistency.

Bug: chromium:1369096, webrtc:14131
Change-Id: Ib315584ec40d8c1cd9a6f0ff44587c0d92c735d5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292341
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Commit-Queue: Sameer Vijaykar <samvi@google.com>
Cr-Commit-Position: refs/heads/main@{#39262}
2023-02-06 16:19:49 +00:00
Harald Alvestrand
95d12adf37 Create unit test for the population of capture_start_ntp_time
This verifies that receiving two RTCP SR packets is enough to get
a defined capture start time stat.

Bug: webrtc:13931
Change-Id: Ib5f7c2954eab6500917f25c44f523d3aedae5e94
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291520
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39261}
2023-02-06 14:00:39 +00:00
Tom Anderson
4b0d6f908b Upgrade Linux MSan to Focal
Bug: chromium:1260217
Change-Id: I2c8ee36fbf2cd754ac5fd7a983c44478b81ef068
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291840
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39260}
2023-02-05 14:14:31 +00:00
henrika
b0e1cb254e Adds WebRTC.DesktopCapture.Win.DirectXCapturerResult UMA
This records high level errors, or success, encountered across the entire capture flow in the DXGI based capturer.

Using the same style as for WebRTC.DesktopCapture.Win.WgcCapturerResult

Bug: chromium:1400204
Change-Id: I7096d1790d7c2a23bbe29761b7dbf40426ce1e6a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291707
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39259}
2023-02-04 12:26:02 +00:00
Johannes Kron
fd29662c61 Fix typo in histogram name
Bug: chromium:1348011
Change-Id: Ic4680339a110bf71afa7689bbc7acada1428811a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291806
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39258}
2023-02-03 21:02:46 +00:00
Philipp Hancke
5e7301f693 Remove rid and rrid from list of extensions that can be used for audio
BUG=webrtc:13279

Change-Id: I5d28d15bdb2b0d82b27c35069ca379631c7494cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291900
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#39257}
2023-02-03 14:36:14 +00:00
Sergey Silkin
c6ff4bc793 Do not transfer ownership of codecs to tester
Passing of ownership of codecs to tester is not strictly needed. We may need to continue using a codec after test. For example, to check codec state or to use the same codec instance in next test.

Bug: b/261160916, webrtc:14852
Change-Id: I179b262116d7de76b8171f0409f943ad6d87433e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291802
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39256}
2023-02-03 14:29:43 +00:00
Tony Herre
be9b576188 Move video video receiver transformable frame to modules/rtc_rtcp/source
Step 1 of combining the sender and receiver types

Also moved the RtpFrameObject to rtp_rtcp/source, as it's heavily used
by the transformable receiver frame, I couldn't work out a better way
of managing the dependencies, and everything else seemed to work fine.

Bug: chromium:1412687
Change-Id: I55e816a0d7aa2962560ff9ebaf30ad63ab0b9810
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291710
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tony Herre <herre@google.com>
Cr-Commit-Position: refs/heads/main@{#39255}
2023-02-03 12:59:19 +00:00
Johannes Kron
b311f6aba8 Add UMA histograms to track usage of fullscreen detection
Bug: chromium:1348011
Change-Id: I3219e74c49ff77e00b2224c8cf82f78d1e0fd9cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291708
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39254}
2023-02-03 12:16:08 +00:00
Xuanxi Leng
85abbdf526 RtcEventLogImpl: Add test cases
This change adds below test cases:
1. Keep most recent config events on start.
2. Rewrite all previous config events on restart.
3. Do not drop events when far more events than max event history logged
on logging start.

Bug: chromium:1288710
Change-Id: Ifc227e8be788d33dc2ed65f49281b3d0809231c6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291739
Reviewed-by: Markus Handell <handellm@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39253}
2023-02-03 09:55:33 +00:00
Dor Hen
d1831cb4f8 Treat non DTLS/SCTP Protocol Based Data Channels as Unsupported Media
In current state, the SDP parser in webrtc is not backward compatible with clients that might still be using RTP data channels.
Obviously, this isn't there is no such usecase in webrtc since the code is deleted, but in Meta we still use it and would like
to be able to negotiate between clients that offer RTP data channels.
Instead of erroring the parsing procedure, we can parse it as unsupported media in the client that no longer supports RTP data channels.

Replaced the existing test that expects parsing failures with a test that validates that the content was parsed as unsupported media.

Bug: webrtc:14872
Change-Id: I4c105cf55e33b8c19b2849e16148b8175053c40c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291190
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39252}
2023-02-03 06:56:37 +00:00
Michael Olbrich
f0be3bee1f Add pipewire/portal video capture support
This makes it possible to access cameras through xdg-desktop-portal and
pipewire.

For pipewire, a shared state is needed between the enumeration and the
creation of camera object. So a new API is needed with a shared options
object that holds the state and can be used to choose which backend to try.

Bug: webrtc:13177
Change-Id: Iaad2333b41e4e6fb112f4558ea4b623e59afcbd1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261620
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39251}
2023-02-02 17:20:04 +00:00
Henrik Lundin
fad9a6dae7 Delete deprecated Create method and config from AudioCodingModule
The method and config are no longer used. This concludes the work to
break apart AcmReceiver and AudioCodingModule.

Bug: webrtc:14867
Change-Id: I87219749a1ea72a01b95e960d1f32292f7352c9b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291801
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Tomas Lundqvist <tomasl@google.com>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39250}
2023-02-02 17:06:29 +00:00
Fredrik Solenberg
101c6aab1b Remove leftover function signatures.
Change-Id: If9e6fef4225d4b2d8d8cac7f45afba4a23d8a3e9
Bug: webrtc:4690
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291705
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39249}
2023-02-02 16:23:07 +00:00
Sergey Silkin
6c60f72a6b Refactor video codec testing stats
This CL introduces VideoCodecStats and VideoCodecStatsImpl which provide baseline functionalities for storing, slicing and aggregation of encoded and/or decoded video frame statistics. To facilitate metrics logging (not implemented yet), SamplesStatsCounter is used for stream parameters.

VideoCodecStats/VideoCodecStatsImpl will replace existing VideoCodecTestStats/VideoCodecTestStatsImpl.

Bug: b/261160916, webrtc:14852
Change-Id: I0f96ce1ed9be3aee2a702804612524676c9882fd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291323
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39248}
2023-02-02 15:56:40 +00:00
Andreas Pehrson
97d1c34769 Enable rotation tests marked as expected failures
Bug: webrtc:8382
Change-Id: I70ba0cdbdc9bd1e3014a379deb9ae39795e60d1f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290899
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39247}
2023-02-02 10:48:32 +00:00
Danil Chapovalov
65ab5fd728 Cleanup RemoteEstimatorProxy::IncomingPacket
relax DCHECK and explain when it previous version could be hit.
Use concise versions of the GetExtension functions.
Reduce scope of the `lock_`

Bug: None
Change-Id: Iafc570ffe7e5b2dcbdfe166b26b140f7959c28c7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291711
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39246}
2023-02-02 10:01:27 +00:00
Harald Alvestrand
ba846ccf24 Add a test that shows when channel_receive fires RR
This seems to happen 2.5 seconds after initialization.
Written as part of debugging a different issue.

Bug: webrtc:13931
Change-Id: I3686cdbc39284505a437ebc0bfd8c74c483624c9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291704
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39245}
2023-02-01 16:38:38 +00:00
Henrik Lundin
84f75699c6 Break apart AudioCodingModule and AcmReceiver
This change makes AudioCodingModule a pure sender and AcmReceiver a pure
receiver.

The Config struct is in practice no longer used by AudioCodingModule,
so a new definition is included in AcmReceiver. The old definition
remains in AudioCodingModule while downstream clients are being
updated.

Bug: webrtc:14867
Change-Id: If0d0b4214c5aa278cf6c85c5b62c6da644de20e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291533
Reviewed-by: Tomas Lundqvist <tomasl@google.com>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39244}
2023-02-01 16:09:26 +00:00
Per K
c5455e7b53 Allow RTX ssrc to be updated on receive streams
This is used when an unsignaled stream with a known payload type is received and later a RTX packet is received.

Bug: webrtc:14817
Change-Id: I29f43281cec17553e1ec2483e21b8847714d2931
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291328
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39243}
2023-02-01 12:54:46 +00:00
Philipp Hancke
be03c09718 Only serialize non-stopped RTP header extensions
as described in https://w3c.github.io/webrtc-extensions/#modifications-to-existing-procedures-0
 "For each RTP header extension "e" listed in
 [[HeaderExtensionsToOffer]] where direction is not "stopped", an
 "a=extmap" line, as specified in [RFC5285], section 5

This avoids including them in case they are stopped on one
transceiver but not the other. Also, this allows extensions to
be removed from a subsequent offer.

See also
  https://github.com/w3c/webrtc-extensions/issues/140

BUG=chromium:1051821

Change-Id: I4d7462f939ce4cd5d8c2331bc038200fe18f70e2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291703
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39242}
2023-02-01 12:37:44 +00:00
Harald Alvestrand
1f206b841e Use ArrayView in the IncomingRtcpPacket function.
The lowest level and some of the highest levels of this function are
already using ArrayView. Make this consistent throughout.
Use deprecation for the old API rather than deleting it, since upstream
may be using it.

Bug: webrtc:14870
Change-Id: If5e1a6e9802ecf7e8e3ec27befb5167ca9985517
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291706
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39241}
2023-02-01 12:19:03 +00:00
Tony Herre
16a8792e0a Propagate received video csrcs to encodedframe metadata
Before this, an empty list of CSRCs was always provided up to encoded
insertable streams transforms for remote video tracks, regardless of
the actual CSRCs on received frames. Audio already works correctly.

Bug: chromium:1411614
Change-Id: I51ab4dc5e67a1a35893fefff16c1f057e9047e6b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291539
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tony Herre <herre@google.com>
Cr-Commit-Position: refs/heads/main@{#39240}
2023-02-01 11:09:37 +00:00
mark a. foltz
0507fbdd05 [Desktop Capture] Remove disabled test.
The mouse_cursor_monitor_unittest.cc was disabled on all platforms, so
it can be deleted.

Bug: webrtc:3408
Change-Id: I294bc502993a5b0a369a60a751c72f72ec909dfc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291724
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#39239}
2023-02-01 02:44:48 +00:00
Henrik Lundin
cb4b0a6ad2 Check FMA3 support before use it in SincResampler
This is a port of crrev.com/c/2936677.

Previously we only checked avx2 support and then use avx2/fma
intrinsics in SincResampler(crrev.com/c/2654647),this CL also
checks the fma support and avoids using avx2 code if fma is not
supported.

Bug: chromium:1410691
Change-Id: Ibf7c0a1bead87ebe5d3978cfd20cc23525169f40
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291702
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39238}
2023-01-31 17:28:55 +00:00
Mirko Bonadei
0b7184ce06 Add possibility to set MetricsSet metadata.
Bug: b/266997275
Change-Id: I2c4fadcff7044a8c72ef7e46caf4eff398e29f91
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291700
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39237}
2023-01-31 12:41:47 +00:00
Per K
217b384c1b Remove rtp header extension from config of Call audio and video receivers
These configurations are no longer used by call. Header extensions are identified once when demuxing packets in WebrtcVideoEngine::OnPacketReceived and WebrtcVoiceEngine::OnPacketReceived.

Change-Id: I49de9005f0aa9ab32f2c5d3abcdd8bd12343022d
Bug: webrtc:7135
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291480
Owners-Override: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39236}
2023-01-31 11:58:43 +00:00
Henrik Lundin
3541732527 Add a Config struct to AcmReceiver, and a ctor using it
This is a prerequisite step to break apart AudioCodingModule and AcmReceiver.

Bug: webrtc:14867
Change-Id: Iba589c7a31b6346ff4acb727793d84077162c8c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291534
Auto-Submit: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Tomas Lundqvist <tomasl@google.com>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39235}
2023-01-31 10:28:31 +00:00
Artem Titov
327405165b Add method to get FD for physical socket
Bug: b/264850454, webrtc:14866
Change-Id: I8a47aa3560fa8a5d20a9984cc507c543256788dd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291521
Reviewed-by: Victor Boivie <boivie@google.com>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39234}
2023-01-31 10:25:45 +00:00
Artem Titov
d78f8e7fce Fix doc path
No-Try: True
Bug: None
Change-Id: Ie79cdc8810b4344b636d687aaebeb31d407f1193
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291656
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39233}
2023-01-31 10:14:47 +00:00
Mirko Bonadei
e5922834f8 Add 'metadata' field to MetricsSet proto.
Bug: b/266997275
Change-Id: Iece033b0bd3b6e2946a57ae19dd4ff0a0417694f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291535
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39232}
2023-01-31 09:45:26 +00:00
Artem Titov
a617867a45 Reland "Migrate WebRTC documentation to new renderer"
This reverts commit 0f2ce5cc1c.

Reason for revert: Downstream infrastructure should be ready now

Original change's description:
> Revert "Migrate WebRTC documentation to new renderer"
>
> This reverts commit 3eceaf4669.
>
> Reason for revert:
>
> Original change's description:
> > Migrate WebRTC documentation to new renderer
> >
> > Bug: b/258408932
> > Change-Id: Ib96f39fe0c3912f9746bcc09d079097a145d6115
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290987
> > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > Commit-Queue: Artem Titov <titovartem@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#39205}
>
> Bug: b/258408932
> Change-Id: I16cb4088bee3fc15c2bb88bd692c592b3a7db9fe
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291560
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Owners-Override: Artem Titov <titovartem@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39209}

Bug: b/258408932
Change-Id: Ia172e4a6ad1cc7953b48eed08776e9d1e44eb074
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291660
Owners-Override: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39231}
2023-01-31 09:30:04 +00:00
Mirko Bonadei
23671039b0 Add android-tiramisuprivacysandbox to DEPS.
This is expected to fix the Chromium autoroller.

Bug: None
Change-Id: I27b7d880b84aa0bf7390bba50f8b274931372ce5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291536
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39230}
2023-01-31 09:19:08 +00:00
Harald Alvestrand
3963a95a62 Enforce policy that SDP munging requires special approval
This ensures that adding features by SDP munging gets a review
by people who understand how this works in the community.

Bug: none
Change-Id: I36feb0e3c7896d4f7bec81078109d7914c349a0d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291339
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39229}
2023-01-30 20:09:07 +00:00