Commit Graph

5659 Commits

Author SHA1 Message Date
cf7802d3f4 [Cast Convergence] Replace is_chromecast with new args
Replace `is_chromecast` with `is_castos` and `is_cast_android` as
appropriate. See linked bug for further context.

Bug: chromium:1219802
Change-Id: If24af59e058940b7259cf4f1d9a3ba2ee0449cdb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265601
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: David Dorwin <ddorwin@google.com>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Ryan Keane <rwkeane@google.com>
Cr-Commit-Position: refs/heads/main@{#37230}
2022-06-16 00:50:08 +00:00
bbf639e930 Add low-latency stream signaling to VideoFrame and VCMTiming
This is the first CL out of three to make the low-latency stream signaling
explicit. At the moment this is done by setting the render time to 0.
There's a dependency between Chromium and WebRTC which is why this is
split into three CLs to not break any existing functionality.

Bug: chromium:1327251
Change-Id: Ie6b268746d587a99334485db77181fb2c6e9b567
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264502
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37225}
2022-06-15 14:04:28 +00:00
105711e9ad Move rtc::make_ref_counted to api/
Bug: webrtc:12701
Change-Id: If49095b101c1a1763c2a44a0284c0d670cce953f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265390
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37219}
2022-06-15 09:47:38 +00:00
e45cfb45b1 Delete RtcpPacketTypeCounter::first_packet_time_ms as unused
Bug: webrtc:13757
Change-Id: I358ab99c899b9de5f0135d5293101e7abda4aa31
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265682
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37198}
2022-06-13 14:24:07 +00:00
a6ed749b12 Wayland screencast: update stride when we import DMA-BUFs
When DMA-BUFs are used, sometimes stride we get from PipeWire might
contain additional padding, but after we import the buffer, the stride
we used is no longer relevant and we should just calculate it based on
width.

Bug: chromium:1333304
Change-Id: Id4300550f0b3c539ddd749e9285f525d4f816b80
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265384
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Jan Grulich <grulja@gmail.com>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#37195}
2022-06-13 10:26:36 +00:00
1220855430 In RemoteEstimatorProxy use Timestamp type
to assemble rtcp::TransportFeedback

Bug: webrtc:13757
Change-Id: I668d9e61d82b454a6884eff223804afc882d86a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264900
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37192}
2022-06-13 10:07:46 +00:00
c62e1b8d10 Don't increment transport sequence number on send failures.
Bug: webrtc:14130
Change-Id: Idee794445872f3db8ffae7c3e2cef5e72843ef25
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265640
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37190}
2022-06-13 10:01:26 +00:00
9a665402d7 Reland "TaskQueue: unexpose delayed task convenience methods."
This reverts commit 4cd3a0d082d0b9d44fd78eef3d53d4360e99a674.

Reason for revert: Downstream build should be fixed.

Original change's description:
> Revert "TaskQueue: unexpose delayed task convenience methods."
>
> This reverts commit 08bb6295ea1f438a26f8c1ab01769cfa63943756.
>
> Reason for revert: Breaks downstream tests
>
> Original change's description:
> > TaskQueue: unexpose delayed task convenience methods.
> >
> > Bug: webrtc:14165
> > Change-Id: Ieb8580670e9e521580afd68cca6ff631fb6df3f8
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265400
> > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > Auto-Submit: Markus Handell <handellm@webrtc.org>
> > Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#37166}
>
> Bug: webrtc:14165
> Change-Id: Ia7368cf205622be448ec0ead5d22f211aa071a29
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265411
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Owners-Override: Björn Terelius <terelius@webrtc.org>
> Auto-Submit: Björn Terelius <terelius@webrtc.org>
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37167}

Bug: webrtc:14165
Change-Id: I3d963d272e8a1431103a5d5fb4568ccacd81119c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265395
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37186}
2022-06-13 07:27:37 +00:00
7dbfad613c Revert "Delete old Android ADM."
This reverts commit 4ec3e9c98873520b3171d40ab0426b2f05edbbd2.

