Commit Graph

36455 Commits

Author SHA1 Message Date
363e812f2d Remove the VideoReceiveStream2::rtp() accessor.
Instead offer accessors for the specific config values from the struct
that are needed at different times. The remote_ssrc and rtx_ssrc
properties maybe accessed from any thread, other properties have
stricter requiremets.

Bug: webrtc:11993
Change-Id: I3ff8527b13452c773fae1b2574f1e3fd2583b481
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261319
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36823}
2022-05-09 20:25:29 +00:00
7a15ff3f14 Add a transport_cc() getter and remove rtp_config().
Bug: webrtc:11993
Change-Id: Ie435a702c91b4d3827e528083f474e378fc75cc5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261318
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36822}
2022-05-09 20:21:14 +00:00
cc001e2d2a Roll chromium_revision 4e4f0e90f9..31252298ae (1000962:1001089)
Change log: 4e4f0e90f9..31252298ae
Full diff: 4e4f0e90f9..31252298ae

Changed dependencies
* src/base: c9a95d8018..814a388195
* src/build: 5478108ef9..d0853d6aba
* src/buildtools/third_party/libc++abi/trunk: fb82ddb71c..ac1834f0f9
* src/ios: 833dc94691..9b57c9bee3
* src/testing: ce3f74eb9a..fda484aa24
* src/third_party: 5bc565e70d..b7a54c707c
* src/third_party/androidx: Z0dpz6ioZwh1ZUWtGx7SsGHJMmDwTZNAqQPu2b9hxmgC..48HadkCKkokYMFcxC-_3ZrScczT4OtasjYbvpfV08W8C
* src/third_party/perfetto: dd233aed4e..b8a4d048e6
* src/third_party/turbine: zB1ls771w8S0URcjvMWxOHJ33pmUKq5Zr8zkbIMfvcsC..FJ-IOPRGQsHUZwVeYmVw_idRk5mUUP6_Uj2i6mKQlEMC
* src/tools: 81f0ee7fc8..d4370e26d0
DEPS diff: 4e4f0e90f9..31252298ae/DEPS

No update to Clang.

BUG=None

Change-Id: Id799330e92ac7d1aba019e9f20858055c6cacd08
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261763
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@{#36821}
2022-05-09 18:53:59 +00:00
6be3e788f5 Add getter for rtp header extensions for receiver classes.
This is to avoid accessing the array via the config struct.
Moving forward we might want to consider using the RtpHeaderExtensionMap
instead of a std::vector of RtpExtension.

Bug: webrtc:11993
Change-Id: I8469dbbd9bb95a69f87b5912bfc4bf8b8f603beb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261317
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36820}
2022-05-09 16:59:19 +00:00
853a407273 Revert "Migrate RemoteNtpTimeEstimator to more precise time representations"
This reverts commit a154a15c978a0eae133d957dcad3581fd5f98c7b.

Reason for revert: breaks downstream tests

Original change's description:
> Migrate RemoteNtpTimeEstimator to more precise time representations
>
> Bug: webrtc:13757
> Change-Id: I880ab3cc6e4f72da587ae42ddca051332907c07f
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261311
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36817}

Bug: webrtc:13757
Change-Id: Id21edb1378e6e944b24955396250ddc33fa70663
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261722
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36819}
2022-05-09 15:48:29 +00:00
cb7c7366d0 Separate reading remote_ssrc from using the rtp_config() getter.
`remote_ssrc` can be considered const while some other state represented
by rtp_config() can not and also is tied to a specific thread.
Separating access to these variables, makes moving things around easier.

Bug: webrtc:11993
Change-Id: I70aa000daab6174a401e01dca163213174e8f284
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261316
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36818}
2022-05-09 14:55:00 +00:00
a154a15c97 Migrate RemoteNtpTimeEstimator to more precise time representations
Bug: webrtc:13757
Change-Id: I880ab3cc6e4f72da587ae42ddca051332907c07f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261311
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36817}
2022-05-09 14:32:19 +00:00
14d01508be Move VP8 SupportsScalabilityMode utility to its own build target
Intended to let Vp8TemporalLayersFactory (an api/ target) reuse
this function, without depending on the codec implementation, and
without introducing a dependency cycle with the webrtc_vp8 build
target.

