Commit Graph

2188 Commits

Author SHA1 Message Date
SangHo
3e2a804b08 Fix MIME type comparisons to be case-insensitive v4.1.0 2025-04-28 05:33:44 +03:00
Joe Turki
788147df80 Fix flaky test, by adding a grace timestamp 2025-04-28 03:36:18 +03:00
Joe Turki
465d8bd950 Reject candidates from old generation
Return an error if a candidate with a username fragment that does
not match the username fragment in the remote description is added.
This usually indicates that the candidate was generated before the
renegotiation.
2025-04-27 18:34:45 +03:00
Joe Turki
d6154f61e2 Add WithRTPTimestamp to set initial RTP timestamp
Move to the new RTP API newPacketizerWithOptions, add WithRTPTimestamp
To make it possible to set the initial RTP timestamp for the track.
2025-04-27 02:08:17 +03:00
renovate[bot]
ac1a132c26 Update module github.com/pion/rtp to v1.8.15
Generated by renovateBot
2025-04-26 22:30:27 +00:00
renovate[bot]
9f9911be6b Update module github.com/pion/rtp to v1.8.14
Generated by renovateBot
2025-04-26 21:57:02 +00:00
Sean DuBois
705b728d28 Pass Configured MTU into SCTP
Before pion/sctp would always do 1228
v4.0.16
2025-04-25 14:21:36 -04:00
Sean DuBois
3017e68859 Remove TEST_EXTRA_ARGS and GOLANGCI_LINT_EXRA_ARGS
QUIC support is gone
2025-04-25 14:00:06 -04:00
Pion
2de1ac4285 Update CI configs to v0.11.19
TestBadCertificate is no longer needed for 1.24+

```
CreateCertificate will now generate a serial number using
a RFC 5280 compliant method when passed a template with a
nil Certificate.SerialNumber field, instead of failing.
```
2025-04-23 12:00:19 -04:00
Andrés MANELLI
16d809cc6f Add H265 to RegisterDefaultCodecs
H265 will be available by default now
2025-04-22 10:08:22 -04:00
Dailor
0fa49227e7 Remove inaccurate comments 2025-04-19 17:13:17 +02:00
Joe Turki
f03eb7351f Fix linter 2025-04-18 12:29:21 +02:00
Nils Ohlmeier
3d4c996abf Adressing linter errors 2025-04-15 11:54:34 -06:00
Nils Ohlmeier
f153325514 Replaced enable with isDisabled 2025-04-15 11:54:34 -06:00
Nils Ohlmeier
5676fa4d38 Don't expose new MediaEngine functions 2025-04-15 11:54:34 -06:00
Nils Ohlmeier
a9ff362d89 Fixed lint error 2025-04-15 11:54:34 -06:00
Nils Ohlmeier
a561371028 Made multi codec the default 2025-04-15 11:54:34 -06:00
Nils Ohlmeier
be8800d522 Implemented alternative proposal via SettingEngine 2025-04-15 11:54:34 -06:00
Nils Ohlmeier
1f393efc63 Fixed bug in copy() 2025-04-15 11:54:34 -06:00
Manish
29d6e41b97 Add support for multi codec negotiation 2025-04-15 11:54:34 -06:00
sirzooro
c79463deab Added SCTPTransport.BufferedAmount
It simplifies tracking amount of unsent data for all data channels,
including ones in closing state. Especially useful for IoT apps
which use multiple data channels and have to monitor memory usage.
v4.0.15
2025-04-14 18:22:17 +02:00
renovate[bot]
3e43ae91a8 Update module github.com/pion/sctp to v1.8.38
Generated by renovateBot
2025-04-13 06:43:19 +00:00
renovate[bot]
8cda9b7d20 Update module github.com/pion/ice/v4 to v4.0.10
Generated by renovateBot
2025-04-13 01:39:47 +00:00
renovate[bot]
4f2208d01d Update dependency node to v22
Generated by renovateBot
2025-04-12 18:41:44 +00:00
sirzooro
77fc1cb069 Added missing lock 2025-04-12 20:40:54 +02:00
Sean DuBois
924dd092b6 Add IPv6 Test
If IPv6 is supported assert that Pion can connect via it.