Reason for revert: Causes downstream build error.

Original change's description:
> Delete old Android ADM.
>
> The schedule move Android ADM code to sdk directory have been around
> for several years, but the old code still not delete.
>
> Bug: webrtc:7452
> Change-Id: I0f75c680f71f0b2ce614de6cbd9f124c2a59d453
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264620
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37174}

Bug: webrtc:7452
Change-Id: If094e0a3ef5a3d340cbd5dfa0a8a88c3e97ba0bf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265393
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37180}
2022-06-10 15:10:04 +00:00
f6934c3f7d Add method ReceiveSideCongestionController::SetTransportOverhead
The method can be used to ensure packets reported to NetworkStateEstimator include transport overhead.

Change-Id: I30f0271aac82633893660c61ea59e3b7c2cf9f31
Bug: webrtc:10742
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265405
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37179}
2022-06-10 13:52:34 +00:00
df9e51a190 Fix issue with pacing rate after long queue times.
A recent cleanup cl (r36900) had an unintended side-effect.

If the queue-time limit is expected to be hit, we adjust the pacing
bitrate up to make sure all packets are sent within the nominal time
frame.
However after that change we stopped adjusting the pacing rate back to
normal levels when queue clears - at least not until the next BWE
update (which is fairly often - but not immediate).

This CL fixes that, and also makes sure whe properly update the
adjusted media rate on enqueu, dequeue and set rate calls.

Bug: webrtc:10809
Change-Id: If00dc35169f1a1347fea6eb44fdb2868282ed3b7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265387
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37178}
2022-06-10 11:43:14 +00:00
6cbb8f6907 Add DesktopCapturer for Fuchsia.
This enables screen sharing on Fuchsia platforms where Scenic is running
Flatland.

Bug: chromium:1322341
Change-Id: I997c048a2c4d1338df11415b4675940711df65ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265167
Commit-Queue: Sarah Pham <smpham@google.com>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Emircan Uysaler <emircan@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37176}
2022-06-10 09:23:14 +00:00
4ec3e9c988 Delete old Android ADM.
The schedule move Android ADM code to sdk directory have been around
for several years, but the old code still not delete.

Bug: webrtc:7452
Change-Id: I0f75c680f71f0b2ce614de6cbd9f124c2a59d453
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264620
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37174}
2022-06-10 08:55:04 +00:00
4cd3a0d082 Revert "TaskQueue: unexpose delayed task convenience methods."
This reverts commit 08bb6295ea1f438a26f8c1ab01769cfa63943756.

Reason for revert: Breaks downstream tests

Original change's description:
> TaskQueue: unexpose delayed task convenience methods.
>
> Bug: webrtc:14165
> Change-Id: Ieb8580670e9e521580afd68cca6ff631fb6df3f8
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265400
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Auto-Submit: Markus Handell <handellm@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37166}

Bug: webrtc:14165
Change-Id: Ia7368cf205622be448ec0ead5d22f211aa071a29
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265411
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Björn Terelius <terelius@webrtc.org>
Auto-Submit: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37167}
2022-06-09 15:48:23 +00:00
08bb6295ea TaskQueue: unexpose delayed task convenience methods.
Bug: webrtc:14165
Change-Id: Ieb8580670e9e521580afd68cca6ff631fb6df3f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265400
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Markus Handell <handellm@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37166}
2022-06-09 14:08:54 +00:00
f65d735e7d Remove ACMTestTimer in iSACTest
It hasn't been used in years.

Bug: chromium:1331345
Change-Id: I8fdc1952fa1114f7f78e2535ffb76e9678e53d1d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265520
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37164}
2022-06-09 12:14:02 +00:00
8f722cae35 Update pacer documentation.
Bug: webrtc:10809
Change-Id: I5a032114e4bbd0bcae97d9a657dc84e62dba6508
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265386
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37163}
2022-06-09 12:04:24 +00:00
1abcb1106c Remove usage of sprintf in modules
sprintf is marked as deprecated with Xcode 14.

