40070 Commits

Author SHA1 Message Date
Harald Alvestrand
e9f9c28d48 Set permissions on experiments/field_trials.py
Since the previous policy was "anyone can add one", we're allowing
anyone to update this file for the time being.

Bug: webrtc:14154
Change-Id: Ib979797044f5eef014dce427ba6ad98837a98b46
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321960
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40838}
2023-09-29 08:17:15 +00:00
Emil Lundmark
a61b334a12 Relax the field trial policy to not require an open bug
Having an associated bug with an owner should be sufficient information
for determining the status of a field trial. See the discussion starting
at [1] for more context.

[1] https://crbug.com/webrtc/14154#c11

Bug: webrtc:14154
No-Try: true
Change-Id: I7054ba25eac2af852a0d08770037938571e38921
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321862
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40837}
2023-09-29 08:03:21 +00:00
Emil Lundmark
5e252b7fa5 Register WebRTC-Bwe-SubtractAdditionalBackoffTerm
It was introduced with 98e71f57eaa9 ("Subtract an additional 5kbps of
the bitrate when backing off.").

Bug: webrtc:13402
Change-Id: Icf8c633fa5086ac1f854a112d8eaeaf47d1ae211
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321844
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Auto-Submit: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40836}
2023-09-29 07:26:08 +00:00
webrtc-version-updater
191dd8811f Update WebRTC code version (2023-09-29T04:02:17).
Bug: None
Change-Id: I167193be5cfa532ba4eaa199e890d61b868f9aa1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321941
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@{#40835}
2023-09-29 05:55:13 +00:00
chromium-webrtc-autoroll
ea32ab12eb Roll chromium_revision 2506ef1631..2cd0974cfa (1202675:1202869)
Change log: 2506ef1631..2cd0974cfa
Full diff: 2506ef1631..2cd0974cfa

Changed dependencies
* reclient_version: re_client_version:0.114.2.81e819b-gomaip..re_client_version:0.113.0.8b45b89-gomaip
* src/base: 2bb8ce58b1..4df756689b
* src/build: e5b7a93f2c..7acd4f8b8d
* src/buildtools/reclient: re_client_version:0.114.2.81e819b-gomaip..re_client_version:0.113.0.8b45b89-gomaip
* src/ios: e1a9a453a2..9f00f7555b
* src/testing: 12e884d1ba..6026e857ed
* src/third_party: 31edcc46d6..d068a9b509
* src/third_party/androidx: 3HbvNkC0xzB9gU74utNAxJTRJC5xKCGjqIwNIxkoOoUC..syeW3T24_byUAsix-0-Jt-Khv0alNAWG6iZvNgEjoxQC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/328888ea45..72a5f0b7ef
* src/third_party/depot_tools: 34e0ecf20e..68318472db
* src/third_party/perfetto: 116a2d5dc0..a38d6a9fc0
* src/tools: 5d69d7e3a9..59a54b4003
DEPS diff: 2506ef1631..2cd0974cfa/DEPS

No update to Clang.

BUG=None

Change-Id: Id2a318eddfabfc6eb8fb2abd5832593e0153a08c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321901
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@{#40834}
2023-09-28 23:47:48 +00:00
chromium-webrtc-autoroll
5ee308b449 Roll chromium_revision 116647225e..2506ef1631 (1202523:1202675)
Change log: 116647225e..2506ef1631
Full diff: 116647225e..2506ef1631

Changed dependencies
* src/base: 226ff96839..2bb8ce58b1
* src/build: ddf84d52d6..e5b7a93f2c
* src/ios: d3aa14fe6f..e1a9a453a2
* src/testing: a151ef21fd..12e884d1ba
* src/third_party: bebeb00015..31edcc46d6
* src/third_party/perfetto: d5143d26fa..116a2d5dc0
* src/tools: afa4d85c5a..5d69d7e3a9
DEPS diff: 116647225e..2506ef1631/DEPS

No update to Clang.

BUG=None

Change-Id: I511350b7ffa938f8135ccae7931abe704af0ec4c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321825
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@{#40833}
2023-09-28 16:47:13 +00:00
Manashi Sarkar
c2bbe4b952 Revert "Enable SRTP GCM ciphers by default"
This reverts commit d8633868b34dc1d841f0a9fd1afe2bc22aa8bde6.

Reason for revert: Breaks downstream project.

Original change's description:
> Enable SRTP GCM ciphers by default
>
> Bug: webrtc:15178
> Change-Id: I0216ce8f194fffc820723d82b9c04a76573c2f4f
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305381
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Philipp Hancke <phancke@microsoft.com>
> Reviewed-by: Victor Boivie <boivie@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40828}

Bug: webrtc:15178
Change-Id: I88433e899cb4b705eafa3fceff3edc520629f603
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321863
Owners-Override: Artem Titov <titovartem@webrtc.org>
Auto-Submit: Manashi Sarkar <manashi@google.com>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40832}
2023-09-28 14:42:18 +00:00
Philipp Hancke
ebe207f71c Add field trial for enabling SSL client hello extension permutation
using WebRTC-PermuteTlsClientHello as a field trial.

This has been launched in Chromium already:
  https://groups.google.com/a/chromium.org/g/blink-dev/c/bYZK81WxYBo/m/lKLrZ_P2BwAJ

WebRTC-specific I2S:
  https://groups.google.com/a/chromium.org/g/blink-dev/c/1CIKec0W1fg

Chromestatus entry:
  https://chromestatus.com/feature/5191245718880256

BUG=webrtc:15467

Change-Id: I18f4065661bbe2db03e1823d7bfba4c9b60046aa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/318640
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40831}
2023-09-28 13:34:38 +00:00
chromium-webrtc-autoroll
a1475c2210 Roll chromium_revision f7fb707ebb..116647225e (1201480:1202523)
Change log: f7fb707ebb..116647225e
Full diff: f7fb707ebb..116647225e

