41175 Commits

Author SHA1 Message Date
Victor Boivie
cdecc4e6df Expose bufferedAmountLowThreshold
This code was extracted to make the next following CL easier to review.

This CL simply exposes the getters, setters and callbacks to set the
buffered amount low threshold on a specific SCTP stream. It will be
used in a follow-up CL, but is just boilerplate.

Bug: chromium:40072842
Change-Id: Iccd72208b369ddc252cc5886f6446b9c2ceeb0b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343360
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41943}
2024-03-21 19:59:39 +00:00
Jonas Oreland
41e236aa59 Fix ubsan warning in ParseError testcase
The parse error testcase creates a random byte string
and tries to parse it as a delta attribute expecting it to fail.

Ubsan detected that there was "unsafe" static_cast<>, where
a value from network is static_casted:ed into a enum.
That enum was then *checked* for validity, so I think it was
same before aswell.

This fix changes to do the check/convering as one step.

Bug: webrtc:15392
Change-Id: Ie2534deef8988bc3c3179e194155cfd48b0ee6e5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343980
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41942}
2024-03-21 15:58:22 +00:00
Per K
709374b333 Reland "Propagate known Encoder SinkWants when configured instead of after first frame."
This reverts commit c39712b51522bb21c18c58c593f454c5cc0e7995.

Reason for revert: Fixed issue where frame rate not adapted to highest "active" requested frame rate.

Patchset 1 contains original cl.
Later patchsets contains modifications.

Original change's description:
 > Propagate known Encoder SinkWants when configured instead of after first frame.
 >
 > Propagate requested resolution and max frame rate to the source when
 > configured rather than after the first frame.
 > This is so that the source can be configured immediately. There is no
 > reason why source should be updated until after first frame since it may lead
 > to unnecessary reconfigurations and thread jumps. Wants that depend on actual frame size is not moved.
 >
 > Cl also change default behaviour in VideoStreamEncoderTest to not
 > set restriction on max frame rate.
 >

Bug: webrtc:14451
Change-Id: I2668db44bd17586efcf511ad3cd975065c503ec5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343122
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41941}
2024-03-21 14:19:57 +00:00
Ilya Nikolaevskiy
f49a8262cc Adjust min vp9 simulcast bitrate to closer mimic SVC behaviour
If SVC is used, the minimum bitrate would be 30kbps, instead of 49, as
configured in svc_config.h, because the overall stream will get min_bitrate
from the default VP8 simulcast configuration, and this 30kbps will be
allocated to the stream for svc_rate_allocator to divide between layers.

However, with the configuration before this change, 49kbps would be always
allocated to the lowest simulcast stream.

Bug: webrtc:15852
Change-Id: I1c77f45654af8850180a83f8e3f4428cc42d086e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343760
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41940}
2024-03-21 13:03:30 +00:00
Sergey Silkin
7ae48c452a Mark frames with inter_layer_predicted=true as delta frames
As it is currently implemented, the VP9 depacketizer decides packet's frame type based on p_bit ("Inter-picture predicted layer frame"). p_bit is set to 0 for upper spatial layer frames of keyframe since they do not have temporal refs. This results in marking packets of upper spatial layer frames, and, eventually these frames, of SVC keyframes as "keyframe" while they are in fact delta frames.

Normally spatial layer frames are merged into a superframe and the superframe is passed to decoder. But passing individual layers to a single decoder instance is a valid scenario too and is used in downstream projects. In this case, an upper layer frame marked as keyframe may cause decoder reset [2] and break decoding.

This CL changes frame type decision logic in the VP9 depacketizer such that only packets with both P and D (inter-layer predicted) bits unset are considered as keyframe packets.

When spatial layer frames are merged into a superframe in CombineAndDeleteFrames [1], frame type of the superframe is inferred from the lowest spatial layer frame.

