5537 Commits

Author SHA1 Message Date
philipel
90623e1a91 Check if packet in PacketBuffer was cleared before the frame was fully received.
Bug: none
Change-Id: Iaa5702a8da93462ba80f72821f075a6673eeb0e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260324
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36694}
2022-04-28 13:48:54 +00:00
Erik Språng
cb56827c55 Abstract the pacer queue behind an interface.
This will make it easier to extend testing, implement new features (e.g.
packet culling) and experiment with new variants.

Bug: webrtc:11340
Change-Id: I747f5f6cff61e11a420e43b06ffe0c4aba438c7b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260116
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36670}
2022-04-27 11:58:55 +00:00
Evan Shrubsole
f6adc647ba Remove WebRTC-LowLatencyRenderer field trial
There is no active use of it, and the fields are enabled by default in
the uses of it.

Change-Id: Ibfdb3f1befca886cb4b2f4b2ae4d6235aafafe3d
Fixed: webrtc:13998
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256262
Reviewed-by: Johannes Kron <kron@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36655}
2022-04-26 10:05:15 +00:00
Evan Shrubsole
a0ee64c57e Add test::FakeEncodedFrame for testing
Change-Id: I1c8fabe5caf2c723487ec1cd71a379e922026a9d
Bug: webrtc:13996
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260001
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36654}
2022-04-26 09:26:35 +00:00
Erik Språng
8b749e462b Move priority handling from PacingController to packet queue.
This will simplify upcoming changes to the queue.

Bug: webrtc:11340
Change-Id: Id023618fdef8a8bc9fb50e477cc87e6ba20c5421
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259875
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36644}
2022-04-25 14:09:41 +00:00
Florent Castelli
c3e6e3a3e8 Remove dependency on rtc_base_approved from most targets
Bug: webrtc:9838
Change-Id: Ibd0199803597eff48ca139a5cecdc3209c62c5d2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259873
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36643}
2022-04-25 12:15:30 +00:00
Erik Språng
e65d05da25 Avoid bouncing first probe packet via pacer queue.
This avoids potentially creating structures in the queue, and removes
usage of a special priority class enabling us to move priority handling
in a follow-up.

Bug: webrtc:11340
Change-Id: I2286ef6eac62e1d6dd89f6eb6035b23f27543d8a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259960
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36641}
2022-04-25 09:46:10 +00:00
Florent Castelli
a30aef3dea Move event_tracer out of rtc_base_approved
Bug: webrtc:9838
Change-Id: Ic3c424729b5edd3e378c4195afe33ae5c88ad491
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259312
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36637}
2022-04-24 14:47:40 +00:00
Florent Castelli
ed4aadc0a2 Move copy_on_write_buffer out of rtc_base_approved
Bug: webrtc:9838
Change-Id: Ib9a9cd3bc868e716315594c436df7e2cce0d9a5a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259311
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36636}
2022-04-24 09:51:50 +00:00
Florent Castelli
ceb7b36d3a Move byte_buffer out of rtc_base_approved
Bug: webrtc:9838
Change-Id: Ic7e912cba1218f1eed794cb8c393ac148106b16c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259310
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36634}
2022-04-23 22:47:39 +00:00
Florent Castelli
a876a92d31 Move byte_order out of rtc_base_approved
Bug: webrtc:9838
Change-Id: Ieb2fbaad8831439ca04fc5249e295c8839f6890e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259309
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36633}
2022-04-23 19:04:29 +00:00
Alexander Cooper
f18841a843 Address followup feedback from webrtc-review 259457
https://webrtc-review.googlesource.com/c/src/+/259457 was a
cherry-pick to M102; as such changes were not made there to keep the
merge to just what had already landed. This addresses the issues raised
on that CL.

Bug: chromium:1316478
Change-Id: I94fad0aa6fe9c67aee5a2f2158524d75b51db48e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259660
Auto-Submit: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36631}
2022-04-23 10:33:09 +00:00
Florent Castelli
f9c5984a1d Move buffer out of rtc_base_approved
Bug: webrtc:9838
Change-Id: I14feff7b1f0182d031b6644d281be44122820ce7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259307
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36629}
2022-04-22 21:19:28 +00:00
Erik Språng
acded16424 Revert "Reland "Send first probe packet directly instead of enqueuing it.""
This reverts commit fc5871cb98481937351bee2f46b2a2e3987d177a.

Reason for revert: I rage quit.