Bug: webrtc:11607
Change-Id: I671422e994e1005da8c7d768e8dd8ff795553e51
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261308
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36816}
2022-05-09 13:25:25 +00:00
dd52f625ea Roll chromium_revision ebe8237c89..4e4f0e90f9 (1000623:1000962)
Change log: ebe8237c89..4e4f0e90f9
Full diff: ebe8237c89..4e4f0e90f9

Changed dependencies
* src/base: 9f52d32434..c9a95d8018
* src/build: 3606e28a7f..5478108ef9
* src/buildtools/linux64: git_revision:53ef169800760fdc09f0773bf380fe99eaeab339..git_revision:bf4e17dc67b2a2007475415e3f9e1d1cf32f6e35
* src/buildtools/mac: git_revision:53ef169800760fdc09f0773bf380fe99eaeab339..git_revision:bf4e17dc67b2a2007475415e3f9e1d1cf32f6e35
* src/buildtools/win: git_revision:53ef169800760fdc09f0773bf380fe99eaeab339..git_revision:bf4e17dc67b2a2007475415e3f9e1d1cf32f6e35
* src/ios: 1eefcbc806..833dc94691
* src/testing: 3f9bf49584..ce3f74eb9a
* src/third_party: 4c74bc30e6..5bc565e70d
* src/third_party/androidx: XbPCfKKY9DjXFa-jD5pUowbW3cSXD9-8PDJ_f_MbbEoC..Z0dpz6ioZwh1ZUWtGx7SsGHJMmDwTZNAqQPu2b9hxmgC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/778ecbcb2a..0f76f22a35
* src/third_party/perfetto: a82f6c1e87..dd233aed4e
* src/tools: e0e931ea61..81f0ee7fc8
DEPS diff: ebe8237c89..4e4f0e90f9/DEPS

No update to Clang.

BUG=None

Change-Id: Ic95b044867f95cf69ef50cf6298101a094ff2011
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261642
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@{#36815}
2022-05-09 12:51:12 +00:00
ea1e6f44f8 Delete rtc_base/format_macros.h
It defined RTC_PRIuS, which was needed for compatibility with MSVC
prior to version 2015.

Bug: webrtc:6424
Change-Id: I5668d473376201cad3e8da65927c967fc397804b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261314
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@{#36814}
2022-05-09 12:03:21 +00:00
cc50b04c02 Remove config() getter from AudioReceiveStream().
This reduces the surface of externally accessible state that belongs
to the class, which makes it easier to control what state belongs to
what thread. In this CL enforcing remote_ssrc() to be conceptually const
and sync_group to conceptually belong to the packet delivery thread.

Bug: webrtc:11993
Change-Id: I7de9366dc0c2bf451b5c58595c2d073b4016f2e7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261450
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36813}
2022-05-09 11:21:44 +00:00
a406272bc4 Migrate critical tests from FrameBufferProxy to VideoReceiveStream2Test
* Paramaterize VideoReceiveStream2Test to have variations that run with
  and without a metronome.
* Migrate over tests to ensure frame timing is used.

Bug: webrtc:14003
Change-Id: Icccc2f0d548aaa64c50e010056e1e651174e02fa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260942
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36812}
2022-05-09 10:33:47 +00:00
c6c02efb56 Revert "Don't create channel_manager when media_engine is not set"
This reverts commit c48ad732d6eb69f14dd6d44f801d62997cef2c2f.

Reason for revert: breaks downstream project

Original change's description:
> Don't create channel_manager when media_engine is not set
>
> Also remove a bunch of functions in ChannelManager that were just
> forwarding to MediaEngineInterface.
>
> Bug: webrtc:13931
> Change-Id: Ia38591fd22c665cace16d032f5c1e384e413cded
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261304
> Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36801}

Bug: webrtc:13931
Change-Id: I1e260a2489547bd9483b50e043c28d2805b0fa5a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261660
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Owners-Override: Artem Titov <titovartem@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36811}
2022-05-09 09:52:34 +00:00
47a9e6e94e Fix an msan issue in G722 decoder
If feeding an odd length payload to the G722 stereo decoder, the codec
would end up reading from uninitialized memory.

Bug: chromium:1302494
Change-Id: I2222377530fee31555e17a0c60ecf33261364b71
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261303
Auto-Submit: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Minyue Li <minyue@google.com>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36810}
2022-05-09 09:46:34 +00:00
77d987a724 Fix crash when resizing the display
This crash happened when:
   * The cursor was located in the corner
   * The screen was resized so that the cursor position is outside of the frame.