[1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/modules/video_coding/frame_helpers.cc;l=53

[2] https://source.corp.google.com/piper///depot/google3/third_party/webrtc/files/stable/webrtc/modules/video_coding/codecs/vp9/libvpx_vp9_decoder.cc;l=209

Bug: webrtc:15827
Change-Id: Idc3445636f0eae0192dac998876fedec48628560
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343342
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41939}
2024-03-21 11:47:36 +00:00
Kári Tristan Helgason
3277fe1d75 Fix UIDeviceOrientation enums.
Bug: b/328490295
Change-Id: Ieaeaddbc94528fba32c793986d20d54683a1d7a9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343782
Auto-Submit: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41938}
2024-03-21 11:07:28 +00:00
Danil Chapovalov
c03827db1b Cleanup SimulcastEncoderAdapter - require webrtc::Environment at construction time
Bug: webrtc:15860
Change-Id: I1a786fb4b04112197e49c883884fc4b30f8d13f4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343182
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41937}
2024-03-21 11:05:32 +00:00
Danil Chapovalov
007a62d83d Cleanup sdk android code from using VideoEncoderFactory::CreateVideoEncoder
To force webrtc::Environment propagation through android VideoEncoderFactory wrappers

Bug: webrtc:15860
Change-Id: Icad7249b47a5c738b089e09714c729f91eddaf5d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342960
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41936}
2024-03-21 10:18:37 +00:00
Ted Meyer
e7d1004709 Remove usage of AVCodecContext::reordered_opaque
FFmpeg has removed this field and usage of it in chromium must be
removed before the ffmpeg dependency is updated. The chromium media
change can be found here:
https://chromium-review.googlesource.com/c/chromium/src/+/5384308

The usage of the field in webrtc seems only to be for sanity checking,
so it should be just safe to remove entirely, since webrtc does not
expect re-ordering at all.

Bug: chromium:330573128
Change-Id: I9c5854ec82c3ad2d55374ea4eaa0c571437f8267
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343840
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ted (Chromium) Meyer <tmathmeyer@chromium.org>
Cr-Commit-Position: refs/heads/main@{#41935}
2024-03-21 01:12:56 +00:00
Danil Chapovalov
8aaf85a687 Use propagated field trials for WebRTC-NormalizeSimulcastResolution experiment
Bug: webrtc:10335
Change-Id: I2db0ac9fc305e033c26cb8401db38317fbc71014
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343761
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41934}
2024-03-20 16:58:59 +00:00
Danil Chapovalov
d7e0981281 Propagate webrtc::Environment through objc VideoEncoderFactory
Bug: webrtc:15860
Change-Id: I9e7ee89e1ac9f950d38734510cf843e144108d24
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342800
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41933}
2024-03-20 09:55:19 +00:00
webrtc-version-updater
181fe4ed61 Update WebRTC code version (2024-03-20T04:13:12).
Bug: None
Change-Id: I98b3fbce12c9e28dc47d733245f1c59c94e336cc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343640
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@{#41932}
2024-03-20 05:50:32 +00:00
Jeremy Leconte
1a37aa197e Fix frame not found error when encoder is paused.
The problem occurs when a frame is sent again because the encoder was paused but the frame has already been received by all participants:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/video/video_stream_encoder.cc;l=2322

Change-Id: If8890986301c44a472db9bc4750d23761c150669
Bug: b/328175783
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343560
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#41931}
2024-03-19 17:16:19 +00:00
chromium-webrtc-autoroll
8746e9a921 Roll chromium_revision cbc33d5567..566136c383 (1274686:1274799)
Change log: cbc33d5567..566136c383
Full diff: cbc33d5567..566136c383

Changed dependencies
* src/base: 86557ac036..669f5c90a1
* src/ios: 583de6c9e7..8c8e35d7e8
* src/testing: 94ebfc429f..c0afd10e6e
* src/third_party: 475b5bf63b..d0ea1392a4
* src/third_party/androidx: lF4BpWLcXmIo0uVu9bWTtoknnD3jp2xwe8L0cN-eskMC..bvCkZXWHMfORF34pYpyjkz-Bpco6EkcB2RWz8y9iEt0C
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/735ecd76d2..fb6c0bb480
* src/third_party/perfetto: dfcd22426a..13fb5d53a1
* src/tools: d8f49362ce..2fb44b3615
DEPS diff: cbc33d5567..566136c383/DEPS

No update to Clang.

BUG=None

Change-Id: I25ca21e3702fa33c2187ab610f38313d25c335d5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343541
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@{#41930}
2024-03-19 10:56:42 +00:00
Per K
5a4ce03101 Stop exponential probing if 2xmax allocated bitrate lower than BWE.
Without this, if max allocated bitrate is lowered while exponential probing is ongoing, a new probe can be sent at a rate of the new low max allocated bitrate which may cause BWE to decrease.

Bug: webrtc:14928
Change-Id: Id8e314740c2403d3b801d28f634dbc718f77c16e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343384
Reviewed-by: Diep Bui <diepbp@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41929}
2024-03-19 10:26:55 +00:00
Jeremy Leconte
d7d5c0c1db Disable InjectDependencyDescriptor on Windows.
Change-Id: I6dd715063cc5b75b378e35b85f88974936229150
Bug: webrtc:15876
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343341
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#41928}
2024-03-19 10:25:18 +00:00
philipel
626edea852 Use independet frame IDs between simulcast streams when WebRTC-GenericDescriptorAuth is disabled.
Implemented behind `WebRTC-Video-SimulcastIndependentFrameIds`.

Bug: b/329063481
Change-Id: I683e567bb5b449f998be57ec3a11bb3b95e3ace4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343382
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41927}
2024-03-19 10:03:36 +00:00
philipel
5f86437dbc video_replay tool fix/update
Change-Id: I188ed4c7cebc5cafb31e01a38e0460cde65fefa1
Bug: none
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/341800
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41926}
2024-03-19 09:18:21 +00:00
Tommi
8ae894d924 Remove deprecated Candidate methods
Bug: webrtc:15846
Change-Id: Iba39a16f6f2b77599996af39216f41121f9b1c24
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342020
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41925}
2024-03-19 07:29:07 +00:00
webrtc-version-updater
302c0f8d06 Update WebRTC code version (2024-03-19T04:13:33).
Bug: None
Change-Id: I0f660426e7c0a5d844823d7860bc3d8a2723c5ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343502
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#41924}
2024-03-19 05:37:20 +00:00
chromium-webrtc-autoroll
43a1dfff61 Roll chromium_revision 026656344d..cbc33d5567 (1274293:1274686)
Change log: 026656344d..cbc33d5567
Full diff: 026656344d..cbc33d5567