Original change's description:
> Reland "Send first probe packet directly instead of enqueuing it."
>
> This is a reland of commit 8088aad5ac0154d8fdc252de9e8ab4e0172d7da2
>
> Patchset 1 is original CL, patchset 2 contains a fix to make behavior
> exactly identical to original. It fixes a difference when the first
> small probe packet comprises the entire probe.
>
> Original change's description:
> > Send first probe packet directly instead of enqueuing it.
> >
> > This avoids potentially creating needless containers in the packet
> > queue and removes usage of the packet prio, allowing it to be moved in
> > an upcoming CL.
> >
> > Bug: webrtc:11340
> > Change-Id: Iddd9e7e4e73c97ab25a85e42bcc0094d61fd60d3
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259524
> > Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
> > Commit-Queue: Erik Språng <sprang@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#36602}
>
> Bug: webrtc:11340
> Change-Id: I7d2f476a7043edd03f44a4a3de31f13c3c946a8d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259776
> Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36626}

Bug: webrtc:11340
Change-Id: Ife22cff8f5fbf9b70dc24926b84caad82d2738b8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259778
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36628}
2022-04-22 16:01:28 +00:00
Florent Castelli
6bb1fd358b Move rate_statistics out of rtc_base_approved
Bug: webrtc:9838
Change-Id: Ia5a45291a403097c0527d50ced85c3881653fa37
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259306
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36627}
2022-04-22 15:39:48 +00:00
Erik Språng
fc5871cb98 Reland "Send first probe packet directly instead of enqueuing it."
This is a reland of commit 8088aad5ac0154d8fdc252de9e8ab4e0172d7da2

Patchset 1 is original CL, patchset 2 contains a fix to make behavior
exactly identical to original. It fixes a difference when the first
small probe packet comprises the entire probe.

Original change's description:
> Send first probe packet directly instead of enqueuing it.
>
> This avoids potentially creating needless containers in the packet
> queue and removes usage of the packet prio, allowing it to be moved in
> an upcoming CL.
>
> Bug: webrtc:11340
> Change-Id: Iddd9e7e4e73c97ab25a85e42bcc0094d61fd60d3
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259524
> Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36602}

Bug: webrtc:11340
Change-Id: I7d2f476a7043edd03f44a4a3de31f13c3c946a8d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259776
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36626}
2022-04-22 15:28:38 +00:00
Erik Språng
660a434307 Revert "Reland "Send first probe packet directly instead of enqueuing it.""
This reverts commit 1386fbca8b558f14336d9863c8a4e8f2654ab568.

Reason for revert: Now another downstream test flakes :(

Original change's description:
> Reland "Send first probe packet directly instead of enqueuing it."
>
> This is a reland of commit 8088aad5ac0154d8fdc252de9e8ab4e0172d7da2
>
> Original change's description:
> > Send first probe packet directly instead of enqueuing it.
> >
> > This avoids potentially creating needless containers in the packet
> > queue and removes usage of the packet prio, allowing it to be moved in
> > an upcoming CL.
> >
> > Bug: webrtc:11340
> > Change-Id: Iddd9e7e4e73c97ab25a85e42bcc0094d61fd60d3
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259524
> > Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
> > Commit-Queue: Erik Språng <sprang@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#36602}
>
> Bug: webrtc:11340
> Change-Id: I3e0db452961f7f5a8d00ea3283e92ec43da2f66a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259774
> Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36619}

Bug: webrtc:11340
Change-Id: I31b2c6636aca5debe8e4d71546b5a3b9eb746c9d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259862
Auto-Submit: Erik Språng <sprang@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36620}
2022-04-22 13:01:28 +00:00
Erik Språng
1386fbca8b Reland "Send first probe packet directly instead of enqueuing it."
This is a reland of commit 8088aad5ac0154d8fdc252de9e8ab4e0172d7da2

Original change's description:
> Send first probe packet directly instead of enqueuing it.
>
> This avoids potentially creating needless containers in the packet
> queue and removes usage of the packet prio, allowing it to be moved in
> an upcoming CL.
>
> Bug: webrtc:11340
> Change-Id: Iddd9e7e4e73c97ab25a85e42bcc0094d61fd60d3
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259524
> Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36602}

Bug: webrtc:11340
Change-Id: I3e0db452961f7f5a8d00ea3283e92ec43da2f66a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259774
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36619}
2022-04-22 12:23:59 +00:00
Florent Castelli
3629a5f0e4 Move histogram_percentile_counter out of rtc_base_approved
Bug: webrtc:9838
Change-Id: I90b3060871ab671e7949632fe6001421465b219a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258774
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36618}
2022-04-22 11:59:29 +00:00
Erik Språng
b844dd8465 Non-zero pacing debt should result in non-zero process time delta.
Bug: webrtc:11340
Change-Id: Ib5567ef03d324b44fd1c0f3f8265870acb710cc9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259764
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36616}
2022-04-22 11:09:01 +00:00
Sam Zackrisson
498078ce28 Remove deprecated webrtc::AudioProcessing::ResidualEchoDetector stats config
Replaced by injectable component, see discussion and PSA in attached bug.

