Commit Graph

2087 Commits

Author SHA1 Message Date
Atsushi Watanabe
d30adbce81 Use PR branch of pion/interceptor 2024-12-10 17:29:37 +09:00
Atsushi Watanabe
f962d08992 Merge remote-tracking branch 'origin/rob/samplebuilder_jb_perf' into test-improved-jitter-buffer 2024-12-10 17:28:03 +09:00
renovate[bot]
233526d671 Update module github.com/pion/datachannel to v1.5.10
Generated by renovateBot
2024-12-10 08:06:22 +00:00
cnderrauber
8e2c8682de Add option to disable close by dtls
Close peerconnection on DTLS.CloseNotify
could break ice restart with dtls restart,
when the dtls finger-print changed, the
browser could teardown the old dtlstransport
and establish new one then pion could close
the peerconnection and restart failed. So
browser don't do this and spec also don't
say peerconnection should close when dtls
is closed.
v4.0.5
2024-11-29 08:09:21 -05:00
cnderrauber
2553783e53 Fix nil rtcpInterceptor on track.Bind
Create rtcpInterceptor before bind called.
v4.0.4
2024-11-28 18:28:12 +08:00
Sean DuBois
f8294e0ee6 Update module github.com/pion/ice/v4 to v4.0.3 v4.0.3 2024-11-26 10:50:30 -05:00
WofWca
345d574c36 Update SettingEngine to use named return values
The behavior of SetInterfaceFilter and SetIPFilter isn't obvious. Name
the bool so the user understands the behavior from the function
definition.
2024-11-25 23:25:52 -05:00
renovate[bot]
7c76e0907b Update module github.com/stretchr/testify to v1.10.0
Generated by renovateBot
2024-11-23 15:31:27 +00:00
renovate[bot]
141144f1c3 Update module github.com/pion/sctp to v1.8.34
Generated by renovateBot
2024-11-20 15:41:47 +00:00
Nils Ohlmeier
2fd3640fa3 Only collect single fingerprints/ICE credentials
The way currently DTLS fingerprints and ICE credentials
are picked is causing interop issues as described in #2621

Peers which don't use Bundle can use different fingerprints
and credentials in each media section. Even though is
not (yet) supported by Pion, receiving an SDP offer from
such a peer is valid.

Additionally if Bundle is being used the group attribute
determines which media section is the master bundle section,
which establishes the transport. Currently Pion always
just uses the first credentials/fingerprint it can find
in the SDP, which results in not spec compliant behavior.

This PR attempts to fix the above issues and make
Pion more spec compliant and interoperable.

Fixes #2621
v4.0.2
2024-11-13 23:44:00 -05:00
renovate[bot]
363e017709 Update module github.com/pion/dtls/v3 to v3.0.4
Generated by renovateBot
2024-11-05 00:38:15 +00:00
renovate[bot]
8c06e02690 Update module golang.org/x/net to v0.30.0
Generated by renovateBot
2024-11-01 04:46:34 +00:00
Sean DuBois
e53cbc423a Fix race when closing ICE Transport
Struct member is copied to stack already, `stop` just incorrectly was
referencing the member.

Found in CI
2024-10-27 23:35:56 -04:00
Sean DuBois
ae89317088 Test that NULL Protection Profile is disabled
Resolves pion/srtp#297
2024-10-27 23:13:43 -04:00
Rob Elsner
9b32354ea6 wip 2024-10-24 18:59:31 -06:00
lt
271ab556c8 Add WithPayloader to TrackLocalStatic
Allow custom payloader depending on the mime type

Fixes #2928
2024-10-15 12:12:13 -04:00
Eric Daniels
76634b143a Add SetFireOnTrackBeforeFirstRTP v4.0.1 2024-10-15 12:10:07 -04:00
Brave Yao
8fbf8219dd Change receiveMTU from 1460 -> 1500
Raise the default ReceiveMTU to 1500, as same
as the default MTU setting of WebRTC. This is because
some senders, i.e. FFmpeg, may packetize RTP with 1460
payload + 12 RTP header + etc.

Fixes #2927
2024-10-14 23:42:13 -04:00
Sean DuBois
e51984e811 Add siobud.com/meeting to README 2024-10-14 12:15:57 -04:00
Sean DuBois
3f1622a2f4 Add v4 Release Notes to README v4.0.0 2024-10-11 00:00:36 -04:00
Sean DuBois
bb41f23a0f Don't use JitterBuffer in SampleBuilder
The performance of the SampleBuilder is significantly worse when using
the SampleBuilder. It would be good to evaluate improving the
performance of the JitterBuffer. However for the time being we are just
going to revert.

Resolve #2778
2024-10-10 21:18:56 -04:00
boks1971
dc1f8ffd1c Add ice transport api to get selected pair stats
In use cases like SFU, it is useful to get just the selected candidate
pair stats to have access to current RTT on the peer connection. The
standard has a way to do `GetSelectedCandidatePair` on `ICETransport`,
but does not have a way to get stats of that pair.

