38485 Commits

Author SHA1 Message Date
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 0f2ce5cc1c779f9bf33f51f29bfffbcbe105d1b1.

Reason for revert: Downstream infrastructure should be ready now

Original change's description:
> Revert "Migrate WebRTC documentation to new renderer"
>
> This reverts commit 3eceaf46695518f25bef43f155f82ed174827197.
>
> 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
Salman
48220310ae shared_screencast_stream: Set WL capturer id
For frames captured and sent to the callback immediately, we
are not sending the capturer ID as we used to do in base capturer
pipewire. Adding the capturer id as well as the frame capture time
so as to keep the sent frame to be in sync with the
non-immediate-frame-send implementation.

Bug: chromium:1291247
Change-Id: I02693907928b9e770ea56f89b46c37f17f4bc4a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291680
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Auto-Submit: Salman Malik <salmanmalik@chromium.org>
Cr-Commit-Position: refs/heads/main@{#39228}
2023-01-30 19:18:10 +00:00
chromium-webrtc-autoroll
9214718cc5 Roll chromium_revision 2fd12db504..e182675fbb (1098462:1098562)
Change log: 2fd12db504..e182675fbb
Full diff: 2fd12db504..e182675fbb

Changed dependencies
* src/build: 3f94e27668..882a4eaafa
* src/ios: 9e80229f8d..6a6fc13416
* src/testing: 11a5f264da..fb8aa9ad33
* src/third_party/androidx: Aw6kA-NpPjzWNknKBiY0EyY5bNO-dUuS9QdZHdjLzX8C..Hdb7ZPqGV3lLyY7geGwmoelVab7mxM0oA0jtglEVp2MC
* src/third_party/perfetto: 45275bed11..81c39bac7b
* src/third_party/r8: l0C1ThOaE6rumuAbPi3UJ4mbRYtfEz2MYsw8oNHsehYC..kTwoRbYJ0cNEX_B1XARsNkSFKf4bOHgQCEiP4afsmBUC
* src/third_party/turbine: t0TeGgk2CZr3B0HtEqBb60BSRwVPRJm9066izhJwzz0C..YQC-btuan_DTe9V9dv_e1LxgYSWeOoDfrd-VSqzIvHkC
* src/tools: 72fb6fef18..ff1e059133
DEPS diff: 2fd12db504..e182675fbb/DEPS

No update to Clang.

BUG=None

Change-Id: I7252b6719305c24c1daebf1954d96750b2faff6f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291653
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@{#39227}
2023-01-30 14:30:51 +00:00
Per K
dad91a69bf Send periodic TransportFeedback based on extension version
Today, behaviour is decided based on if transport sequence number v2 is
in the SDP answer. But it might be better to decide based on received
packets since it is valid to negotiate both extensions.

Another bonus With this solution is that Call does not need to know
about receive header exensions.
This is an alternative to https://webrtc-review.googlesource.com/c/src/+/291337

Bug: webrtc:7135
Change-Id: Ib75474127d6e2e2029557b8bb2528eaac66979f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291525
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39226}
2023-01-30 12:59:54 +00:00
Danil Chapovalov
2ded55e0df Cleanup Thread::BlockingCall
Remove integration with socket server of the current thread
Network thread that uses PhysicalSocketServer shouldn't be allowed to do blocking calls
Other threads that use NullSocketServer do not need to process any messages while blocking

Bug: webrtc:14856
Change-Id: I56865b86e0992e60376ecefe163ff6b23911edca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291527
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39225}
2023-01-30 12:12:30 +00:00
Philipp Hancke
815522782a sdp: add rtcp-fb:* lines for common feedback
which potentially allows switching to that pattern in the future.
Video FEC mechanisms (ulpfec, flexfec-03, RED) that currently
do not have any feedback parameters but will still be considered "common" and feedback may be sent for them.

For audio this causes rtcp-feedback to be sent for G711 and G722 if negotiated.

BUG=webrtc:14802

Change-Id: I54852d39e176f918d4b36462526ceb40617b8fbe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290702
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39224}
2023-01-30 10:20:50 +00:00
Junji Watanabe
68564bb59c [infra] Clean up mb_config.pyl after reclient migration
- Replace use_goma=true with use_remoteexec=true.
- Remove *_reclient configs.

