1645 Commits

Author SHA1 Message Date
Christoffer Jansson
8dc55689d2 Reland "Skip NetworkTest if IPV4 is not available"
This reverts commit c71bfccaa531f228f5e62feeb48f6cf090c1b411.

Reason for revert: Downstream is seemingly fixed.

Original change's description:
> Revert "Skip NetworkTest if IPV4 is not available"
>
> This reverts commit 73ae5ca594f4d33b8b4a8f1b2095958ab77f2c27.
>
> Reason for revert: Speculative revert due to downstream project breaking.
>
> Original change's description:
> > 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}
>
> Bug: b/292167110
> Change-Id: I1322d239e699e005419fbb33bf9b00eed0e07664
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/315000
> Commit-Queue: Christoffer Jansson <jansson@webrtc.org>
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Owners-Override: Christoffer Jansson <jansson@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40515}

Bug: b/292167110
Change-Id: I5fe4ea203118b043a83b046144f2a9420b1cba77
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/315060
Reviewed-by: Mirko Bonadei <mbonadei@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@{#40516}
2023-08-07 07:49:55 +00:00
Christoffer Jansson
c71bfccaa5 Revert "Skip NetworkTest if IPV4 is not available"
This reverts commit 73ae5ca594f4d33b8b4a8f1b2095958ab77f2c27.

Reason for revert: Speculative revert due to downstream project breaking.

Original change's description:
> 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}

Bug: b/292167110
Change-Id: I1322d239e699e005419fbb33bf9b00eed0e07664
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/315000
Commit-Queue: Christoffer Jansson <jansson@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Christoffer Jansson <jansson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40515}
2023-08-04 12:57:24 +00:00
Harald Alvestrand
b38d9d2b6f Add ArrayView versions of SendRtp and SendRtcp
This is part of the long term plan to stop using pointer + length
to pass around buffers.

Bug: webrtc:14870
Change-Id: Ibaf5258fd326b56132b9b5a8a6b1563a763ef2f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314960
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40512}
2023-08-04 11:20:53 +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
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
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
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
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
Danil Chapovalov
e546ff99a6 Introduce strong types friendly version of RateStatistics
With the intent to migrate all usages of the RateStatistics and RateTracker to these two new classes and thus encourage strong types over raw ints

Bug: webrtc:13756
Change-Id: I6d98024e903e75c41b2929509f601bb32d15259d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/312460
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40451}
2023-07-21 14:15:22 +00:00
Anne Redulla
73d51f8e84 [ssci] Added Shipped field to READMEs
This CL adds the Shipped field (and may update the
License File field) in Chromium READMEs. Changes were
automatically created, so if you disagree with any of
them (e.g. a package is used only for testing purposes
and is not shipped), comment the suggested change and
why.

See the LSC doc at go/lsc-chrome-metadata.

Bug: b:285450740
Change-Id: If4955c6f6e7b58e0c99469fc45ed5b9e8f30a32b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311720
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Auto-Submit: Anne Redulla <aredulla@google.com>
Cr-Commit-Position: refs/heads/main@{#40424}
2023-07-12 07:31:06 +00:00
Danil Chapovalov
26f72901c6 Mark rtc::CopyOnWriteBuffer move constructor noexcept
To allow use more efficient move instead of copy when wrapped into std::vector

Bug: webrtc:15263
Change-Id: Ie085e3ae41fc4e49b350e430a6dea4767777bbf4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311460
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40403}
2023-07-06 10:21:30 +00:00
Li-Yu Yu
758f26852d Fix downstream review comments for C++20
This CL addresses the review comments for
https://webrtc-review.googlesource.com/c/src/+/261221
in the downstream cherry-pick: https://crrev.com/c/4660950.

*   Always use size_t{} for casting.
*   Remove unneeded size_t casts.
*   Avoid using __x as it is reserved for the compiler.