Changed dependencies
* src/base: 7d979505e8..226ff96839
* src/build: 5f393261bc..ddf84d52d6
* src/buildtools: 9d9c064e40..2c6e20e2ff
* src/ios: 74621ea7bd..d3aa14fe6f
* src/testing: 3c3be88d84..a151ef21fd
* src/third_party: 5005138049..bebeb00015
* src/third_party/androidx: a9CGOell056bhQij2JhATC4nOCgZpeDXqqwWjr1_ewAC..3HbvNkC0xzB9gU74utNAxJTRJC5xKCGjqIwNIxkoOoUC
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/a1843d660b..d24a38200f
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/0a5cbdd220..328888ea45
* src/third_party/depot_tools: d95084e851..34e0ecf20e
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/82018abee6..96983fe072
* src/third_party/libc++/src: 26cbb86c20..055d494c5c
* src/third_party/libc++abi/src: c28dc42f0d..e8e4eb8f1c
* src/third_party/libunwind/src: f2ca661b1d..724cd40fb6
* src/third_party/libvpx/source/libvpx: 6da1bd01d6..38a707faef
* src/third_party/perfetto: f92196dfb6..d5143d26fa
* src/third_party/r8: w5NK9teKNDuEhU_7rQE8WYwuBzdXA8lVkJwo6VOgWv8C..ZQH8yoO1Ol5rCFRL2hzp4_mcdq23Fk19Z_gVHn5pzk8C
* src/tools: 295b391656..afa4d85c5a
DEPS diff: f7fb707ebb..116647225e/DEPS

No update to Clang.

BUG=None

