41182 Commits

Author SHA1 Message Date
Per K
ce2b49552e Set webrtc::PacketOptions.packet_id from
RtpPacketToSend::transport_sequence_number

packed_id is set to be 64 bit to align with rtc::PacketOptions.
packet_id is only set to RtpPacketToSend::transport_sequence_number if
TransportSequenceNumber header extension is not used in order to not
change current behaviour.

Bug: webrtc:15368
Change-Id: Ia532714226421422bdb292f8dd34b175560e9dc6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/344160
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41950}
2024-03-22 11:56:57 +00:00
Per K
1cb32aa550 Add property RtpPacketToSend::transport_sequence_number()
And move writing of the header extension from PacketRouter to
RtpSenderEgress::SendPacket.

Bug: webrtc:15368
Change-Id: Ieb18af4bc20115bf02d37e1f9a815a5c120975a9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343786
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Auto-Submit: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41949}
2024-03-22 10:20:27 +00:00
Per K
68baa3575e Make perkj owner of modules/pacing
and remove srte

No-Try: True
Bug: none
Change-Id: I9389de124fb64a643743bd947c2b504442b619fc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/344161
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41948}
2024-03-22 10:16:40 +00:00
Joachim Reiersen
5075cb4a60 Expose AudioLevel as an absl::optional struct in api/rtp_headers.h
Start migrating away from `hasAudioLevel`, `voiceActivity`, `audioLevel` fields in RTPHeaderExtension and switch usages to a more modern absl::optional<AudioLevel> accessor instead.

The old fields are preserved for compatibility with downstream projects, but will be removed in the future.

Bug: webrtc:15788
Change-Id: I76599124fd68dd4d449f850df3b9814d6a002f5d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/336303
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41947}
2024-03-22 10:07:47 +00:00
Jeremy Leconte
28efb5acb4 DoesUtilizeUlpfecForVp9WithNackEnabled is flaky.
Try to increase the timeout to see if it solves the flakiness issue.
If it doesn't work we should temporary disable this test.

Change-Id: I8ecf3721cb5f7f4c647c8cbf247740c89c72ab82
Bug: webrtc:15885
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343982
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#41946}
2024-03-22 09:30:10 +00:00
Victor Boivie
2c1cfd047f pc: Remove additional buffering in SctpDataChannel
This CL removes the send buffers (but not the receive buffer) from
SctpDataChannel and increases the send buffer in DcSctpSocket instead.

The reasons are:
 1) Simplify the code. This additional buffering was strictly needed
    before we migrated away from usrsctp, as that send buffer was very
    limited in size (by design). But with the migration to dcSCTP, it's
    no longer needed, so it just adds complexity.
 2) Make `RTCDataChannel::bufferedAmount` correct. Before this CL, it
    represented just the data buffered in SctpDataChannel, and not the
    data accepted by the SCTP socket, but not yet put on the wire. This
    makes it hard for clients to know when a message has ever been sent.
 3) Better handle draining data on data channel close. While this is not
    implemented in dcSCTP, having a single buffer makes this easier to
    add.

While most of this CL is straightforward, the handling of bufferedAmount
in the signaling thread (in RTCDataChannel in Blink), is a bit special.
The number returned by `RTCDataChannel::bufferedAmount` is not what the
true value is inside the SCTP socket, but an eventual consistent view
of that value. When a message is sent, the value is incremented and:
  - Before this change: When a message was put on the SCTP socket, the
    view's value was decremented. Which made the view reflect what was
    buffered outside the SCTP socket, and that buffering is now gone.
  - After this change: SctpDataChannel will track what RTCDataChannel
    will think it is, and provide updates to that number as we are
    notified that it's reduced - by setting a "low threshold" callback
    trigger.

A bonus with the new behavior is that it will be eventually consistent
and auto-heal also in error conditions - when messages are dropped due
to errors (bad input, bad state, etc). Previously, the bufferedAmount
value could drift away from the correct value on errors.

Note that a big chunk of unit tests were removed with this CL, as those
tested how the buffering behaved. Now, there is no buffering, so the
removed test cases represent a simpler interface.

This CL has been extensively tested with data channel benchmarks that
use the bufferedAmount thresholds (in Javascript).

Bug: chromium:40072842
Change-Id: I1a6a4af6b6e1116832f5028f989ce9f44683d229
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343361
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41945}
2024-03-22 09:25:11 +00:00
webrtc-version-updater
22b902eea4 Update WebRTC code version (2024-03-22T04:11:01).
Bug: None
Change-Id: Ifcbe868b59ca4923e61103f63c4aad03ef171058
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/344101
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@{#41944}
2024-03-22 05:14:52 +00:00
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