39742 Commits

Author SHA1 Message Date
Philipp Hancke
9b82b2f8d6 stats: implement RTX ssrc on inbound-rtp/outbound-rtp
spec change:
  https://github.com/w3c/webrtc-stats/pull/765

BUG=webrtc:15096

Change-Id: I7c72193c23460330b6bb612a9568641d187ee638
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/312362
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40510}
2023-08-04 08:41:52 +00:00
Christoffer Jansson
73ae5ca594 Skip NetworkTest if IPV4 is not available
Bug: b/292167110
Change-Id: I6d55524e53d134d9828a85b9d38a4fea71f0af5b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314920
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40509}
2023-08-03 14:25:09 +00:00
Henrik Boström
9f3ea9d934 Increase concealement threshold for debug bots.
Internal bots are flaking, 0.96666666666666667 concealement observed.

Bug: b/294020344
Change-Id: I65ff8d1dcfe52ba4c8024736cf203005d5c1e4f0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314541
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40508}
2023-08-03 14:08:37 +00:00
Danil Chapovalov
7f41b0b073 When simulating chains from VP9 codec specific info support first_active_layer > 0
Bug: webrtc:11999
Change-Id: Ie2bae8113968fdab330f2c89e5f5416a79f14dc7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314900
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40507}
2023-08-03 13:19:00 +00:00
Jordan Rose
fb5a4a366b build_ios_libs.py: Allow customizing the deployment target
Previously, this script hardcoded deployment targets for device,
simulator, and Catalyst builds. This commit turns those into minimums
and allows callers to pass a higher version with --deployment-target.

Bug: None
Change-Id: I9398a8466dfa35ebac5e198aef6ec4f521054cc6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314420
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40506}
2023-08-03 07:02:30 +00:00
webrtc-version-updater
33eff43a12 Update WebRTC code version (2023-08-03T04:03:48).
Bug: None
Change-Id: I8e47e3c4d7835a6f62eb9f446cbabc420757cadd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314881
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@{#40505}
2023-08-03 05:47:36 +00:00
Danil Chapovalov
ebb2bfd239 Delete deprecated member CodecSpecificInfoVP9::end_of_picture
This field is unused. It was deprecated in
https://webrtc-review.googlesource.com/c/src/+/192542

Bug: None
Change-Id: Iba264c03e16fc240893595075b525d44efa8ab96
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314720
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40504}
2023-08-02 14:05:31 +00:00
Danil Chapovalov
50ca701e68 Mitigate scenario when VP9 HW encoder uses less spatial layers than configured
log an error and reset chain instead of propagating oversized chain diff, thus avoid DCHECK in RtpDependencyDescriptorWriter.

Bug: webrtc:11999, chromium:1467865
Change-Id: If0d186ce7d3a108799ef2b42dd4a3791db33f1a7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314501
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40503}
2023-08-02 11:54:46 +00:00
Philipp Hancke
55b89a8068 Rename cipher_suite to crypto_suite
and replace "cs" in the appropriate places.

This is the terminology used by
https://www.rfc-editor.org/rfc/rfc4568#section-10.3.2.1
and
https://www.iana.org/assignments/sdp-security-descriptions/sdp-security-descriptions.xhtml

BUG=None

Change-Id: I45f2c52eb266c0f94bdd710a9b941142b9411827
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314483
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40502}
2023-08-02 11:45:24 +00:00
Mirko Bonadei
23fc2bee6b Remove backwards compatibity #include
Bug: b/292167110
Change-Id: I3d9766ac095256a069c9bae34d6d3402819d0e15
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314680
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40501}
2023-08-02 11:39:30 +00:00
Sergey Silkin
86a7969a6d Synchronize access to callbacks map
Bug: webrtc:14852
Change-Id: I65a608976056865849f4175411febc8093402de1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314481
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40500}
2023-08-02 11:38:25 +00:00
Danil Chapovalov
9a09ed73c5 Cleanup RemoteBitrateEstimatorSingleStream
Store Detectos in a map by value instead of by unccessary pointer