Bug: chromium:1331345
Change-Id: I834f392bee96e6b6725d5aee469a243dbc6e272e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265521
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37162}
2022-06-09 11:57:33 +00:00
f1d822b03b Delete variant of rtc::split that copies the output fields
Bug: webrtc:13579
Change-Id: I065a32704d48d5eed21aee0e9757cac9ecf7aa99
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261951
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Ali Tofigh <alito@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37160}
2022-06-09 08:29:33 +00:00
f4a6928117 Simple, mergable fix to avoid a libyuv CopyPlane crash
Bug: chromium:1330019
Change-Id: I1a22967dff3231c1522fb94de38b309f441d468e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265442
Reviewed-by: Frank Barchard <fbarchard@google.com>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Joe Downing <joedow@google.com>
Cr-Commit-Position: refs/heads/main@{#37158}
2022-06-08 23:55:22 +00:00
664e30ff57 Remove redundant LastDecodedTimestamps.
The same information can be found in `AudioFrame.packet_infos_`.

Bug: none
Change-Id: Ib63bc41ffb896677a445d875afce0a98acea6999
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265161
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37153}
2022-06-08 13:31:52 +00:00
86c452ac5a Refactor rtcp::TransportFeedback to use Timestamp and TimeDelta internally
Bug: webrtc:13757
Change-Id: I9815e54288a064c6c8ff40f130b52786b4e398b7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264559
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37149}
2022-06-08 09:33:22 +00:00
bc6101459f Delete RtpRtcpInterface::SetRid.
This setter method is replaced by a construction-time config setting.

Bug: None
Change-Id: I1a685e9b4065762b30698231c7f4d9c567459e29
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264446
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37148}
2022-06-08 09:18:01 +00:00
c949016e13 Revert "Fix memory corruption in BasicDesktopFrame::CopyTo"
This reverts commit 0ba10283fb3cbdf1cedea79d84e4bc3b720da6a1.

Reason for revert: This workaround is no longer needed, as the libyuv team has already fixed the underlying issue (in b/234824290)

Original change's description:
> Fix memory corruption in BasicDesktopFrame::CopyTo
>
> This memory corruption happens inside libyuv::CopyPlane()
> on platforms that support AVX. I opened b/234824290 so the libyuv team
> can investigate and fix this, but in the mean time we need to get this
> fixed asap as this is causing crashes on both M102 (which is released to
> stable) and M103 (which has this issue marked as beta blocking).
>
> Fixed: b/234824290
> Fixed: chromium:1330019
> Test: Manually reproduced on zork board
> Change-Id: I6bfd1e089020dfb23d974d3912d45c01a4e5ce26
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265041
> Auto-Submit: Jeroen Dhollander <jeroendh@google.com>
> Commit-Queue: Alexander Cooper <alcooper@chromium.org>
> Reviewed-by: Alexander Cooper <alcooper@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#37121}

Fixed: b/234824290
Fixed: chromium:1330019
Change-Id: Iafc0eac651fbc7a7fce5092306b12c4377248839
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265165
Auto-Submit: Jeroen Dhollander <jeroendh@google.com>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@google.com>
Cr-Commit-Position: refs/heads/main@{#37142}
2022-06-07 17:05:06 +00:00
ef241167a5 [SlackedPacer] Don't slack while retransmissions or audio is in queue.
This CL introduces PacketQueue::SizeInPacketsPerRtpPacketMediaType
keeping track of the number of packets in the queue per
RtpPacketMediaType.

The TaskQueuePacedSender is updated not to apply slack if the queue
contains any kRetransmission or kAudio packets. The hope is that not
slacking retransmissions will make the NACK/retransmission regression
of the SlackedPacer experiment go away. Wanting to not slack audio
packets is unrelated to the regression but a sensible thing to due
since audio is highest priority.

This CL does not change anything when the SlackedPacer experiment is
not running, since if its not running then none of the packets are
slacked.

Bug: webrtc:14161
Change-Id: I1e588599b6b64ebfd7d890706b6afd0b84fd746d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265160
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37139}
2022-06-07 12:16:37 +00:00
0ba10283fb Fix memory corruption in BasicDesktopFrame::CopyTo
This memory corruption happens inside libyuv::CopyPlane()
on platforms that support AVX. I opened b/234824290 so the libyuv team
can investigate and fix this, but in the mean time we need to get this
fixed asap as this is causing crashes on both M102 (which is released to
stable) and M103 (which has this issue marked as beta blocking).