Although not in standard, adding a method to `ICETransport` to get
selected candidate pair along similar lines of above method.
2024-10-07 21:00:33 +05:30
Sean DuBois
64f32d2215 Add missing a=ssrc lines for RTX/FEC
Pion extracts them from ssrc-group line so this didn't failed
Pion<->Pion. Chrome/FireFox uses the dedicated a=ssrc lines and our
Offer/Answer would break negotation

Fixes #2922
v4.0.0-beta.34
2024-10-07 11:22:42 -04:00
renovate[bot]
9d6c27fb2f Update module github.com/pion/ice/v4 to v4.0.2
Generated by renovateBot
2024-10-07 09:41:17 +00:00
Sean DuBois
d6141bd517 Update module github.com/pion/interceptor to v0.1.37
Generated by renovateBot
v4.0.0-beta.33
2024-10-06 22:47:01 -04:00
Sean DuBois
3f084f23c1 Update module github.com/pion/dtls/v3 to v3.0.3
Generated by renovateBot
v4.0.0-beta.32
2024-10-06 00:13:24 -04:00
Artem Tarasiuk
891d96fe0e Support more data from webrtc stats 2024-10-05 16:52:02 +03:00
Sean DuBois
5637661fef Add E2E Test for RTX
Assert that generation of NACKs and sending of RTX operates as expected.
v4.0.0-beta.31
2024-10-05 01:05:12 -04:00
Sean DuBois
32f7063f1a Send FEC and RTX PayloadType into interceptor
New fields added to interceptor.StreamInfo
2024-10-04 21:33:10 -04:00
renovate[bot]
a67587daa8 Update module golang.org/x/net to v0.29.0
Generated by renovateBot
2024-10-03 21:00:24 -07:00
Sean DuBois
4541b73b1a Add Retransmission and FEC to TrackLocal
If the MediaEngine contains support for them a SSRC will be generated
appropriately

Co-authored-by: aggresss <aggresss@163.com>
Co-authored-by: Kevin Wang <kevmo314@gmail.com>

Resolves #1989
Resolves #1675
2024-10-03 20:44:49 -07:00
renovate[bot]
bd2309f7f4 Update module github.com/pion/interceptor to v0.1.31
Generated by renovateBot
2024-10-03 13:34:26 +00:00
renovate[bot]
c27b269d01 Update module github.com/pion/srtp/v3 to v3.0.4
Generated by renovateBot
2024-10-02 18:25:38 +00:00
Cedric Raymond
5bf7c9465c Send Abort In SCTP Close
Sending Abort message to follow WebRTC standard
v4.0.0-beta.30
2024-09-23 13:56:37 -04:00
boks1971
a857d57a87 Return object icluding stat id for selected pair
Returning the object with stat id is useful when cross-referencing
stats.
2024-09-16 17:43:16 +05:30
sukun
28adb77ee6 Fix Mux logging on Close 2024-09-10 17:43:18 +05:30
sukun
1a214d2fcb Use Mutex for Mux
We only read from one goroutine, the RWMutex doesn't help improve
performance in this case
2024-09-10 17:43:18 +05:30
cnderrauber
e6a86e74b9 Don't reuse transceiver in one round negotiation
Should not reuse transceiver (remove & add track)
in one round negotiation, it cause the transceiver
changes ssrc/id without transit to inactive and the
remote peer connection can't fire track close and
OnTrack event.
2024-09-06 14:55:33 +00:00
Eric Daniels
9a71f6981f Prevent ICETransport start/stop deadlock 2024-09-04 13:21:07 -04:00
renovate[bot]
4ef00e6e5f Update module golang.org/x/net to v0.28.0
Generated by renovateBot
2024-09-01 03:51:36 +00:00
Sean DuBois
3147b45f9d Improve examples/stats
Add PeerConnection.GetStats() call with a Type Switch
2024-08-26 16:14:11 -04:00
renovate[bot]
661a92fe64 Update module github.com/pion/dtls/v3 to v3.0.2
Generated by renovateBot
2024-08-26 11:37:20 -04:00
Sean DuBois
b55d6d11e6 Update go.mod version to 1.20
Relates to pion/webrtc#2869
2024-08-26 11:36:22 -04:00
Eric Daniels
9a61d68237 Fix concurrent pc.GracefulClose 2024-08-26 10:50:45 -04:00
theodorsm
64a837f688 Add DTLS Handshake hooks to SettingEngine 2024-08-19 15:44:09 -04:00
renovate[bot]
4a97b7d67e Update golang Docker tag to v1.23
Generated by renovateBot
v4.0.0-beta.29
2024-08-16 18:50:27 -04:00
renovate[bot]
0824ea6e7f Update module github.com/pion/ice/v4 to v4.0.1
Generated by renovateBot
2024-08-16 21:36:20 +00:00
renovate[bot]
9de288023b Update module github.com/pion/datachannel to v1.5.9
Generated by renovateBot
2024-08-17 00:01:48 +05:30
Pion
752e442994 Update CI configs to v0.11.15
Update lint scripts and CI configs.
2024-08-16 14:13:11 -04:00
Tristan Matthews
d54f7870eb Only send PLIs for video tracks in examples 2024-08-15 19:15:04 -04:00