Bug: None
Change-Id: Iab9904aafca02d9f9ae6633c87de860a5bd62ac7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313621
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40499}
2023-08-02 10:11:38 +00:00
Christoffer Jansson
fe2e7eaa20 Reland "Add ARC enablement to WebRTC only if it isn't already present"
This reverts commit 787e326c180c4b2704c7ede99fa335b4fe4a5e83.

Reason for revert: Downstream fixed

Original change's description:
> Revert "Add ARC enablement to WebRTC only if it isn't already present"
>
> This reverts commit 96137813f76c34322cf4912584e0997e941624f5.
>
> Reason for revert: Breaks downstream projects.
>
> Original change's description:
> > Add ARC enablement to WebRTC only if it isn't already present
> >
> > WebRTC unconditionally enables ARC for Objective-C code. Chromium is
> > now enabling this globally, so change WebRTC to only enable it if it's
> > not already enabled.
> >
> > Bug: chromium:733237
> > Change-Id: I0d5694d0640bb79ae83209aa0bdd36e099b85042
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314180
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#40493}
>
> Bug: chromium:733237
> Change-Id: Ifbf79c030262897baec44ba0e67b21d54fcb6f77
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314482
> Owners-Override: Christoffer Jansson <jansson@webrtc.org>
> Commit-Queue: Christoffer Jansson <jansson@webrtc.org>
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Cr-Commit-Position: refs/heads/main@{#40496}

Bug: chromium:733237
Change-Id: I47291a4c99ea3a70ea3083f8b9fe44f3ecc6582f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314700
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Christoffer Jansson <jansson@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40498}
2023-08-02 09:41:17 +00:00
Philipp Hancke
a9d5141367 Rename cricket::RtpParameters and derived classes
Renames
  cricket::RtpParameters
to
  cricket::MediaChannelParameters
in order to distinguish it better from webrtc::RtpParameters.
This involves renaming
  RtpSendParameters -> SenderParameters
  AudioSendParameters -> AudioSenderParameters
  AudioRecvParameters -> AudioReceiverParameters
  VideoSendParameters -> VideoSenderParameters
  VideoRecvParameters -> VideoReceiverParameters

BUG=webrtc:13931

Change-Id: I664595ee3863418c0c6ca092ca77127be0f9498f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314360
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@{#40497}
2023-08-01 08:55:02 +00:00
Christoffer Jansson
787e326c18 Revert "Add ARC enablement to WebRTC only if it isn't already present"
This reverts commit 96137813f76c34322cf4912584e0997e941624f5.

Reason for revert: Breaks downstream projects.

Original change's description:
> Add ARC enablement to WebRTC only if it isn't already present
>
> WebRTC unconditionally enables ARC for Objective-C code. Chromium is
> now enabling this globally, so change WebRTC to only enable it if it's
> not already enabled.
>
> Bug: chromium:733237
> Change-Id: I0d5694d0640bb79ae83209aa0bdd36e099b85042
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314180
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40493}

Bug: chromium:733237
Change-Id: Ifbf79c030262897baec44ba0e67b21d54fcb6f77
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314482
Owners-Override: Christoffer Jansson <jansson@webrtc.org>
Commit-Queue: Christoffer Jansson <jansson@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#40496}
2023-08-01 07:30:29 +00:00
webrtc-version-updater
b39633462c Update WebRTC code version (2023-08-01T04:05:22).
Bug: None
Change-Id: Id4f1c7c8109abba5ec4d3585691ee026e46db33a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314441
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@{#40495}
2023-08-01 05:31:25 +00:00
Henrik Boström
875cd32eac Fix inconsistency with x-goog-max-bitrate and maxBitrate.
In the past, only encodings.size() == 1 was considered singlecast. But
it's possible to have singlecast via {active,inactive,inactive} too so
this condition should be updated.

This CL ignores x-goog-max-bitrate if maxBitrate was specified on *any*
encoding. This fixes the case of {active,inactive,inactive} resolving
the singlecast inconsistency, but it also takes things one step further
and ignores x-goog-max-bitrate in simulcast cases as well (if any
active encoding has a maxBitrate), as it is not clear why simulcast
should behave differently from singlecast with regards to this flag.

Bug: webrtc:15390
Change-Id: If89a488249239a6bd10fdd56c599ccd2e6ec26fc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313540
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40494}
2023-07-31 14:57:56 +00:00
Avi Drissman
96137813f7 Add ARC enablement to WebRTC only if it isn't already present
WebRTC unconditionally enables ARC for Objective-C code. Chromium is
now enabling this globally, so change WebRTC to only enable it if it's
not already enabled.

