418 Commits

Author SHA1 Message Date
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
Victor Boivie
cd54fd8606 sctp: Pass webrtc::Environment to DcSctpTransport
The DcSctpTransport will soon use field trials to conditionally enable
some options.

And overall, there is a migration project to start using the Environment
and this CL is in that direction, also setting the boundary; The dcSCTP
library should not depend on it. But the transport is allowed to.

Bug: webrtc:14997
Change-Id: I1f3c2c0d8dd7bdc698dd1d58bde7651b682bcba4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/341480
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41872}
2024-03-08 09:45:12 +00:00
Harald Alvestrand
974044efca Remove code for supporting SDES
Rework transport_description_factory to only have non-DTLS mode for
testing, and rewrite tests accordingly.

Bug: webrtc:11066, chromium:804275
Change-Id: Ie7d477c4331c975e4e0a3034fbbb749ed9009446
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/336880
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41697}
2024-02-08 14:34:04 +00:00
Per K
39ac25d6ec Add PeerConnectionInterface::ReconfigureBandwidthEstimation
Using the Api, BWE components are recreated and new settings can be
applied. Initially, the only configuration available is allowing BWE probes without media".


Note that BWE components are created when transport first becomes writable. So calling this method before a PeerConnection is connected is cheap and only changes configuration.

Integration test in https://webrtc-review.googlesource.com/c/src/+/337322

Bug: webrtc:14928
Change-Id: If2c848489bf94a1f7a5ebf90d2886d90c202c7c3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/336240
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41687}
2024-02-07 14:10:02 +00:00
Harald Alvestrand
8c371f2a9b Reland "Take out Fuchsia-only SDES-enabling parameters"
This is a reland of commit 59f3b35013a29f8c73a46fa6fd06aadc96aad892

Landing after taking out the Chrome usages.

Original change's description:
> Take out Fuchsia-only SDES-enabling parameters
>
> This does not remove all traces of SDES - we still need to delete
> the cricket::CryptoParams struct and all code that uses it.
>
> Bug: webrtc:11066, chromium:804275
> Change-Id: I811c8d40da7f4af714d53376f24cd53332a15945
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/336780
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#41634}

Bug: webrtc:11066, chromium:804275
Change-Id: I31414dfb6a0ecfa7b6fd91c68603cfd6146869d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/337260
Reviewed-by: Olga Sharonova <olka@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41660}
2024-02-02 17:02:29 +00:00
Olga Sharonova
c0741e9f12 Revert "Take out Fuchsia-only SDES-enabling parameters"
This reverts commit 59f3b35013a29f8c73a46fa6fd06aadc96aad892.

Broke WebRTC into Chrome rolls:

https://chromium-review.googlesource.com/c/chromium/src/+/5248171?tab=checks

/../third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc:216:18: error: no member named 'enable_dtls_srtp' in 'webrtc::PeerConnectionInterface::RTCConfiguration'
  216 |   configuration->enable_dtls_srtp = dtls_srtp_key_agreement;
      |   ~~~~~~~~~~~~~  ^

Original change's description:
> Take out Fuchsia-only SDES-enabling parameters
>
> This does not remove all traces of SDES - we still need to delete
> the cricket::CryptoParams struct and all code that uses it.
>
> Bug: webrtc:11066, chromium:804275
> Change-Id: I811c8d40da7f4af714d53376f24cd53332a15945
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/336780
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#41634}

Bug: webrtc:11066, chromium:804275
Change-Id: I2c2114873091e0c662977a6ef5723e6447166a65
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/337181
Commit-Queue: Olga Sharonova <olka@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Olga Sharonova <olka@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41643}
2024-01-31 14:35:19 +00:00
Harald Alvestrand
59f3b35013 Take out Fuchsia-only SDES-enabling parameters
This does not remove all traces of SDES - we still need to delete
the cricket::CryptoParams struct and all code that uses it.

Bug: webrtc:11066, chromium:804275
Change-Id: I811c8d40da7f4af714d53376f24cd53332a15945
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/336780
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41634}
2024-01-30 10:50:12 +00:00
Tommi
698b4e7087 Update more Candidate type checkers to use Candidate::is_*
This is a follow up to a previous CL that removed direct dependency on
the `cricket::` string globals.