Fixed: b/234824290
Fixed: chromium:1330019
Test: Manually reproduced on zork board
Change-Id: I6bfd1e089020dfb23d974d3912d45c01a4e5ce26
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265041
Auto-Submit: Jeroen Dhollander <jeroendh@google.com>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#37121}
2022-06-03 17:03:44 +00:00
8263020407 Allow the SlackedPacer experiment to control SendBurstInterval.
When the slacked pacer experiment is enabled the next pacing opportunity
may be a full tick (~16 ms) from now. Add a flag to allow experimenting
with a burst interval (= 16 ms?) such that we can send bursts in
MaybeProcessPackets.

A common use case would be that EnqueuePackets triggers
MaybeProcessPackets when we are off-tick but we'd still like to create
an immediate burst instead of waiting for the next tick or two for that
to happen.

Bug: webrtc:14152
Change-Id: Ib0ed8312cb7d53b80f3520fff3a6e3bbb5a93fd1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264985
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37116}
2022-06-03 13:20:24 +00:00
3656581ade Revert "Reland "Add Fuchsia desktop capturer.""
This reverts commit 028697365de48844ac6fb9fbbad03f9eceb6e17a.

Reason for revert: See bugs.webrtc.org/14153

Original change's description:
> Reland "Add Fuchsia desktop capturer."
>
> This is a reland of commit 39b6cb651ed158630cde4d11f5e981cad599f215
>
> Original change's description:
> > Add Fuchsia desktop capturer.
> >
> > This enables screen sharing on Fuchsia.
> >
> > Bug: chromium:1322341
> > Change-Id: I2f52f6bfe7406b5fe36ae904a0cdf30e8168cac5
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262340
> > Reviewed-by: Emircan Uysaler <emircan@google.com>
> > Commit-Queue: Sarah Pham <smpham@google.com>
> > Reviewed-by: Alexander Cooper <alcooper@chromium.org>
> > Cr-Commit-Position: refs/heads/main@{#37029}
>
> Bug: chromium:1322341
> Change-Id: Iac7c764da03d91b3c79ac0bbd9eb4c717e8c11df
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264824
> Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
> Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37095}

Bug: chromium:1322341, webrtc:14153
Change-Id: Id0d54858151ab874e6512eac157be5a869abe254
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264987
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37110}
2022-06-03 11:15:44 +00:00
f1788bb7a9 Revert "Fix gn check for Fuchsia builds."
This reverts commit 665fb42d955e2a7f29f3cb66bae5b9c3acc0f76d.

Reason for revert: see bugs.webrtc.org/14153

Original change's description:
> Fix gn check for Fuchsia builds.
>
> Bug: None
> Change-Id: I83b420b21b3acaedd86cdedb71febd1ce31ff7f0
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264980
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Christoffer Jansson <jansson@webrtc.org>
> Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37106}

Bug: webrtc:14153
Change-Id: Ieb967448993e280aea8faf8490df4e7f0e2fd4f9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264986
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37109}
2022-06-03 11:13:33 +00:00
665fb42d95 Fix gn check for Fuchsia builds.
Bug: None
Change-Id: I83b420b21b3acaedd86cdedb71febd1ce31ff7f0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264980
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Christoffer Jansson <jansson@webrtc.org>
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37106}
2022-06-03 08:14:03 +00:00
8d847f077c Introduce PacerController::SendBurstInterval
Allows the PacerController to send packets in bursts. If there are enqued packets, or a packet is enqueued while the pacer have a small media debt, an enqued packet is allowed to be sent immediately as long as the debt is smaller than the set burst interval.

