Commit graph

41438 commits

Author SHA1 Message Date
Björn Terelius
3baefbf2dd Return absl::optional<size_t> from FileWrapper::FileSize()
Bug: None
Change-Id: If5219a8f7f7e81ea660b0495c48f96adb6948228
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/348860
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42206}
2024-05-02 10:40:38 +00:00
webrtc-version-updater
af65d4bada Update WebRTC code version (2024-05-02T04:06:36).
Bug: None
Change-Id: If9faf46db2cf0f9f3b9a33488808f36a4d43f76d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349561
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@{#42205}
2024-05-02 06:04:55 +00:00
Tommi
57b09eca64 Update AudioFrameOperations to require ArrayView
Bug: chromium:335805780
Change-Id: I14d97315f4cffa21bcc11b063e86c5adcebe78ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/348800
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Olga Sharonova <olka@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42204}
2024-04-30 21:26:56 +00:00
Philipp Hancke
acfd279a14 av1: make packetization generate more evenly sized packets
Implements a two-pass approach to packetization which creates
packets of an even size similar to RtpPacketizer::SplitAboutEqually.
This improves the bandwidth estimation.

The algorithm does a first pass with the existing packetizer, then
iterates through the resulting packet sizes and sums up the bytes left unused in each packet.
It then calculates a new maximum packet length as
  configured_max_packet_len - ((unused_bytes - packets + 1) / packets)
adjusts for the overhead and re-runs the packetization algorithm.

For example, a list of OBUs with sizes
  {1206, 1476, 1431}
currently gets packetized greedily as payload sizes
  {1200, 1200, 1200, 523}
With this change, it gets packetized as
  {1032, 1032, 1032, 1028}

This change is guarded by the field trial
  WebRTC-Video-AV1EvenPayloadSizes
which is acting as a rollout flag.

BUG=webrtc:15927

Co-authored-by: Shyam Sadhwani <shyamsadhwani@meta.com>
Change-Id: I4f0b3c27de6f06104908dd769c4dd1f34115712c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/348100
Commit-Queue: Philipp Hancke <phancke@meta.com>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42203}
2024-04-30 15:46:06 +00:00
Tommi
1f3679884c Start using ArrayView in AudioFrame, update PushResampler
Start introducing ArrayView to AudioFrame and code that flows down
from there.  In this first step:
* Add `data_view()` that returns a read-only ArrayView for the
  audio buffer. When AudioFrame is not initialized however, data_view()
  will return a nullptr whereas the current data() method never returns
  nullptr.
* Add `mutable_data()` that requires two arguments for properly setting
  the samples per channel and number of channels that's required for
  accurately reserving the returned mutable ArrayView.
  A notable behavior change is that if the requested number of channels
  is larger than supported or the calculated buffer size is too large,
  the function will trigger a check.
* Add TODOs for following work.

Bug: chromium:335805780
Change-Id: I2937de800422589ebe6a3840b3caadf3d9ff8b00
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/347982
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42202}
2024-04-30 15:33:08 +00:00
Danil Chapovalov
652bd288b3 Query EncoderInfoSettings through propagated field trials
Instead of from the global field trial string.

Bug: webrtc:42220378
Change-Id: Iddb41429e388792de02f702b4caa35689c57d9e5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/347720
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42201}
2024-04-30 11:16:31 +00:00
Evan Shrubsole
a3458809fc Add IWYU export pragmas to gtest/gmock
This prevents clangd from complaining about unused includes from
test/gmock.h and test/gtest.h

Bug: b/42226242
Change-Id: I2bd0f61f63981dff697d60f353d198fd81ab1457
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349480
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/main@{#42200}
2024-04-30 11:15:05 +00:00
Tommi
b2b6166dc4 Make AudioFrame::channel_layout_ private and check for valid values
Bug: chromium:335805780
Change-Id: Ida671d317c07983cc51faa1a498642747dbb810c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349322
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42199}
2024-04-30 11:02:40 +00:00
Byoungchan Lee
1ce9a171b9 Generate privacy manifest when creating Apple Framework
Bug: webrtc:42226059
Change-Id: I4427346b2340c6fafcaf9934ee462582dfa83fc5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349440
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42198}
2024-04-30 10:49:08 +00:00
Evan Shrubsole
cd09858f4a Convert decoder TRACE_EVENT to flows
This is the first new style trace event so this CL adds and updates
WebRTCs Perfetto configuration.