Bug: chromium:733237
Change-Id: I0d5694d0640bb79ae83209aa0bdd36e099b85042
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314180
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40493}
2023-07-31 11:47:49 +00:00
Philipp Hancke
4b87d7ac2a Remove Codec template from RtpParameters and helper functions
BUG=webrtc:15214

Change-Id: I3874c4a5089216dab3d072df7854040d5d05bcc9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313500
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#40492}
2023-07-31 10:49:51 +00:00
Mirko Bonadei
0d8b79eb40 Reland "Extract HasIPv4Enabled/HasIPv6Enabled."
This is a reland of commit 86cfe50c0e3549544ca4a7ec097feac44f0e8437

The fix was to add a backwards compatible #include + build dep.
They will be removed once Chromium is migrated.

Original change's description:
> Extract HasIPv4Enabled/HasIPv6Enabled.
>
> Bug: b/292167110
> Change-Id: Idafa4ef23e87951bdd0276c29dee3e7f8be68476
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/312580
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40478}

Bug: b/292167110
Change-Id: I9797f52adf15aba57e114d0a1efec0f757ead278
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313264
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40491}
2023-07-31 07:51:19 +00:00
Joachim Reiersen
d212551ad3 Update RTC_LOG macro so it can be used when called from xyz::rtc namespaces
Similar to earlier CL https://webrtc-review.googlesource.com/c/src/+/169683. While this is a rather specific use case and solution, currently these macros are using a mix of styles ever since https://webrtc-review.googlesource.com/c/src/+/184934. By switching to ::rtc we can ensure that the right namespace is used.

Bug: webrtc:11400
Change-Id: Id06f09b5224a399bd6b43bf0237422b24b5adfb1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/312980
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40490}
2023-07-31 06:34:54 +00:00
Chunbo Hua
5eb521955a Correct typo from valee to value for color space definitions
Bug: None
Change-Id: I7854669de1216385e188bc53ee0cbd26c002c680
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/312741
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40489}
2023-07-31 06:28:45 +00:00
webrtc-version-updater
bcb0b8eb04 Update WebRTC code version (2023-07-29T04:02:10).
Bug: None
Change-Id: Iac28ba32ac64485126d46154bc1728756bf4fef0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313780
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@{#40488}
2023-07-29 05:44:55 +00:00
Marco Paniconi
a6c76d0c29 svc-av1: Fix to svc_e2e_tests
Re-enable svc disabled test.
Passes with the latest code.

Bug: b/288825767
Change-Id: Ie022442ddbd95c8c8b56feecde873208ddec77b0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/310449
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Marco Paniconi <marpan@google.com>
Cr-Commit-Position: refs/heads/main@{#40487}
2023-07-28 14:10:19 +00:00
Christoffer Jansson
c787adcfbf Remove decommisioned Pixel2 perf bots
Bug: None
Change-Id: I872fe20b9ce901e8a5dd2dd814f00bb7d368e1ec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313542
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Christoffer Jansson <jansson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40486}
2023-07-28 13:27:31 +00:00
Danil Chapovalov
4f4e989436 In remote bitrate estimator pass packet using RtpPacketReceived class
Bug: webrtc:15054
Change-Id: I23c9008e1979a56bba9421a00e4f0f8ff937d122
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313261
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40485}
2023-07-28 10:22:16 +00:00
webrtc-version-updater
6e937574f7 Update WebRTC code version (2023-07-28T04:04:17).
Bug: None
Change-Id: I101663769852602a5c7cdc72904be230ed2fdd12
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313483
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@{#40484}
2023-07-28 05:19:31 +00:00
Danil Chapovalov
920abcc9bc In RtpSenderVideo::UpdateConditionalRetransmit use typed time and framerate instead of plain ints
Bug: webrtc:13757
Change-Id: If2df5418dacd2b95387fa74a9bc226426b207aee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313041
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40483}
2023-07-27 14:35:42 +00:00
Henrik Boström
b90cd91983 Fix first encoding's maxBitrate being ignored when scalability is set.
EncoderStreamFactory has two code paths for creating a stream: the
"simulcast path" and the "default path". Only the former cares about
encoding paramter's maxBitrate. The latter assumes that
`encoder_config.max_bitrate_bps` already encompasses the maxBitrate of
the first encoding, but this is not always the case.

