Commit Graph

80 Commits

Author SHA1 Message Date
Eric Daniels
76634b143a Add SetFireOnTrackBeforeFirstRTP 2024-10-15 12:10:07 -04:00
theodorsm
64a837f688 Add DTLS Handshake hooks to SettingEngine 2024-08-19 15:44:09 -04:00
Sean DuBois
3aab0355e0 Upgrade dtls, ice, stun and turn
New major version of all packages caused by DTLS upgrade
2024-08-12 13:45:35 -04:00
Sean DuBois
f388de6581 Update module github.com/pion/dtls/v2 to v3
Generated by renovateBot
2024-07-25 11:16:12 -05:00
renovate[bot]
480be18a34 Update module github.com/pion/ice/v3 to v3.0.7
Generated by renovateBot
2024-05-02 13:56:06 -04:00
Stephan Rotolante
b8fcf99aa0 Expose STUNGatherTimeout via SettingEngine
Resolves pion/webrtc#2668
2024-04-03 09:57:18 -04:00
Sean DuBois
5d7c2bf74f Remove unused member in SCTPTransport
RTOMax wasn't actually being stored, is being pulled directly from
SettingEngine
2024-03-18 13:14:44 -04:00
Benny Daon
fb82fff2bc Add SetSCTPRTOMax to SettingEngine
Allows the user to cap the retranmission timeout, this change adds
RTOMax to SettingEngine and pass it on when creating the SCTP Assocation
2024-03-18 09:40:55 -04:00
Sean DuBois
1dbcf67844 Put SCTP Zero Checksum behind SettingEngine
Old versions of Pion break against it
2024-03-18 09:33:27 -04:00
Dawei Feng
906f20c41d Add MaxBindingRequests to SettingEngine 2024-02-02 21:14:02 -05:00
Sean DuBois
34fe40e38b Remove deprecated APIs
Delete everything that was marked as deprecated
2023-09-14 14:15:40 -04:00
Sean DuBois
58c9a54275 Add SetDTLSCustomCipherSuite to SettingEngine
Resolves #2512
2023-09-11 18:38:30 -04:00
renovate[bot]
ea23dec2b9 Update module transport, srtp, ice and turn
ReplayDetector introduced a breaking change
2023-09-03 23:59:43 -04:00
Nicolas Menard
448f4ba601 Add DTLS KeyLog configuration option in WebRTC API
Add an option in the setting engine to log TLS key material when a
DTLS connection is established with a peer.
The option exists in pion/dtls but is not easily accessible
2023-07-31 13:58:22 -04:00
David Zhao
678ddd46e4 Add SettingsEngine option to disable Active TCP
Use SettingsEngine.DisableActiveTCP(true)
2023-06-26 16:51:10 -07:00
Simon Cousineau
a0e9824bc9 DTLS: Add Client/RootCAs, ClientAuth, Secret Opts 2023-06-02 11:49:25 -04:00
Guillaume Denis
ab11eed492 Improve SetEphemeralUDPPortRange documentation
With values used by pion/ice
2023-05-19 11:01:51 +02:00
lisa yan
4d3c4b13b1 Add SetDTLSConnectContextMaker to SettingEngine
Allows a user to set the context used during the DTLS Handshake. This
can be used to extend or reduce the timeout on the DTLS Handshake.

Resolves #2477
2023-05-18 23:16:42 -04:00
Steffen Vogel
683fc837d0 Make repo REUSE compliant 2023-05-05 11:58:49 -04:00
Anton
9671875982 Add SettingEngine.SetDTLSEllipticCurves
Allow users to explicitly configured the support EllipticCurves via
public API.
2023-03-02 22:20:04 -05:00
Sean DuBois
e7f24367fb Improve SetDTLSInsecureSkipHelloVerify comment
Explain the implication of setting this
2023-03-02 22:10:54 -05:00
Alexey Khit
2a47c12f22 Add DTLS InsecureSkipHelloVerify option 2023-03-02 17:05:34 -05:00
WofWca
9dd2c42999 Fix formatting in SettingEngine docs
SetICETimeouts and SetNAT1To1IPs are both incorrectly formatted
2023-02-09 15:13:01 -05:00
Steffen Vogel
eafdc7742a Use new pion/transport Net interface
This change adapts pion/ice to use a new interface for most network
related operations. The interface was formerly a simple struct vnet.Net
which was originally intended to facilicate testing. By replacing it
with an interface we have greater flexibility and allow users to hook
into the networking stack by providing their own implementation of
the interface.
2023-02-09 09:39:33 +01:00
cnderrauber
c75da54795 Add EnableLoopbackCandidate flag
Add EnableLoopbackCandidate flag
2022-11-23 12:58:57 +08:00
Kevin Wang
2ebf9c6418 Fix docs typo
Fixes a minor typo, a -> an.
2022-11-18 04:24:40 -05:00
cnderrauber
0b3df2b25f Update settingengine.go
Co-authored-by: David Zhao <dz@livekit.io>
2022-09-29 14:22:30 +08:00
cnderrauber
371d27cb57 Add IPFilter to SettingEngine
When machine's network interface have more than one ip address and
user don't want expose one of these ips to remote peer, interface
filter can't work in this case, so add a ip filter for that
2022-09-29 14:22:30 +08:00
Yutaka Takeda
eb1f6ad2db Max recv buf size via SettingEngine
Relates to pion/sctp#218
2022-04-27 17:19:02 -07:00
Sean DuBois
a6981566c5 Update module github.com/pion/ice/v2 to v2.2.6
Generated by renovateBot
2022-04-22 15:25:21 -04:00
cnderrauber
8d816c3b08 Update ice for accept aggressive nomination
Update ice to 2.2.5 for accept aggressive nomination
2022-04-21 16:21:42 +08:00
boks1971
1846813609 DTLS retransmission interval setting
Add SetDTLSRetranmissionInterval setting to SettingEngine.