* Changes all #includes to target "third_party/perfetto". Added this
to DEPS.
* Expose the Perfetto public config in the "tracing" group using
an all_dependent_configs statement. This means the config is included
in all parts that include the "//:tracing" group. However, direct
perfetto includes are banned per DEPS.
* In order to expose Perfetto types (ie Flow/TerminatingFlow) the
perfetto headers are a dependancy on all targets. This should not
affect binary size as these are not used when perfetto is not enabled
and will not be linked.

Bug: b/42226290
Change-Id: I5711d81dae95ee907cbcd41bf1ee9b55d2ec595c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349161
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/main@{#42197}
2024-04-30 08:47:29 +00:00
webrtc-version-updater
c3cdab00d8 Update WebRTC code version (2024-04-30T04:14:10).
Bug: None
Change-Id: I7feed3b26db932df98f072e2ab800b6d67db6505
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349421
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@{#42196}
2024-04-30 05:57:25 +00:00
Mirko Bonadei
ffb49c22ca Add Monorail -> Google Issue Tracker map.
This CL also creates a docs/monorail-bog-tracker-migration where
we can add more information (if needed) about the migration.

No-Try: True
Bug: None
Change-Id: Ieec36a793daf8e30c6181f7cd595fce922948838
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349323
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42195}
2024-04-29 19:08:57 +00:00
Harald Alvestrand
d78e30e00b Deprecate cricket::VideoCodec and cricket::AudioCodec
These are aliases for cricket::Codec.
Also remove internal usage

Bug: b/42225532
Change-Id: I220b95260dc942368cb6280432a058159eec8700
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349321
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42194}
2024-04-29 16:24:51 +00:00
Tony Herre
64437e8cc0 Calculate the audio level of audio packets before encoded transforms
Calculate the RMS audio level of audio packets being sent before
invoking an encoded frame transform, and pass them with the encode frame
object.

Before this, the audio level was calculated at send time by having rms_levels_ look at all audio samples encoded since the last send. This
is fine without a transform, as this is done synchronously after
encoding, but with an async transform which might take arbitrarily long,
we could end up marking older audio packets with newer audio levels, or
not at all.

This also makes things work correctly if external encoded frames are
injected from elsewhere to be sent, and exposes the AudioLevel on the
TransformableFrame interface.

Bug: chromium:337193823, webrtc:42226202
Change-Id: If55d2c1d30dc03408ca9fb0193d791db44428316
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349263
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tony Herre <herre@google.com>
Cr-Commit-Position: refs/heads/main@{#42193}
2024-04-29 15:14:25 +00:00
Evan Shrubsole
047238ebda WebRTC perfetto chromium integration
Bug: webrtc:15917
Change-Id: I2a459565364e0eedba8d22c23427409b35ba8387
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/348780
Reviewed-by: Mikhail Khokhlov <khokhlov@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/main@{#42192}
2024-04-29 12:12:48 +00:00
Per K
569849e885 Move call/simulated_network to test/network
Old target and call/simulated.h exist but refer to new target in test/network.

Bug: webrtc:14525
Change-Id: Ida04cef17913f2f829d7e925ae454dc40d5e8240
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349264
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Owners-Override: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42191}
2024-04-29 09:55:06 +00:00
Emil Lundmark
c21a150b25 Use Google issue tracker bug IDs in the field trial registry
This migration was done semi-automatically. I didn't manage to find any
corresponding bug ID for chromium:413437 nor chromium:949536 in the new
issue tracker. Since these are policy-exempt anyway I opted for setting
the ID to NO_BUG and leaving a comment with the old ID.

Bug: None
Change-Id: If2d212ba554e40c42193b51f62a7da8a7f783d41
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349267
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42190}
2024-04-29 07:49:17 +00:00
Tommi
6ab9085d19 Fix iwyu error introduced recently.
This fixes a build error introduced by:
https://webrtc-review.googlesource.com/c/src/+/349001

bot:
https://ci.chromium.org/ui/p/chromium/builders/webrtc.fyi/WebRTC%20Chromium%20FYI%20ios-device

Error:

../../third_party/webrtc/api/video_codecs/libaom_av1_encoder_factory.cc:494:27: error: expected ';' after expression
494 |   rtc::SimpleStringBuilder sb(buf);
|                           ^
|                           ;
../../third_party/webrtc/api/video_codecs/libaom_av1_encoder_factory.cc:494:8: error: no member named 'SimpleStringBuilder' in namespace 'rtc'

Bug: none
Change-Id: I020040f367005ab56068cf4356e5effb380b7200
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349320
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42189}
2024-04-29 07:13:44 +00:00
webrtc-version-updater
3e7a5506f2 Update WebRTC code version (2024-04-29T04:02:07).
Bug: None
Change-Id: Ica031808aebce1655f983699db2da89ed8ecd242
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349282
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@{#42188}
2024-04-29 04:51:24 +00:00
Tommi
7e41c06d25 Deprecate the StreamInterface::SignalEvent sigslot
In its stead, there's now a SetEventCallback() method.

Bug: webrtc:11943
Change-Id: If936d6e1e23e8a584f06feb123ecf2d450ea4145
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/319040
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42187}
2024-04-28 21:30:18 +00:00
webrtc-version-updater
e92f4095ad Update WebRTC code version (2024-04-28T04:02:16).
Bug: None
Change-Id: I6356a417b386556cea4740a032455ea66c9cd740
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349281
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@{#42186}
2024-04-28 05:45:46 +00:00
webrtc-version-updater
c75ee61a0b Update WebRTC code version (2024-04-27T04:07:22).
Bug: None
Change-Id: Ib172e6af140a6e37dc0107add32dba5283e120f9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349280
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@{#42185}
2024-04-27 05:55:44 +00:00
philipel
5ccd44b8f7 Remove EncodedData::reference_buffers.
Bug: b/336978562
Change-Id: I5ddcc6bc6dadf8ba7c22d96db125e4351338bf7a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349164
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42184}
2024-04-26 15:48:08 +00:00
Jesús de Vicente Peña
3703b3500c Using Ntp times for the absolute send time.
Bug: webrtc:15930
Change-Id: Ie460ac6e3561efafeb11bf36735cb6f33bdfd8a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349162
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Lionel Koenig Gélas <lionelk@google.com>
Cr-Commit-Position: refs/heads/main@{#42183}
2024-04-26 12:59:09 +00:00
Christoffer Dewerin
a130e37dad Reland "lets try again"
This reverts commit cfddbfeae0.

Reason for revert: 3rd time is the charm!

Original change's description:
> Revert "lets try again"
>
> This reverts commit f03b06e3ac.
>
> Reason for revert: Testing again
>
> Original change's description:
> > lets try again
> >
> > No-Try: True
> > Bug: webrtc:337093715, webrtc:337095649, b:337172394
> > Change-Id: Id8afe5e0aba6f64314527fe14a3631566cbc34ee
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349261
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Christoffer Dewerin <jansson@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#42180}
>
> Bug: webrtc:337093715, webrtc:337095649, b:337172394
> Change-Id: If94f5b9d2747d4c77606445dcfc03cc6f67a6cf8
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349262
> Commit-Queue: Christoffer Dewerin <jansson@webrtc.org>
> Owners-Override: Christoffer Dewerin <jansson@webrtc.org>
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Auto-Submit: Christoffer Dewerin <jansson@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#42181}

No-Try: True
Bug: webrtc:337093715, webrtc:337095649, b:337172394
Change-Id: Ida43ce340922e5a7db7fb3a9a49e2c594c608193
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349223
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Christoffer Dewerin <jansson@webrtc.org>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42182}
2024-04-26 09:56:00 +00:00
Christoffer Dewerin
cfddbfeae0 Revert "lets try again"
This reverts commit f03b06e3ac.

Reason for revert: Testing again

Original change's description:
> lets try again
>
> No-Try: True
> Bug: webrtc:337093715, webrtc:337095649, b:337172394
> Change-Id: Id8afe5e0aba6f64314527fe14a3631566cbc34ee
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349261
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Christoffer Dewerin <jansson@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#42180}

Bug: webrtc:337093715, webrtc:337095649, b:337172394
Change-Id: If94f5b9d2747d4c77606445dcfc03cc6f67a6cf8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349262
Commit-Queue: Christoffer Dewerin <jansson@webrtc.org>
Owners-Override: Christoffer Dewerin <jansson@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Christoffer Dewerin <jansson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42181}
2024-04-26 08:14:25 +00:00
Christoffer Dewerin
f03b06e3ac lets try again
No-Try: True
Bug: webrtc:337093715, webrtc:337095649, b:337172394
Change-Id: Id8afe5e0aba6f64314527fe14a3631566cbc34ee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349261
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Christoffer Dewerin <jansson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42180}
2024-04-26 08:03:13 +00:00
Christoffer Dewerin
0d9e83c769 testing
No-Try: True
Bug: webrtc:337093715, webrtc:337095649
Change-Id: I9d5085eba370f67c606721805f94f177f7b7a4a4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349260
Commit-Queue: Christoffer Dewerin <jansson@webrtc.org>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42179}
2024-04-26 07:08:51 +00:00
webrtc-version-updater
b386d47ad7 Update WebRTC code version (2024-04-26T04:03:31).
Bug: None
Change-Id: I925d08dd1fd83689ba91f4de6d031655891a03e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349240
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@{#42178}
2024-04-26 06:02:02 +00:00
memetao
decc48fd97 Fix 'Screen flickering on ScreenCapturerWinDirectx'
Bug: webrtc:15718
Change-Id: I230a0a7d196a4a3aea3b3e47cdf4f47c437e7196
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/330800
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Reviewed-by: Zijie He <zijiehe@chromium.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#42177}
2024-04-25 21:18:27 +00:00
chromium-webrtc-autoroll
3772354f0c Roll chromium_revision ddd32f326f..669d8ffcd7 (1292311:1292426)
Change log: ddd32f326f..669d8ffcd7
Full diff: ddd32f326f..669d8ffcd7

Changed dependencies
* src/build: a1bcbf3070..3be1f2e6bb
* src/ios: f61678a33b..4873438ace
* src/testing: 522f97bede..03850de4bf
* src/third_party: c83eeb2efc..ffa3f1738b
* src/third_party/androidx: vH4-Dcmlv3sN2aI4cWGkJcLoqSzpbyetwkVKIqmzvooC..zZo5F2oXtUeFEEaLYtDIDMxZ_AFkQy6IYppOXRw7QeYC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/01d7072ad6..d980d879d2
* src/tools: 6981364c4a..736f7f77cd
DEPS diff: ddd32f326f..669d8ffcd7/DEPS

No update to Clang.

BUG=None

Change-Id: I93750f469149ba96c4096f6a6010fe451e464351
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349181
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@{#42176}
2024-04-25 15:04:44 +00:00
Victor Boivie
b5f2442275 dcsctp: Remove dead code
This was only used for handover state, and not updated at all after
https://webrtc-review.googlesource.com/c/src/+/322623.

Bug: None
Change-Id: I5005902486d1fae76badd9f196e0e3525fe573de
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349163
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42175}
2024-04-25 12:39:48 +00:00
Sergey Silkin
2e1a2cd20d Make stats analysis working with empty layers (bitrate=0)
Setting layer's target bitrate to zero is a valid scanario. Example of command line: out/debug/video_codec_perf_tests --gtest_also_run_disabled_tests --gtest_filter=*EncodeDecode --encoder=libvpx-vp9 --decoder=libvpx-vp9 --scalability_mode=L2T1_KEY --width=640 --height=360 --bitrate_kbps=0,400

Bug: webrtc:14852
Change-Id: If0619dde1da254699939d56f2971dd0bc8391d95
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349160
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42174}
2024-04-25 08:49:53 +00:00
chromium-webrtc-autoroll
d00942111e Roll chromium_revision 8b3f58c31e..ddd32f326f (1292052:1292311)
Change log: 8b3f58c31e..ddd32f326f
Full diff: 8b3f58c31e..ddd32f326f