Changed dependencies
* src/base: 64f15c7668..86557ac036
* src/build: 0049ea78cc..68409c6133
* src/ios: cfe46c50ee..583de6c9e7
* src/testing: 08427f4e04..94ebfc429f
* src/third_party: 3c34dd9eef..475b5bf63b
* src/third_party/androidx: FOeJcZQ2mA3UXM0yKNQ0R4aeu-xXh3kUwWXV4zko8hoC..lF4BpWLcXmIo0uVu9bWTtoknnD3jp2xwe8L0cN-eskMC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/079202a7fd..735ecd76d2
* src/third_party/depot_tools: 59c1900dd6..ca4cfdaf00
* src/third_party/googletest/src: c231e6f5b1..eff443c6ef
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/77317a77d3..158761dfb4
* src/third_party/perfetto: 7e63f42d75..dfcd22426a
* src/tools: e9baa65a0a..d8f49362ce
* src/tools/luci-go: git_revision:623f8d17a069eaea6d0fca13147888284ec76ff1..git_revision:7dd3e0506c6083aae7a0e413a30e0e11b76da08e
* src/tools/luci-go: git_revision:623f8d17a069eaea6d0fca13147888284ec76ff1..git_revision:7dd3e0506c6083aae7a0e413a30e0e11b76da08e
DEPS diff: 026656344d..cbc33d5567/DEPS

No update to Clang.

BUG=None