Bug: none
Change-Id: I4d839a36739fc4694ce81b72ee036e83dae580df
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/335420
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41623}
2024-01-26 13:41:09 +00:00
Tommi
3b2b2afdaa Move candidate types from port to candidate.h
Add is_* getters to check candidate type without using the string constants directly.

Bug: none
Change-Id: I82c83c032a30a1c67de2d5d6168ecc04e0254318
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/334800
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41568}
2024-01-19 09:24:37 +00:00
Judith Hemp
e56055220b Remove expired histograms WebRTC.PeerConnection.Simulcast.NumberOfSendEncodings
Bug: chromium:1508060
Change-Id: I4a66e53d0c59c320e1ca3cb5a7afa3caf1275064
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/331840
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Judith Hemp <hempjudith@google.com>
Cr-Commit-Position: refs/heads/main@{#41412}
2023-12-19 09:12:18 +00:00
Tommi
d6601ce66b Remove PeerConnection::GetRtpTransport
This function isn't used anymore.

Bug: webrtc:9987
Change-Id: I37f1c86cc4802950347db302e8a9207b9dd370bb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/330261
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41327}
2023-12-06 15:52:37 +00:00
Harald Alvestrand
24510d43dc Delete deprecated AsyncResolver and related classes
To be submitted after downstream usage has been removed, but no earlier than December 1, 2023.

Bug: webrtc:12598
Change-Id: Id9acbac591c48c0c5883fe8f06cf6a68471b70f0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/323004
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41290}
2023-11-30 15:36:55 +00:00
Danil Chapovalov
3bdb49b483 Create PeerConnection specific environment
Bug: webrtc:15656
Change-Id: I11616e3470798b43cb07a776f5d58669d629e24d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/328960
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41283}
2023-11-30 09:54:24 +00:00
Danil Chapovalov
49c35d377b In PeerConnection postpone RtcEventLog destruction
This is done as a preparation to move RtcEventLog ownership into Environment where destruction happens later, when all users of the Environment are deleted.

Bug: webrtc:15656
Change-Id: I2a72c74f1fabb1e25c5200aa47a5d61e4b3d9cd9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/328301
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41272}
2023-11-29 11:18:31 +00:00
Tomas Gunnarsson
3a15ba6fbf Reland^2 "Reland: Remove unsupported configuration value, allow_codec_switching"
This reverts commit 117d847901ea231cd86ca152b359b88619b9de20.

Reason for revert: Downstream error has been corrected.