Bug: b:217226507
Change-Id: I13c57cb69d7db066ac9a6dbd15b7f6de54abb613
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311360
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Li-Yu Yu <aaronyu@google.com>
Cr-Commit-Position: refs/heads/main@{#40395}
2023-07-04 09:06:07 +00:00
Philipp Hancke
3adaeefbc6 Fix TimeUTCMicros resolution on Windows
making it return actual microseconds instead of being limited to
millisecond resolution.

This uses GetSystemTimeAsFileTime
  https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getsystemtimeasfiletime
which returns a timestamp in multiples of 100ns since January 1st 1601.

BUG=webrtc:15212

Change-Id: I293868d8f683289a9dbcf6eccb910bd9c6694e57
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306440
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40360}
2023-06-27 14:15:09 +00:00
Mirko Bonadei
589ee5ae62 Add nogncheck to protobuf_utils.h #include.
GN dependency checker doesn't run the preprocessor, so when the build
is configured with `rtc_enable_protobuf = false` it complains that
protobuf headers don't have a dependency (since the dependency is not
added here [1]).

It is unclear why this problem didn't show up before [2].

[1] - https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/rtc_base/BUILD.gn;l=26-29;drc=45afbc1e81449609cea181e410fa6875b00ec151
[2] - https://webrtc-review.googlesource.com/c/src/+/309262

Bug: None
Change-Id: I139fe3a9804209f0ca39a5cccce8fd4f3ae062c5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/310320
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40343}
2023-06-26 08:17:20 +00:00
Rasmus Brandt
0510463439 Enable RttMult by default.
This feature has had positive impact in downstream experiments, so we should enable it by default. It will be kept around as a kill switch for a while though.

Bug: webrtc:15260
Change-Id: Ibfd25f5be124f65cd4360ae76f7022bb46f65301
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/309781
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40327}
2023-06-21 14:17:11 +00:00
Samuel Attard
6efbd1fdbc fix: do not use dispatch_queue_global_t directly
Referencing this type directly is not allowed when building
with the macOS 14.0 SDK.

Other usages in webrtc follow this inline pattern too so
going with this instead of "auto" which also works.

Change-Id: I84a0ba9c78e83843bc73c71c642caca75750f127
Bug: chromium:1454356
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/308560
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40313}
2023-06-20 10:23:18 +00:00
Sameer Vijaykar
45afbc1e81 Allow setting a custom randomness source.
This is useful in environments where OpenSSL may not be available.

Bug: webrtc:15240
Change-Id: I7ba29e44bd1d25231df13ee79dacc74f260ded67
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/308600
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Sameer Vijaykar <samvi@google.com>
Cr-Commit-Position: refs/heads/main@{#40293}
2023-06-15 15:26:48 +00:00
Philipp Hancke
1cc41ea84f Remove unused Win32Window class
BUG=None

Change-Id: I1d6b4e64a01076166d841c7c72eb0e2b968dd812
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306441
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40140}
2023-05-25 10:48:40 +00:00
Ying Wang
aa6d4fa622 Adds WebRTC-DisableRtxRateLimiter for enable/disable RTX rate limiter.
Change-Id: I22e65c5b2a0b5017aa52a3f1af0fc2fd6357f439
Bug: webrtc:15184
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305660
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40116}
2023-05-23 09:59:11 +00:00
Mirko Bonadei
efb1292574 Remove WEBRTC_EXTERNAL_JSON.
The flexibility offered by the GN `rtc_jsoncpp_root` should be enough
to wire a different version of jsoncpp.

Bug: b/281848049
Change-Id: I8af39fec2406e27c3af7b7ec1949a4762dce762f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304861
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40045}
2023-05-10 21:34:52 +00:00
Yury Yarashevich
c0b470c327 Update ssl_roots.h with https://pki.goog/roots.pem
Bug: webrtc:11710
Change-Id: Idc2f28ad0f9a37f2d3d38e3ce377bf903c1de1a8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304701
Commit-Queue: Yury Yarashevich <yura.yaroshevich@gmail.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40040}
2023-05-10 13:37:34 +00:00
Joachim Reiersen
aac19d3136 Fix SSLStreamAdapterTestDTLSCertChain when building with OpenSSL
These tests were failing when building WebRTC against OpenSSL instead of
BoringSSL. The reason is that OpenSSLStreamAdapter::SSLVerifyCallback in
the BoringSSL mode returns the full cert_chain by calling
SSL_get0_peer_certificates. This API does not exist in OpenSSL, instead
only a single certificate is fetched via X509_STORE_CTX_get0_cert.