Bug: b/243594984
Change-Id: I79fc1f2bfa0ac9c59117a90a4f6e8b86b14dd483
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291304
Reviewed-by: Takuto Ikuta <tikuta@google.com>
Auto-Submit: Junji Watanabe <jwata@google.com>
Commit-Queue: Junji Watanabe <jwata@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39223}
2023-01-30 07:47:12 +00:00
chromium-webrtc-autoroll
942abaace2 Roll chromium_revision 7faf2e057e..2fd12db504 (1098356:1098462)
Change log: 7faf2e057e..2fd12db504
Full diff: 7faf2e057e..2fd12db504

Changed dependencies
* src/base: 36f4811275..5f5494ca68
* src/build: 380b67a460..3f94e27668
* src/ios: 1e9addfd7d..9e80229f8d
* src/testing: 28db476f8f..11a5f264da
* src/third_party/androidx: NQPYbXN8Ab7VRK5nH3Bv_AtkolGTMUH1Bmke4myDgtAC..Aw6kA-NpPjzWNknKBiY0EyY5bNO-dUuS9QdZHdjLzX8C
* src/third_party/depot_tools: b7d8efd8be..9d77ca716f
* src/third_party/perfetto: 07e128e9a2..45275bed11
* src/third_party/r8: T0UK7p_L0p6Mj1ZDZo1V5htccPl41gV_E67mU9jHXokC..l0C1ThOaE6rumuAbPi3UJ4mbRYtfEz2MYsw8oNHsehYC
* src/tools: 4fa7eafd8a..72fb6fef18
DEPS diff: 7faf2e057e..2fd12db504/DEPS

No update to Clang.

BUG=None