Original change's description:
> Revert "Reland: Remove unsupported configuration value, `allow_codec_switching`"
>
> This reverts commit 23501a2aa656b94e26d4c67b8b9393258551560f.
>
> Reason for revert: Breaks downstream features
>
> Original change's description:
> > Reland: Remove unsupported configuration value, `allow_codec_switching`
> >
> > This reverts commit 6b0c5babe0700f12493cf659e1b35c58d2327995.
> >
> > Reason for revert: Relanding once downstream issues have been addressed
> >
> > Original change's description:
> > > Revert "Remove unsupported configuration value, `allow_codec_switching`"
> > >
> > > This reverts commit 8f7a17f80f43a47ce3801a3cfd2afda3575c8023.
> > >
> > > Reason for revert: breaks downstream
> > >
> > > Original change's description:
> > > > Remove unsupported configuration value, `allow_codec_switching`
> > > >
> > > > Bug: webrtc:11341
> > > > Change-Id: I8ff598848996bd63ccc572e11f8f69c892a4a459
> > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324284
> > > > Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> > > > Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/main@{#40995}
> > >
> > > Bug: webrtc:11341
> > > Change-Id: I784fd95062fc71f8dcc139b05121985f60709004
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324780
> > > Owners-Override: Philip Eliasson <philipel@webrtc.org>
> > > Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> > > Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> > > Cr-Commit-Position: refs/heads/main@{#40998}
> >
> > Bug: webrtc:11341
> > Change-Id: I3cb3e699fd76942c51f0f42a99bcb19ac607632e
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324782
> > Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> > Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#41032}
>
> Bug: webrtc:11341
> Change-Id: I0eb8e6a464a8a51e6359caf8f43231dc275c4f20
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/327382
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#41161}

Bug: webrtc:11341
Change-Id: I4a5390a3b8c5e665b742fc564709847ad8853ba9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/328160
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#41213}
2023-11-22 13:22:08 +00:00
Philipp Hancke
0967247662 Measure usage of fingerprints with SHA-1 certificates
at time of connect. This may allow deprecating SHA-1 which
is no longer used by browsers and not supported by the JS
API.

BUG=None

Change-Id: Iae1d800a61d46e0dcdb622ccb009acc6fb7db53f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/327540
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41187}
2023-11-17 16:26:17 +00:00
Tomas Gunnarsson
117d847901 Revert "Reland: Remove unsupported configuration value, allow_codec_switching"
This reverts commit 23501a2aa656b94e26d4c67b8b9393258551560f.

Reason for revert: Breaks downstream features

Original change's description:
> Reland: Remove unsupported configuration value, `allow_codec_switching`
>
> This reverts commit 6b0c5babe0700f12493cf659e1b35c58d2327995.
>
> Reason for revert: Relanding once downstream issues have been addressed
>
> Original change's description:
> > Revert "Remove unsupported configuration value, `allow_codec_switching`"
> >
> > This reverts commit 8f7a17f80f43a47ce3801a3cfd2afda3575c8023.
> >
> > Reason for revert: breaks downstream
> >
> > Original change's description:
> > > Remove unsupported configuration value, `allow_codec_switching`
> > >
> > > Bug: webrtc:11341
> > > Change-Id: I8ff598848996bd63ccc572e11f8f69c892a4a459
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324284
> > > Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> > > Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> > > Cr-Commit-Position: refs/heads/main@{#40995}
> >
> > Bug: webrtc:11341
> > Change-Id: I784fd95062fc71f8dcc139b05121985f60709004
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324780
> > Owners-Override: Philip Eliasson <philipel@webrtc.org>
> > Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> > Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#40998}
>
> Bug: webrtc:11341
> Change-Id: I3cb3e699fd76942c51f0f42a99bcb19ac607632e
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324782
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#41032}

Bug: webrtc:11341
Change-Id: I0eb8e6a464a8a51e6359caf8f43231dc275c4f20
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/327382
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41161}
2023-11-15 08:10:28 +00:00
Harald Alvestrand
a6544377bc Remove not-needed webrtc:: prefixes in pc/
This test drives the new tools_webrtc/remove_extra_namespace.py tool.

Bug: None
Change-Id: I9b590aa1213e4cace2d64d555f4dafd893f03606
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/327021
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41141}
2023-11-13 13:23:04 +00:00
Tomas Gunnarsson
23501a2aa6 Reland: Remove unsupported configuration value, allow_codec_switching
This reverts commit 6b0c5babe0700f12493cf659e1b35c58d2327995.

Reason for revert: Relanding once downstream issues have been addressed

Original change's description:
> Revert "Remove unsupported configuration value, `allow_codec_switching`"
>
> This reverts commit 8f7a17f80f43a47ce3801a3cfd2afda3575c8023.
>
> Reason for revert: breaks downstream
>
> Original change's description:
> > Remove unsupported configuration value, `allow_codec_switching`
> >
> > Bug: webrtc:11341
> > Change-Id: I8ff598848996bd63ccc572e11f8f69c892a4a459
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324284
> > Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> > Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#40995}
>
> Bug: webrtc:11341
> Change-Id: I784fd95062fc71f8dcc139b05121985f60709004
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324780
> Owners-Override: Philip Eliasson <philipel@webrtc.org>
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40998}

Bug: webrtc:11341
Change-Id: I3cb3e699fd76942c51f0f42a99bcb19ac607632e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324782
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41032}
2023-10-28 16:07:41 +00:00
Tommi
af27d4ea38 Initialize worker_thread_safety_ without BlockingCall().
Bug: webrtc:15099
Change-Id: Iac448c768fb90154fbe5b64fb12d68398a314e9a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324281
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41009}
2023-10-25 23:00:52 +00:00
Philip Eliasson
6b0c5babe0 Revert "Remove unsupported configuration value, allow_codec_switching"
This reverts commit 8f7a17f80f43a47ce3801a3cfd2afda3575c8023.

Reason for revert: breaks downstream