Add test for SetDTLSRetransmissionInterval
2022-02-07 22:57:31 +05:30
Sean DuBois
157220e800 Run gofmt to add new build constraints
Also remove some 1.13 specific WASM code
2022-01-17 22:36:01 -05:00
bkim
3a6aea1d2d Add MTU Configuration to SettingEngine
This gives an option to raise the receive MTU as SettingEngine option.
If SettingEngine has not been set the MTU, then default value is used
instead, 1460

Resolves #1925
2021-08-20 09:59:56 -04:00
Sean DuBois
9677e616b7 Move defaultSrtpProtectionProfiles to constants.go
If a user is curious about the default value when configuring
SetSRTPProtectionProfiles this makes it easier to find.
2021-05-04 13:01:34 -07:00
digitalix
80fd6d8d59 Expose SRTP protection profiles in setting engine
Allows to override default SRTP protection profiles in settingengine.go
2021-05-04 20:27:15 +01:00
David Zhao
d0a52518b0 Introduce UDPMux in SettingsEngine, single-port
When set, Pion will handle ICE connections over UDPMux
2021-04-15 10:49:14 -07:00
Sean DuBois
c8b7aa386a Disable MediaEngine Copy by Default
If an API is shared between PeerConnections they would use the same
MediaEngine. A MediaEngine contains negotiated PayloadTypes so if the
PeerConnections were answering you would end up in invalid states.

Add DisableMediaEngineCopy to SettingEngine in case user needs old
behavior.

Resolves #1662
2021-02-09 21:31:57 -08:00
OrlandoCo
6ef4c1bba8 Add buffer factory
Allow to configure a buffer factory on SettingEngine to provide
a custom buffer for RTP/RTCP
2021-01-03 23:00:57 -05:00
Sean DuBois
7edfb701e0 New Track API
The Pion WebRTC API has been dramatically redesigned. The design docs
are located here [0]

You can also read the release notes [1] on how to migrate your
application.

[0] https://github.com/pion/webrtc-v3-design
[1] https://github.com/pion/webrtc/wiki/Release-WebRTC@v3.0.0
2020-11-15 09:20:47 -08:00
Pion
ae5c0046da Update CI configs to v0.4.12
Update lint scripts and CI configs.
2020-11-06 20:33:59 -08:00
Assad Obaid
6e72493517 Set the proxy dialer
Sets the proxy dialer in the ice package.

Relates to pion/ice#284
2020-10-09 13:01:38 -07:00
Sean DuBois
89c51a156c Rename SettingEngine mDNS Config option
GenerateMulticastDNSCandidates -> SetICEMulticastDNSMode.
Before a user wasn't able to disable mDNS. By changing it we can
do more with this API.
2020-10-05 16:52:21 -07:00
Sean DuBois
804a12fed3 Update CI configs to v0.4.7
Update lint scripts and CI configs.
2020-09-30 09:06:34 -07:00
Sean DuBois
2155a7d703 Move candidate parsing to pion/ice
Instead of having logic in pion/webrtc and pion/sdp move all logic to
pion/ice. Users of pion/ice don't want to import these packages to use
basic pion/ice functionality.
2020-09-13 00:05:09 -07:00
Jerko Steiner
cd3beeab24 Upgrade pion/ice to v2.0.0-rc.9
Add support for more stable ICE TCP API.
2020-08-01 11:11:51 +02:00
Jerko Steiner
2236ddeafd Add experimental support for ICE TCP
See pion/ice issue and PR:

- https://github.com/pion/ice/tree/issue-196
- https://github.com/pion/ice/pull/226
2020-07-15 15:08:37 +02:00
Sean DuBois
9ed5fd393c Remove CandidateSelectionTimeout
pion/ice now will use any valid candidate pair to exchange data.
Before we needed this we would wait to be selected before sending data,
now we just use anything that is connected.
2020-07-06 01:04:22 -07:00
Sean DuBois
ef1d5a4a8b Add extmap support
Extmaps are configured via the SettingEngine. This allows a user
to set arbitrary values, and when answering ids and entries are
properly excluded.

Co-authored-by: Gabor Pongracz <gabor.pongracz@proemergotech.com>
2020-07-03 01:01:56 -07:00
Woodrow Douglass
baf14a9af4 Media Level Fingerprints Configuration Option
This commit adds an option to put DTLS Fingerprint specification
at the media description level rather then the session description
level. This enhances compatibility with some 3rd party webrtc
implementations (notably Kurento).
2020-06-30 01:37:15 -07:00