Change-Id: I5e4154992191e077e7467202bae39cbf1b05aaa5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321784
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@{#40830}
2023-09-28 13:21:39 +00:00
Victor Boivie
a93f581705 dcsctp: Don't generate FORWARD-TSN across stream resets
This was a fun bug which proved to be challenging to find a good
solution for. The issue comes from the combination of partial
reliability and stream resetting, which are covered in different RFCs,
and where they don't refer to each other...

Stream resetting (RFC 6525) is used in WebRTC for closing a Data
Channel, and is done by signaling to the receiver that the stream
sequence number (SSN) should be set to zero (0) at some time. Partial
reliability (RFC 3758) - and expiring messages that will not be
retransmitted - is done by signaling that the SSN should be set to a
certain value at a certain TSN, as the messages up until the provided
SSN are not to be expected to be sent again.

As these two functionalities both work by signaling to the receiver
what the next expected SSN should be, they need to do it correctly not
to overwrite each others' intent. And here was the bug. An example
scenario where this caused issues, where we are Z (the receiver),
getting packets from the sender (A):

 5  A->Z          DATA (TSN=30, B, SID=2, SSN=0)
 6          Z->A  SACK (Ack=30)
 7  A->Z          DATA (TSN=31, E, SID=2, SSN=0)
 8  A->Z          RE_CONFIG (REQ=30, TSN=31, SID=2)
 9          Z->A  RE_CONFIG (RESP=30, Performed)
10          Z->A  SACK (Ack=31)
11  A->Z          DATA (TSN=32, SID=1)
12  A->Z          FORWARD_TSN (TSN=32, SID=2, SSN=0)

Let's assume that the path Z->A had packet loss and A never really
received our responses (#6, #9, #10) in time.

At #5, Z receives a DATA fragment, which it acks, and at #7 the end of
that message. The stream is then reset (#8) which it signals that it
was performed (#9) and acked (#10), and data on another stream (2) was
received (#11). Since A hasn't received any ACKS yet, and those chunks
on SID=2 all expired, A sends a FORWARD-TSN saying that "Skip to TSN=32,
and don't expect SID=2, SSN=0". That makes the receiver expect the SSN
on SID=2 to be SSN=1 next time at TSN=32.

But that's not good at all - A reset the stream at #8 and will want to
send the next message on SID=2 using SSN=0 - not 1. The FORWARD-TSN
clearly can't have a TSN that is beyond the stream reset TSN for that
stream.

This is just one example - combining stream resetting and partial
reliability, together with a lossy network, and different variants of
this can occur, which results in the receiver possibly not delivering
packets because it expects a different SSN than the one the sender is
later using.

So this CL adds "breakpoints" to how far a FORWARD-TSN can stretch. It
will simply not cross any Stream Reset last assigned TSNs, and only when
a receiver has acked that all TSNs up till the Stream Reset last
assigned TSN has been received, it will proceed expiring chunks after
that.

Bug: webrtc:14600
Change-Id: Ibae8c9308f5dfe8d734377d42cce653e69e95731
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321600
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40829}
2023-09-28 11:31:02 +00:00
Saúl Ibarra Corretgé
d8633868b3 Enable SRTP GCM ciphers by default
Bug: webrtc:15178
Change-Id: I0216ce8f194fffc820723d82b9c04a76573c2f4f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305381
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40828}
2023-09-28 10:18:56 +00:00
Björn Terelius
98e71f57ea Subtract an additional 5kbps of the bitrate when backing off.
Traditionally, we'd back off to 85% of the measured throughput in response to an overuse. However, this backoff doesn't appear to be sufficient to drain the queues in some low-bitrate scenarios, and the problem has gotten a bit worse with the RobustThroughputEstimator. (The new estimate looks more stable. The old estimator had more variation, the lowest points were lower, causing backoffs to lower rates.)

With this change, we back off to 0.85*thoughput-5kbps. The difference is negligible except at low bitrates.

Bug: webrtc:13402,b/298636540
Change-Id: I53328953c056b8ad77f6c7561d6017f171b2dfbc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321701
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40827}
2023-09-28 09:36:36 +00:00
Philipp Hancke
332c56f087 MediaSession: ensure transport description factory exists
BUG=None

Change-Id: Ic29526c0c182257331d81ff3e66c5ae91ddf4ce1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321186
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#40826}
2023-09-28 08:26:05 +00:00
Florent Castelli
bbc7711878 Reduce log verbosity in codec selection implementation
Bug: webrtc:15064
Change-Id: I42a68987842d970437a0e00f318e2a97a80829e8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321700
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40825}
2023-09-28 07:57:06 +00:00
Danil Chapovalov
2d508f10d3 Deprecate old names for EncodedImage::RtpTimestamp accessor and setter
Replace remaining webrtc usage of the deprecated names.

Bug: webrtc:9378
Change-Id: Ie5bd2d3eaf68316e7c827fc35c7c7d8e2eadeb9f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321584
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40824}
2023-09-28 07:29:22 +00:00
Philipp Hancke
f97058e9ed Move static functions in media_session into anonymous namespace
and clean up methods that are now detected as unused.