Original change's description:
> Remove unsupported configuration value, `allow_codec_switching`
>
> Bug: webrtc:11341
> Change-Id: I8ff598848996bd63ccc572e11f8f69c892a4a459
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324284
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40995}

Bug: webrtc:11341
Change-Id: I784fd95062fc71f8dcc139b05121985f60709004
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324780
Owners-Override: Philip Eliasson <philipel@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40998}
2023-10-24 08:19:46 +00:00
Tommi
8f7a17f80f Remove unsupported configuration value, allow_codec_switching
Bug: webrtc:11341
Change-Id: I8ff598848996bd63ccc572e11f8f69c892a4a459
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324284
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40995}
2023-10-24 05:07:25 +00:00
Tommi
5b186e98bc Remove effectively dead code for allow_codec_switching
Bug: webrtc:11341
Change-Id: I88e3c1059f5ebcc9d693c0719534aaacd4b9199b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324283
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40990}
2023-10-23 14:08:11 +00:00
Tommi
aea49c953c Simplify PeerConnection::SetConfiguration
* Consolidate ice candidate pool size checks (was in 3 places)
* Consolidate ICE server configuration parsing (was in 2 locations)
* Remove separate blocking call in PC for SetActiveResetSrtpParams().
* Remove unnecessary blocking call inside SetActiveResetSrtpParams
  implementation.

Bug: none
Change-Id: I38c8964f82f91c77c1fd18c407aefaab1d0c7c0d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324303
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40984}
2023-10-22 15:13:54 +00:00
Tommi
2919075ce3 Remove an invoke for datahannel transport uninitialization during Close.
Bug: none
Change-Id: Ic0d482a8a045d3aa0fcaf13e43f8a156fa3560d6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324301
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40982}
2023-10-21 16:39:05 +00:00
Tommi
840cf78600 Move Destroy/Create steps for DataChannelTransport to PeerConnection.
This moves steps from the sdp code for pc state over to the PC class
and slightly simplifies the contract between the two classes.
Moving forward it's easier to consolidate those steps in the PC
class with other grouped operations e.g. during teardown.

Also removing GetDataMid() method in favor of the sctp_mid() property.

Bug: none
Change-Id: I938f953099d327377abd94e6b2c9ece803d88e40
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324300
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40981}
2023-10-21 16:25:11 +00:00
Philipp Hancke
36e4dd2f42 Add histogram for DTLS peer signature algorithm
in order to estimate the impact of deprecating SHA1. Chromium UMA CL:
  https://chromium-review.googlesource.com/c/chromium/src/+/4894345

BUG=webrtc:15517

Change-Id: I5216ba2a8cbba2f276af20d31aa5e111e7c3a141
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321620
Reviewed-by: David Benjamin <davidben@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#40882}
2023-10-06 12:25:37 +00:00
Harald Alvestrand
4d25a77fd3 Deprecate AsyncResolver config fields and remove internal usage.
Bug: webrtc:12598
Change-Id: Ic43cbcd13e4de44b02351c89da12844606368623
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/317604
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40627}
2023-08-25 14:02:27 +00:00
Florent Castelli
43a5dd86c2 Implement codec selection api
The implementation covers the latest specification, but does not
support mixed-codec simulcast at the moment.
Changing codec for audio and video is supported.

Bug: webrtc:15064
Change-Id: I09082f39e2a7d54dd4a663a8a57bf9df5a851690
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311663
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40616}
2023-08-24 13:18:04 +00:00
Harald Alvestrand
b8617d14a6 Use the AsyncDnsResolver in PeerConnection defaults
Bug: webrtc:12598
Change-Id: I1be306e4dbb7c85aa1ccf0fabe96c8556fd5af42
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/317441
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40613}
2023-08-23 20:29:55 +00:00
Lionel Koenig
0606eafb9f Make WebRTC-EventLogNewFormat default.
This makes WebRTC-EventLogNewFormat the default Event logging format.