Changed dependencies
* src/base: 7d35d0d2e7..b9a86f600d
* src/build: 8377063131..a1bcbf3070
* src/ios: dca2d1ee24..f61678a33b
* src/testing: 9de22ffb33..522f97bede
* src/third_party: 234805a216..c83eeb2efc
* src/third_party/androidx: zjTkDjEytq8UvMcux37svh6JASctwxfi7K-XJ3tY-CEC..vH4-Dcmlv3sN2aI4cWGkJcLoqSzpbyetwkVKIqmzvooC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/acbc4b1e3c..01d7072ad6
* src/third_party/depot_tools: 13f6ecbbbb..fb94001f06
* src/third_party/perfetto: 196f4d514c..234fd02711
* src/tools: eb6754d22d..6981364c4a
DEPS diff: 8b3f58c31e..ddd32f326f/DEPS

No update to Clang.

BUG=None

Change-Id: I2fd8a39394a4a3c5fc02c93a9e7d7e4850080492
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349140
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@{#42173}
2024-04-25 08:44:11 +00:00
philipel
b85b4c0f29 Reland "New video encoder API."
This reverts commit 56e6309749.

Reason for revert: Preparing for reland

Original change's description:
> Revert "New video encoder API."
>
> This reverts commit 42f12d5183.
>
> Reason for revert: tests fails downstream
>
> Original change's description:
> > New video encoder API.
> >
> > Also initial implementation wrapping the libaom AV1 encoder.
> >
> > Note that for now this is intended for prototype purposes.
> >
> > Bug: none
> > Change-Id: Iac42ca4aecb6a204601c9f00bfb300e3eda3c4f4
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306181
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> > Reviewed-by: Erik Språng <sprang@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#42108}
>
> Bug: none
> Change-Id: I927260353afb91df6c7650364baee4f13a098efd
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/347883
> Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Owners-Override: Philip Eliasson <philipel@webrtc.org>
> Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#42111}

Bug: none
Change-Id: Ib72ef5359ead697d27301e2ca2408e8b27165931
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349001
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42172}
2024-04-25 08:19:16 +00:00
Harald Alvestrand
b0e7057e1b Introduce the TransformerHost interface
This is the first step in implementing custom codecs in SDP.