BUG=None

Change-Id: If5dac3d43d4df6c7c108504c202c2383fe4a3f27
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321580
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40823}
2023-09-28 06:47:48 +00:00
Sergey Silkin
21b5ec1cc7 Add AV1 singlecast bitrate limits
Bug: b/300060059
Change-Id: I07763632b9fec19dae9d676bb2488cd7d2191e76
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321660
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Michael Horowitz <mhoro@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40822}
2023-09-27 22:19:55 +00:00
Emil Lundmark
d12e75997c Add instructions for adding and removing field trials
Since the registry now also stores the end date, the bug doesn't have to
specify this.

Bug: webrtc:14154
Change-Id: I94dee43105079607ff9d820e238018304eb441a2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321582
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40821}
2023-09-27 07:41:45 +00:00
Harald Alvestrand
83894d3847 Fire MaybeSignalReadyToSend in a PostTask when recursive
Speculative fix. Writing the test for it is more complex.

Bug: chromium:1483874
Change-Id: Icfaf1524b0499c609010753e0b6f3cadbd0e98f9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321480
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40820}
2023-09-27 07:36:40 +00:00
Emil Lundmark
4001cc7453 Populate field trial registry
The lists has been constructed by grepping the code base from commit
bfc2a3553d56 ("Remove more codec-related templating") using the PCRE
'(?<=")WebRTC-[^\s/"]+' and manually removing some false positives. Each
field trials has then, on a best effort basis, been associated with a
bug by doing a reverse git log lookup and using the corresponding bug
tag that was associated with the commit where the field trial key was
first introduced.

The field trials are divided into active and policy exempt. The latter
are for field trials that were added before commit c4a35898d916 ("Add
documentation for field trials") which introduced the new policy that
field trials henceforth needs to be registered. These field trials may
not have an associated bug nor an end date.

For all field trials that have been deemed experimentational, including
many policy exempt ones, an initial end date of 2024-04-01 has been
chosen. This date was chosen based on that the policy was introduced on
2022-06-23 and will give about 6 month grace period to allow cleanup of
potentially already expired field trials. Owners are of course free to
adjust the end date at a later time.

The lists have been validated by running most tests with the following
GN arg set:

rtc_strict_field_trials = "dcheck"

Bug: webrtc:14154
Change-Id: Ic86d96933fbe0f18393ec57d36719a382855c694
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321581
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40819}
2023-09-27 07:35:38 +00:00
Emil Lundmark
5543a967cd Add sub-command for validating that field trials conforms to the policy
Bug: webrtc:14154
Change-Id: I2c12351abaa956ca5a38ab911c8cf887b4453958
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321184
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40818}
2023-09-27 07:32:35 +00:00
Emil Lundmark
9686a4b580 Add sub-command for listing expired field trials
Bug: webrtc:14154
Change-Id: I9c5c8c4a177fb863af7e2c0ed7fa99454019cfbe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321183
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40817}
2023-09-27 07:29:34 +00:00
Emil Lundmark
b7fca15fd4 Refactor global variables to be immutable
Bug: None
Change-Id: I764018705df668f83e9d8ac90766aa6b06c44614
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321182
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40816}
2023-09-27 07:23:18 +00:00
Emil Lundmark
7d81e18ac0 Reformat field_trials.py to follow PEP-8
Bug: None
Change-Id: I29fffef124e3ca54ec2075bbae005fd5fdd75e83
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321181
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40815}
2023-09-27 07:20:45 +00:00
Palak Agarwal
0505115b5c Pass the correct abs_capture_timestamp while cloning audio frame
This change replaces type of absolute_capture_timestamp_ms_ in
TransformableOutgoingAudioFrame from int to optional uint and makes
the function AbsoluteCaptureTimestamp() inside
TransformableAudioFrameInterface pure virtual.