Bug: chromium:1433664
Change-Id: Ic35d7ed0e88b0cbe7af3003007a4e21d9b349a64
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/310480
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Lionel Koenig <lionelk@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40358}
2023-06-27 12:59:40 +00:00
Johannes Kron
4133797557 Remove expired histograms WebRTC.PeerConnection.SrtpCryptoSuite
Fixed: chromium:1448119
Change-Id: Ibf903626f78860e2fb33e5f58b37276c106fdcbe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/308380
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40254}
2023-06-09 14:48:38 +00:00
Tommi
dba22d3190 Move transceiver iteration loop over to the signaling thread.
This is required for ReportTransportStats since iterating over the
transceiver list from the network thread is not safe.

Bug: chromium:1446274, webrtc:12692
Change-Id: I7c514df9f029112c4b1da85826af91217850fb26
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/307340
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40197}
2023-06-01 16:29:46 +00:00
Yury Yarashevich
87e74f9fb7 Remove unused combined_audio_video_bwe.
Bug: None
Change-Id: Ie539351f98b7a0ebb5f08e0df5c5759a2bcb5588
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306520
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Yury Yarashevich <yura.yaroshevich@gmail.com>
Cr-Commit-Position: refs/heads/main@{#40160}
2023-05-26 15:56:00 +00:00
Philipp Hancke
32dae4b844 sdp: accept bundle-only media section without rtcp-mux
following the example C1 in
https://www.rfc-editor.org/rfc/rfc8829.html#section-7.3
and the rules from
https://www.rfc-editor.org/rfc/rfc8843.html#section-9.3.1.1

BUG=chromium:1444615

Change-Id: I6aedc5a669a9c53b9d65fb564804913203a453f0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304980
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40058}
2023-05-12 13:38:23 +00:00
Philipp Hancke
522380ff73 Attempt to recycle a stopped data m-line before creating a new one
which avoids an infinitely growing SDP if the remote end rejects
the datachannel section. This will reactivate the m-line even if
all datachannels are closed.

BUG=chromium:1442604

Change-Id: If60f93b406271163df692d96102baab701923602
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304241
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@{#40029}
2023-05-09 15:11:24 +00:00
Jared Siskin
bceec84aee Format ^(api|call|common_audio|examples|media|net|p2p|pc)/
half of the remaining folders

git ls-files | grep -e  "\(\.h\|\.cc\)$" | grep -E "^(api|call|common_audio|examples|media|net|p2p|pc)/" | xargs clang-format -i ; git cl format
after landing: add to .git-blame-ignore-revs

Bug: webrtc:15082
Change-Id: I8b2cac13f4587d3ce9b2fccc7362967283f57ea2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/302062
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39977}
2023-05-03 11:09:26 +00:00
Tommi
94774d475b Call PrepareShutdown in the dtor just in case Close() hasn't been called
Bug: b/277912909
Change-Id: I0074de59f5d16d500795589a0c94ff4840ffe57a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/302384
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39932}
2023-04-24 11:06:42 +00:00
Tommi
aa3c9f2972 Reland "Add param to DCC::SetupDataChannelTransport_n, simplify DCC* setup code."
This reverts commit 298313534df2420e079ffc6fc9c6019d01d29a88.

Changes from the original commit:
* Call OnTransportClosed() from TeardownDataChannelTransport_n()
  (same as before the original commit)
* Not call OnTransportClosed() from OnTransportChanged() when its
  called with nullptr (also preserving the behaviour from before
  the original commit).