This caused us to add out-of-bound coordinates to the frame's updated_region, which caused crashes further down the pipeline.

Bug: chromium:1323241
Test: new unittest
Test: manually reproduced crash
Change-Id: Ie71db58c8a347f00af8a3803fcd55cdcad6eafac
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261263
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Jeroen Dhollander <jeroendh@google.com>
Cr-Commit-Position: refs/heads/main@{#36809}
2022-05-09 09:15:24 +00:00
42a829e623 Delete implicit conversion from rtc::scoped_refptr<T> to T*
Bug: webrtc:13464
Change-Id: I24c742c11a4ea5c4e307e170ee4fbd4e81cf1814
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260325
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36808}
2022-05-09 09:06:44 +00:00
58d774ba78 Revert "Run iOS tests on multiple shards."
This reverts commit 5a71f1585875a9ef80b79d9f247d1e21319a17d6.

Reason for revert: Turns out all the tests are running on all the shards.

Original change's description:
> Run iOS tests on multiple shards.
>
> Bug: b/230824012
> Change-Id: I6d27a8ed2c07eb76972b3bbe3679f6346ba58e06
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261306
> Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
> Commit-Queue: Jeremy Leconte <jleconte@google.com>
> Cr-Commit-Position: refs/heads/main@{#36796}

Bug: b/230824012
Change-Id: Id353501f07156ccc109abf94e6d2a22014a5e767
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261562
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36807}
2022-05-09 07:40:54 +00:00
f2fe43b655 Don't round the computed time deltas to nearest ms.
Resolving https://bugs.chromium.org/p/webrtc/issues/detail?id=14023

At the moment, in DelayBasedBwe the time deltas are rounded to the
nearest millisecond. This change makes sure the numbers are passed as
doubles as expected by the TrendlineEstimator.