Bug: webrtc:14949
Change-Id: Id3bdbcba63a5f91105ab198208e4f2b11eb3c7db
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/319000
Commit-Queue: Palak Agarwal <agpalak@google.com>
Reviewed-by: Tony Herre <herre@google.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40814}
2023-09-26 15:57:52 +00:00
chromium-webrtc-autoroll
3218d743be Roll chromium_revision ae93f006ea..f7fb707ebb (1201360:1201480)
Change log: ae93f006ea..f7fb707ebb
Full diff: ae93f006ea..f7fb707ebb

Changed dependencies
* src/build: 2dca8e553d..5f393261bc
* src/buildtools: d21375885b..9d9c064e40
* src/ios: 45c7179359..74621ea7bd
* src/testing: 51cfed6400..3c3be88d84
* src/third_party: 02772896c1..5005138049
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/7c462e0d55..0a5cbdd220
* src/third_party/depot_tools: 0827dd28f1..d95084e851
* src/third_party/freetype/src: 49781ab72b..e0e5b838e5
* src/third_party/perfetto: c478eb8ffb..f92196dfb6
* src/tools: da07715f84..295b391656
DEPS diff: ae93f006ea..f7fb707ebb/DEPS

No update to Clang.

BUG=None

Change-Id: I90551cee8aa835cdf908fc7ddc08fd82cb07f02f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321547
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@{#40813}
2023-09-26 12:45:07 +00:00
Philipp Hancke
2bf1b99c6d Make CreateOffer/CreateAnswer return RTCErrorOr<SessionDescription>
BUG=webrtc:15499

Change-Id: I8b128fcd9a1114ae4625777a27f074a8314ef190
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/320720
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#40812}
2023-09-26 09:41:30 +00:00
Victor Boivie
06fbe63cbf dcsctp: Exit deferred stream reset on FORWARD-TSN
https://datatracker.ietf.org/doc/html/rfc6525#section-5.2.2:

E2:  If the Sender's Last Assigned TSN is greater than the cumulative
        acknowledgment point, then the endpoint MUST enter "deferred
        reset processing". ...  until the cumulative
        acknowledgment point reaches the Sender's Last Assigned TSN.

The cumulative acknowledgement point can not only be reached by
receiving DATA chunks, but also by receiving a FORWARD-TSN that
instructs the receiver to skip them. This was only done for DATA and not
for FORWARD-TSN, which is now corrected.

Additionally, an unnecessary implicit sending of SACK after having
received FORWARD-TSN was removed as this is done anyway every time a
packet has been received. This unifies the processing of DATA and
FORWARD-TSN more.

Bug: webrtc:14600
Change-Id: If797d3c46e741074fe05e322d0aebec765a87968
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321400
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40811}
2023-09-26 07:30:24 +00:00
chromium-webrtc-autoroll
259d95f1f5 Roll chromium_revision 3a03dc546a..ae93f006ea (1201238:1201360)
Change log: 3a03dc546a..ae93f006ea
Full diff: 3a03dc546a..ae93f006ea

Changed dependencies
* src/base: a511759c88..7d979505e8
* src/ios: e29e22c8e4..45c7179359
* src/testing: b9149c3227..51cfed6400
* src/third_party: b5ef97be2f..02772896c1
* src/third_party/androidx: DqV7MfoS-OdweHanUQqLvihUZG2azL412tGbq3_z7K8C..a9CGOell056bhQij2JhATC4nOCgZpeDXqqwWjr1_ewAC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/3c4b5cf37f..7c462e0d55
* src/third_party/depot_tools: f936d540e1..0827dd28f1
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/5f8db64abc..82018abee6
* src/third_party/perfetto: 43ee4b90e3..c478eb8ffb
* src/tools: 258e67d2a8..da07715f84
* src/tools/luci-go: git_revision:8b73cff3b780a7136c4904103f19124d2be3dee1..git_revision:3e49653ac027a003d9ef6cf89068acbf28f5bd9e
* src/tools/luci-go: git_revision:8b73cff3b780a7136c4904103f19124d2be3dee1..git_revision:3e49653ac027a003d9ef6cf89068acbf28f5bd9e
DEPS diff: 3a03dc546a..ae93f006ea/DEPS