Bug: webrtc:11539
Change-Id: I11ac4504e3d7e0d42b545ff92178674c709f586d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258680
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36612}
2022-04-22 08:37:19 +00:00
Florent Castelli
31764096a5 Move mod_ops out of rtc_base_approved
Bug: webrtc:9838
Change-Id: I9d974e027f114098d87da368fad0c040c072a893
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258771
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36608}
2022-04-21 16:34:04 +00:00
Florent Castelli
f4db351625 Move race_checker out of rtc_base_approved
Bug: webrtc:9838
Change-Id: If180abcca1ef598314de3aed70e4a6eb04f062d4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258770
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36607}
2022-04-21 14:40:06 +00:00
Niels Möller
c7b690272d Update modules/ to not use implicit conversion from scoped_refptr<T> to T*.
Bug: webrtc:13464
Change-Id: I3906e91906edbf80d558e5c367d6b9429497c021
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259762
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36606}
2022-04-21 14:23:24 +00:00
Erik Språng
d090952628 Revert "Send first probe packet directly instead of enqueuing it."
This reverts commit 8088aad5ac0154d8fdc252de9e8ab4e0172d7da2.

Reason for revert: Downstream test failure

Original change's description:
> Send first probe packet directly instead of enqueuing it.
>
> This avoids potentially creating needless containers in the packet
> queue and removes usage of the packet prio, allowing it to be moved in
> an upcoming CL.
>
> Bug: webrtc:11340
> Change-Id: Iddd9e7e4e73c97ab25a85e42bcc0094d61fd60d3
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259524
> Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36602}

Bug: webrtc:11340
Change-Id: Ib2a4bdad3ca82108e150feefb2680b880bc316e5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259763
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36605}
2022-04-21 12:52:34 +00:00
Florent Castelli
7f623b05c3 Move bit_buffer out of rtc_base_approved
Bug: webrtc:9838
Change-Id: Ia6e0f1c3017a968b22fdca512ef6adb37957d777
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258769
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36604}
2022-04-21 12:42:04 +00:00
Erik Språng
8088aad5ac Send first probe packet directly instead of enqueuing it.
This avoids potentially creating needless containers in the packet
queue and removes usage of the packet prio, allowing it to be moved in
an upcoming CL.

Bug: webrtc:11340
Change-Id: Iddd9e7e4e73c97ab25a85e42bcc0094d61fd60d3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259524
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36602}
2022-04-21 10:34:04 +00:00
Florent Castelli
1cb5383d16 Move swap_queue out of rtc_base_approved
Bug: webrtc:9838
Change-Id: I7add82b13bf7411e5b1531a26ef2b87a4bdb9ab4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258768
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36601}
2022-04-21 09:50:24 +00:00
Jeroen Dhollander
f8775cf269 Fix drawing of local mouse in CRD on ChromeOS
ChromeOS will use DPI (see crrev.com/c/3322917), but the
DesktopAndCursorComposer assumed pixels were used.

Test: Manually ensured it works
Bug: b/208370410
Change-Id: I5fee50d408fd204273946009e6653d4e60d1e458
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259502
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Jeroen Dhollander <jeroendh@google.com>
Cr-Commit-Position: refs/heads/main@{#36597}
2022-04-21 07:53:44 +00:00
Erik Språng
ed21d96e13 Add circuit-breaker in PacingController.
Some cases have been observer where the pacing controlled might have
been stuck in a send-loop. This CL adds a circuit breaker that attempts
to break that, and provide some logging for debugging.

Bug: webrtc:11340
Change-Id: Ia3d3a44c2d897260ef23160ea7122c0d0f9baa79
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259521
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36592}
2022-04-20 16:57:44 +00:00
Jakob Ivarsson
098c4ea2ca Add generated comfort noise counter.
Currently only implemented for codec internal CNG (Opus).