Change-Id: I68882547fb19af0e67e7b5d8de4159083a54d7eb
Bug: webrtc:14023
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261320
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36806}
2022-05-09 07:02:46 +00:00
624340b32f Add test for StringFormat and string_view
Bug: none
Change-Id: Ibc366dc30f0fc8ef098e66b8ffd982c0046db6d2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261449
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36805}
2022-05-08 09:13:53 +00:00
89e017dd72 Update WebRTC code version (2022-05-07T04:01:40).
Bug: None
Change-Id: I5332e8a36c357feedcfe2aa7630f85429e43ed18
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261442
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@{#36804}
2022-05-07 06:30:52 +00:00
bbeea47079 Roll chromium_revision 1540b3391d..ebe8237c89 (1000453:1000623)
Change log: 1540b3391d..ebe8237c89
Full diff: 1540b3391d..ebe8237c89

Changed dependencies
* src/base: 74bbf349e1..9f52d32434
* src/build: 129f40a5db..3606e28a7f
* src/ios: 27d8f3ab25..1eefcbc806
* src/testing: 1a91b3f90b..3f9bf49584
* src/third_party: 28277a11e5..4c74bc30e6
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/6686352e49..735a86834c
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/7977bb492a..7e338ea0a3
* src/third_party/perfetto: 7f0cb753aa..a82f6c1e87
* src/tools: 3605a93788..e0e931ea61
DEPS diff: 1540b3391d..ebe8237c89/DEPS

No update to Clang.

BUG=None

Change-Id: I0e4726282be0beb3a9d087f85ae8c400869f404a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261421
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@{#36803}
2022-05-07 00:56:32 +00:00
c5b8c8f36b Fix failing WGC tests on Win10
Several tests starting failing when run on trybots on Win10. This CL
fixes several issues that were uncovered.

Issue 1:
Capture failed to start because `get_Size` returned {0, 0}. This is a
known issue in the WGC API that occurs when there are multiple user
sessions on the same machine.
Solution:
Add a `GetSize` method to the `WgcCaptureSource` interface so we can
fallback to other methods if `get_Size` fails.

Issue 2:
The screen capture tests assume there will be displays attached and
fail if there aren't.
Solution:
Always run `IsWgcSupported` for the appropriate capture type.

Issue 3:
ASAN container-overflow in `GetTestWindowIdFromSourceList`
Solution:
Check the validity of the iterator before dereferencing.

Issue 4:
Occasionally, the call to `GetMessage` in the `CloseWindowMidCapture`
test would hang because there were no messages in the queue.
Solution:
Use `PeekMessage` instead which will return if there are no messages.

Bug: webrtc:14002
Change-Id: I69b2f765db87d34a41d6a1796cd5a81f4029be33
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260202
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Austin Orion <auorion@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#36802}
2022-05-06 23:46:42 +00:00
c48ad732d6 Don't create channel_manager when media_engine is not set
Also remove a bunch of functions in ChannelManager that were just
forwarding to MediaEngineInterface.

Bug: webrtc:13931
Change-Id: Ia38591fd22c665cace16d032f5c1e384e413cded
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261304
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36801}
2022-05-06 22:48:22 +00:00
3387a7fdb8 Roll chromium_revision de59fcd05d..1540b3391d (1000326:1000453)
Change log: de59fcd05d..1540b3391d
Full diff: de59fcd05d..1540b3391d

Changed dependencies
* src/base: a925d69575..74bbf349e1
* src/ios: 561848d5da..27d8f3ab25
* src/testing: f4978188ef..1a91b3f90b
* src/third_party: aed1adbd66..28277a11e5
* src/third_party/androidx: 5LpwRnpUYpJRI7AwY-7-zUPDxVKRadX09h5M0UqHRgcC..XbPCfKKY9DjXFa-jD5pUowbW3cSXD9-8PDJ_f_MbbEoC
* src/third_party/perfetto: 4df14f2d7e..7f0cb753aa
* src/tools: 42d9dbfe1a..3605a93788
DEPS diff: de59fcd05d..1540b3391d/DEPS

Clang version changed llvmorg-15-init-9074-gc62b014d:llvmorg-15-init-9576-g75f9e83a
Details: de59fcd05d..1540b3391d/tools/clang/scripts/update.py

BUG=None

Change-Id: I448723a777945b34539b0370670916c29a02a27e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261384
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@{#36800}
2022-05-06 19:56:52 +00:00
8f04c7cc5a sctp: Handle concurrent data channel reset in transport
The state machine for handling resets couldn't handle resets
happening from both sides at the same time.

Bug: webrtc:13994
Change-Id: I2c268e54f4c5c9858913faef91ff00f6af956e99
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261305
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36799}
2022-05-06 14:38:17 +00:00
489e9bd49c Roll chromium_revision 5727c6ea30..de59fcd05d (1000211:1000326)
Change log: 5727c6ea30..de59fcd05d
Full diff: 5727c6ea30..de59fcd05d

Changed dependencies
* src/base: 2e965a3958..a925d69575
* src/build: a1147fb865..129f40a5db
* src/ios: a3cc6c672d..561848d5da
* src/testing: c14c7c14ac..f4978188ef
* src/third_party: 58db3b7560..aed1adbd66
* src/third_party/androidx: BD7Jn9dUNGfL-fZrWigOxcOUjvTM0VYHEwPUf9Y0LOsC..5LpwRnpUYpJRI7AwY-7-zUPDxVKRadX09h5M0UqHRgcC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/7979ffe022..778ecbcb2a
* src/third_party/depot_tools: b9dca865af..6a1494e5d7
* src/tools: 33c512aee9..42d9dbfe1a
DEPS diff: 5727c6ea30..de59fcd05d/DEPS

No update to Clang.

BUG=None

Change-Id: I04f7aa73139ac1d990033d53564a80718e8690fb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261401
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@{#36798}
2022-05-06 12:53:08 +00:00
8c72cc1634 dcsctp: Handle in-progress stream sequence numbers
When an outgoing stream reset is sent, with sequence number A, and the
receiver can't perform it immediately, it will return IN_PROGRESS with
response sequence number A.

This is then retried with sequence number A+1, and the peer would then
possibly respond PERFORMED with response sequence number A+1.

Before this CL, whenever a request was sent that didn't immediately
succeed, it wouldn't increment its expected response sequence number.
So in the retry above, the socket would still expect the response
sequence number to stay at A, not at A+1.

Bug: webrtc:13994
Change-Id: I6f36d45229a7fb312e97ad15826e0377f4efb64f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261310
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36797}
2022-05-06 12:20:42 +00:00
5a71f15858 Run iOS tests on multiple shards.
Bug: b/230824012
Change-Id: I6d27a8ed2c07eb76972b3bbe3679f6346ba58e06
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261306
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36796}
2022-05-06 09:55:41 +00:00
2445602bdf Revert "Migrate iOS simulator tests to Mac-12 machines."
This reverts commit 3466511ee1bb29f34851e497d7734f47cd078918.