Original change's description:
> Revert "Add param to DCC::SetupDataChannelTransport_n, simplify DCC* setup code."
>
> This reverts commit 2ec6a6c57830e06f601607c1b9473ad821b57e07.
>
> Reason for revert: It breaks WPT tests (e.g. https://ci.chromium.org/ui/p/chromium/builders/try/linux-rel/1361972/overview) blocking the roll into Chromium.
>
> Original change's description:
> > Add param to DCC::SetupDataChannelTransport_n, simplify DCC* setup code.
> >
> > * DCC = DataChannelController.
> >
> > * Consolidate steps to set the mid and transport name. They're now
> >   set at the same time and without a separate PostTask.
> > * Transport sink is now consistently set in DCC
> > * Order of notifications for setting up the transport is now the same
> >   regardless of the first time the transport is being set or if it's
> >   being replaced.
> > * Made set_data_channel_transport() private.
> >
> > Bug: webrtc:11547
> > Change-Id: I39e89c6e269e6f06d55981d7944678bf23c8817a
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/300562
> > Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> > Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#39859}
>
> Bug: webrtc:11547
> Change-Id: I0d8d7453b71be80fbf1b7eba7d161336e29de091
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/301360
> Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
> Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Cr-Commit-Position: refs/heads/main@{#39864}

Bug: webrtc:11547
Change-Id: I8ebbc3d3a12786dff2096350a77e03e98466ff00
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/301702
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39884}
2023-04-18 12:12:52 +00:00
Mirko Bonadei
298313534d Revert "Add param to DCC::SetupDataChannelTransport_n, simplify DCC* setup code."
This reverts commit 2ec6a6c57830e06f601607c1b9473ad821b57e07.

Reason for revert: It breaks WPT tests (e.g. https://ci.chromium.org/ui/p/chromium/builders/try/linux-rel/1361972/overview) blocking the roll into Chromium.

Original change's description:
> Add param to DCC::SetupDataChannelTransport_n, simplify DCC* setup code.
>
> * DCC = DataChannelController.
>
> * Consolidate steps to set the mid and transport name. They're now
>   set at the same time and without a separate PostTask.
> * Transport sink is now consistently set in DCC
> * Order of notifications for setting up the transport is now the same
>   regardless of the first time the transport is being set or if it's
>   being replaced.
> * Made set_data_channel_transport() private.
>
> Bug: webrtc:11547
> Change-Id: I39e89c6e269e6f06d55981d7944678bf23c8817a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/300562
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39859}

Bug: webrtc:11547
Change-Id: I0d8d7453b71be80fbf1b7eba7d161336e29de091
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/301360
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#39864}
2023-04-14 17:04:44 +00:00
Tommi
2ec6a6c578 Add param to DCC::SetupDataChannelTransport_n, simplify DCC* setup code.
* DCC = DataChannelController.

* Consolidate steps to set the mid and transport name. They're now
  set at the same time and without a separate PostTask.
* Transport sink is now consistently set in DCC
* Order of notifications for setting up the transport is now the same
  regardless of the first time the transport is being set or if it's
  being replaced.
* Made set_data_channel_transport() private.

Bug: webrtc:11547
Change-Id: I39e89c6e269e6f06d55981d7944678bf23c8817a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/300562
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39859}
2023-04-14 06:57:51 +00:00
Tommi
b00d63c88b Merge TeardownDataChannelTransport_n and OnTransportChannelClosed.
This consolidates termination logic in the DataChannelController
to make shut down consistent between when the transport notifies
of termination and when termination is initiated from the PC side.

This removes the need for `OnTransportChannelClosed` from the PC
side since we can just use TeardownDataChannelTransport_n (the two
were always being called together).

Bug: webrtc:11547
Change-Id: I1763f82cbfe1a3d5b8bfabb8d4cba0ee0fa95738
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/300561
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39838}
2023-04-13 07:32:23 +00:00
Tommi
f9e13f8813 Reland "[DataChannel] Send and receive packets on the network thread."
This reverts commit 7f16fcda0fd5bb625584b71311dd37b54c096136.

Reason for reland: Re-landing after addressing issues in downstream
code and hardening the ObserverAdapter from situations where attempted
usage of data channel proxies could occur after shutting down the
peer connection and terminating the network thread.