Change-Id: Ie78dfcfffb52777cbf1313907aaf9d297e01e9f0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343501
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@{#41923}
2024-03-19 05:35:32 +00:00
chromium-webrtc-autoroll
9fef6f1499 Roll chromium_revision 0ee7acc048..026656344d (1274114:1274293)
Change log: 0ee7acc048..026656344d
Full diff: 0ee7acc048..026656344d

Changed dependencies
* src/base: 80a0dd0be9..64f15c7668
* src/build: 286c9e5939..0049ea78cc
* src/ios: a1a91b6f27..cfe46c50ee
* src/testing: 8af29512c4..08427f4e04
* src/third_party: 5bb3958ac2..3c34dd9eef
* src/third_party/androidx: VVHFAfCwY9wBjzGyVHosqxrx-PoXni9idw4CSTDFUYwC..FOeJcZQ2mA3UXM0yKNQ0R4aeu-xXh3kUwWXV4zko8hoC
* src/third_party/libvpx/source/libvpx: c29e637283..19832b1702
* src/third_party/perfetto: 7c4a456693..7e63f42d75
* src/tools: 20e86e1467..e9baa65a0a
DEPS diff: 0ee7acc048..026656344d/DEPS

No update to Clang.

BUG=None

Change-Id: I61f7e11f595b4eceb14e5c6a1148018622a5069b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343400
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@{#41922}
2024-03-18 19:41:53 +00:00
Danil Chapovalov
802552a803 Update test VideoEncoderFactories to pass Environment to construct VideoEncoder
Bug: webrtc:15860
Change-Id: If89593b75879183569cef603cede542f16262fa7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343385
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41921}
2024-03-18 18:51:47 +00:00
Tommi
1d26fd33ca Replace SignalClosed sigslot with absl::AnyInvocable
This restricts the interface such that only a single onclose handler
can be set and that only one OnClose() notification will be fired.

That behavior is the same as how the previous sigslot was being
used, but the difference is that, in addition to removing sigslot,
this pattern is now more explicitly checked in the design.

Bug: webrtc:11943
Change-Id: I469c8cab3d62544988c8145b326af60b06b76d8e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343340
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41920}
2024-03-18 18:27:50 +00:00
Jeremy Leconte
4f33b95959 Disable flaky expectation on Android device.
Change-Id: I04ad680ce1e23249d78d89294449b9d7ad75ef97
Bug: webrtc:15873
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343380
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41919}
2024-03-18 15:42:44 +00:00
chromium-webrtc-autoroll
72fa3104d6 Roll chromium_revision 247e4de555..0ee7acc048 (1271557:1274114)
Change log: 247e4de555..0ee7acc048
Full diff: 247e4de555..0ee7acc048

Changed dependencies
* fuchsia_version: version:19.20240305.3.1..version:19.20240312.3.1
* src/base: 4940a9ca2d..80a0dd0be9
* src/build: 8a71ad60d1..286c9e5939
* src/buildtools: 9491ff1efc..68fce43789
* src/buildtools/linux64: git_revision:59c4bb920542ee903ee1df39097ae024e2e8226f..git_revision:22581fb46c0c0c9530caa67149ee4dd8811063cf
* src/buildtools/mac: git_revision:59c4bb920542ee903ee1df39097ae024e2e8226f..git_revision:22581fb46c0c0c9530caa67149ee4dd8811063cf
* src/buildtools/win: git_revision:59c4bb920542ee903ee1df39097ae024e2e8226f..git_revision:22581fb46c0c0c9530caa67149ee4dd8811063cf
* src/ios: f7efd98ba0..a1a91b6f27
* src/testing: b28e585180..8af29512c4
* src/third_party: b23679094f..5bb3958ac2
* src/third_party/android_sdk/public: BRpfUGFd3WoveSGTLVgkQF7ugIVyywGneVICP4c0010C..mU9jm4LkManzjSzRquV1UIA7fHBZ2pK7NtbCXxoVnVUC
* src/third_party/androidx: GWbo7p3_LfXNsOnuuQIP6VWA9aJ8YP6czcHvgqhAfxAC..VVHFAfCwY9wBjzGyVHosqxrx-PoXni9idw4CSTDFUYwC
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/4fe29ebc75..4fa4804c8a
* src/third_party/breakpad/breakpad: 6551ac3632..76788faa4e
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/f226e76aa5..079202a7fd
* src/third_party/dav1d/libdav1d: 7b15ca1375..006ca01d38
* src/third_party/depot_tools: 875647ed03..59c1900dd6
* src/third_party/ffmpeg: 512d2ed32f..52d8ef3799
* src/third_party/freetype/src: 2a790a9f49..f42ce25563
* src/third_party/googletest/src: e4fdb87e76..c231e6f5b1
* src/third_party/icu: 1112fa6b3b..bad7ddbf92
* src/third_party/kotlinc/current: ZrpoPpdqeDMIMIhXyd95yML-ZbNUIKDXSeYiWuxz2J0C..DoPNLH4-m0sn0ERonCwcex3XmEpvbAWd2Pwv1ZSDGsQC
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/14010c6f0f..77317a77d3
* src/third_party/libc++abi/src: 204deaa9c5..ec88f0ab26
* src/third_party/libunwind/src: 8bad7bd6ec..419b03c0b8
* src/third_party/libvpx/source/libvpx: d191c5f984..c29e637283
* src/third_party/perfetto: 3fe34e7c3e..7c4a456693
* src/third_party/r8: dlcpQz73JQc8czs_ASn1itNoISc9wNEMBb5YTvTyQtEC..JTVRM33_2BjCw-dM85_HEcqBxFWTyphkzbKXDSuJLkoC
* src/third_party/re2/src: 45c9985092..6598a8ecd5
* src/third_party/turbine: RmqZxX5J0fjQAxIVGLBnWAsmcU_2_bfgH85YgcNv6lAC..D9u_Hp4Dkt63hBSf5_oNk-Y7bOLGC7toa6H9cJ3rNokC
* src/tools: fd6f55bb24..20e86e1467
* src/tools/luci-go: git_revision:3df60a11d33a59614c0e8d2bccc58d8c30984901..git_revision:623f8d17a069eaea6d0fca13147888284ec76ff1
* src/tools/luci-go: git_revision:3df60a11d33a59614c0e8d2bccc58d8c30984901..git_revision:623f8d17a069eaea6d0fca13147888284ec76ff1
DEPS diff: 247e4de555..0ee7acc048/DEPS