No update to Clang.

BUG=None

Change-Id: Ibffde12794cb46062281b131558f5db090823635
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321544
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@{#40810}
2023-09-26 07:10:50 +00:00
Philipp Hancke
bfc2a3553d Remove more codec-related templating
BUG=webrtc:15214

Change-Id: I719de4ef2b9c98a01b14f8f292098f19baa0d925
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321341
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40809}
2023-09-26 06:55:24 +00:00
webrtc-version-updater
7829daf245 Update WebRTC code version (2023-09-26T04:02:19).
Bug: None
Change-Id: Idfcc4d95fba64ffc75630315bebef51b3fcc7065
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321542
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@{#40808}
2023-09-26 06:51:20 +00:00
Ying Wang
78c119cbb3 Remove check on last_packet_received_time_ as it's no longer used.
Bug: webrtc:15377
Change-Id: Ia8181ae5d546e6d6c0e97ef1daf5ab90d1b6a0aa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321440
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40807}
2023-09-26 03:21:34 +00:00
chromium-webrtc-autoroll
9b5d795b01 Roll chromium_revision eb86ccf4cd..3a03dc546a (1201083:1201238)
Change log: eb86ccf4cd..3a03dc546a
Full diff: eb86ccf4cd..3a03dc546a

Changed dependencies
* src/base: e6be4127dd..a511759c88
* src/build: 07dfe8f568..2dca8e553d
* src/ios: f43276a583..e29e22c8e4
* src/testing: e530d9546a..b9149c3227
* src/third_party: d561ea5ac3..b5ef97be2f
* src/third_party/androidx: hruMK_i8vh9qvHxGsCV7FqycDsk4ggbDeQ89PJ7leTkC..DqV7MfoS-OdweHanUQqLvihUZG2azL412tGbq3_z7K8C
* src/third_party/depot_tools: c5505889cf..f936d540e1
* src/tools: 0629897abc..258e67d2a8
DEPS diff: eb86ccf4cd..3a03dc546a/DEPS

No update to Clang.

BUG=None

Change-Id: I96f94fd134608717e22b93a1aea4637830c4483e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321541
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@{#40806}
2023-09-26 01:09:11 +00:00
chromium-webrtc-autoroll
0ca4d621f2 Roll chromium_revision ae69785833..eb86ccf4cd (1200919:1201083)
Change log: ae69785833..eb86ccf4cd
Full diff: ae69785833..eb86ccf4cd

Changed dependencies
* src/build: 8a1136d82d..07dfe8f568
* src/buildtools: b1681a8c6c..d21375885b
* src/ios: 6a1d0bb6a0..f43276a583
* src/testing: 83f665948d..e530d9546a
* src/third_party: ee9272bd24..d561ea5ac3
* src/third_party/libc++/src: 645470002f..26cbb86c20
* src/third_party/libunwind/src: 1f88fff745..f2ca661b1d
* src/third_party/perfetto: d0a7b97ca3..43ee4b90e3
* src/third_party/turbine: NR31kJWll1NZz_scMvMPtPH_P3wOQ5aKBJ-n8XQ7QrYC..yCsGwOtj8SizFXXeS-xmdIaZ3PuyTsy8IJsp411p_uIC
* src/tools: 879a953b9d..0629897abc
DEPS diff: ae69785833..eb86ccf4cd/DEPS

No update to Clang.

BUG=None

Change-Id: I6b5f72b64e9e602ae8d04d8021ab330611ae9c1d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321284
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@{#40805}
2023-09-25 19:13:31 +00:00
Victor Boivie
77df7ffd0b dcsctp: Cleanup use of matchers
More general matches that can be reused, less specialized ones.

Bug: None
Change-Id: I12ea98caf4f566168566173a509c204bd25e5a13
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321123
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40804}
2023-09-25 17:39:28 +00:00
Emil Lundmark
7892f05411 Configure Pylint to follow PEP-8
This is a follow-up on [1] to make presubmit succeed on PEP-8 compliant
code.

[1] https://webrtc-review.googlesource.com/c/src/+/321122

Bug: None
Change-Id: Ie4261cf6c15f22c152a7d5793d7b1f7a71109f33
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321081
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40803}
2023-09-25 15:56:09 +00:00
Philipp Hancke
7d1aff6eed Unify RTP payload type validity checking
making the UsedId generator the source of truth.
BUG=webrtc:12197