Original change's description:
> Revert "[DataChannel] Send and receive packets on the network thread."
>
> This reverts commit fe53fec24e02d2d644220f913c3f9ae596bbb2d9.
>
> Reason for revert: Speculative revert, may be breaking downstream project
>
> Original change's description:
> > [DataChannel] Send and receive packets on the network thread.
> >
> > This updates sctp channels, including work that happens between the
> > data channel controller and the transport, to run on the network
> > thread. Previously all network traffic related to data channels was
> > routed through the signaling thread before going to either the network
> > thread or the caller's thread (e.g. js thread in chrome). Now the
> > calls can go straight from the network thread to the JS thread with
> > enabling a special flag on the observer (see below) and similarly
> > calls to send data, involve 2 threads instead of 3.
> >
> > * Custom data channel observer adapter implementation that
> >   maintains compatibility with existing observer implementations in
> >   that notifications are delivered on the signaling thread.
> >   The adapter can be explicitly disabled for implementations that
> >   want to optimize the callback path and promise to not block the
> >   network thread.
> > * Remove the signaling thread copy of data channels in the controller.
> > * Remove several PostTask operations that were needed to keep things
> >   in sync (but the need has gone away).
> > * Update tests for the controller to consistently call
> >   TeardownDataChannelTransport_n to match with production.
> > * Update stats collectors (current and legacy) to fetch the data
> >   channel stats on the network thread where they're maintained.
> > * Remove the AsyncChannelCloseTeardown test since the async teardown
> >   step has gone away.
> > * Remove `sid_s` in the channel code since we only need the network
> >   state now.
> > * For the custom observer support (with and without data adapter) and
> >   maintain compatibility with existing implementations, added a new
> >   proxy macro that allows an implementation to selectively provide
> >   its own implementation without being proxied. This is used for
> >   registering/unregistering a data channel observer.
> > * Update the data channel proxy to map most methods to the network
> >   thread, avoiding the interim jump to the signaling thread.
> > * Update a plethora of thread checkers from signaling to network.
> >
> > Bug: webrtc:11547
> > Change-Id: Ib4cff1482e31c46008e187189a79e967389bc518
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299142
> > Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> > Reviewed-by: Henrik Boström <hbos@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#39760}
>
> Bug: webrtc:11547
> Change-Id: Id0d65594bf727ccea5c49093c942b09714d101ad
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/300341
> Auto-Submit: Andrey Logvin <landrey@webrtc.org>
> Owners-Override: Andrey Logvin <landrey@webrtc.org>
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39764}

Bug: webrtc:11547
Change-Id: I47dfa7e7168be0cd2faab4f8f3ebf110c3728af5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/300360
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39786}
2023-04-07 09:04:30 +00:00
Andrey Logvin
7f16fcda0f Revert "[DataChannel] Send and receive packets on the network thread."
This reverts commit fe53fec24e02d2d644220f913c3f9ae596bbb2d9.

Reason for revert: Speculative revert, may be breaking downstream project

Original change's description:
> [DataChannel] Send and receive packets on the network thread.
>
> This updates sctp channels, including work that happens between the
> data channel controller and the transport, to run on the network
> thread. Previously all network traffic related to data channels was
> routed through the signaling thread before going to either the network
> thread or the caller's thread (e.g. js thread in chrome). Now the
> calls can go straight from the network thread to the JS thread with
> enabling a special flag on the observer (see below) and similarly
> calls to send data, involve 2 threads instead of 3.
>
> * Custom data channel observer adapter implementation that
>   maintains compatibility with existing observer implementations in
>   that notifications are delivered on the signaling thread.
>   The adapter can be explicitly disabled for implementations that
>   want to optimize the callback path and promise to not block the
>   network thread.
> * Remove the signaling thread copy of data channels in the controller.
> * Remove several PostTask operations that were needed to keep things
>   in sync (but the need has gone away).
> * Update tests for the controller to consistently call
>   TeardownDataChannelTransport_n to match with production.
> * Update stats collectors (current and legacy) to fetch the data
>   channel stats on the network thread where they're maintained.
> * Remove the AsyncChannelCloseTeardown test since the async teardown
>   step has gone away.
> * Remove `sid_s` in the channel code since we only need the network
>   state now.
> * For the custom observer support (with and without data adapter) and
>   maintain compatibility with existing implementations, added a new
>   proxy macro that allows an implementation to selectively provide
>   its own implementation without being proxied. This is used for
>   registering/unregistering a data channel observer.
> * Update the data channel proxy to map most methods to the network
>   thread, avoiding the interim jump to the signaling thread.
> * Update a plethora of thread checkers from signaling to network.
>
> Bug: webrtc:11547
> Change-Id: Ib4cff1482e31c46008e187189a79e967389bc518
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299142
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39760}

Bug: webrtc:11547
Change-Id: Id0d65594bf727ccea5c49093c942b09714d101ad
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/300341
Auto-Submit: Andrey Logvin <landrey@webrtc.org>
Owners-Override: Andrey Logvin <landrey@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39764}
2023-04-05 09:34:23 +00:00
Tommi
fe53fec24e [DataChannel] Send and receive packets on the network thread.
This updates sctp channels, including work that happens between the
data channel controller and the transport, to run on the network
thread. Previously all network traffic related to data channels was
routed through the signaling thread before going to either the network
thread or the caller's thread (e.g. js thread in chrome). Now the
calls can go straight from the network thread to the JS thread with
enabling a special flag on the observer (see below) and similarly
calls to send data, involve 2 threads instead of 3.