No update to Clang.

BUG=None

Change-Id: I47b406358823dc12332daad1cb61f79d1c586ccb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343327
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@{#41918}
2024-03-18 15:01:54 +00:00
Tommi
bdb867f163 Move SocketStream to test.
The class is now only used by one test class.

Bug: none
Change-Id: Ib7714469254bd507d027385d2825b1c14bd63c94
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343123
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41917}
2024-03-18 11:00:42 +00:00
Evan Shrubsole
a06e7eeec0 Replace proxy ScopedEvent with TRACE_EVENT
TRACE_EVENT is already scoped!



#rtc_fixit

Tested: Compiled the patch in Chromium and confirmed the Proxy events are still present. I can send the resulting trace to reviewers if desired.
Bug: webrtc:15867
Change-Id: I5717a85c0ee25e8e20123afa08064c9b6666ba96
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342920
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/main@{#41916}
2024-03-18 09:57:36 +00:00
Tommi
ab9395924c Remove deprecated Port ctors and AddAddress
Bug: webrtc:15846
Change-Id: I7fafdefc0108c45d2865584aa01f44caa95ec36f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342521
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41915}
2024-03-18 09:47:18 +00:00
webrtc-version-updater
5d3acb5195 Update WebRTC code version (2024-03-18T04:01:28).
Bug: None
Change-Id: Icdb064f6a412b2191e710855681744fa107893d2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343289
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@{#41914}
2024-03-18 05:41:22 +00:00
webrtc-version-updater
aa38d7f0e2 Update WebRTC code version (2024-03-17T04:02:14).
Bug: None
Change-Id: Idbe893c465006ce7f6f8f7592ceaefb566c6e651
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343282
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#41913}
2024-03-17 05:25:42 +00:00
webrtc-version-updater
cddcb7c65e Update WebRTC code version (2024-03-16T04:03:27).
Bug: None
Change-Id: I93ef8cb7efc246cb2d189cae948406bb3cd84c76
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343205
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#41912}
2024-03-16 06:17:52 +00:00
Per Kjellander
c39712b515 Revert "Propagate known Encoder SinkWants when configured instead of after first frame."
This reverts commit 1ee24a650c116509d855e2ed23b8d28a0bb37384.

Reason for revert: Suspected upstream test breakage. 

Original change's description:
> Propagate known Encoder SinkWants when configured instead of after first frame.
>
> Propagate requested resolution and max frame rate to the source when
> configured rather than after the first frame.
> This is so that the source can be configured immediately. There is no
> reason why source should be updated until after first frame since it may lead
> to unnecessary reconfigurations and thread jumps. Wants that depend on actual frame size is not moved.
>
> Cl also change default behaviour in VideoStreamEncoderTest to not
> set restriction on max frame rate. This aligns with how its used.
>
> Bug: webrtc:14451
> Change-Id: I96a3675d3ccabb1d2ecb4354b6932bc6563b1760
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342801
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
> Commit-Queue: Per Kjellander <perkj@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#41906}

Bug: webrtc:14451
Change-Id: I3aa669f8cc61a43b0820a06edf1497f3c86e3958
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343220
Auto-Submit: Per Kjellander <perkj@webrtc.org>
Owners-Override: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41911}
2024-03-15 17:41:26 +00:00
Danil Chapovalov
dcc95081e1 Cleanup QualityAnalyzingVideoEncoderFactory::CreateVideoEncoder
And thus require Environment to be propagated to this test helper