Bug: webrtc:13322
Change-Id: I00622f2967f066dba64a792e26081038ae0cb0d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259200
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36590}
2022-04-20 14:25:03 +00:00
Jianhui Dai
af0a6b34e3 Ensure FIFO order for delayed tasks in ProcessThreadImpl
TaskQueue posts delayed task in milliseconds precision. If delayed tasks
have the same wakeup time in queue, we should ensure they are waked up
in FIFO order. E.g., call `PostDelayedTask(task-i, 0)` in a loop, we
expect `task-i` is waked up as enqueue order.

Co-Author: jiahe.zhang@intel.com
Bug: webrtc:13761
Change-Id: I3bc87c2d251f8dffee868a012e828fd42e783afc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251960
Reviewed-by: Chen Xing <chxg@google.com>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36582}
2022-04-20 08:57:00 +00:00
Björn Terelius
0c68a7aaa7 Use WebRTC's Java VM initialization in tests.
WebRTC should not depend on chromium's //base.

Bug: webrtc:13662
Change-Id: Ie660aa0f2477cc747830bba611aa23ed5e732385
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256364
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36581}
2022-04-20 08:41:48 +00:00
Florent Castelli
b1dc4e43f0 Move timestamp_aligner out of rtc_base_approved
Bug: webrtc:9838
Change-Id: I4ea34fd161e321f6506f300abfd27c4be6d785d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258766
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36580}
2022-04-20 08:25:30 +00:00
Florent Castelli
aa6d05d268 Move location out of rtc_base_approved
Bug: webrtc:9838
Change-Id: I3510f3d01df532cb228a6cc14be830f6ab81a8e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258764
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36576}
2022-04-19 21:57:48 +00:00
Florent Castelli
6b6085937e Move one_time_event out of rtc_base_approved
Bug: webrtc:9838
Change-Id: If85ce079e6a437337f1f780fcee0147b4e95f9cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258765
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36575}
2022-04-19 20:09:21 +00:00
Florent Castelli
71337f387e Move random out of rtc_base_approved
Bug: webrtc:9838
Change-Id: I64a5ef18c19d446139354d04aa6cb2a76d18aad0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258762
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36572}
2022-04-19 14:00:47 +00:00
Florent Castelli
45a0599978 Remove platform_thread from //rtc_base:rtc_base_approved public_deps
While the target has a restricted visibility, since it was in rtc_base_approved
public deps, a lot of targets were able to bypass the visibility check.
So we remove the visibility restrictions and use the dependency explicitely
everywhere instead.

Bug: webrtc:8603
Change-Id: I94a03fdf7f94c54ab72081a58dd648e2cca73d17
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258944
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36566}
2022-04-18 23:12:52 +00:00
Ali Tofigh
2ab914c6ab Adopt absl::string_view in rtc_base/ (straightforward cases)
Bug: webrtc:13579
Change-Id: I240db6285abb22652242bc0b2ebe9844ec4a45f0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258723
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36561}
2022-04-17 12:11:56 +00:00
Sunggook Chue
8a411c4e2c Disallow set_allow_wgc_capturer_fallback call on Win10.
There is a crash report from the Windows OS API
where it repro only win10, not a Win11.

Unfortunately, Microsoft can't access the dump file or
hasn't repro internally so we decided to disable the WGC
fallback use in the OS other than Win11 now.
Once the change (support WGC fallback) reaches to Microsoft Edge
and it produce crash report,  Edge team will take the
dump file to the Windows OS API owner for Win10 level fix (or
bring the Win11 fix to Win10).

Bug: chromium:1312937
Change-Id: I5335e2c57076d4fab08e9c74ade599259cff10d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258821
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#36558}
2022-04-15 23:41:16 +00:00
Salman Malik
53d7260552 wayland: Leverage ScreenCapturePortalInterface in helpers
XDG desktop portal utils implicitly rely on few portal interfaces.
This change makes those interfaces explicit.

Bug: chromium:1291247
Change-Id: I3c300f33d04bfa8857ac9f1f9d634dbfc077e591
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258720
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Salman Malik <salmanmalik@google.com>
Cr-Commit-Position: refs/heads/main@{#36557}
2022-04-15 22:08:33 +00:00
Austin Orion
740d704079 Update IsMonitorValid to return false when no displays are found.
Versions of Windows before Win11 will crash when `CreateForMonitor` is
called, but the system has no attached displays. This can be avoided by
adding a check to ensure at least one display is found before we return
true in `IsMonitorValid`. Previously we would early return `true` if the
"monitor" we were checking was the `kFullDesktopScreenId`.

Bug: chromium:1316478
Change-Id: I2562fe3834db574cf3706ee1d604472ac03f9ff3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258920
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Austin Orion <auorion@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#36555}
2022-04-14 21:46:29 +00:00
Danil Chapovalov
836d58408d Delete deprecated RTPSender constructor
Bug: webrtc:11340
Change-Id: Id7ade3b15510e32b8bf4653b0e1652c275b58e88
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258789
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36549}
2022-04-14 09:00:19 +00:00
Henrik Boström
a768f5256a [SlackedPacer] Add experiment arm for high precision if long queue time.
This CL adds flag "max_queue_time", e.g:
WebRTC-SlackedTaskQueuePacedSender/Enabled:true,max_queue_time:75ms