Resolves #1315
2025-04-09 12:11:46 -04:00
Sean DuBois
43c27b7a5e Fix race in TestDetachRemovesDatachannelReference
Don't use same error in goroutine
2025-04-08 11:58:31 -04:00
SangHo
4128a820c8 Fix flakey test TestInterceptorNack
Wait for PeerConnection to reach 'connected' in NACK test. Otherwise
test will fail.
2025-04-07 23:44:56 -04:00
Jingyang Kang
334692b122 Add findFECPayloadType (#3084)
#### Description

Before this, any interceptor that tries to read FEC payload type from
`info *interceptor.StreamInfo`, always gets 0. This PR implements the
logic to find FEC payload type.

Also, MimeType consts are moved from mediaengine.go to mimetype.go,
since mediaengine.go is not included in the WASM build.
2025-04-07 20:29:51 +08:00
Joe Turki
0b5e438a3f Add bluesky link next to twitter 2025-04-07 05:59:31 +02:00
Joe Turki
31c63199b6 Remove Slack links 2025-04-06 17:07:53 +02:00
Anton
39908b9b96 Fix pion2pion example readme 2025-04-02 14:35:49 +02:00
renovate[bot]
e1487b5b7f Update module github.com/pion/dtls/v3 to v3.0.6 (#3062)
This PR contains the following updates:

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

---

### Release Notes

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

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

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

#### What's Changed

- Revert rollback Go version bump by Renovate by
[@&#8203;JoeTurki](https://redirect.github.com/JoeTurki) in
[https://github.com/pion/dtls/pull/700](https://redirect.github.com/pion/dtls/pull/700)

**Full Changelog**: https://github.com/pion/dtls/compare/v3.0.5...v3.0.6

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

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

#### Changelog

-
[`fbc7bae`](fbc7bae955)
Update docker.io/library/golang Docker tag to v1.24
([#&#8203;694](https://redirect.github.com/pion/dtls/issues/694))
-
[`13b929b`](13b929b076)
Update module golang.org/x/net to v0.37.0
([#&#8203;697](https://redirect.github.com/pion/dtls/issues/697))
-
[`3a0f50a`](3a0f50af7d)
Use crypto.Signer whenever possible
([#&#8203;681](https://redirect.github.com/pion/dtls/issues/681))
-
[`16d6306`](16d630638a)
Update module golang.org/x/net to v0.34.0
([#&#8203;693](https://redirect.github.com/pion/dtls/issues/693))
-
[`8eb9a91`](8eb9a91be4)
Upgrade golangci-lint, more linters
-
[`1c0df61`](1c0df61a22)
Update module github.com/pion/logging to v0.2.3
([#&#8203;691](https://redirect.github.com/pion/dtls/issues/691))
-
[`1e4ae60`](1e4ae60e28)
Update module golang.org/x/net to v0.33.0 \[SECURITY]
-
[`ceb8458`](ceb84588ac)
Update module golang.org/x/crypto to v0.31.0 \[SECURITY]
-
[`4e34db5`](4e34db5ca6)
Update module golang.org/x/net to v0.31.0
-
[`02434c7`](02434c73b4)
Update module golang.org/x/crypto to v0.29.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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOTQuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-31 22:10:39 +00:00
3DRX
19cdd093c4 Add mime type for flexfec03 and ulpfec 2025-04-01 00:49:10 +08:00
Joe Turki
740e5166c5 Update lint rules, force testify/assert for tests
Use testify's assert package instead of the standard library's testing
package.
2025-03-27 12:08:37 +02:00
renovate[bot]
617de62745 Update module github.com/pion/ice/v4 to v4.0.9 (#3072)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [github.com/pion/ice/v4](https://redirect.github.com/pion/ice) |
`v4.0.8` -> `v4.0.9` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fpion%2fice%2fv4/v4.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fpion%2fice%2fv4/v4.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fpion%2fice%2fv4/v4.0.8/v4.0.9?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.8/v4.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

#### What's Changed

- Handle candidate: prefix with UnmarshalCandidate by
[@&#8203;JoeTurki](https://redirect.github.com/JoeTurki) in
[https://github.com/pion/ice/pull/769](https://redirect.github.com/pion/ice/pull/769)

**Full Changelog**: https://github.com/pion/ice/compare/v4.0.8...v4.0.9

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-27 03:10:15 +00:00
Joe Turki
a51e66c9e8 Update readme add discord and bluesky 2025-03-25 20:45:08 +02:00
Joe Turki
1a1488d290 Expose ICE candidates ToICE() method
Expose ToICE() method on ICE candidates to allow for easier conversion
to ice package ICE candidates.

Resolve https://github.com/pion/webrtc/issues/3069
2025-03-25 11:24:25 -04:00
Joe Turki
5ce8e05d22 Resolve undeclared SSRC using the payload type
Introduces a fallback mechanism to handle undeclared SSRCs from multiple
sections using the RTP stream's payload type. For legacy clients
without MID extension support, it documents the existing behavior for
handling undeclared SSRCs in single media sections.
v4.0.14
2025-03-19 07:50:16 +02:00
renovate[bot]
c523e5a2bf Update module github.com/pion/ice/v4 to v4.0.8 (#3067)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [github.com/pion/ice/v4](https://redirect.github.com/pion/ice) |
`v4.0.7` -> `v4.0.8` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fpion%2fice%2fv4/v4.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fpion%2fice%2fv4/v4.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fpion%2fice%2fv4/v4.0.7/v4.0.8?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.7/v4.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

#### Changelog

-
[`37fb5d2`](37fb5d2fc3)
Always send KeepAlives
([#&#8203;767](https://redirect.github.com/pion/ice/issues/767))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 02:50:44 +00:00
renovate[bot]
09e2ad5c2f Update module github.com/pion/sdp/v3 to v3.0.11 (#3060)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [github.com/pion/sdp/v3](https://redirect.github.com/pion/sdp) |
`v3.0.10` -> `v3.0.11` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fpion%2fsdp%2fv3/v3.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fpion%2fsdp%2fv3/v3.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fpion%2fsdp%2fv3/v3.0.10/v3.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fpion%2fsdp%2fv3/v3.0.10/v3.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

#### Changelog

-
[`c7c57e2`](c7c57e2a16)
Error on conflicting codec values when parsing
-
[`c128a97`](c128a97b2d)
Update CI configs to v0.11.18

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODUuNCIsInVwZGF0ZWRJblZlciI6IjM5LjE4NS40IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-11 11:50:17 +00:00
renovate[bot]
add8eaa362 Update module github.com/pion/rtp to v1.8.13 (#3059)
This PR contains the following updates:

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

---

### Release Notes

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

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

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

#### Changelog

-
[`9bbc0f6`](9bbc0f6885)
Fix nalu parsing for 3-byte & 4-byte start seqs
([#&#8203;301](https://redirect.github.com/pion/rtp/issues/301))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODUuNCIsInVwZGF0ZWRJblZlciI6IjM5LjE4NS40IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-11 05:34:54 +00:00
Evan Brass
34f547626b Update CertificateFromPEM to support OpenSSL
Update CertificateFromPEM to be a loop over the PEM blocks.
This allows decoding the private key before decoding the certificate.
Tries to parse the certificate block directly but if that errors,
then it also tries to base64 decode the certificate block.

Fixes #3042
2025-03-10 23:23:54 -04:00
Sean DuBois
e4ff415b2b Support DataChannel messages larger then MaxUint16
SCTP now internally can handle larger messages

Resolves #2712
v4.0.13
2025-03-04 18:22:14 -08:00
Joe Turki
98a0025083 Add support for AV1 and VP9 to play from disk v4.0.12 2025-03-02 10:26:32 +02:00
Joe Turki
8f8c2322fb Refactor Ivfwriter.WriteRTP implemention
Break the WriteRTP function into smaller functions for each codec type.
2025-03-01 23:52:40 +02:00
Joe Turki
fd7fe3fbce Fix AV1 IVF writer using RTP depacketizer
1. Replaced the OBU reader with the AV1 depacketizer to actually handle
RTP input.
2. Now explicitly constructing OBUTemporalDelimiter to ensure proper
separation of frames.
2025-03-01 23:36:07 +02:00
Joe Turki
38fdb70355 Fix save to disk examples 2025-03-01 22:52:56 +02:00
Joe Turki
bdfe07a07c Move ErrCodecAlreadyRegistered to errors.go 2025-03-01 22:18:16 +02:00
Manish
19789447bb Return error if payload type exists in codecs list 2025-03-01 22:02:48 +02:00