As of M113, when scalability mode is specified, {active,inactive} does
not count as simulcast stream but as a default stream represented by
encoding[0].

The problem is that `encoder_config.max_bitrate_bps` only includes
`encodings[0].max_bitrate_bps` when `encodings.size() == 1` which isn't
the case here.

This CL fixes the problem by making the "create default stream" code
path look at the first encoding's maxBitrate and remove existing
assumptions that `encoder_config.max_bitrate_bps` encompasses
`encodings[0].max_bitrate_bps`. This is a step in the right direction
since we're trying to remove all special cases and have encodings map
1:1 with SSRCs, so the "max bps of entire stream" should indeed be a
separate limit than the per-encoding limits and it was confusing that
sometimes it included and sometimes it excluded encoding[0]'s limit.

This issue did not happen in {inactive,active} since that code path
counts as "simulcast stream", so "default stream" is only ever
applicable for index 0.

TESTED=Simulcast Playground, see https://crbug.com/1455962.

Bug: chromium:1455962
Change-Id: I7c44925b780623b5979751e8959e972293648a3d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313282
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40482}
2023-07-27 13:30:52 +00:00
Mirko Bonadei
6143ec939a [iOS testing] - Cut dependency from test module and app code.
The following can lead to ODR violations with symbols present in the
app and in the test module:

gn path out/Perf //:webrtc_perf_tests_module //sdk:helpers_objc

//:webrtc_perf_tests_module --[public]-->
//:webrtc_perf_tests_module_loadable_module --[private]-->
//test:google_test_runner_objc --[private]-->
//test:test_support_objc --[private]-->
//sdk:helpers_objc

After this CL:

gn path out/Debug/ //:webrtc_perf_tests_module //sdk:helpers_objc
No non-data paths found between these two targets.

Bug: b/292472934
Change-Id: If8a6ecab9b34bea0f52fe91b3404d1afeca685fe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313520
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40481}
2023-07-27 12:50:48 +00:00
Mirko Bonadei
3d7889a4ca Revert "Extract HasIPv4Enabled/HasIPv6Enabled."
This reverts commit 86cfe50c0e3549544ca4a7ec097feac44f0e8437.

Reason for revert: Breaks roll into Chromium.

https://ci.chromium.org/ui/p/chromium/builders/try/android-arm64-rel/264191/overview

Original change's description:
> Extract HasIPv4Enabled/HasIPv6Enabled.
>
> Bug: b/292167110
> Change-Id: Idafa4ef23e87951bdd0276c29dee3e7f8be68476
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/312580
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40478}

Bug: b/292167110
Change-Id: Id7ebb5a673eac3c83a2236d4dfbaf31cce1eb9b6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313262
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40480}
2023-07-27 06:35:55 +00:00
webrtc-version-updater
db7a947172 Update WebRTC code version (2023-07-27T04:02:37).
Bug: None
Change-Id: I8efa68729b2ecc0106b6ec6335e660e1118e98f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313401
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@{#40479}
2023-07-27 05:34:08 +00:00
Mirko Bonadei
86cfe50c0e Extract HasIPv4Enabled/HasIPv6Enabled.
Bug: b/292167110
Change-Id: Idafa4ef23e87951bdd0276c29dee3e7f8be68476
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/312580
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40478}
2023-07-26 21:17:02 +00:00
Henrik Boström
0145db4091 Recreate the stream when switching from standard to legacy API.
ReconfigureEncoder() is supposed to recreate the send stream when
switching between legacy and standard API paths to ensure that the
upper and lower layers agree on the number of streams that exist
(legacy = 3 encodings but 1 stream, standard = same as encodings).

This successfully happened when going from standard to legacy but due
to a bug in the condition this did not happen when going from legacy to
standard because `scalability_mode_used` is always false here (even
though the standard path does use a scalability mode).