* Custom data channel observer adapter implementation that
  maintains compatibility with existing observer implementations in
  that notifications are delivered on the signaling thread.
  The adapter can be explicitly disabled for implementations that
  want to optimize the callback path and promise to not block the
  network thread.
* Remove the signaling thread copy of data channels in the controller.
* Remove several PostTask operations that were needed to keep things
  in sync (but the need has gone away).
* Update tests for the controller to consistently call
  TeardownDataChannelTransport_n to match with production.
* Update stats collectors (current and legacy) to fetch the data
  channel stats on the network thread where they're maintained.
* Remove the AsyncChannelCloseTeardown test since the async teardown
  step has gone away.
* Remove `sid_s` in the channel code since we only need the network
  state now.
* For the custom observer support (with and without data adapter) and
  maintain compatibility with existing implementations, added a new
  proxy macro that allows an implementation to selectively provide
  its own implementation without being proxied. This is used for
  registering/unregistering a data channel observer.
* Update the data channel proxy to map most methods to the network
  thread, avoiding the interim jump to the signaling thread.
* Update a plethora of thread checkers from signaling to network.

Bug: webrtc:11547
Change-Id: Ib4cff1482e31c46008e187189a79e967389bc518
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299142
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39760}
2023-04-04 16:49:17 +00:00
Tommi
527196508c Update DataChannelControllerTests to exercise teardown path.
This updates DataChannelControllerTests to shut down the DCC in the
same way it's shut down by the owning PeerConnection instance:

* Call TeardownDataChannelTransport_n()
* Call PrepareForShutdown()

Also calling PrepareForShutdown() from PC's dtor to be consistent with
how `sdp_handler_->PrepareForShutdown()` is called since it appears
that many tests do not call PC::Close() before destruction.

Bug: b/276434297
Change-Id: I0379baa0df0e764bc255b83ae0667032acfe3db0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/300220
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39756}
2023-04-04 11:21:06 +00:00
Tommi
1f708ef2ff Cancel pending operations for the DCC during Pc::Close()
(using no-try due to bot infra issue)

No-try: true
Bug: b/276434297
Change-Id: I33f796b501f96731c4ca76cb62c2331f10c795f1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299708
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39734}
2023-03-31 18:13:59 +00:00
Per K
e1e94ad4c8 Ensure Call is notified of un demuxable packets
With this cl, packets that are discarded in RtpTransport now notifies Call, so that
they can be part of BWE even if they are dropped.
These packets have been recevied on the transport, and has bin decrypted
and parsed and thus can be accounted for.

The un demuxable packets are forwarded to Call similarly how RTCP packets are forwarded.

Bug: webrtc:14928
Change-Id: Ia53349c7b316c4442a3c7aac085a85ec4f4ab9ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299262
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39727}
2023-03-31 10:33:09 +00:00
Tommi
4f7ade5c58 Create SctpDataChannel objects on the network thread.
* Change data channel creation code to return RTCError for more
  detailed/accurate errors.
* Move DataChannelController::sid_allocator_ to the network thread.
* Add a temporary duplicate vector of channels on the network thread.
  This will eventually be the main vector.
* Delete one test that turns out to be racy (as long as we're using
  both the signaling and network threads).

Bug: webrtc:11547, webrtc:12796
Change-Id: I93ab721a09872d075046a907df60e8aee4263371
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298624
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39719}
2023-03-29 20:27:54 +00:00
Tommi
56548988e9 Switch from pointer to ID for OnSctpDataChannelStateChanged
* The pointer isn't needed for this notification. Arguably using
  the internal id is more consistent with the stats code.
* Using the int makes it safer down the line to post the operation
  from the network thread to the signaling thread rather than post
  an object reference.

Bug: none
Change-Id: I1e9eb31d8386dca3feaa90ee3267ea98eb3e81ec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299144
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39696}
2023-03-28 08:14:33 +00:00