ifdef out the parts of the test that assert on cert[1] and cert[2].

An alternative but more involved way to fix these tests could be to use
X509_STORE_CTX_get1_chain to fetch the full chain on the OpenSSL path.

Bug: webrtc:15153
Change-Id: I1ede6a3c5a63d4afd2de849f5e44fcd67592aa3c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304400
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40022}
2023-05-09 11:03:39 +00:00
Diep Bui
7e2aa7d70a Add logs to see if network is ignored because flag IFF_RUNNING is not set.
Some chrome os endpoints get ICE NEVER CONNECTED because their wireless interfaces are ignored. One possible explanation is that result from getifaddrs is incorrect because some interfaces can work even if IFF_RUNNING is not set. Comparing to chromium code, not all messages with IFF_RUNNING on wireless interface are considered (https://chromium.googlesource.com/chromium/src/+/refs/heads/main/net/base/address_tracker_linux.cc#539). Thus the log print helps us to verify our explanation.

Chrome log: https://screenshot.googleplex.com/8SnDn66F56HAKfQ
Webrtc log: https://screenshot.googleplex.com/4jKxPsTHxExNBgz

Bug: webrtc:14334
Change-Id: Icd67dbe4e8ddcaed8b583f2fdb5f1fadfd7bac60
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304460
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40020}
2023-05-09 10:01:36 +00:00
Tommi
301e546a68 Remove SequenceCheckerImpl::valid_system_queue_
As pointed out in issue webrtc:15146 this Mac/iOS specific variable,
makes the SequenceChecker behave incorrectly on those platforms.

The variable was introduced in a CL that merged the previous checker
classes, ThreadChecker and SequencedTaskChecker, but curiously neither
one of them had such a variable. So I'm not exactly sure what problem
was being solved. Hence I'm wondering if we actually need it.

Reference: https://webrtc-review.googlesource.com/c/src/+/129721

Bug: webrtc:15146
Change-Id: Ia7a9eb17b993c4f8a1e8204c658bf0b3dbdaa1e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304401
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40019}
2023-05-09 09:40:51 +00:00
Markus Handell
c8c4a282a6 Introduce support for video packet batching.
This CL introduces a new feature enabling video packet send batches.
The feature is enabled via
PeerConnectionInterface
::RTCConfiguration
::MediaConfig
::enable_send_packet_batching.

PacketOptions have been augmented with attribute "batchable" (set for
all video packets) and attribute "last_packet_in_batch" which gives
injected AsyncPacketSockets a chance to understand when a batch begins
and ends.

When the feature is on, packets are collected in RtpSenderEgress. On
reception of OnBatchComplete from PacingController, RtpSenderEgress
sends the collected batch, setting "last_packet_in_batch" to true
in the last packet.

Bug: chromium:1439830
Change-Id: I1846b9d4a8a0efd227d617691213a2e048bdc8a2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/303720
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40012}
2023-05-08 16:24:03 +00:00
Diep Bui
41daa40203 Update log level in network.cc to avoid excessive log printing
Bug: webrtc:14334
Change-Id: I034a7db47b5af14fb437d7370331cdadfed0c1a1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304021
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39973}
2023-05-03 08:13:02 +00:00
Per K
d1771e925d Enable SSL logging per default
Done in order to simplify connection debuging.

Example log:

openssl_adapter.cc:829): connect_loop TLS client read_server_hello
(openssl_adapter.cc:829): connect_loop TLS client read_server_certificate
(openssl_adapter.cc:829): connect_loop TLS client read_certificate_status
(openssl_adapter.cc:829): connect_loop TLS client verify_server_certificate
(openssl_stream_adapter.cc:1128): Accepted peer certificate.
(openssl_adapter.cc:829): connect_loop TLS client read_server_key_exchange
(openssl_adapter.cc:829): connect_loop TLS client read_certificate_request
(openssl_adapter.cc:829): connect_loop TLS client read_server_hello_done
(openssl_adapter.cc:829): connect_loop TLS client send_client_certificate
(openssl_adapter.cc:829): connect_loop TLS client send_client_key_exchange
(openssl_adapter.cc:829): connect_loop TLS client send_client_certificate_verify
(openssl_adapter.cc:829): connect_loop TLS client send_client_finished
(openssl_adapter.cc:829): connect_loop TLS client finish_flight
(openssl_adapter.cc:829): connect_loop TLS client read_session_ticket
(openssl_adapter.cc:829): connect_exit TLS client read_session_ticket
(openssl_adapter.cc:829): accept_loop TLS server verify_client_certificate
(openssl_stream_adapter.cc:1128): Accepted peer certificate.
(openssl_adapter.cc:829): accept_loop TLS server read_client_key_exchange
(peer_connection.cc:1952): Changing IceConnectionState 0 => 1
(openssl_adapter.cc:829): accept_loop TLS server read_client_certificate_verify
(peer_connection.cc:1971): Changing standardized IceConnectionState 0 => 1
(peer_connection.cc:1971): Changing standardized IceConnectionState 0 => 1
(peer_connection.cc:1971): Changing standardized IceConnectionState 1 => 2
(peer_connection.cc:1971): Changing standardized IceConnectionState 1 => 2
(openssl_adapter.cc:829): accept_loop TLS server read_change_cipher_spec
(openssl_adapter.cc:829): accept_loop TLS server process_change_cipher_spec
(openssl_adapter.cc:829): accept_loop TLS server read_next_proto
(openssl_adapter.cc:829): accept_loop TLS server read_channel_id
(openssl_adapter.cc:829): accept_loop TLS server read_client_finished
(openssl_adapter.cc:829): accept_loop TLS server send_server_finished
(openssl_adapter.cc:829): accept_loop TLS server finish_server_handshake
(openssl_adapter.cc:829): accept_loop TLS server done
(openssl_adapter.cc:829): handshake_done TLS server done
(openssl_adapter.cc:829): accept_exit TLS server done
(dtls_transport.cc:688): DtlsTransport[0|1|__]: DTLS handshake complete.

Bug: b/275671043
Change-Id: Ib8d394aa74c5665c489b485bb44152aff67d3b7c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/302300
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39955}
2023-04-26 13:01:13 +00:00
Sameer Vijaykar
df7df199ab Clean up IPv6 fixes field trial artifacts.
The fixes have been default enabled, so clean up dead code.

Bug: webrtc:14334
Change-Id: I4967d5ad451ac333c54294fc14bea6c7ba1445e3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/301180
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Commit-Queue: Sameer Vijaykar <samvi@google.com>
Cr-Commit-Position: refs/heads/main@{#39949}
2023-04-25 14:59:55 +00:00
Jared Siskin
802e8e5fdb Format /rtc_base
git ls-files | grep -e  "\(\.h\|\.cc\)$" | grep -e  "^rtc_base/" | xargs clang-format -i ; git cl format
after landing: add to .git-blame-ignore-revs

Bug: webrtc:15082
Change-Id: I152228f7c7926adf95d2f3fbbe4178556fd75d0d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/302061
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39914}
2023-04-21 06:17:42 +00:00
Michael Horowitz
8a10dca8ff Set AV1 default bitrate limits.
Bug: webrtc:15097
Change-Id: I9106665ccb9e980e9c28f56c8f376c6c0a3c9d35
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/301802
Commit-Queue: Michael Horowitz <mhoro@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39898}
2023-04-19 18:45:33 +00:00
Sameer Vijaykar
1f251dd67e Default enable WebRTC-IPv6NetworkResolutionFixes
Fully launched on mobile and approved for chrome launch.

Removed tests for feature enablement with field trial.