If the PacingController's ExpectedQueueTime() is greater than or equal
to "max_queue_time" then we will use high precision delayed tasks to
ensure a smoother (less bursty) pacing of packets.

This should only get triggered in ultra high definition scenarios or
temporarily during key frames being sent. I have confirmed manually that
with the flag set to 75 ms I get low precision when not sending key
frames and temporarily get high precision for 5-15 delayed tasks during
the sending of a key frame.

Bug: webrtc:13957
Change-Id: I3c8aeba5fe18812ed0187610cd3f92a375bc6f18
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258623
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36538}
2022-04-13 11:50:38 +00:00
Sam Zackrisson
4d12174ca5 AEC3: Add metrics for stereo detection code
Adds two metrics for stereo detection:
- An enum indicating whether the last 10 seconds contained persistent stereo content or not, logged every 10 seconds.
- An enum indicating whether any persistent stereo content at all has been detected, logged at the end of the AEC lifetime.

These metrics allow us to assess:
- What proportion of all audio is treated as stereo.
- What proportion of sessions encounter any significant stereo content. If this is unexpectedly high, the stereo detection code may need fine tuning.

Metrics are only logged for component lifetimes exceeding 5 seconds: This is to avoid brief AEC lifetimes due to internal resets etc within APM.

Corresponding Chrome CL for XML histogram declarations:
https://crrev.com/c/3579317

Bug: chromium:1295710
Change-Id: I93e2bf74588cf4bb2a8922dbfad079bccab01456
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258760
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36537}
2022-04-13 10:16:48 +00:00
Salman Malik
49a106c8e6 screencast_portal: Add Unknown status for portal RequestResponse
Remote desktop wrapper needs to create a barrier on when the screencast
portal is done (either succeeded or failed). This change adds an initial
enum to differentiate it from other values. CL also generalizes the
helper `PortalFailed` to `OnPortalDone` so as to account for both
failure/success scenarios.

Bug: chromium:1291247
Change-Id: I188f72533e75a88c9b30ce2bb093dae548cef7b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258540
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Salman Malik <salmanmalik@google.com>
Cr-Commit-Position: refs/heads/main@{#36526}
2022-04-11 22:34:47 +00:00
Danil Chapovalov
4d8ef1b151 Delete deprecated functions in RtpPacketHistory
Bug: webrtc:13757
Change-Id: I9d63ab4927ef2a5b8a0771b19c306861035b94be
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258683
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36524}
2022-04-11 13:57:16 +00:00
Lionel Koenig
39ad2d868c AudioBuffer: Remove deprecated constructor
Removes webrtc::AudioBuffer deprecated constructor.

Bug: webrtc:5298
Change-Id: If8debe990c0358e58fbdc59bfdfb7e4af1f38f00
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/257305
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Lionel Koenig <lionelk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36518}
2022-04-11 10:06:07 +00:00
Austin Orion
2e1ac58631 Query the system for WGC support instead of relying on version checks.
The Windows 2019 Enterprise SKU is based on RS5 but is missing support
for WGC. This changes adds a function IsWgcSupported which will check
that the API is actually present, which should be more robust than just
performing a version check.

Bug: webrtc:13932
Change-Id: Ib6a2278f316b9b86671df77fd37468c79564d655
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258163
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Austin Orion <auorion@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#36506}
2022-04-08 18:16:38 +00:00
Sam Zackrisson
1397c4bfd9 AEC3: Handle temporary stereo content more robustly
During temporary stereo content when the AEC3 uses a mono reference signal, the signal is downmixed by averaging instead of using only the left channel.

Additionally, temporary stereo content is flagged as an echo path change.

Tested: Modified local build: Verified stereo mode entered / left in accordance with hysteresis and timeout thresholds. Verified temporary stereo detected during temporary stereo playout. Made an aecdump and inspected content.
Bug: chromium:1295710
Change-Id: I6bd53e615dfb3ec39bc1c73275b7d6d599ac7c57
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258481
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36504}
2022-04-08 17:03:34 +00:00