Bug: webrtc:15860
Change-Id: Ia4796d7a6a8e6f5dcb947899617df43e991419e7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343181
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41910}
2024-03-15 15:24:54 +00:00
Danil Chapovalov
dd28f1364b In VideoEncoderFactoryTemplate pass webrtc::Environment to individual traits when supported
Bug: webrtc:15860
Change-Id: I022887e57855c072ddfb0edaf37cd96e9fc64ea6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342981
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41909}
2024-03-15 15:23:51 +00:00
Ilya Nikolaevskiy
98aba6b9a8 Configure default bitrate targets for VP9 simulcast
Bug: webrtc:15852
Change-Id: Icab74d4eafe4cfb95dace7ae0e3e5810f3052204
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/340441
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41908}
2024-03-15 14:34:15 +00:00
Victor Boivie
2fc097ea83 Reapply "dcsctp: Add per-stream-limit, refactor limits."
Keeping the old setting for the total queue size
limit, which avoids breaking a downstream.

This reverts commit 47ce449afaf9ba38785437fdd338630cad24a77b
and relands commit 4c990e2e56157175324e651f95f3d8c6a0e5c030.

Bug: chromium:40072842
Change-Id: I1e7d14b5d0026232d1fc9277172b6947b8be3490
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343120
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41907}
2024-03-15 13:27:37 +00:00
Per K
1ee24a650c Propagate known Encoder SinkWants when configured instead of after first frame.
Propagate requested resolution and max frame rate to the source when
configured rather than after the first frame.
This is so that the source can be configured immediately. There is no
reason why source should be updated until after first frame since it may lead
to unnecessary reconfigurations and thread jumps. Wants that depend on actual frame size is not moved.

Cl also change default behaviour in VideoStreamEncoderTest to not
set restriction on max frame rate. This aligns with how its used.

Bug: webrtc:14451
Change-Id: I96a3675d3ccabb1d2ecb4354b6932bc6563b1760
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342801
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41906}
2024-03-15 12:53:06 +00:00
Bjorn Terelius
c6e06aef5e Re-enable msan bots
Bug: b/329130536
Change-Id: I4bc9102a3fda16121cb42d682f80a7b124daed42
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343180
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41905}
2024-03-15 10:47:02 +00:00
karllen.zheng@ringcentral.com
2af888e414 Properly propagate error in WebRtcVideoSendStream::SetRtpParameters
When an error occurs, the callback needs to be invoked or the
signaling thread may block indefinitely waiting for it.

Bug: webrtc:15871
Change-Id: Ib73382aff07b3632794300985223c70c24f554f4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342901
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41904}
2024-03-15 09:40:18 +00:00
Per K
776c1a1a86 Propagate ECN to RtpPacketReceived
Bug: webrtc:15368
Change-Id: Ie2d982a9172759a65f7f7225eeddd64cfa82490d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/341560
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41903}
2024-03-15 08:58:28 +00:00
Bjorn Terelius
a0672c5f32 Roll chromium_revision
(from b9338390dfcef481083d44d44c243c0c73196342
to 247e4de55550191706972861e586831a0d94d524)

Manually remove third_party/accessibility_test_framework from DEPS

Bug: b/329245293
Change-Id: Ie977314daf636f5208948ae74b7958ef3e296ffb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342762
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41902}
2024-03-15 07:58:00 +00:00
Björn Terelius
47ce449afa Revert "dcsctp: Add per-stream-limit, refactor limits."
This reverts commit 4c990e2e56157175324e651f95f3d8c6a0e5c030.

Reason for revert: Breaks downstream build.

Original change's description:
> dcsctp: Add per-stream-limit, refactor limits.
>
> The limits have been moved out from the Send Queue as they were enforced
> outside the queue anyway (in the socket). That was a preparation for
> adding even more limits; There is now also a per-stream limit, allowing
> individual streams to have one (global) limit, and the entire socket to
> have another limit.
>
> These limits are very small in the default options. In Chrome, the limit
> is 16MB per stream, so expect the defaults to be updated when the
> additional buffering outside dcSCTP is removed.
>
> Bug: chromium:41221056
> Change-Id: I9f835be05d349cbfce3e9235d34b5ea0e2fe87d1
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342481
> Reviewed-by: Florent Castelli <orphis@webrtc.org>
> Commit-Queue: Victor Boivie <boivie@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#41895}