Bug: webrtc:14334
Change-Id: I7ca7183ff618835fef8c820cfd52863e1c7fa25e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/301163
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Commit-Queue: Sameer Vijaykar <samvi@google.com>
Cr-Commit-Position: refs/heads/main@{#39879}
2023-04-17 20:28:53 +00:00
Diep Bui
5248228d79 Do not use deprecated IPv6 on Windows, and set temporary address attribute for IPv6
Currently webrtc does not have info about interface flags, thus it can use deprecated IPv6 and does not prefer temporary addresses as mentioned in https://www.rfc-editor.org/rfc/rfc8835#name-usage-of-temporary-ipv6-add

Test: not able to test it because cannot mock GetAdaptersAddresses system call on Windows. However, it should be correct because the implementation is the same as chromium code. https://source.chromium.org/chromium/chromium/src/+/main:net/base/network_interfaces_win.cc;l=182

Bug: webrtc:14334
Change-Id: Iae696b00368ae2f9480b542d2ddbc036338081f1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/300965
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39839}
2023-04-13 07:49:23 +00:00
Diep Bui
46849fc73c Print discovered network interfaces for debugging ICE_NEVER_CONNECTED endcause.
Bug: webrtc:14334
Change-Id: Iad2f25e44cd3a154d6dceda755696480e2618a93
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299421
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39716}
2023-03-29 11:58:22 +00:00
Tommi
c848268ab1 Use SequenceChecker(SequenceChecker::kDetached) in a few places.
This CL is partly a test to see if there's an impact on binary size:
- Not a big difference for binaries (decrease): -776b to -4Kb
- For libraries (libwebrtc.a) it actually increases the size: +40Kb

Secondarily this CL is basically to introduce this pattern to the
code base. In terms of LOC, this makes things slightly more compact.

From:

  class Foo {
   public:
     Foo() {
       checker_.Detach();
     }
   private:
    SequenceChecker checker_;
  };

To:

  class Foo {
   public:
     Foo() = default;
   private:
    SequenceChecker checker_{SequenceChecker::kDetached};
  };

Bug: none
Change-Id: I59fc34ccea10847e13455a349851ce9a0af458e3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299020
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39664}
2023-03-24 07:44:18 +00:00
Per K
7efd372f02 Per default endable reading incoming packet timestamp from socket
This cl per default enable the experiment WebRTC-SCM-Timestamp but
leaves the wiring in place for now to explictly allow disabling it.

Bug: webrtc:5773, webrtc:14066
Change-Id: I6118eef73384791ab4d1377e35d36435dc4fa0e8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298442
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39624}
2023-03-21 14:41:37 +00:00
Tommi
3da04a93cd Allow SequenceChecker to be initialized detached.
The motivation for this is to not have to implement this pattern:

foo.h:

class Foo {
 public:
  Foo();
 private:
  SequenceChecker checker_;
};

foo.cc:

Foo::Foo() {
  checker_.Detach();
}

And instead be able to do this inline in the .h file:

class Foo {
 public:
  Foo();
 private:
  SequenceChecker checker_{SequenceChecker::kDetached};
};

Bug: none
Change-Id: Idd7ca82d15c2f77f3aaccf26f1943a49f4b40661
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298445
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39616}
2023-03-21 12:34:15 +00:00
Jeremy Leconte
022d4ec34a Fix 'DoNotOptimize<int>' is deprecated issue.
Change-Id: Ia25b7f73882d45bd2f1a606f51569269ece25fe0
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298042
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#39589}
2023-03-17 14:56:40 +00:00
Michael Horowitz
12910caf29 Apply resolution-bitrate limits collected from field trial (cl/294600) for AV1.
Bug: webrtc:14931
Change-Id: I1e8471a499bc884cb9479609a2b093de90f638d8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/296120
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Michael Horowitz <mhoro@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39582}
2023-03-16 19:04:32 +00:00
Taylor Brandstetter
5136600626 Implement WaitPoll for Fuchsia
Fuchsia's libc provides `select` and `poll` but not `epoll`.

This CL adds a `WaitPoll` method, which is modeled after `WaitSelect` but uses `poll`. The pre-existing `WaitPoll` method was renamed to `WaitPollOneDispatcher`.

TESTED="2p video call on Fuchsia. WaitPoll is faster compared to
WaitSelect, primarily because WaitSelect pessimistically calls
getsockopt(SO_ERROR) on each fd, while WaitPoll does so only on fds that
have entered an error state."