Bug: none
Change-Id: I7789478208a769eaefd58b410ae6f488c604594d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/348662
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tony Herre <herre@google.com>
Cr-Commit-Position: refs/heads/main@{#42171}
2024-04-25 07:54:28 +00:00
Victor Boivie
28d07ddbfd dcsctp: Compute RTO with higher precision
Since the code measuring the RTT has been converted to using TimeDelta
which internally stores the duration in microseconds, from DurationMs
which uses milliseconds, the RTO calculation can use the higher
precision to calculate lower non-zero durations on really fast networks
such within a data center.

Before this CL, which is from the initial drop of dcSCTP, the RTO
calculation was done using the algorithm from the paper "V. Jacobson:
Congestion avoidance and control", but now we're using the original
algorith from https://tools.ietf.org/html/rfc4960#section-6.3.1, which
comes from https://datatracker.ietf.org/doc/html/rfc6298#section-2.

Two issues were found and corrected:
 1. The min RTT variance that is specified in the config file was
    previously incorrectly divided by 8. That was not its intention,
    but we're keeping that behaviour as other clients have actually
    measured a good value to put there. This represents "G" in
    the "basic algorithm" above, and since that is multiplied with K,
    which is four, the default value of 220 wouldn't make sense if it
    wasn't scaled down, as that would make the RTO easily saturate to
    the RTO_max (800ms).
 2. The previous algorithm had large round-off errors (probably because
    the code used milliseconds), which makes fairly big changes to the
    calculated RTO in some situations.

Bug: webrtc:15593
Change-Id: I95a3e137c2bbbe7bf8b99c016381e9e63fd01d87
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349000
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42170}
2024-04-25 07:53:24 +00:00
Harald Alvestrand
1a3120f3fd Move some integration test functions to the .cc file
The integration_test_helpers.h file was too long and had too many
big functions inline.

This CL takes some of the largest and puts them in the .cc file.