Reason for revert: Pending time can be very long when the test are running at the same time as this builder:
https://luci-milo.appspot.com/p/chromium/builders/ci/ios15-beta-simulator

Original change's description:
> Migrate iOS simulator tests to Mac-12 machines.
>
> Bug: b/227442116
> Change-Id: I7b5157a735596616f9785391c40b8f26974c222d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260985
> Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
> Commit-Queue: Jeremy Leconte <jleconte@google.com>
> Cr-Commit-Position: refs/heads/main@{#36751}

Bug: b/227442116
Change-Id: I87f27b36db7aa4c6d9d6982a5e86d56648a709e8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261307
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36795}
2022-05-06 09:38:34 +00:00
536f587b98 Revert "Calculate video stream max bitrate using expression."
This reverts commit 45361f78ed18c350b3edcaef19ae4c7cf167e95b.

Reason for revert: Perf alerts galore.

Original change's description:
> Calculate video stream max bitrate using expression.
>
> This replaces the ealier table-based caps.
> Apart from the VGA cap (now 1600kbps instead of 1700kbps), or if using
> "in between" resolutions, the caps are unchanged - but now cover high
> resolutions better.
>
> Bug: webrtc:14017
> Change-Id: I8649b528495d6c917e38ea8cb1a272df6c464c03
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260940
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36776}

Bug: webrtc:14017
Change-Id: I18ebc81c6054713c58d49bd227e37090686958c9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261309
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Auto-Submit: Erik Språng <sprang@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36794}
2022-05-06 09:37:32 +00:00
7f969c0eff Ensure that an RTP audio level of 127 represents digital silence.
To quote rfc6464:
  The audio level for digital silence -- for a muted audio source, for
  example -- MUST be represented as 127 (-127 dBov), regardless of the
  dynamic range of the encoded audio format.

The behavior in webrtc is correct that digital silence is represented
with 127, but it is also possible to get a value of 127 for not quite
digitally silent audio buffer (as in, not strictly 0s).

Bug: webrtc:14029
Change-Id: I7ff8698a7e4d5c0960c667fd1cc961838e269456
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261244
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36793}
2022-05-06 07:56:39 +00:00
3b0481389f Update SupportsScalabilityMode functions to use enum ScalabilityMode.
And add missing values to ScalabilityMode.