Original author: tombergan@google.com

Bug: None
Change-Id: I83cc824fca40d691fd93712c1c933ff21b3f877c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/296826
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tom Bergan <tombergan@google.com>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39564}
2023-03-15 14:35:08 +00:00
Peter Kasting
ab456dd092 Always check out google_benchmark, part 5.
Remove use of google_benchmark/buildconfig.gni.

Bug: chromium:1404759
Change-Id: I06e225b1457dd50e3777c5fcd277f639471f453a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/297700
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/main@{#39560}
2023-03-15 07:52:04 +00:00
Peter Kasting
049f5ef9b9 Always check out google_benchmark, part 4.
Remove use of non-WebRTC-specific arg to control benchmark use.

Bug: chromium:1404759
Change-Id: If50b215ff6c7698d385d1271bc8b6c38ed443e32
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/297680
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39556}
2023-03-14 20:28:26 +00:00
Peter Kasting
1e6d77c29a Always check out google_benchmark, part 3.
Add a WebRTC-specific arg that can be used to control use of targets
that rely on //third_party/google_benchmarks, so the .gni in that
directory can eventually be removed.

Bug: chromium:1404759
Change-Id: I2a9422fae119ca13eb50028d962fc0a671b5fb33
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/297460
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/main@{#39553}
2023-03-14 12:14:51 +00:00
Hans Wennborg
1ee02d4580 Add missing include of pthread.h
This presumably worked before because some libc++ header included it
transitively, but that's no longer the case.

Bug: chromium:1423839
Change-Id: I6ed1c3474c1bfa02084a665c0b9e249484ac50d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/297420
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Hans Wennborg <hans@chromium.org>
Cr-Commit-Position: refs/heads/main@{#39544}
2023-03-13 13:06:56 +00:00
Bruno Pitrus
86eb6ba207 Add missing header causing build error with GCC13
Bug: chromium:957519
Change-Id: I0146fdb18764b683b502e9804bce1c7b2ab05294
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/296980
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Bruno Pitrus <brunopitrus@hotmail.com>
Cr-Commit-Position: refs/heads/main@{#39536}
2023-03-10 21:07:30 +00:00
Olov Brändström
3ca732d12d Prevent warnings from timestamp aligner used in AudioDeviceBuffer
The logcat is spammed with warnings from timestamp aligner.
This CL make a workaround to use the timestamp aligner to get capture times,
without generating the warnings.

Bug: webrtc:14970
Change-Id: Idab4b298e0484a57841a214db9440f9ac6faaa4d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/296324
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Olov Brändström <brandstrom@google.com>
Cr-Commit-Position: refs/heads/main@{#39486}
2023-03-06 15:47:51 +00:00
philipel
579a7b498c Add OptionalBlobEncoder for RTC event logs.
Bug: webrtc:14801
Change-Id: I7c14597e39b312c26573f034dca444cc1d90e332
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/295480
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39449}
2023-03-02 12:02:07 +00:00
Markus Handell
2fa39bdfc9 Implement support for Chrome task origin tracing. #3.8/4
This CL forwards TaskQueue locations to the contained
task queue.

Bug: chromium:1416199
Change-Id: I989ae445a67991bf5a857407135dbe8bacbd3c55
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/295622
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39446}
2023-03-01 16:04:36 +00:00
Markus Handell
fb727f3a5f Implement support for Chrome task origin tracing. #3.9/4
This CL forwards repeating task client locations to the passed
task queue.

Bug: chromium:1416199
Change-Id: I437d596f8d327d13498b47dfc0a03812af870331
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/295623
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39443}
2023-03-01 15:47:54 +00:00
Markus Handell
8cb31cf125 Implement support for Chrome task origin tracing. #4/4
This CL forwards BlockingCall client locations to
BlockingCallImpl.

Fixed: chromium:1416199
Change-Id: Ic5865280ec5c72a09a64419940b8343e8a54986b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/295624
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39442}
2023-03-01 15:46:49 +00:00