Bug: None
Change-Id: Ibaaf9675ca8b5efa29878b4883b21f14104451a7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349020
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42169}
2024-04-25 07:25:42 +00:00
webrtc-version-updater
f9a5ed0399 Update WebRTC code version (2024-04-25T04:03:46).
Bug: None
Change-Id: Iae02d869fdccfb27f53de1bd00c4f8a0b477ee71
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349102
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@{#42168}
2024-04-25 05:32:45 +00:00
chromium-webrtc-autoroll
caa1201a08 Roll chromium_revision f24efc069c..8b3f58c31e (1291744:1292052)
Change log: f24efc069c..8b3f58c31e
Full diff: f24efc069c..8b3f58c31e

Changed dependencies
* src/base: 4a55154d85..7d35d0d2e7
* src/build: cd430bd4b2..8377063131
* src/buildtools/linux64: git_revision:155c53952ec2dc324b0438ce5b9bd4a286577d25..git_revision:f284b6b47039a2d7edfcbfc51f52664f82b5a789
* src/buildtools/mac: git_revision:155c53952ec2dc324b0438ce5b9bd4a286577d25..git_revision:f284b6b47039a2d7edfcbfc51f52664f82b5a789
* src/buildtools/win: git_revision:155c53952ec2dc324b0438ce5b9bd4a286577d25..git_revision:f284b6b47039a2d7edfcbfc51f52664f82b5a789
* src/ios: 882b5ac360..dca2d1ee24
* src/testing: bb1dc8b677..9de22ffb33
* src/third_party: a5392d692c..234805a216
* src/third_party/androidx: Tf3-yKR6v8YVBUsPwghglgJNy7MCCn7Q9arzVk1f71QC..zjTkDjEytq8UvMcux37svh6JASctwxfi7K-XJ3tY-CEC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/48216439d9..acbc4b1e3c
* src/third_party/depot_tools: 3d170cb6ce..13f6ecbbbb
* src/third_party/perfetto: 234fd02711..196f4d514c
* src/tools: 6e2dc22fde..eb6754d22d
DEPS diff: f24efc069c..8b3f58c31e/DEPS

Clang version changed llvmorg-19-init-8091-gab037c4f:llvmorg-19-init-8943-gd8503a38
Details: f24efc069c..8b3f58c31e/tools/clang/scripts/update.py

BUG=None

Change-Id: I23f33fddbad34d316fa132e24a8b4cac940309d2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349081
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@{#42167}
2024-04-24 20:55:45 +00:00
Evan Shrubsole
db50b03553 Add perfetto build config
This adds Perfetto support to WebRTC with a GN flag rtc_use_perfetto.
The configuration of perfetto depends on whether or not webrtc is
build within Chrome or not. When in Chrome, WebRTC will depend on
//third_party/perfetto:libperfetto. When building standalone, specific includes required for Perfetto are exposed with the library webrtc_libperfetto.

The perfetto trace API is exposed with a header export in
trace_event.h which is used instead of the legacy API.

The addition of Perfetto means there are 4 compilation modes for
tracing in WebRTC,
1. No tracing implementation.
2. Legacy tracing (AddTraceEvent/GetCategoryEnabled).
3.a. Perfetto statically linked (webrtc_libperfetto).
3.b. Perfetto in Chrome (Chrome's libperfetto).

This CL removes the tracing expectations from
rtc_stats_integrationtest.cc because those directly used the old API.

Integration into Chrome is a follow up CL which depends on
https://chromium-review.googlesource.com/c/chromium/src/+/5471691.

Tested: Ran Chrome with Perfetto and traces appear. WebRTC Unit test tracing working: https://ui.perfetto.dev/#!?s=04ea2613ea36b814394639a1ec4b60be5b5097527f1a485995ecc13469885468
Bug: webrtc:15917
Change-Id: I537d79dc247c2b759689910c621087286a4d8fdc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/347880
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Evan Shrubsole <eshr@google.com>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mikhail Khokhlov <khokhlov@google.com>
Cr-Commit-Position: refs/heads/main@{#42166}
2024-04-24 20:53:23 +00:00
Danil Chapovalov
2a66531b28 Delete deprecated CreateVideoEncoderSoftwareFallbackWrapper
Bug: webrtc:15860
Change-Id: I26e6401a4d56f19e059ae8cd69d75d2cdee3db94
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/347740
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@google.com>
Cr-Commit-Position: refs/heads/main@{#42165}
2024-04-24 19:07:56 +00:00
Philipp Hancke
c97d434ec4 sdp: cleanup WebRTC-PreventSsrcGroupsWithUnexpectedSize killswitch
the rollout has happened a while ago with no issues requiring the use
of the killswitch

BUG=chromium:40066610

Change-Id: I2c8148976a1da219ebbfbe6908224b6384348194
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/348823
Commit-Queue: Philipp Hancke <phancke@meta.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42164}
2024-04-24 17:40:19 +00:00
Danil Chapovalov
e92b143eea Remove VideoCodingModule dependency on the global field trial string
Environment provides non-null interface for FieldTrialsView and thus VideoCodingModule no longer need to rely on FieldTrialBasedConfig class to provide field_trials when not passed at construction.

Bug: webrtc:10335
Change-Id: Iedfb29e8b29056618a85f2e7a1528da29e3be5c1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/347701
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42163}
2024-04-24 17:39:03 +00:00
Tommi
af3dfd8c35 Make WeakPtr slightly cheaper to allocate and use
This changes Flag to not inherit from a virtual interface.
Also fixing iwyu and build dependencies.

Bug: none
Change-Id: Iba6e095ec771d8975a32059041185270d32e51be
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/348940
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42162}
2024-04-24 10:28:02 +00:00
chromium-webrtc-autoroll
56b1799389 Roll chromium_revision 1629a193fd..f24efc069c (1291624:1291744)
Change log: 1629a193fd..f24efc069c
Full diff: 1629a193fd..f24efc069c

Changed dependencies
* src/base: a2745cb245..4a55154d85
* src/build: 8bf1365ee5..cd430bd4b2
* src/ios: 22ec0d6f1b..882b5ac360
* src/testing: 71309b5712..bb1dc8b677
* src/third_party: fa713ca13b..a5392d692c
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/221ecf7073..48216439d9
* src/tools: a287b0061a..6e2dc22fde
DEPS diff: 1629a193fd..f24efc069c/DEPS

No update to Clang.

BUG=None

Change-Id: I810db18aaf430ac41b9f40200952ef216f7c3568
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/348960
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@{#42161}
2024-04-24 08:49:16 +00:00
webrtc-version-updater
e4ccad397c Update WebRTC code version (2024-04-24T04:08:12).
Bug: None
Change-Id: I8b9c76681b42e932eb787faec8d959a48c6e8e2d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/348902
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@{#42160}
2024-04-24 06:08:45 +00:00
chromium-webrtc-autoroll
4117d19644 Roll chromium_revision 5027b7cb30..1629a193fd (1291492:1291624)
Change log: 5027b7cb30..1629a193fd
Full diff: 5027b7cb30..1629a193fd

Changed dependencies
* src/base: c9fcd55aac..a2745cb245
* src/ios: eca5fd1989..22ec0d6f1b
* src/testing: c3dae5a5f5..71309b5712
* src/third_party: 54f1a4b7ee..fa713ca13b
* src/third_party/androidx: kgxstkyFEP5qWXRI-kdzkVG5vf9ZU0g3ziYjKoXakfwC..Tf3-yKR6v8YVBUsPwghglgJNy7MCCn7Q9arzVk1f71QC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/4066874f50..221ecf7073
* src/third_party/depot_tools: f8d1ff28d2..3d170cb6ce
* src/third_party/ffmpeg: 901248a373..092f84b614
* src/tools: bc30e2ad4d..a287b0061a
DEPS diff: 5027b7cb30..1629a193fd/DEPS

No update to Clang.

BUG=None

Change-Id: If71f1ecc59be82c19e84ca85726e83b95b971d9d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/348900
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@{#42159}
2024-04-24 00:53:28 +00:00
chromium-webrtc-autoroll
0a8703b5c1 Roll chromium_revision 662ec7605b..5027b7cb30 (1291317:1291492)
Change log: 662ec7605b..5027b7cb30
Full diff: 662ec7605b..5027b7cb30

Changed dependencies
* src/base: 831349d8eb..c9fcd55aac
* src/build: c7d168ab6d..8bf1365ee5
* src/ios: 8ad724e6ff..eca5fd1989
* src/testing: fdc7df36c5..c3dae5a5f5
* src/third_party: a568a80d3a..54f1a4b7ee
* src/third_party/freetype/src: 982bc83849..e2bcca40ca
* src/tools: d5b88ce773..bc30e2ad4d
DEPS diff: 662ec7605b..5027b7cb30/DEPS

No update to Clang.

BUG=None

Change-Id: I2055926fc5bd96289ff4b0e517c56dbc220120bf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/348824
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@{#42158}
2024-04-23 21:12:59 +00:00
Harald Alvestrand
4fc23457aa Remove IceTransportInternal::SignalGatheringState
Landing when last remaining usage in Chrome has been removed.

Bug: webrtc:11943
Change-Id: I62817e2cc0b67113126b82424b6f843c77e66f31
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/341001
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42157}
2024-04-23 20:10:03 +00:00