Bug: b/233850913
Change-Id: Ibb0fa63c97409ca23b9fa7148b5ff6ce8c4517e2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264462
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37098}
2022-06-02 15:10:06 +00:00
028697365d Reland "Add Fuchsia desktop capturer."
This is a reland of commit 39b6cb651ed158630cde4d11f5e981cad599f215

Original change's description:
> Add Fuchsia desktop capturer.
>
> This enables screen sharing on Fuchsia.
>
> Bug: chromium:1322341
> Change-Id: I2f52f6bfe7406b5fe36ae904a0cdf30e8168cac5
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262340
> Reviewed-by: Emircan Uysaler <emircan@google.com>
> Commit-Queue: Sarah Pham <smpham@google.com>
> Reviewed-by: Alexander Cooper <alcooper@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#37029}

Bug: chromium:1322341
Change-Id: Iac7c764da03d91b3c79ac0bbd9eb4c717e8c11df
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264824
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37095}
2022-06-02 12:46:06 +00:00
3eedc90052 Review RtcpTransciverConfig warnings
Move warning about missing receive_statistics to AddReceiver to avoid
producing it for rtp send only endpoints.
Remove warning about missing cname as unimportant.

Bug: webrtc:8239
Change-Id: I8a90aa4b378284b9c68f67678b2392b9461c95b4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264825
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37093}
2022-06-02 11:53:36 +00:00
c4ca83c2bd Send side bwe receives the delay based state even if the delay based bwe does not change its estimate.
Bug: webrtc:12707
Change-Id: If67dcc6d1cb70dc763ab65bdb8426de100bcc626
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261312
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37084}
2022-06-02 04:33:16 +00:00
2a30693718 Add functions using Timestamp and TimeDelta for rtcp::TransportFeedback
BaseTime represents fixed point in time with unknown epoch and thus
make sense to convert to Timestamp type, however Timestamp should always
be positive. however legacy tests expect GetBaseTimeUs to return negative time sometimes.

Bug: webrtc:13757
Change-Id: I3f780a7775fdd1e271402c59384c1298db76f75a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264549
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37076}
2022-06-01 13:05:55 +00:00
1a5a81340d Rename discarded_primary_packets to packets_discarded.
This it what it is called in the spec:
https://w3c.github.io/webrtc-stats/#dom-rtcreceivedrtpstreamstats-packetsdiscarded

Also log the metric in neteq_rtpplay.

Bug: webrtc:8199
Change-Id: Ie0262d17b913eb6949daa703844d90327eee0aa4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/263725
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37063}
2022-05-31 13:24:24 +00:00
c4d253c1ed Move VCMTiming into timing sub-folder
Bug: webrtc:14111
Change-Id: I9785b00012ea84f55789845a7e71fe26006d5067
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/263581
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37061}
2022-05-31 13:01:24 +00:00
af785d9759 Deprecate setter RtpRtcpInterface::SetRid
This setter method is replaced by a construction-time config setting.

Bug: None
Change-Id: Iddffaeeb719a56328bccde3c4a1a0a852d2131b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264501
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37060}
2022-05-31 12:41:13 +00:00
865d9c519f Fix compile error with -Werror
extra ;

Bug: None
Change-Id: I7518fcf0b230ecc0d33d15f9afb6d6b07483160f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264500
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37054}
2022-05-31 09:59:34 +00:00
b6de7c6485 Revert "Add Fuchsia desktop capturer."
This reverts commit 39b6cb651ed158630cde4d11f5e981cad599f215.

Reason for revert: Breaks downstream project

Original change's description:
> Add Fuchsia desktop capturer.
>
> This enables screen sharing on Fuchsia.
>
> Bug: chromium:1322341
> Change-Id: I2f52f6bfe7406b5fe36ae904a0cdf30e8168cac5
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262340
> Reviewed-by: Emircan Uysaler <emircan@google.com>
> Commit-Queue: Sarah Pham <smpham@google.com>
> Reviewed-by: Alexander Cooper <alcooper@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#37029}

