Commit Graph

2337 Commits

Author SHA1 Message Date
Joe Turki
d8828d6df0 Advertise ICE renomination option 2025-12-20 19:35:08 +02:00
renovate[bot]
0f4f3a0636 Update module github.com/pion/sdp/v3 to v3.0.17
Generated by renovateBot
2025-12-20 19:34:22 +02:00
renovate[bot]
f2fe992b75 Update module github.com/pion/rtp to v1.8.27
Generated by renovateBot
2025-12-20 19:03:27 +02:00
David Chen
7298adda01 Add an option to include SEI NALs for H264/H265 (#3313) 2025-12-20 00:56:09 +02:00
Joe Turki
cf04e20df5 Add nohost gather policy 2025-12-19 19:30:46 +02:00
Joe Turki
ab5a720c5d Add Address-rewrite API 2025-12-19 18:47:44 +02:00
Joe Turki
2b85befb35 Wire and test renomination 2025-12-19 18:01:37 +02:00
Joe Turki
4f7fcbe58f Use ICE options API 2025-12-19 17:31:13 +02:00
Joe Turki
d475f2c9ee Implement write deadline 2025-12-18 15:00:48 +02:00
Joe Turki
3ea3643340 Fix wrong stub comments 2025-12-17 14:23:12 +02:00
Joe Turki
ef58d38984 Fix drift in WriteSample 2025-12-16 03:03:36 +02:00
Joe Turki
1519afa466 Return early if aborted
Do not wait on data channel Accept
when SCTP association is aborted
2025-12-14 19:19:08 +02:00
Joe Turki
156094c2d2 Add playlist control example 2025-12-12 23:17:26 +02:00
Joe Turki
604582af7d Parse ogg vorbis tags 2025-12-12 22:32:00 +02:00
renovate[bot]
2648cb768f Update module github.com/pion/ice/v4 to v4.1.0 (#3304)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [github.com/pion/ice/v4](https://redirect.github.com/pion/ice) |
`v4.0.13` -> `v4.1.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fpion%2fice%2fv4/v4.1.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fpion%2fice%2fv4/v4.0.13/v4.1.0?slim=true)
|

---

### Release Notes

<details>
<summary>pion/ice (github.com/pion/ice/v4)</summary>

### [`v4.1.0`](https://redirect.github.com/pion/ice/releases/tag/v4.1.0)

[Compare
Source](https://redirect.github.com/pion/ice/compare/v4.0.13...v4.1.0)

#### Changelog

-
[`a42e726`](a42e726bb3)
Deprecate AgentConfig
-
[`f808e10`](f808e10d45)
Allow any port range
-
[`58ab74b`](58ab74b167)
Update module github.com/pion/dtls/v3 to v3.0.9
-
[`030bb33`](030bb33178)
Advertise only tcp-mux bind address
-
[`8d84083`](8d84083ff4)
Update golang Docker tag to v1.25
([#&#8203;847](https://redirect.github.com/pion/ice/issues/847))
-
[`c29a72c`](c29a72c590)
Update module github.com/pion/stun/v3 to v3.0.2
([#&#8203;844](https://redirect.github.com/pion/ice/issues/844))
-
[`fc739a1`](fc739a1d5a)
Emit a disconnected state before failing
-
[`ff7c443`](ff7c443afe)
Return early if ctx is cancelled
-
[`7ce2014`](7ce2014eae)
Add AddressRewriter rules

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/pion/webrtc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi40Mi4yIiwidXBkYXRlZEluVmVyIjoiNDIuNDIuMiIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-12 19:41:51 +00:00
Joe Turki
1584ffdeda Multi track ogg API 2025-12-12 15:25:57 +02:00
Joe Turki
19e6521edb Parse opus mappings 2025-12-12 15:18:53 +02:00
renovate[bot]
0bb1745c51 Update module github.com/pion/dtls/v3 to v3.0.9
Generated by renovateBot
2025-12-11 18:10:15 -05:00
philipch07
db10b6f227 Permissively parse SDPs unless completely invalid 2025-12-11 00:41:40 -05:00
Joe Turki
8d685da4b7 Test wasm GetRemoteCertificate 2025-12-10 12:15:16 +02:00
v1rtl
3a4d3be5e1 Implement GetRemoteCertificate for wasm 2025-12-10 12:15:03 +02:00
boks1971
0936b7d344 Option to check for fingerprint in DTLS handshake v4.1.8 2025-12-09 22:39:18 +05:30
Joe Turki
79d7571f25 Implement deadlines for mux 2025-12-09 15:36:41 +02:00
renovate[bot]
21a8b0aa50 Update module github.com/pion/stun/v3 to v3.0.2 (#3293)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [github.com/pion/stun/v3](https://redirect.github.com/pion/stun) |
`v3.0.1` -> `v3.0.2` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fpion%2fstun%2fv3/v3.0.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fpion%2fstun%2fv3/v3.0.1/v3.0.2?slim=true)
|

---

### Release Notes

<details>
<summary>pion/stun (github.com/pion/stun/v3)</summary>

###
[`v3.0.2`](https://redirect.github.com/pion/stun/releases/tag/v3.0.2)

[Compare
Source](https://redirect.github.com/pion/stun/compare/v3.0.1...v3.0.2)

#### Changelog

-
[`9b2d7bc`](9b2d7bcf7c)
Add AttrType.Known method
-
[`9bd9576`](9bd95766b3)
Update module github.com/pion/dtls/v3 to v3.0.8
([#&#8203;256](https://redirect.github.com/pion/stun/issues/256))
-
[`ef6bc84`](ef6bc8490e)
Update module github.com/pion/transport/v3 to v3.1.1
-
[`a8eac01`](a8eac015c3)
Update module github.com/pion/transport/v3 to v3.1.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/pion/webrtc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMi4yIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-06 04:54:33 +00:00
Joe Turki
62f61018b1 Do not invoke OnBufferedAmountLow after close 2025-12-05 18:43:41 +02:00
boks1971
f3177f8486 Option to ignore rid pause in a=simulcast:recv
Before this change, if the SDP offer has paused rids,
SDP answer echoed it back. That causes issues where enabling/disabling
of layers is signalled via the signalling channel. The following
scenario breaks
1. PeerB signals PeerA to disable all simulcast layers.
2. PeerA sends an SDP offer with RIDs disabled.
   a. NOTE: A renegotiation is not needed, but happens for a different
      reason.
3. PeerB signals again to PeerA to re-enable layers.
4. PeerB sends answer for the offer in Step 2 with paused rids.
5. PeerA keeps layers paused.

Adding a setting engine option to not change existing behaviour. Pause
state of a rid will be ignored if setting is enabled.
v4.1.7
2025-12-05 15:41:40 +05:30
renovate[bot]
d8e8182fd7 Update module github.com/pion/rtp to v1.8.26 (#3288)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [github.com/pion/rtp](https://redirect.github.com/pion/rtp) |
`v1.8.25` -> `v1.8.26` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fpion%2frtp/v1.8.26?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fpion%2frtp/v1.8.25/v1.8.26?slim=true)
|

---

### Release Notes

<details>
<summary>pion/rtp (github.com/pion/rtp)</summary>

###
[`v1.8.26`](https://redirect.github.com/pion/rtp/releases/tag/v1.8.26)

[Compare
Source](https://redirect.github.com/pion/rtp/compare/v1.8.25...v1.8.26)

#### Changelog

-
[`a2a2f7b`](a2a2f7b97d)
Use atomic instead of lock in sequencer
-
[`9e1aa3d`](9e1aa3d64c)
Add a H264 Spreader

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/pion/webrtc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMi4yIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-05 10:04:44 +00:00
Masayuki
c6b288f937 Add WithDirectPTS option for precise RTP timestamp (#3287) 2025-12-05 03:56:04 +02:00
Joe Turki
210cd958d5 Add CanTrickleICECandidates
w3c CanTrickleICECandidates.
2025-12-04 19:36:05 +02:00
renovate[bot]
aac830d557 Update module github.com/pion/ice/v4 to v4.0.13 (#3285)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [github.com/pion/ice/v4](https://redirect.github.com/pion/ice) |
`v4.0.12` -> `v4.0.13` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fpion%2fice%2fv4/v4.0.13?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fpion%2fice%2fv4/v4.0.12/v4.0.13?slim=true)
|

---

### Release Notes

<details>
<summary>pion/ice (github.com/pion/ice/v4)</summary>

###
[`v4.0.13`](https://redirect.github.com/pion/ice/releases/tag/v4.0.13)

[Compare
Source](https://redirect.github.com/pion/ice/compare/v4.0.12...v4.0.13)

#### Changelog

-
[`e5b161b`](e5b161b5eb)
Cancel gathering before removing candidates
([#&#8203;842](https://redirect.github.com/pion/ice/issues/842))
-
[`a691585`](a691585bce)
Update module github.com/pion/dtls/v3 to v3.0.8
([#&#8203;843](https://redirect.github.com/pion/ice/issues/843))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/pion/webrtc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMi4yIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-04 13:27:59 +00:00
renovate[bot]
c71cc754de Update module github.com/pion/dtls/v3 to v3.0.8 (#3284)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [github.com/pion/dtls/v3](https://redirect.github.com/pion/dtls) |
`v3.0.7` -> `v3.0.8` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fpion%2fdtls%2fv3/v3.0.8?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fpion%2fdtls%2fv3/v3.0.7/v3.0.8?slim=true)
|

---

### Release Notes

<details>
<summary>pion/dtls (github.com/pion/dtls/v3)</summary>

###
[`v3.0.8`](https://redirect.github.com/pion/dtls/releases/tag/v3.0.8)

[Compare
Source](https://redirect.github.com/pion/dtls/compare/v3.0.7...v3.0.8)

#### Changelog

-
[`ffd97f5`](ffd97f5d98)
Backoff handshake retransmit
-
[`7ab1bc9`](7ab1bc9b2a)
Update actions/checkout action to v6
-
[`bdb5f23`](bdb5f23247)
Update module github.com/pion/transport/v3 to v3.1.1
([#&#8203;754](https://redirect.github.com/pion/dtls/issues/754))
-
[`1d9b6b1`](1d9b6b14c9)
Update module github.com/pion/transport/v3 to v3.1.0
-
[`c06c3a7`](c06c3a7624)
Lock while writing to encryptedPackets
-
[`ca7d80e`](ca7d80ec14)
Update CI configs to v0.11.32
-
[`9cfb13f`](9cfb13f244)
Improve the record layer fuzz tests
-
[`daa0fd4`](daa0fd4029)
Add fuzz tests for gcm
-
[`9ed5950`](9ed595078f)
Add fuzz tests for ccm
-
[`7b68bd9`](7b68bd95c2)
Add fuzz tests for packet buffer
-
[`7c62411`](7c62411d25)
Update CI configs to v0.11.31
-
[`3e12f76`](3e12f76523)
Add more tests for prf
-
[`e7cbd62`](e7cbd62208)
Migrate elliptic curves from elliptic to ecdh
-
[`6ff535f`](6ff535f1d5)
Update module github.com/pion/transport/v3 to v3.0.8
-
[`f6b0286`](f6b0286442)
Add the supported\_versions extension
-
[`120a895`](120a895e99)
Handle ECONNREFUSED timeout
-
[`ed044c0`](ed044c06ba)
Update CI configs to v0.11.29
-
[`5611b14`](5611b1401b)
Apply go modernize
-
[`27c3405`](27c3405035)
Update actions/checkout action to v5
-
[`8764fbd`](8764fbdc53)
Update CI configs to v0.11.26
-
[`465f544`](465f544ca3)
Update CI configs to v0.11.25
-
[`6e1e3c9`](6e1e3c9c6f)
Update module github.com/stretchr/testify to v1.11.1
-
[`495a7b5`](495a7b544a)
Update CI configs to v0.11.24
-
[`0b11eab`](0b11eabf43)
Update module github.com/stretchr/testify to v1.11.0
-
[`b8c2ab4`](b8c2ab4cdd)
Fix lint issues with golangci-lint\@&#8203;v2
-
[`0bf1902`](0bf19028b5)
Update CI configs to v0.11.22

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/pion/webrtc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMi4yIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-04 06:03:29 +00:00
renovate[bot]
8242681e13 Update module github.com/pion/ice/v4 to v4.0.12 (#3281)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [github.com/pion/ice/v4](https://redirect.github.com/pion/ice) |
`v4.0.11` -> `v4.0.12` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fpion%2fice%2fv4/v4.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fpion%2fice%2fv4/v4.0.11/v4.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pion/ice (github.com/pion/ice/v4)</summary>

###
[`v4.0.12`](https://redirect.github.com/pion/ice/releases/tag/v4.0.12)

[Compare
Source](https://redirect.github.com/pion/ice/compare/v4.0.11...v4.0.12)

#### Changelog

-
[`be9a6fa`](be9a6fac00)
Set linger time for tcp connections
([#&#8203;841](https://redirect.github.com/pion/ice/issues/841))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/pion/webrtc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xOS45IiwidXBkYXRlZEluVmVyIjoiNDIuMTkuOSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-03 07:35:55 +00:00
Srayan Jana
4b59cf9986 Support advertising ICE trickling (#3097)
As defined in [RFC8839], when an ICE restart occurs, a new SDP offer/answer exchange is triggered. However, as WHIP does not support renegotiation of non-ICE-related SDP information, a WHIP client will not send a new offer when an ICE restart occurs. Instead, the WHIP client and WHIP session will only exchange the relevant ICE information via an HTTP PATCH request as defined in Section 4.3.1 and MUST assume that the previously negotiated non-ICE-related SDP information still applies after the ICE restart.

When performing an ICE restart, the WHIP client MUST include the updated "ice-pwd" and "ice-ufrag" in the SDP fragment of the HTTP PATCH request body as well as the new set of gathered ICE candidates as defined in [RFC8840]. Similar to what is defined in Section 4.3.2, as per [RFC9429], only "m=" sections not marked as bundle-only can gather ICE candidates, so given that the "max-bundle" policy is being used, the SDP fragment will contain only the offerer-tagged "m=" line of the bundle group. A WHIP client sending a PATCH request for performing ICE restart MUST contain an If-Match header field with a field-value of "*" as per Section 13.1.1 of [RFC9110].



Co-authored-by: Joe Turki <git@joeturki.com>
2025-12-03 02:25:07 +02:00
Sean DuBois
71b8a13dc9 Don't drop packets when probing Simulcast
Before any packets that we read during the probe would get lost

Co-authored-by: cptpcrd <31829097+cptpcrd@users.noreply.github.com>
2025-11-29 07:42:50 -05:00
renovate[bot]
c457479a9b Update module github.com/pion/srtp/v3 to v3.0.9 (#3280)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [github.com/pion/srtp/v3](https://redirect.github.com/pion/srtp) |
`v3.0.8` -> `v3.0.9` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fpion%2fsrtp%2fv3/v3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fpion%2fsrtp%2fv3/v3.0.8/v3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pion/srtp (github.com/pion/srtp/v3)</summary>

###
[`v3.0.9`](https://redirect.github.com/pion/srtp/releases/tag/v3.0.9)

[Compare
Source](https://redirect.github.com/pion/srtp/compare/v3.0.8...v3.0.9)

#### Changelog

-
[`1d50bcf`](1d50bcfcff)
Add Peek to ReadStreamSRTP
-
[`c515598`](c5155988fb)
Update module github.com/pion/transport/v3 to v3.1.1
-
[`00722ee`](00722eed94)
Update module github.com/pion/transport/v3 to v3.1.0
-
[`2ef8059`](2ef8059de8)
Update module github.com/pion/rtp to v1.8.25
-
[`fd04e9f`](fd04e9ff2f)
Update module github.com/pion/rtp to v1.8.24
-
[`badf3f0`](badf3f07d2)
Update CI configs to v0.11.32
-
[`e132f95`](e132f95572)
Update module github.com/pion/rtcp to v1.2.16
-
[`93ed834`](93ed83421e)
Update module github.com/pion/rtp to v1.8.23
-
[`697ed30`](697ed303e4)
Update CI configs to v0.11.31
-
[`fd80f48`](fd80f489a7)
Update module github.com/pion/transport/v3 to v3.0.8

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/pion/webrtc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xOS45IiwidXBkYXRlZEluVmVyIjoiNDIuMTkuOSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-28 20:36:11 +00:00
renovate[bot]
67d948bb51 Update module github.com/pion/sctp to v1.8.41 (#3279)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [github.com/pion/sctp](https://redirect.github.com/pion/sctp) |
`v1.8.40` -> `v1.8.41` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fpion%2fsctp/v1.8.41?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fpion%2fsctp/v1.8.40/v1.8.41?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pion/sctp (github.com/pion/sctp)</summary>

###
[`v1.8.41`](https://redirect.github.com/pion/sctp/releases/tag/v1.8.41)

[Compare
Source](https://redirect.github.com/pion/sctp/compare/v1.8.40...v1.8.41)

#### Changelog

-
[`4d42391`](4d42391c07)
Fix a deadlock with Abort
-
[`57f9351`](57f935158c)
Undo retract v1.8.40
-
[`c5367a8`](c5367a88b7)
Retract v1.8.40
-
[`096446a`](096446a405)
Revert "Update packet to RFC 9260"
-
[`b1a66a4`](b1a66a4b0f)
Update readme about RACK, 9260, and 9438
-
[`408cd6a`](408cd6a9e4)
Update module github.com/pion/transport/v3 to v3.1.1
-
[`9ee8305`](9ee830587d)
Update module github.com/pion/transport/v3 to v3.1.0
-
[`a69c6a2`](a69c6a2f15)
Update receive\_payload\_queue to RFC 9260
-
[`e83061b`](e83061bfcc)
Fix typos in paramtype
-
[`803e488`](803e488e66)
Fix a leak with pop in pending\_queue
-
[`af925dd`](af925dd2c6)
Update readme with RFCs and v2 plans
-
[`9324183`](93241838c1)
Update packet to RFC 9260
-
[`012d2b4`](012d2b44db)
Test RTT switch reordering
([#&#8203;408](https://redirect.github.com/pion/sctp/issues/408))
-
[`c875185`](c8751854d8)
Fix a test race
-
[`58bb3c2`](58bb3c2492)
Update CI configs to v0.11.32
-
[`f37b783`](f37b783dd7)
Fix a typo for RFC reference in paramtype

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/pion/webrtc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xOS45IiwidXBkYXRlZEluVmVyIjoiNDIuMTkuOSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 18:40:21 +00:00
renovate[bot]
39210f19d6 Update module github.com/pion/ice/v4 to v4.0.11 (#3278)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [github.com/pion/ice/v4](https://redirect.github.com/pion/ice) |
`v4.0.10` -> `v4.0.11` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fpion%2fice%2fv4/v4.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fpion%2fice%2fv4/v4.0.10/v4.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pion/ice (github.com/pion/ice/v4)</summary>

###
[`v4.0.11`](https://redirect.github.com/pion/ice/releases/tag/v4.0.11)

[Compare
Source](https://redirect.github.com/pion/ice/compare/v4.0.10...v4.0.11)

#### Changelog

-
[`4537cf7`](4537cf7b6c)
Fix a deadlock in TaskLoop
-
[`30c406b`](30c406b788)
Update module github.com/pion/mdns/v2 to v2.1.0
([#&#8203;839](https://redirect.github.com/pion/ice/issues/839))
-
[`32ca87a`](32ca87a218)
Update module github.com/pion/turn/v4 to v4.1.3
([#&#8203;838](https://redirect.github.com/pion/ice/issues/838))
-
[`43a7803`](43a7803ff3)
Always close/cleanup on runners
-
[`06dd638`](06dd6383d6)
Skip link-local-ipv6 on macos
-
[`1901fa6`](1901fa602a)
Update CI configs to v0.11.33
-
[`db55950`](db55950324)
Update module github.com/pion/transport/v3 to v3.1.1
-
[`e1b445c`](e1b445c641)
Wire rest of the options
-
[`65bb60d`](65bb60dec1)
Finish agent options
-
[`4c9f55e`](4c9f55e84f)
Update module github.com/pion/transport/v3 to v3.1.0
-
[`7336a27`](7336a27f8a)
Update module github.com/pion/turn/v4 to v4.1.2
-
[`f56f52c`](f56f52ca84)
Add automatic renomination
-
[`649e13a`](649e13aab5)
Remove unnecessary comments in agent.go
-
[`d1491ba`](d1491ba5ca)
Fix race condition in setSelectedPair
-
[`163dca5`](163dca56e4)
Update module github.com/pion/stun/v3 to v3.0.1
-
[`b5142e4`](b5142e4d36)
Deduplicated error messages for easier debugging
-
[`43dce03`](43dce03277)
Update CI configs to v0.11.31
-
[`8217b53`](8217b53fa6)
Update module github.com/pion/transport/v3 to v3.0.8
-
[`56839aa`](56839aaef5)
Add support for continual gathering
-
[`ed14a44`](ed14a44c7f)
Update default relay-only candidate wait
-
[`3897c30`](3897c30941)
Remove nolint, validate port
-
[`ee3a2e4`](ee3a2e4341)
Fix the tests on Windows
-
[`92565e1`](92565e1979)
Update CI configs to v0.11.29
-
[`965031e`](965031eb25)
Add IceCandidatePairStats
-
[`1ce9ff1`](1ce9ff1d8d)
Apply go modernize
-
[`f7437da`](f7437da850)
Improve code cov by adding various tests
-
[`14b3ccc`](14b3cccabf)
Replace verbose check with slices.Contains
-
[`0d56129`](0d561290f4)
Fix typo in FirstResponseReceivedAt
-
[`0227f4b`](0227f4ba5a)
Fix flakiness in tcp\_packet\_conn test
-
[`6fbde9f`](6fbde9fb03)
Improve code cov for tcp\_mux\_multi
-
[`1ac8975`](1ac89758a3)
Improve code cov for tcp\_packet\_conn
-
[`351ccd8`](351ccd8088)
Improve code cov for udp\_mux\_universal
-
[`1a61855`](1a618559fc)
Improve code cov for udp\_muxed\_conn
-
[`3deadbd`](3deadbd6f1)
Re-enable ipv6 UDP mux tests in i386
-
[`67dccba`](67dccba0a6)
Update CI configs to v0.11.26
-
[`850dec4`](850dec457f)
Update CI configs to v0.11.25
-
[`82b1ba3`](82b1ba3a48)
Update CI configs to v0.11.24
-
[`b717342`](b717342750)
Update module github.com/stretchr/testify to v1.11.1
-
[`71de7d2`](71de7d2b18)
Add more configuration to AgentOptions
-
[`4b50bc8`](4b50bc8078)
Add support for renomination
-
[`fb0107e`](fb0107e8ae)
Update module github.com/stretchr/testify to v1.11.0
-
[`3d59690`](3d59690a71)
Update module github.com/pion/turn/v4 to v4.1.1
-
[`be0657f`](be0657f17b)
Fix lint errors
-
[`e13ec52`](e13ec52278)
Update CI configs to v0.11.22
-
[`0b78af9`](0b78af9301)
Update module github.com/pion/dtls/v3 to v3.0.7
-
[`1d2f139`](1d2f139ce3)
Update module github.com/pion/turn/v4 to v4.1.0
-
[`2c04474`](2c04474e38)
Implement ICE Role conflict resolution
-
[`f6a1153`](f6a1153ce7)
Optimize slice allocation in UDPMuxDefault
-
[`cc019aa`](cc019aabdf)
Update module github.com/pion/logging to v0.2.4
-
[`2a0a17e`](2a0a17ed34)
Update module github.com/pion/turn/v4 to v4.0.2
-
[`b818e2c`](b818e2cbcf)
Update module github.com/pion/dtls/v3 to v3.0.6
-
[`8930d1b`](8930d1b7d0)
Update CI configs to v0.11.20
-
[`613ac5a`](613ac5a204)
Use atomic.Uint64 for thread-safe byte counters
-
[`eef8d96`](eef8d96d36)
Replace interface{} with any type alias
-
[`bbb9792`](bbb9792ca9)
Change activeTCPConn.close to atomic.Bool
-
[`753c2a0`](753c2a0fe8)
Update CI configs to v0.11.19
-
[`f32c107`](f32c107a62)
Update lint rules, force testify/assert for tests

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/pion/webrtc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xOS45IiwidXBkYXRlZEluVmVyIjoiNDIuMTkuOSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-26 21:46:10 +00:00
Sanan Kornyakov
ed9f7faece Add an error for sdp unmarshalling error
Add the publicly available ErrSDPUnmarshal error
when an sdp unmarshal fails.
2025-11-25 01:09:11 +03:00
Yutaka Takeda
5552def3bf Fix and improve a flaky test (#3275)
## Summary
Fixed inconsistent test duration and occational `panic timeout` in
Test_PeerConnection_RTX_E2E

```
panic: timeout

goroutine 4309 [running]:
github.com/pion/webrtc/v4.Test_PeerConnection_RTX_E2E.TimeOut.func5()
        /Users/ytakeda/go/pkg/mod/github.com/pion/transport/v3@v3.1.1/test/util.go:27 +0xb4
created by time.goFunc
        /Users/ytakeda/sdk/go1.25.4/src/time/sleep.go:215 +0x44
```


### Problem
The test was timing out intermittently (0.2s-18.6s variance) when run
with the race detector due to:

* Random 20% packet loss causing unpredictable RTX detection timing
* Missing goroutine cleanup causing hangs
* Race detector overhead amplifying timing issues

```
go test -v -race -run Test_PeerConnection_RTX_E2E -count 20

=== RUN   Test_PeerConnection_RTX_E2E
--- PASS: Test_PeerConnection_RTX_E2E (7.46s)
=== RUN   Test_PeerConnection_RTX_E2E
--- PASS: Test_PeerConnection_RTX_E2E (1.42s)
=== RUN   Test_PeerConnection_RTX_E2E
--- PASS: Test_PeerConnection_RTX_E2E (0.72s)
=== RUN   Test_PeerConnection_RTX_E2E
--- PASS: Test_PeerConnection_RTX_E2E (18.62s)
=== RUN   Test_PeerConnection_RTX_E2E
--- PASS: Test_PeerConnection_RTX_E2E (1.22s)
 :
 ```


### Solution
1. Deterministic packet dropping - Changed from random 20% loss to dropping every 5th packet, ensuring predictable NACK/RTX triggering
2. Dynamic payload type detection - Uses negotiated payload type instead of hardcoded 96, making the test robust to codec configuration changes
3. Proper goroutine cleanup - Added context-based cleanup for RTCP reader and OnTrack callback
4. Fail-fast validation - Checks assertion return values and exits immediately on failure
5. Correct cleanup order - Closes peer connections before stopping the virtual network

### Result
* Consistent ~0.21s execution time (tested 50 runs with race detector)
* No more timeouts
* Still validates NACK/RTX behavior as intended by PR #2919

```
go test -v -race -run Test_PeerConnection_RTX_E2E -count 10
=== RUN   Test_PeerConnection_RTX_E2E
--- PASS: Test_PeerConnection_RTX_E2E (0.21s)
=== RUN   Test_PeerConnection_RTX_E2E
--- PASS: Test_PeerConnection_RTX_E2E (0.21s)
=== RUN   Test_PeerConnection_RTX_E2E
--- PASS: Test_PeerConnection_RTX_E2E (0.21s)
=== RUN   Test_PeerConnection_RTX_E2E
--- PASS: Test_PeerConnection_RTX_E2E (0.21s)
=== RUN   Test_PeerConnection_RTX_E2E
--- PASS: Test_PeerConnection_RTX_E2E (0.21s)
=== RUN   Test_PeerConnection_RTX_E2E
--- PASS: Test_PeerConnection_RTX_E2E (0.21s)
=== RUN   Test_PeerConnection_RTX_E2E
--- PASS: Test_PeerConnection_RTX_E2E (0.21s)
=== RUN   Test_PeerConnection_RTX_E2E
--- PASS: Test_PeerConnection_RTX_E2E (0.21s)
=== RUN   Test_PeerConnection_RTX_E2E
--- PASS: Test_PeerConnection_RTX_E2E (0.21s)
=== RUN   Test_PeerConnection_RTX_E2E
--- PASS: Test_PeerConnection_RTX_E2E (0.21s)
PASS
ok      github.com/pion/webrtc/v4       3.373s
```
2025-11-22 14:38:53 -08:00
renovate[bot]
418e18ce4a Update actions/checkout action to v6
Generated by renovateBot
2025-11-21 18:44:38 +02:00
sirzooro
e6d249ecf8 Added option to configure DTLS Cipher Suites
Added new option to SettingEngine to configure DTLS Cipher Suites
2025-11-21 17:03:22 +01:00
Yutaka Takeda
d32d5cd252 Fix a flaky test
The test fixed: TestInvalidFingerprintCausesFailed
2025-11-19 23:52:07 -08:00
lars-st
ae65995fe7 Add deterministic NACK/RTX reproduction test (#3270)
The test intentionally drops the second outgoing RTP packet and verifies
that:
- exactly one NACK is sent for the missing packet,
- exactly one RTX retransmission is received,
- no additional NACK/RTX packets appear after a short grace period.

- The test is currently skipped (t.Skip()) so it doesn't break CI.
- Minimal Test for issue #3063
2025-11-19 12:58:13 +02:00
Joe Turki
e710dae6fe Refactor streamsForSSRC to return struct 2025-11-18 09:49:11 +02:00
Joe Turki
5eb9d49c4a Fix race in test 2025-11-18 09:25:52 +02:00
Kostya Vasilyev
e7e3b36fce Consider first packet when reading Simulcast IDs (#3144)
The code currently ignores the first packet when reading Simulcast IDs
from a new SSRC, and probes only subsequent packets. This commit makes
it so that we consider the first packet as well (which we already have
read). Helps if the publisher only sends Simulcast IDs on the first
packet.
2025-11-18 04:11:03 +02:00
Yutaka Takeda
17287fd0f0 Fix flaky test TestPeerConnection_Media_Sample 2025-11-17 01:54:55 -08:00
sunofcoder
27a8f9ba49 Improve trickle-ice example
start/stop, DataChannel, ICE logs
2025-11-16 05:22:36 +02:00
renovate[bot]
a4c8b341fe Update module github.com/pion/interceptor to v0.1.42 (#3266)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[github.com/pion/interceptor](https://redirect.github.com/pion/interceptor)
| `v0.1.41` -> `v0.1.42` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fpion%2finterceptor/v0.1.42?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fpion%2finterceptor/v0.1.41/v0.1.42?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pion/interceptor (github.com/pion/interceptor)</summary>

###
[`v0.1.42`](https://redirect.github.com/pion/interceptor/releases/tag/v0.1.42)

[Compare
Source](https://redirect.github.com/pion/interceptor/compare/v0.1.41...v0.1.42)

#### Changelog

-
[`40d68d9`](40d68d9bae)
Handle fec-03 toRemove
-
[`9faf03c`](9faf03cf71)
Update module github.com/pion/transport/v3 to v3.1.1
-
[`0c7d1f4`](0c7d1f4d1c)
Update module github.com/pion/transport/v3 to v3.1.0
-
[`051d2e8`](051d2e8121)
Update module github.com/pion/rtp to v1.8.25
-
[`8492094`](849209446a)
Update module github.com/pion/rtp to v1.8.24
-
[`4f03e41`](4f03e41917)
Update CI configs to v0.11.32
-
[`0caf183`](0caf1831a7)
Update module github.com/pion/rtcp to v1.2.16
-
[`cc7a503`](cc7a503398)
Update CI configs to v0.11.31
-
[`ba697c7`](ba697c7dc8)
Update module github.com/pion/rtp to v1.8.23
-
[`7b68306`](7b68306efe)
Update module github.com/pion/transport/v3 to v3.0.8

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/pion/webrtc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNzMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE3My4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-16 03:19:37 +00:00
renovate[bot]
157d90a81c Update module github.com/pion/turn/v4 to v4.1.3 (#3265)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [github.com/pion/turn/v4](https://redirect.github.com/pion/turn) |
`v4.1.2` -> `v4.1.3` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fpion%2fturn%2fv4/v4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fpion%2fturn%2fv4/v4.1.2/v4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pion/turn (github.com/pion/turn/v4)</summary>

###
[`v4.1.3`](https://redirect.github.com/pion/turn/releases/tag/v4.1.3)

[Compare
Source](https://redirect.github.com/pion/turn/compare/v4.1.2...v4.1.3)

#### Changelog

-
[`d51bcdd`](d51bcdd3fc)
Handle stale nonces in ChannelBind
-
[`903cf17`](903cf17c82)
Update module github.com/pion/transport/v3 to v3.1.1
([#&#8203;484](https://redirect.github.com/pion/turn/issues/484))
-
[`9c45f27`](9c45f27221)
Update module github.com/pion/transport/v3 to v3.1.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/pion/webrtc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNzMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE3My4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-14 21:13:53 +00:00