As a consequence, SetRtpParameters()'s call to UpdateSendState()
resulted in a DCHECK-crash. In release builds we still avoid IOOB
because active_modules.size() < rtp_streams.size() but to avoid mistakes
like this happening again in the future, the DCHECK is promoted to a
CHECK.

The fix is to remove the scalability mode condition which didn't make
sense anyway - changing scalability mode does not require recreation but
recreation is necessary when number of streams change, whether or not
scalability mode changed.

TESTED = Using Simulcast Playground and switching back and forth
between standard and legacy and changing scalability modes and
confirming from stats, see https://crbug.com/1467455.

Bug: chromium:1467455
Change-Id: Ide29742972ba83f2e0a11f135ab9b39c39d4eb49
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313280
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40477}
2023-07-26 13:48:41 +00:00
Mirko Bonadei
9130431b54 Add possibility to set RTC_OBJC_TYPE_PREFIX from GN.
This CL also adds the prefix RTC_TESTING to `ios_internal_pure_release_bot_arm64` in order to avoid ODR
violations.

Bug: b/292472934
Change-Id: If63020e679c8670b4c797217eb38fc8c2954d422
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313240
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40476}
2023-07-26 12:29:55 +00:00
Philipp Hancke
8c9e035edb Move codecs() to base MediaDescription
remove some of the templating around the Codec-derived types and
use more modern C++ loops.

BUG=webrtc:15214

Change-Id: I2710628741deca647e7ae88f5966ec7c7f12669a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311260
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40475}
2023-07-26 05:37:51 +00:00
webrtc-version-updater
87e22fe0ab Update WebRTC code version (2023-07-26T04:02:14).
Bug: None
Change-Id: If442f10e9c9dfa774d9715932bb2b259665964d5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313141
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@{#40474}
2023-07-26 05:18:38 +00:00
Philipp Hancke
ea06be2682 candidate: do not log full IP addresses for related address
since this may contain sensitive data, just like the address.

BUG=None

Change-Id: I3faa1512a15467cd5cc4bcbcaebadb736f1bae07
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313040
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40473}
2023-07-25 17:19:25 +00:00
Danil Chapovalov
ac412a4ee3 In RTPSenderVideo delete deprecated variants of functions to send video frame
Bug: webrtc:13757
Change-Id: I0bef9cc17e599382cc2265d61a2a538f2534356f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/312860
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40472}
2023-07-25 10:47:47 +00:00
Danil Chapovalov
7b42f35bcc Remove artifical extra RTP packet capacity
Instead allow RtpPacket to exceed configured capacity when setting payload

Bug: None
Change-Id: I02fc080ffa3127ffbe0dade1f200dd7456a6a128
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/312880
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40471}
2023-07-25 06:33:09 +00:00
webrtc-version-updater
7ee2a38527 Update WebRTC code version (2023-07-25T04:03:17).
Bug: None
Change-Id: I1e535f912cbb843122060c26b8c955e8788951a4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313002
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@{#40470}
2023-07-25 06:00:05 +00:00
Philipp Hancke
b81bf53f0e Use LOG_AND_RETURN_ERROR for returning RTCError
BUG=None

Change-Id: Ia5c27f0ae752810fabb53aea58f8731c6c314519
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311920
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40469}
2023-07-24 16:14:46 +00:00
Harald Alvestrand
7dbf55437f Ensure payload type frequency does not cause divide-by-zero
This CL does 2 things:
- Change the DCHECK for payload_type_frequency to a CHECK (so that
this error will be a crash not a divide-by-zero)
- Change the replay helper that was used by the fuzzer to set the
frequency of the packets to the video value (90K).

Bug: chromium:1466826
Change-Id: I39941f250b1782b36a3bcddfd347a016591466ec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/312700
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40468}
2023-07-24 16:06:08 +00:00
Henrik Boström
92665682fe Clear scalability mode from stats when implementation changes.
It was discovered that if libvpx reported a scalability mode in getStats
(e.g. L3T3_KEY) and we then changed encoder implementation to an
RTCVideoEncoder (such as MediaFoundationVideoEncodeAccelerator),
getStats continued to report the old scalability mode value.

This CL makes sure to clear the scalability mode on encoder
implementation change or if the `codec_info` is missing.