Bug: webrtc:11607
Change-Id: I892ac35a3528db11b0901d26902699ecfe8f49a4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260982
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36792}
2022-05-06 07:29:20 +00:00
09a92ff3de Update WebRTC code version (2022-05-06T04:02:20).
Bug: None
Change-Id: I78653dd5b5c88eb310635e315c08878f5c693a3d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261380
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@{#36791}
2022-05-06 05:42:30 +00:00
cf7beafe3b Roll chromium_revision 14466a6cea..5727c6ea30 (1000108:1000211)
Change log: 14466a6cea..5727c6ea30
Full diff: 14466a6cea..5727c6ea30

Changed dependencies
* src/base: 716aeb0bb1..2e965a3958
* src/build: 244112fb6b..a1147fb865
* src/buildtools/third_party/libc++abi/trunk: ce96725bdd..fb82ddb71c
* src/ios: 8f039a1cf7..a3cc6c672d
* src/testing: ceb84d9af4..c14c7c14ac
* src/third_party: bf08fd274f..58db3b7560
* src/third_party/androidx: zp3RnPK3_VmfYGulKhpKF2BDqASl8O2ytuTOj5AaRWIC..BD7Jn9dUNGfL-fZrWigOxcOUjvTM0VYHEwPUf9Y0LOsC
* src/tools: fbc926c8fc..33c512aee9
DEPS diff: 14466a6cea..5727c6ea30/DEPS

No update to Clang.

BUG=None

Change-Id: Idd67e62a2813e0067febab2c47aecb9c0611b2ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261343
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@{#36790}
2022-05-06 02:42:30 +00:00
482e7ddc5c Roll chromium_revision 798c112e6f..14466a6cea (999977:1000108)
Change log: 798c112e6f..14466a6cea
Full diff: 798c112e6f..14466a6cea

Changed dependencies
* src/base: 35a1dcf300..716aeb0bb1
* src/build: d59764ea23..244112fb6b
* src/ios: 39c5797451..8f039a1cf7
* src/testing: 4ce8742a75..ceb84d9af4
* src/third_party: a07a20bc66..bf08fd274f
* src/third_party/androidx: nWvCs11JIQtG7q6R1Vb1ySaYovfUvDCJnkXNXEsu9-0C..zp3RnPK3_VmfYGulKhpKF2BDqASl8O2ytuTOj5AaRWIC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/81c0ef0a06..7979ffe022
* src/third_party/perfetto: 2308bab3ae..4df14f2d7e
* src/tools: 13aa4beece..fbc926c8fc
DEPS diff: 798c112e6f..14466a6cea/DEPS

No update to Clang.

BUG=None

Change-Id: Ib8d9175fc466766d9cb68a1a7cf31ea28002a0f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261361
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@{#36789}
2022-05-05 23:00:48 +00:00
762d0d0d4c Roll chromium_revision 008a85e4d5..798c112e6f (999873:999977)
Change log: 008a85e4d5..798c112e6f
Full diff: 008a85e4d5..798c112e6f

Changed dependencies
* src/base: cacad6ddfb..35a1dcf300
* src/build: 646c741add..d59764ea23
* src/ios: f9f2cdf80e..39c5797451
* src/testing: fe2c48dd06..4ce8742a75
* src/third_party: ff101bab45..a07a20bc66
* src/third_party/perfetto: 56b37e5983..2308bab3ae
* src/tools: d2061add29..13aa4beece
DEPS diff: 008a85e4d5..798c112e6f/DEPS

No update to Clang.

BUG=None

Change-Id: I2c4cd6d9232d2fa3778e411454b844a2681ae624
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261360
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@{#36788}
2022-05-05 18:51:38 +00:00
6d0d844d1f Add CFI-ICALL to avoid crash in PipeWire functions
We already use RTC_NO_SANITIZE("cfi-icall") for most of the code and
it looks this one can be triggered recently with pw_loop_signal_event()
call.

Bug: webrtc:13659
Change-Id: I4dbb88f32de861e05be18254640db90b0f58c5e5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261300
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#36787}
2022-05-05 18:15:08 +00:00
662d7f11d5 Fixes to support building in -std=c++20 mode.
* Structs with user-declared constructors are no longer considered
  aggregates, so remove the declarations when possible
* Types of both arguments to "==" must match to avoid "ambiguous
  function call" warning
* Various types of math involving enums are deprecated, so replace with
  constexprs where necessary
* ABSL_CONST_INIT must be used on definition as well as declaration
* volatile memory may no longer be read from and written to by the same
  operator, so replace e.g. "n++" with "n = n + 1"
* Replace an outdated check for no_unique_address support with
  __has_cpp_attribute
* std::result_of(f(x)) has been removed, replace with
  std::invoke_result(f, x)

Bug: chromium:1284275
Change-Id: I77b366ab1da7eb2c1e4c825b2714417c31ee5903
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261221
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Tomas Gunnarsson <tommi@google.com>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36786}
2022-05-05 17:15:58 +00:00
95897aea2f Run peerconnection_unittests on multiple shards.
The shards were removed with https://webrtc-review.googlesource.com/c/src/+/261262 as an experiment.

It turns out the new test target slow_peer_connection_unittests doesn't take much time compared to peerconnection_unittests.
slow_peer_connection_unittests: 7min
peerconnection_unittests: 35min
https://chromium-swarm.appspot.com/tasklist?f=parent_task_id-tag%3A5aad344b2285be11&st=1651756987488

Bug: webrtc:14025
Change-Id: Iaaf2b476ea6fdc419c5b14beb8040c5a0d973952
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261264
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36785}
2022-05-05 15:10:29 +00:00
bbf5737706 Roll chromium_revision 7e42d4ed1d..008a85e4d5 (999761:999873)
Change log: 7e42d4ed1d..008a85e4d5
Full diff: 7e42d4ed1d..008a85e4d5

Changed dependencies
* src/base: ab1ba45f82..cacad6ddfb
* src/build: 0c83e78c82..646c741add
* src/buildtools/third_party/libunwind/trunk: f1108b6ba3..3d54d41c27
* src/ios: 8cb890dd90..f9f2cdf80e
* src/testing: 2b0d8033e6..fe2c48dd06
* src/third_party: b4f790e0d0..ff101bab45
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/58f3286ec2..81c0ef0a06
* src/third_party/perfetto: 4951933ec6..56b37e5983
* src/tools: 2245c4814d..d2061add29
DEPS diff: 7e42d4ed1d..008a85e4d5/DEPS

No update to Clang.

BUG=None

Change-Id: Ieb7032fe58faccaad9e4b572cee3330ed2772ebd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261281
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@{#36784}
2022-05-05 14:57:28 +00:00
7bd3bc105d Revert "dcsctp: Reset send queue when recreating TCB"
This reverts commit 3180a5ad0663900a39adf4b9974052c356c835fe.

Reason for revert: Speculative revert due to failures in downstream tests.

Original change's description:
> dcsctp: Reset send queue when recreating TCB
>
> This is an issue found in fuzzer, and doesn't really happen in WebRTC
> as it never closes the connection and reconnects.
>
> The issue is that the send queue outlives any connection since you're
> allowed to send messages (well, enqueue them) before the association is
> fully connected. So the send queue is always present but the TCB
> (information about the connection) is torn down when the connection is
> closed for example. And the TCB holds the Stream Reset handler, which is
> responsible for e.g. keeping track of stream reset sequence numbers and
> such - which is tied to the connection.
>
> So to ensure that the Stream Reset Handler is in charge of deciding
> if a stream reset is taking place, make sure that the send queue is in
> a known good state when the Stream Reset handler is created.
>
> Bug: webrtc:13994, chromium:1320194
> Change-Id: I940e4690ac9237ac99dd69a9ffc060cdac61711d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261260
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Victor Boivie <boivie@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36779}

Bug: webrtc:13994, chromium:1320194
Change-Id: I89bb9cae60adc53902c1304e79047d18e72594a5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261302
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: 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>
Reviewed-by: Victor Boivie <boivie@google.com>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36783}
2022-05-05 14:49:18 +00:00
f8f7b70050 Create a "slow peerconnection unittests" target
This CL moves all tests that take more than 5 seconds into the new target.

Bug: webrtc:14025
Change-Id: I760d1a270b399b581f41606647740466f6b87e7c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261262
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36782}
2022-05-05 14:40:38 +00:00
8615bf0582 Move FrameBuffer3 to api/
The webrtc::VideoStreamDecoderInterface was basically created as a public version of FrameBuffer2, but to hide the complexity of FrameBuffer2 it was also combined with decoding so that the public API could be reasonably simple to use. FrameBuffer3 has a simple API with a clear purpose, so its API can be exposed directly.