Change-Id: Ia0ce94ba815b05abed1519584fa34e4bf1efbea5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291648
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@{#39222}
2023-01-30 06:33:40 +00:00
chromium-webrtc-autoroll
f6a1f7e010 Roll chromium_revision ff5a43c15d..7faf2e057e (1098253:1098356)
Change log: ff5a43c15d..7faf2e057e
Full diff: ff5a43c15d..7faf2e057e

Changed dependencies
* src/base: 37a0d23567..36f4811275
* src/build: 8aeec71acd..380b67a460
* src/ios: acb3a3fa4c..1e9addfd7d
* src/testing: a4a1c7831d..28db476f8f
* src/third_party/androidx: 0j6UphAQkFWi5H5KWaGPtDMBqzqyXv9ynv67MAW-QAYC..NQPYbXN8Ab7VRK5nH3Bv_AtkolGTMUH1Bmke4myDgtAC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/cae097acfe..35d06490ad
* src/third_party/r8: Ltpg2oCAewsHn35v3mejv9hjuLoPCr9T_I86XfFuk-sC..T0UK7p_L0p6Mj1ZDZo1V5htccPl41gV_E67mU9jHXokC
* src/tools: e57b93c615..4fa7eafd8a
DEPS diff: ff5a43c15d..7faf2e057e/DEPS

No update to Clang.

BUG=None

Change-Id: I634de2e8aab2479786e0d7645872d6c61ccec379
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291629
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@{#39221}
2023-01-29 08:25:58 +00:00
webrtc-version-updater
863a07fe6f Update WebRTC code version (2023-01-29T04:02:18).
Bug: None
Change-Id: I64c19900352dbfbc3d8424645e3bb2fdd1a22d1b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291626
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#39220}
2023-01-29 05:42:53 +00:00
chromium-webrtc-autoroll
dc7a14bb66 Roll chromium_revision 5195bd9e41..ff5a43c15d (1098136:1098253)
Change log: 5195bd9e41..ff5a43c15d
Full diff: 5195bd9e41..ff5a43c15d

Changed dependencies
* src/base: 12c329a8a1..37a0d23567
* src/ios: e3b5e34215..acb3a3fa4c
* src/testing: 6874b2b405..a4a1c7831d
* src/third_party: b495e649a2..adbb0963bd
* src/third_party/androidx: krl4XsJmr1xqfb6jGWHPTzRi4miVlm_R3zUo75cCbQIC..0j6UphAQkFWi5H5KWaGPtDMBqzqyXv9ynv67MAW-QAYC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/30795d866b..cae097acfe
* src/third_party/freetype/src: 82ce172669..bea675cde6
* src/third_party/perfetto: e4ca71b93b..07e128e9a2
* src/tools: a868e245cb..e57b93c615
DEPS diff: 5195bd9e41..ff5a43c15d/DEPS

No update to Clang.

BUG=None

Change-Id: I2e39a2e0d472c7e65db55ba4896e2dad40cbf1b3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291613
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@{#39219}
2023-01-28 04:57:38 +00:00
Salman
6ff7713a70 base_capturer_pipewire: Send frames via callback
Earlier, we were relying on CRD to periodically do frame captures.
This is however not needed since Wayland captures are event based
and once the compositor has send the event/frame to us, we can just
handover the frame to a registered callback. This ensures that we
have a single frame clock that (i.e. one present in the compositor).

Without this change, there is a chance that CRD capture clock is run
out of sync with the compositor's clock and cause unnecessary frame
delays.

See the following ideal scenario, for example, where '+' indicates
when a frame is sent by the compositor and when CRD tries to capture
it. This assumes that the same clock cycle for both CRD and the
compositor, each cycle length is enclosed within | .... |).

Compositor Frame Ready | +... | | +... |
     CRD Frame Capture | .+.. | | .+.. |

In this case, when both the clocks are in sync, CRD is able to
capture frame right after it is generated by the compositor. But if
they are completely out of sync, then CRD can always see a stale
frame (delayed by one cycle and it can cause users to feel stutter).

Compositor Frame Ready | .+.. | | .+.. |
     CRD Frame Capture | +... | | +... |

This stutter can become worse if the compositor is delayed in
generating the frames for some reason (e.g. load on the system).

Bug: chromium:1291247
Change-Id: I7c10c724fbbd87dc523d474e7ece8e8aa146fd7b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291080
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Salman Malik <salmanmalik@chromium.org>
Cr-Commit-Position: refs/heads/main@{#39218}
2023-01-28 03:37:46 +00:00
chromium-webrtc-autoroll
bf216a7d3e Roll chromium_revision d9876846b5..5195bd9e41 (1097987:1098136)
Change log: d9876846b5..5195bd9e41
Full diff: d9876846b5..5195bd9e41

Changed dependencies
* src/base: 110be9e711..12c329a8a1
* src/build: f254fea7a7..8aeec71acd
* src/ios: 8b79315c99..e3b5e34215
* src/testing: a4b87cacd4..6874b2b405
* src/third_party: eb075834a4..b495e649a2
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/35952dc547..30795d866b
* src/third_party/depot_tools: 562481d6a9..b7d8efd8be
* src/tools: c70077dc32..a868e245cb
DEPS diff: d9876846b5..5195bd9e41/DEPS

No update to Clang.

BUG=None

Change-Id: I6e7085a06ebbe9485b2a470380f47202b91dcdaf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291610
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@{#39217}
2023-01-27 22:37:43 +00:00
Salman
26340b07a4 desktop_capturer: Support frame rate negotiation via pipewire
This change adds support for renegotiating the frame rate
via pipewire.

Bug: chromium:1291247
Change-Id: Iacd4a3c924900839a8db75a50b448df6c48c83ab
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291460
Commit-Queue: Salman Malik <salmanmalik@chromium.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#39216}
2023-01-27 21:11:53 +00:00
chromium-webrtc-autoroll
4c4566a8e6 Roll chromium_revision 6da6f5ebed..d9876846b5 (1097837:1097987)
Change log: 6da6f5ebed..d9876846b5
Full diff: 6da6f5ebed..d9876846b5

Changed dependencies
* src/base: 8817e4b958..110be9e711
* src/build: b448ad8b3f..f254fea7a7
* src/ios: f0c31bf02e..8b79315c99
* src/testing: 4ab9691e91..a4b87cacd4
* src/third_party: 370e1943a5..eb075834a4
* src/third_party/androidx: E6isJIeDxTvDkkBsB1RgglCgSz8u8tApflSuvBEyxqoC..krl4XsJmr1xqfb6jGWHPTzRi4miVlm_R3zUo75cCbQIC
* src/third_party/perfetto: 8fe19f5546..e4ca71b93b
* src/third_party/r8: lhnuNLpWpWBVM6efX0iIg5i9ztfW8VKpMvkyfWCxfr0C..Ltpg2oCAewsHn35v3mejv9hjuLoPCr9T_I86XfFuk-sC
* src/tools: 8e18f3e24f..c70077dc32
DEPS diff: 6da6f5ebed..d9876846b5/DEPS

No update to Clang.

BUG=None

Change-Id: If276c701f2a2701a0e3b376e31d8c0c1a8077a4e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291608
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@{#39215}
2023-01-27 18:53:18 +00:00
Tony Herre
64ce699f4b Propagate Video CSRCs modified by an insertable streams frame transform
Allow CSRCs to be modified per-frame in an Encoded Insertable Streams
transform, to support a web API which allows per-frame CSRC
modifications to signal when a JS application has changed the source
of the video which is written into an encoded frame.

Initially only for Video, with Audio support likely to follow later.

Bug: webrtc:14709
Change-Id: Ib34f35faa9cee56216b30eaae42d7e65c78bb9f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291324
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tove Petersson <tovep@google.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Tony Herre <herre@google.com>
Cr-Commit-Position: refs/heads/main@{#39214}
2023-01-27 16:32:43 +00:00
Jakob Ivarsson
db208317eb Update RTP timestamp based on capture timestamp when audio send stream is resumed.
This removes the previous approach where we continued to update the timestamp when the capturer is running but the send stream is stopped in favor of a more general approach that also works when the capturer is paused.

Some assumptions for this change to be correct: input sample rate and frame size will be the same before/after the stream is paused.

Bug: webrtc:12397
Change-Id: I3b03741cd6d3285cbc9aee3893800729852e6cfa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291526
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39213}
2023-01-27 15:46:32 +00:00
chromium-webrtc-autoroll
9d21eb3e3e Roll chromium_revision 1f33300013..6da6f5ebed (1097480:1097837)
Change log: 1f33300013..6da6f5ebed
Full diff: 1f33300013..6da6f5ebed

Changed dependencies
* src/base: 211595b9e1..8817e4b958
* src/build: 8e59fa7328..b448ad8b3f
* src/ios: c44e3b09fa..f0c31bf02e
* src/testing: 89218c737f..4ab9691e91
* src/third_party: 97f83ef911..370e1943a5
* src/third_party/android_build_tools/manifest_merger: Oe3FpLcNFdPYOQQYUNnC4ajNSBfgmsFHDUaAimk7m6MC..5Zw4RYBL86koJro2O-jjcZYxOOdEW-hJDYykae8efQAC
* src/third_party/androidx: 8KUWsjmvRQJlzdaro14SgP8nok3-kHY2h00BEjXLJqQC..E6isJIeDxTvDkkBsB1RgglCgSz8u8tApflSuvBEyxqoC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/abaad53f0c..35952dc547
* src/third_party/depot_tools: 44e9bee34f..562481d6a9
* src/third_party/ffmpeg: a249b21db6..dcb9e9003f
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/9c915757e5..706ee36dcc
* src/third_party/libvpx/source/libvpx: b7c22b3a95..db69ce6aea
* src/third_party/perfetto: 7706133c5b..8fe19f5546
* src/third_party/robolectric: 6OaDTPaXu0VZoMwWllgaXTeiaJR5jQkZb1_aooRa2GUC..hzetqh1qFI32FOgQroZvGcGdomrgVBJ6WKRnl1KFw6EC
* src/tools: 8a2826d35f..8e18f3e24f
DEPS diff: 1f33300013..6da6f5ebed/DEPS

No update to Clang.

BUG=None

Change-Id: Ie19458c6cc3ef54aabcd27355f04f82de4f384c3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291604
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@{#39212}
2023-01-27 11:00:13 +00:00
Sameer Vijaykar
a2653bc236 Export some more symbols for use in chromium tests.
Bug: chromium:1408420
Change-Id: I4d427dfacf79c3dbbbcd9bf969f1af7fee4a2f67
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291522
Commit-Queue: Sameer Vijaykar <samvi@google.com>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39211}
2023-01-27 10:33:19 +00:00
landrey
ca1cfd45de Add missing src/third_party/jdk11 dependency and roll chromium into webrtc
Roll chromium_revision e5191e93ab..1f33300013 (1096792:1097480)

Change log: e5191e93ab..1f33300013
Full diff: e5191e93ab..1f33300013

Changed dependencies
* src/base: 451505f0f1..211595b9e1
* src/build: 1a2bf3bafa..8e59fa7328
* src/buildtools: 0cc02fb849..3c7e3f1b8b
* src/buildtools/third_party/libc++/trunk: 1dfd0022c4..1127c78cf9
* src/ios: 5c6f9398b9..c44e3b09fa
* src/testing: 3bec4d3b1c..89218c737f
* src/third_party: c16ccdd4ad..97f83ef911
* src/third_party/androidx: 3nXDIlFQ-oAo4egDVeC0GbueTl4mOfPrEDzT5jgDEK8C..8KUWsjmvRQJlzdaro14SgP8nok3-kHY2h00BEjXLJqQC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/45986b07fa..abaad53f0c
* src/third_party/depot_tools: c710e2d56a..44e9bee34f
* src/third_party/jdk: egbcSHbmF1XZQbKxp_PQiGLFWlQK65krTGqQE-Bj4j8C..-FR8HTNcMfxy7J2HUaWVa0QmEE4f68iotzvFbqOj2LEC
* src/third_party/perfetto: ee03e391a1..7706133c5b
* src/third_party/r8: SCuPfdKTpEJfVbWzckpmWx125Zf3pO-4RitqcfXX-RQC..lhnuNLpWpWBVM6efX0iIg5i9ztfW8VKpMvkyfWCxfr0C
* src/tools: 7c53822d54..8a2826d35f
* src/tools/luci-go: git_revision:36cf4b54527c49aca7ed3023995a081e14f1852a..git_revision:221383f749a2c5b8587449d3d2e4982857daa9e7
* src/tools/luci-go: git_revision:36cf4b54527c49aca7ed3023995a081e14f1852a..git_revision:221383f749a2c5b8587449d3d2e4982857daa9e7
DEPS diff: e5191e93ab..1f33300013/DEPS

No update to Clang.

BUG=b/266775646

Change-Id: I2597b77b4c3d29d88674825aa7e241f2be0a8820
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291436
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39210}
2023-01-27 08:52:48 +00:00
Artem Titov
0f2ce5cc1c Revert "Migrate WebRTC documentation to new renderer"
This reverts commit 3eceaf46695518f25bef43f155f82ed174827197.

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}
2023-01-26 20:19:12 +00:00
Per K
b0d8a3728c Ensure CallTest derived tests per default set min/max audio bitrate.
This ensure BWE works as intended with transport sequence numbers on
audio.

Tested with webrtc_perf_tests --gtest_filter=CallPerfTest.Min_Bitrate_VideoAndAudio
and --gtest_filter=Rampup*

Bug: webrtc:14854, webrtc:7135, b/266786240
Change-Id: I3b7a743149c22035e582a2157b5f0a93747857cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291523
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Auto-Submit: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39208}
2023-01-26 17:36:01 +00:00
Danil Chapovalov
6c032cb835 in rtcp::TransportFeedback do not memorise all described packet
Instead generate such info on request

Bug: None
Change-Id: I8c3b54c8acdd0e3df822ecbc313ab8c232de5812
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/269251
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39207}
2023-01-26 16:32:49 +00:00
Jakob Ivarsson
dcb09ff218 Reset encoder when audio send stream is stopped.
This is to clear any remaining buffers and other state such as the next packet timestamp.

Bug: webrtc:12397
Change-Id: I2ef9a6f7254d82a69a2896ec8aa619ced2694fb8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291327
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39206}
2023-01-26 15:20:02 +00:00
Artem Titov
3eceaf4669 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}
2023-01-26 14:58:00 +00:00
Bjorn Terelius
94d5f6af62 Add missing include
Bug: webrtc:14009
Change-Id: I2d061266417b28d345e6bd88018380b01051952a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291113
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#39204}
2023-01-26 14:29:19 +00:00