Bug: chromium:41221056
Change-Id: Icd57fbfca87d6b512cfc7f7682ae709000c2bcad
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343080
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Victor Boivie <boivie@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#41901}
2024-03-14 16:47:45 +00:00
webrtc-version-updater
29f3a0a728 Update WebRTC code version (2024-03-14T04:05:54).
Bug: None
Change-Id: I04b9a46ab8edacd834f048eb2823f071068487ed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343020
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#41900}
2024-03-14 06:06:21 +00:00
Ted Meyer
d1ba1dc9c7 Update includes to use <> instead of ""
Webrtc is build with FFmpeg sources on defined in the include path
through the -I flag, so they should be included this way instead. This
would otherwise cause a conflict when the chromium ffmpeg sources move
from third_party/ffmpeg/* to third_party/ffmpeg/src/*

BUG: chromium:329282834
Change-Id: Id8f7e91446bdc536db77e74388a73e51f5111ffc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342820
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Ted (Chromium) Meyer <tmathmeyer@chromium.org>
Cr-Commit-Position: refs/heads/main@{#41899}
2024-03-13 21:51:37 +00:00
Victor Boivie
fea41f540c pc: Include SCTP queued bytes in buffered_amount
Before this change, calling buffered_amount only included what was
buffered on top of what was already buffered in the SCTP socket. With
the defaults, the SCTP socket can buffer up to 2MB of data (that is not
put on the wire) before the additional external bufferering in
SctpDataChannel will be used. The buffering that I am working on
removing completely.

Until it's removed completely, to avoid the issue reported in
crbug.com/41221056, include the bytes buffered in the SCTP socket to
what is returned when calling RTCDataChannel::buffered_amount.

This means that when this value is zero, it can be safe to know that all
bytes have been sent, but not necessarily acknowledged. And calling
close will not discard any messages.

This is a stopgap solution, but as functional as the proper solution
that removes all additional buffering. Follow-up CLs will merely improve
this solution.

Bug: chromium:41221056
Change-Id: I06edd52188d3bf13a17827381a15a4730722685a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342520
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41898}
2024-03-13 15:44:17 +00:00
philipel
2f3b75d30d Reset prev_unwrapped_timestamp_ in TimestampExtrapolator::Reset
Bug: b/325916306
Change-Id: I7c52ed45d02c8e602670f5e8e345543fed4523f3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342860
Reviewed-by: Stefan Holmer <holmer@google.com>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41897}
2024-03-13 13:19:49 +00:00
Evan Shrubsole
ed050bf253 Remove TRACE_ASYNC without matching TRACE_BEGIN in rtc_sender_video
This seems to confuse perfetto, and the data ends up on its own track
and the end event is just ignored. As it was invalid, I am assuming it
is not used, and can be simply removed.

#rtc_fixit

Bug: webrtc:15867
Change-Id: I31a814f6c2147c3ce534726bf9046a79369b9eb3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342761
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/main@{#41896}
2024-03-13 11:59:58 +00:00
Victor Boivie
4c990e2e56 dcsctp: Add per-stream-limit, refactor limits.
The limits have been moved out from the Send Queue as they were enforced
outside the queue anyway (in the socket). That was a preparation for
adding even more limits; There is now also a per-stream limit, allowing
individual streams to have one (global) limit, and the entire socket to
have another limit.

These limits are very small in the default options. In Chrome, the limit
is 16MB per stream, so expect the defaults to be updated when the
additional buffering outside dcSCTP is removed.

Bug: chromium:41221056
Change-Id: I9f835be05d349cbfce3e9235d34b5ea0e2fe87d1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342481
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41895}
2024-03-13 11:13:56 +00:00
Per K
0fa90887c5 Deprecate VideoFrame::timestamp() and set_timestamp
Instead, add rtp_timestamp and set_rtp_timestamp.

Bug: webrtc:13756
Change-Id: Ic4266394003e0d49e525d71f4d830f5e518299cc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342781
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41894}
2024-03-13 11:08:37 +00:00