Change-Id: I4318a1366f8b2e20ea5ae264232437a9006c5103
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321120
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40802}
2023-09-25 14:54:22 +00:00
Tommi
6bf2d31e71 Change PortInterface::Type to string_view and make type_ member const
Bug: none
Change-Id: Id1b0298eede5d2ae5010cc450d7bcb9eadd7b874
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/318080
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40801}
2023-09-25 13:48:50 +00:00
chromium-webrtc-autoroll
070d386cfc Roll chromium_revision 286dbc6af0..ae69785833 (1200141:1200919)
Change log: 286dbc6af0..ae69785833
Full diff: 286dbc6af0..ae69785833

Changed dependencies
* src/base: 0f1d959599..e6be4127dd
* src/build: 9b3f9169a1..8a1136d82d
* src/buildtools: d53d0131e2..b1681a8c6c
* src/ios: 96f3496e68..6a1d0bb6a0
* src/testing: f5159f7d11..83f665948d
* src/third_party: d0eae4649d..ee9272bd24
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/99f2d536fb..3c4b5cf37f
* src/third_party/depot_tools: af369d8962..c5505889cf
* src/third_party/freetype/src: c4073d8251..49781ab72b
* src/third_party/libc++/src: a75061bc37..645470002f
* src/third_party/libc++abi/src: cb9bef1717..c28dc42f0d
* src/third_party/libunwind/src: 4027f4521c..1f88fff745
* src/third_party/perfetto: 6bbbba9c6a..d0a7b97ca3
* src/third_party/r8: qLYuLt4k9raGYbeiaAh3ORseYrHh8pt9WUaeD60Yov4C..w5NK9teKNDuEhU_7rQE8WYwuBzdXA8lVkJwo6VOgWv8C
* src/tools: 498d9223ab..879a953b9d
DEPS diff: 286dbc6af0..ae69785833/DEPS

No update to Clang.

BUG=None

Change-Id: I9b20bd0c332cf3a60d4b5a2db2537a035883b405
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321381
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@{#40800}
2023-09-25 13:38:39 +00:00
Diep Bui
29d4a013bc Reland: use loss based bwe v2 in the start phase.
Original CL: https://webrtc-review.googlesource.com/c/src/+/320840

Bug: webrtc:12707
Change-Id: Iff3a0c76c26aeb7cb0ac24c1f7aab3529c4a1659
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321420
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40799}
2023-09-25 13:26:34 +00:00
Artem Titov
ba97eec127 Add string_view overload for Wrap method
FileWrapper API is WebRTC private, so exposing absl::string_view overload for thrid-party users.

Bug: b/301228802
Change-Id: Id81775c8078e61eafe9bee53a4cba6ac476b11d6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321460
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40798}
2023-09-25 10:55:05 +00:00
Björn Terelius
b4d4bbcebd Revert "Clean up last_packet_received_time_ as it's no longer used."
This reverts commit 2f4bc6416651be40ef8f95a4695e6b7c41f18666.

Reason for revert: Breaks downstream test

Original change's description:
> Clean up last_packet_received_time_ as it's no longer used.
>
> Bug: webrtc:15377
> Change-Id: I5453b9fd572a04dbea3241a2eb1c8ad8bb8b1186
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/320560
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Commit-Queue: Ying Wang <yinwa@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40792}

Bug: webrtc:15377
Change-Id: Ifa57671cc479cdd86f543c4edc236221beb76f90
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321340
Auto-Submit: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Ying Wang <yinwa@webrtc.org>
Owners-Override: Björn Terelius <terelius@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40797}
2023-09-25 08:49:53 +00:00
Danil Chapovalov
9c58483b5a Rename EncodedImage property Timetamp to RtpTimestamp
To avoid name collision with Timestamp type,
To avoid confusion with capture time represented as Timestamp