Bug: webrtc:14026
Change-Id: I81dc84b869e4d16c5e02feb5c876fbcede3d4a25
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261181
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36781}
2022-05-05 14:34:48 +00:00
d4d97eb04d DataChannel: Add open/close stress test
Repeatedly open and close data channels on a peer connection
to check that the channels are properly negotiated and SCTP
stream IDs properly recycled.

Bug: webrtc:13994, chromium:1320194
Change-Id: I244911abb5abaf0a290de07a0d790cd1edffe8cb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260984
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36780}
2022-05-05 12:44:48 +00:00
3180a5ad06 dcsctp: Reset send queue when recreating TCB
This is an issue found in fuzzer, and doesn't really happen in WebRTC
as it never closes the connection and reconnects.

The issue is that the send queue outlives any connection since you're
allowed to send messages (well, enqueue them) before the association is
fully connected. So the send queue is always present but the TCB
(information about the connection) is torn down when the connection is
closed for example. And the TCB holds the Stream Reset handler, which is
responsible for e.g. keeping track of stream reset sequence numbers and
such - which is tied to the connection.

So to ensure that the Stream Reset Handler is in charge of deciding
if a stream reset is taking place, make sure that the send queue is in
a known good state when the Stream Reset handler is created.

Bug: webrtc:13994, chromium:1320194
Change-Id: I940e4690ac9237ac99dd69a9ffc060cdac61711d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261260
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36779}
2022-05-05 12:06:48 +00:00
35ba0c5cd5 Check that PC is configured for media before doing media operations.
If media_engine is not passed in init parameters, the PC can't handle
media, but can be used for datachannels. This CL adds testing that
datachannels work without media engine, and adds failure returns
to PeerConnection APIs that manipulate media when media engine is
not present.