We should update MediaFoundation to report L1T1 as well, but in the
meantime we should clear any old scalability modes values when the
implementation changes (if the scalability mode is not known it is
better to report nothing than to report an old misleading value).

Bug: chromium:1426440
Change-Id: I1b5f324c4d29a00a6c73404cbee0faa2ae9cd843
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/312900
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40467}
2023-07-24 15:34:48 +00:00
chromium-webrtc-autoroll
00c0660469 Roll chromium_revision 264d933fd0..10080947c0 (1174081:1174188)
Change log: 264d933fd0..10080947c0
Full diff: 264d933fd0..10080947c0

Changed dependencies
* src/base: 25e26d80c7..3de7d110cb
* src/build: 7fb08159d8..3dd34519f9
* src/ios: 61bbb713a6..a265a85ace
* src/testing: 7a04c5b9df..85b0f51488
* src/third_party: 1addefcd45..53a08ec089
* src/third_party/androidx: Bs_fkIRoZaXm-11bg5epoACmu5uzIxUdbAUPlMELw28C..ZIfpMhRlZ2Wm-GCtxgdXmEUojZK4r6xCyO7sLg51fjgC
* src/third_party/perfetto: c00fefe9a6..e568f2855d
* src/third_party/r8: Sz7S7AlqFPYB_t29P5b6i5K80Wq00mpvN2y8aNUAqo0C..O1BBWiBTIeNUcraX8STMtQXVaCleu6SJJjWCcnfhPLkC
* src/tools: fd83c91087..1a0f13f46a
DEPS diff: 264d933fd0..10080947c0/DEPS

No update to Clang.

BUG=None

Change-Id: I8e655d0cd1ff1e0cce4f89234dd046ffa264f98b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/312920
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@{#40466}
2023-07-24 15:02:09 +00:00
Danil Chapovalov
950e231b63 In RtpRtcp use BitrateTracker instead of RateStatistics to measure bitrate
BitrateTracker uses RateStatistics underneath, thus algorithm is the same,
but it provides Timestamp/TimeDelta friendly interface

Bug: webrtc:13757
Change-Id: I9f2fcb3d498b2a137b531b94b660d15aa273c4bf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/312600
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40465}
2023-07-24 14:57:29 +00:00
Jan Grulich
666d707450 Video capture PipeWire: guard callback to avoid concurrent access
Make sure the callback is reset when tearing down the PipeWireSession
and that there is no concurrent access to it, which can potentially lead
to a crash.

Bug: webrtc:15386
Change-Id: I0b09002fe0479dc1cd946c80684bcc5d8754d54a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311546
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Jan Grulich <grulja@gmail.com>
Cr-Commit-Position: refs/heads/main@{#40464}
2023-07-24 14:48:33 +00:00
Philipp Hancke
15f0fabfb3 Update bug reporting and contributing docs
test.webrtc.org is gone and webrtc-internals got some updates which make
it more clear which dump is used

BUG=None

No-Try: true
Change-Id: I040e54398ced78148345804a4ab4922f67de133d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/312360
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40463}
2023-07-24 13:04:29 +00:00
chromium-webrtc-autoroll
f09fba81be Roll chromium_revision 07494f47d3..264d933fd0 (1173978:1174081)
Change log: 07494f47d3..264d933fd0
Full diff: 07494f47d3..264d933fd0

Changed dependencies
* src/base: 6c61eec692..25e26d80c7
* src/build: 926efe92e5..7fb08159d8
* src/ios: dbff2922b4..61bbb713a6
* src/testing: ec6a729cc9..7a04c5b9df
* src/third_party: 6b136b95fc..1addefcd45
* src/tools: fcefc88685..fd83c91087
DEPS diff: 07494f47d3..264d933fd0/DEPS

No update to Clang.

BUG=None

Change-Id: Ia5397c7dc17d028dbc61904c3ad2c3ce98759e44
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/312820
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@{#40462}
2023-07-24 08:30:16 +00:00
webrtc-version-updater
d351ac6200 Update WebRTC code version (2023-07-24T04:02:44).
Bug: None
Change-Id: I823218c16c64a99353ad03806be22d60ffacbaad
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/312765
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@{#40461}
2023-07-24 05:47:01 +00:00