Bug: webrtc:9378
Change-Id: I8438a9cf4316e5f81d98c2af9dc9454c21c78e70
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/320601
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40796}
2023-09-24 20:06:48 +00:00
Johannes Kron
bbf27e0081 Remove NSApplicationActivateIgnoringOtherApps
NSApplicationActivateIgnoringOtherApps is about to be deprecated.
The default behavior is good enough.

Tested on Chrome using https://wicg.github.io/conditional-focus/demo/

Bug: webrtc:15511
Change-Id: I1f59aea3d4e7c4942d17ee5c4f1b6c2d398016ee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321080
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Auto-Submit: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40795}
2023-09-24 13:55:12 +00:00
Victor Boivie
850296b7a4 Reapply "dcsctp: Negotiate zero checksum"
The handover state has been added with
commit daaa6ab5a8c74b87d9d6ded07342d8a2c50c73f7.

This reverts commit 014cbed9d2377ec0a0b15f2c48b21a562f770366.

Bug: webrtc:14997
Change-Id: Ie84f3184f3ea67aaa6438481634046ba18b497a6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/320941
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40794}
2023-09-23 21:33:52 +00:00
webrtc-version-updater
63c50f59a6 Update WebRTC code version (2023-09-23T04:12:34).
Bug: None
Change-Id: I2b5a8ed1987e47ada4bb6da70a75376fd2ad2243
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321108
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@{#40793}
2023-09-23 05:53:50 +00:00
Ying Wang
2f4bc64166 Clean up last_packet_received_time_ as it's no longer used.
Bug: webrtc:15377
Change-Id: I5453b9fd572a04dbea3241a2eb1c8ad8bb8b1186
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/320560
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40792}
2023-09-23 00:03:11 +00:00
chromium-webrtc-autoroll
d2f4cf9fd1 Roll chromium_revision c066d24408..286dbc6af0 (1200027:1200141)
Change log: c066d24408..286dbc6af0
Full diff: c066d24408..286dbc6af0

Changed dependencies
* src/base: 8df65eb6a0..0f1d959599
* src/build: 3a0a70c754..9b3f9169a1
* src/buildtools: e7cf6549b4..d53d0131e2
* src/ios: 9b82c02274..96f3496e68
* src/testing: 7bc5b55fb5..f5159f7d11
* src/third_party: 04ba03d92d..d0eae4649d
* src/third_party/depot_tools: 67e56f6382..af369d8962
* src/third_party/perfetto: ff0bba2e85..6bbbba9c6a
* src/tools: 4e24d4cf36..498d9223ab
DEPS diff: c066d24408..286dbc6af0/DEPS

No update to Clang.

BUG=None

Change-Id: Ib4485c5f9f670bdc2e47dcda599665de6f99af23
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321104
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@{#40791}
2023-09-23 00:02:08 +00:00
Diep Bui
4aa2b40ffe Revert "Use loss based bwe v2 in the start phase."
This reverts commit b6c7ddd6a137e187fa459255488da3b70b0a6c24.

Reason for revert: broken unit test

Original change's description:
> Use loss based bwe v2 in the start phase.
>
> TESTED=manual before:screen/ANtkMApoYczA2V5; after:screen/9kBoSvYKzKZR4sK
>
> Bug: webrtc:12707
> Change-Id: Ic156e363625c4b7476011059f3cd95641972091c
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/320840
> Commit-Queue: Diep Bui <diepbp@webrtc.org>
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40789}

Bug: webrtc:12707
Change-Id: Ibde45436934707b8e0084aa496dc249bc1c78ab2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321180
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#40790}
2023-09-22 22:51:53 +00:00
Diep Bui
b6c7ddd6a1 Use loss based bwe v2 in the start phase.
TESTED=manual before:screen/ANtkMApoYczA2V5; after:screen/9kBoSvYKzKZR4sK

Bug: webrtc:12707
Change-Id: Ic156e363625c4b7476011059f3cd95641972091c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/320840
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40789}
2023-09-22 10:53:34 +00:00