Bug: chromium:1322341
Change-Id: I2a7c76b87b4a9532c30991a6ecbbb6f963c98fa8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264460
Auto-Submit: Christoffer Jansson <jansson@webrtc.org>
Commit-Queue: Christoffer Jansson <jansson@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Christoffer Jansson <jansson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37052}
2022-05-31 07:41:46 +00:00
e66b83f8ad Never pass a signed char to ctype macros like isdigit()
Bug: None
Change-Id: I451bb2c1f175a77aefbc8363009bf35a769fe941
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264442
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37037}
2022-05-30 13:05:03 +00:00
09a2848351 Remove LibaomAv1EncoderIfSupported
Bug: webrtc:13573
Change-Id: Ia9a6d1809488d92753527350a61f0a46159ccd8b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262814
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37033}
2022-05-30 09:56:54 +00:00
e9c3f0158c Add support for stand-alone Fuchsia build.
When target_os is set to "fuchsia":
BUILD: suppress Wundef flag
DEPS: download the Fuchsia SDK
audio_encoding: add header include
video_capture: video_capture_factory is not yet implemented for Fuchsia
so we add a null capture factory when building for Fuchsia.

Bug: webrtc:14061
Change-Id: Id6ca7418859c85293a0a5e2a8427807ee039db2c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262200
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37030}
2022-05-30 09:24:43 +00:00
39b6cb651e Add Fuchsia desktop capturer.
This enables screen sharing on Fuchsia.

Bug: chromium:1322341
Change-Id: I2f52f6bfe7406b5fe36ae904a0cdf30e8168cac5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262340
Reviewed-by: Emircan Uysaler <emircan@google.com>
Commit-Queue: Sarah Pham <smpham@google.com>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#37029}
2022-05-30 09:18:44 +00:00
bfd30652b5 Refactor PacingControllerUnitTest
Ensure each test create its own PacerController.
Move (most) operations on the pacer controller to the actual test. (the
rest should be moved too eventually....)
Use only one test fixture.

Bug: none
Change-Id: I0b8eee9d2c2f91f7102858a1a544e45e8b0b7b5d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264120
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37017}
2022-05-27 12:28:33 +00:00
45a22ffbb7 wayland: Support dynamic resolution changes of pw stream
This change adds support for dynamic resolution adjustment
of pipewire stream.

Bug: chromium:1291247
Change-Id: I87e02484920f795a053a814eb872834ab22c1bd3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/263680
Commit-Queue: Salman Malik <salmanmalik@google.com>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#37010}
2022-05-26 19:15:54 +00:00
a313ff5bde C++20 fixes.
u8"" no longer produces a char*.  Use "" instead, which also accepts
UTF-8 literals.

Bug: chromium:1284275
Change-Id: Ida84b82670eb1238a606d3fe8c4eb40fbc23165e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/263760
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#37005}
2022-05-25 20:04:33 +00:00
01ab7d501b Use packet arrival history in delay manager.
It replaces the relative arrival delay tracker which is equivalent.

This results in a slight bit-exactness change but nothing that should affect quality.

Bug: webrtc:13322
Change-Id: I6ed5d6fdfa724859122928a8838acce27ac2e5d0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/263380
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37004}
2022-05-25 20:03:31 +00:00
10944e61ac Move JitterEstimator into timing sub-folder
Bug: webrtc:14111
Change-Id: Ic5c66f35e3cedac7a328fbb6613e5cdf13a8005e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/263582
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37000}
2022-05-25 09:15:29 +00:00
0921d1e5c1 C++20 fixes.
ABSL_CONST_INIT must be on definitions, not just declarations.

Bug: chromium:1284275
Change-Id: If57064ab9417df38f770c59e50be93a104748b72
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/263282
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36994}
2022-05-25 06:15:29 +00:00