Bug: webrtc:13931
Change-Id: Iecdf17a0a0bb89e0ad39eb74d6ed077303b875c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261246
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36778}
2022-05-05 11:54:48 +00:00
3c2359c663 Revert "RTP video stream receivers: By default consider frames decryptable."
This reverts commit 658dfb74e563295b7ed4961d06c68afbd566ef8d.

Reason for revert: Breaks downstream tests.

Original change's description:
> RTP video stream receivers: By default consider frames decryptable.
>
> Looks like the original code [0] that should limit the amount of keyframe requests behaves a bit strange in a situation when the first keyframe is missed. Effectively in the encrypted session the receiver can't enforce getting the keyframe until it receives at least one frame which is decryptable [1]. And with dependency descriptors it can't do that until it receives a keyframe which contains proper DD header [2]. This leads to unnecessary delays until the sender sends a keyframe itself.
>
> In this CL we "trust" that the stream is decryptable from the beginning unless proven the opposite [3].
>
> [0]: https://webrtc-review.googlesource.com/c/src/+/123414/
> [1]: https://webrtc.googlesource.com/src/+/9432768024b0397f2dccfec0cab30f33dde87b93/video/video_receive_stream2.cc#950
> [2]: https://webrtc.googlesource.com/src/+/9432768024b0397f2dccfec0cab30f33dde87b93/video/rtp_video_stream_receiver2.cc#415
> [3]: https://webrtc.googlesource.com/src/+/9432768024b0397f2dccfec0cab30f33dde87b93/video/rtp_video_stream_receiver2.cc#882
>
> Bug: webrtc:10330
> Change-Id: I167d728ddc7cde74a5c5e3327bce7364ed97b7ea
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260326
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Artem Titarenko <artit@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36775}

Bug: webrtc:10330
Change-Id: I1e390c938502048a678a9c3a9a88a44f08dc058f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261261
Reviewed-by: Artem Titarenko <artit@webrtc.org>
Auto-Submit: Artem Titarenko <artit@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36777}
2022-05-05 10:41:13 +00:00
45361f78ed Calculate video stream max bitrate using expression.
This replaces the ealier table-based caps.
Apart from the VGA cap (now 1600kbps instead of 1700kbps), or if using
"in between" resolutions, the caps are unchanged - but now cover high
resolutions better.

Bug: webrtc:14017
Change-Id: I8649b528495d6c917e38ea8cb1a272df6c464c03
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260940
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36776}
2022-05-05 10:10:20 +00:00
658dfb74e5 RTP video stream receivers: By default consider frames decryptable.
Looks like the original code [0] that should limit the amount of keyframe requests behaves a bit strange in a situation when the first keyframe is missed. Effectively in the encrypted session the receiver can't enforce getting the keyframe until it receives at least one frame which is decryptable [1]. And with dependency descriptors it can't do that until it receives a keyframe which contains proper DD header [2]. This leads to unnecessary delays until the sender sends a keyframe itself.

In this CL we "trust" that the stream is decryptable from the beginning unless proven the opposite [3].

[0]: https://webrtc-review.googlesource.com/c/src/+/123414/
[1]: https://webrtc.googlesource.com/src/+/9432768024b0397f2dccfec0cab30f33dde87b93/video/video_receive_stream2.cc#950
[2]: https://webrtc.googlesource.com/src/+/9432768024b0397f2dccfec0cab30f33dde87b93/video/rtp_video_stream_receiver2.cc#415
[3]: https://webrtc.googlesource.com/src/+/9432768024b0397f2dccfec0cab30f33dde87b93/video/rtp_video_stream_receiver2.cc#882

Bug: webrtc:10330
Change-Id: I167d728ddc7cde74a5c5e3327bce7364ed97b7ea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260326
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36775}
2022-05-05 09:58:28 +00:00
26d12fcc71 Remove rtc_base:rtc_base_approved
It's now empty, let's remove it!

Bug: webrtc:9838
Change-Id: I4b3310e882ea95fdf47903f9ad31e2efb35703f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261242
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36774}
2022-05-05 09:43:31 +00:00