Joe Turki
feeeebf251
Upgrade golangci-lint, more linters
...
Introduces new linters, upgrade golangci-lint to version (v1.63.4)
2025-01-18 07:16:06 -06:00
Sean DuBois
09461d55a6
Remove examples/internal
...
Users find it frustrating that example code doesn't work out of tree.
This makes copying the examples out of the repo easier.
Relates to #1981
2024-05-20 10:54:16 -04:00
Sean DuBois
fda6c4f836
Fix linter errors
...
golangci-lint upgrade to v1.56.2 added more checks
Relates to pion/.goassets#201
2024-03-16 21:09:38 -04:00
Sean DuBois
f66b8b6ce2
Update examples to handle going to Closed
...
Relates to #1767
2023-09-08 16:20:12 -04:00
Sean DuBois
dc4b591c4d
Start pion/webrtc/v4
...
60eea43
is a breaking change
2023-09-05 11:48:14 -04:00
Steffen Vogel
683fc837d0
Make repo REUSE compliant
2023-05-05 11:58:49 -04:00
Sean DuBois
03c83a178c
Use new intervalpli interceptor in examples
...
Instead of manually spawning a goroutine this demonstrates how an
interceptor can be useful.
Co-authored-by: Antoine Baché <antoine@tenten.app >
2023-04-25 22:25:56 -04:00
Pion
308f8616a3
Update CI configs to v0.10.6
...
Update lint scripts and CI configs.
2023-04-08 14:24:19 -04:00
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
Sean DuBois
fe447d6e56
Revert "Process RTCP Packets in OnTrack examples"
...
This is not needed. We don't perform any operations on inbound RTCP
packets. Receiver Reports and TWCC are generated by Reading RTP packets.
This reverts commit 080d7b8427
.
2021-12-29 23:39:32 -05:00
Sean DuBois
080d7b8427
Process RTCP Packets in OnTrack examples
...
TWCC and Receiver Reports are needed for a good default experience
2021-12-17 12:03:39 -05:00
Antoine Baché
7e049ec5ec
Update examples
...
TestNonFatalRead now has an timeout.
Examples now use Mime types, instead of raw strings.
Fixes #839
2021-07-02 11:49:55 -04:00
Sean DuBois
33d953e1eb
Enable Sender and Receiver Reports by default
...
The play-from-disk examples sees the average bitrate using
Chromium 90.0.4412.3 when enabled on loopback for a 3 minute
session.
Before: 744.443
After: 3927.669
Introduced with pion/interceptor@v0.0.10
2021-02-23 22:35:15 -08:00
Pascal Benoit
22eea024a2
Fix codec matching in save-to-disk
...
Use equalFold. Codecs aren't case sensitive and a client could use
either
2021-02-04 08:51:48 -08:00
Sean DuBois
67826b1914
Update Interceptors to use []byte based API
...
Also update test to assert Attributes get passed all the way through
Resolves pion/interceptor#14
2020-12-13 18:40:33 -08:00
Sean DuBois
9715626a0c
Revert "Read/Write RTP/RTCP packets with context"
...
This change caused a ~24% performance decrease
Relates to pion/webrtc#1564
This reverts commit 47a7a64898
.
2020-12-02 20:11:06 -08:00
Atsushi Watanabe
47a7a64898
Read/Write RTP/RTCP packets with context
...
Control cancel/timeout by context.
2020-12-01 11:08:48 +09:00
OrlandoCo
3333b65c01
Make WithMediaEngine to receive a pointer
...
These change will allow to use the MediaEngine outside Pion context
2020-11-18 10:56:29 -08:00
Pion
a737595534
Update CI configs to v0.4.15
...
Update lint scripts and CI configs.
2020-11-16 12:18:44 -08: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
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
bb3aa9717f
Move to pion/ice@v2
...
Removed support for trickle ice
Resolves #1274
2020-06-28 00:01:47 -07:00
Sean DuBois
89d7de1787
Start /v3
...
See #9 for the features we have planned, and the breaking changes that
may occur.
2020-06-25 09:45:27 -07:00
Yuki Igarashi
787b2c0a62
Update examples to use AddTransceiverFromKind
...
Move from AddTransceiver to AddTransceiverFromKind.
2020-04-05 00:14:22 +09:00
Hugo Arregui
6997cc792c
Linter fixes
...
Disable funlen and some fixes
Co-authored-by: Sean DuBois <sean@siobud.com >
2019-09-10 21:48:25 -07:00
Sean DuBois
6209597312
Fix OpusWriter issues that break VLC
...
* Correctly calculate page CRC
Ogg uses slightly non-standard version of CRC, we are unable to
use the Go's version. You can see the details here[0], in summary
"direct algorithm, initial val and final XOR = 0,
generator polynomial=0x04c11db7"
[0] https://xiph.org/vorbis/doc/framing.html
* Properly set EOS value
Before we created a new page with an EOS. Instead seek backwards
and update the last page with valid Opus to have EOS header and
re-generate the CRC
* Only use 0 timestamp/granule for headers
Audio itself should start from 0
* Rename OpusWriter -> OggWriter
Ogg supports more then just Opus, renaming gives us the flexibility to
expand in the future.
2019-08-15 17:12:01 -07:00
Sean DuBois
cc940bc5f4
Rename pion-webrtc -> Pion WebRTC
...
Mass rename everywhere we forgot to update
2019-06-30 21:29:35 -07:00
Sean DuBois
e8fe7aa48d
Bump SRTP/RTCP and update RTCP API
...
Reading/Writing RTCP packets now return a slice
Relates to pion/srtp#29
2019-04-11 16:03:26 -07:00
Sean DuBois
dbde6114a2
Update import paths
...
Add /v2 to import paths everywhere
2019-04-07 02:17:15 -07:00
Sean DuBois
1cdfc10c84
Mass replace pions -> pion
...
Pions organization was renamed to pion
2019-04-04 15:32:03 -07:00
Sean DuBois
1202dbaa06
Migrate SDP generation to Unified Plan
...
This commit has breaking changes. This API change means we
can no longer support an arbitrary number of receivers. For every track
you want to receive you MUST call PeerConnection.AddTransceiver
We do now support sending an multiple audio/video feeds. You can see
this behavior via gstreamer-receive and gstreamer-send currently.
Resolves #54
2019-04-04 12:55:36 -07:00
Max Hawkins
2a9d654143
Rename media.Writer AddPacket -> WriteRTP
...
Makes the name consistent with webrtc's WriteRTP
and makes webrtc.Track a Writer.
Fixes #566
2019-03-31 00:03:37 -07:00
Max Hawkins
4298892dc0
Rename SendRTCP -> WriteRTCP
...
Makes method name consistent with WriteRTP
Fixes #557
2019-03-30 10:21:46 -07:00
Sean DuBois
f174986c74
Fix all lint errors in examples/
...
Resolves #531 and Resolves #470
2019-03-21 09:31:27 -07:00
Antoine Baché
6a68ca04a8
IVF records can now be longer than 30s
...
- Added timeout to save-to-disk example
- Writing number of IVF frames when closing the file
- Fixed typos
Relates to #471
2019-03-07 14:49:25 -08:00
Woodrow Douglass
8a4878c2c4
Don't allow RTP codecs that violate RFC7587
...
Resolves #462
2019-03-01 16:00:33 -05:00
Antoine Baché
07e5c4e07e
Implementation of opuswriter
...
- Implemented a common "Writer" interface
- Made IVFWriter compliant to the new interface
- Implemented an OGG Opus writer
- Updated the save-file example
- Updated janus-gateway/streaming example
- Wrote a few unit tests for opus-writer
- Wrote a few unit tests for ivf-writer
- Fixed filenames
- Improved API to allow tests using an io.Writer
2019-02-27 12:02:34 -08:00
Sean DuBois
6aeb3425b0
Move to new Track API
...
See v2.0.0 Release Notes[0] for all changes
Resolves #405
[0] https://github.com/pions/webrtc/wiki/v2.0.0-Release-Notes#media-api
2019-02-25 23:44:09 -08:00
backkem
36cf0df239
Avoid defaultAPI
...
Relates to #434
2019-02-22 07:31:20 +01:00
backkem
ddcef2d84f
Examples: Make examples/util internal
...
Resolves #424
2019-02-20 21:32:48 +01:00
backkem
bf422e0c0a
API: Avoid exposing pkg/ice
...
OnICEConnectionStateChange now return a ICEConnectionState instead of
ice.ConnectionState.
Resolves #422
2019-02-20 20:47:34 +01:00
Max Hawkins
c6592e6c4b
Rename Ssrc -> SSRC
...
This capitalization is consistent with other uses in the project,
and matches the Go convention of capitalizing initialisms.
https://github.com/golang/go/wiki/CodeReviewComments#initialisms
Relates to #417
2019-02-18 11:47:05 -08:00
Max Hawkins
0e7086d37a
Remove RTC prefix from all names
...
Let's pull off the bandaid!
* Reduces studdering: webrtc.RTCTrack -> webrtc.Track
* Makes it easier to find types by editor autocomplete
* Makes code read more fluently (less repetition)
Since we're breaking the API in 2.0, our only chance to
do this is now.
Relates to #408
2019-02-17 16:22:56 -08:00
Sean DuBois
b67f73c34f
Stop Create(Offer/Answer) from setting localDesc
...
This deviates from the WebRTC spec, so we need to fix it. This is a
massively breaking change, so we need to figure out the best way to help
users with this.
I also renamed our RTCPeerConnection constructor. The hope is that
people will refer to the examples/backlog and see what changed.
Resolves #309
2019-02-15 23:13:25 -08:00
Sean DuBois
2863555984
Export RTP/RTCP to unique packages
...
Resolves #272
2019-01-28 11:38:54 -08:00
backkem
e203a0537c
ORTC: Add basic data channel constructors
...
Resolves #273
2019-01-08 13:43:49 -08:00
Sean DuBois
5d6262f63a
Send PLI in all recv examples
...
Temporary fix until examples can respond to RTCP
2018-12-08 16:57:34 -08:00
backkem
7a527fadb3
Examples: exchange entire RTCSessionDescription
...
Resolves #39
2018-12-08 11:06:16 +01:00
Sean DuBois
6bf22b014e
DTLS is fast enough now that we don't need PLI
...
Remove temporary fix that only existed when handshaking was slow
Resolves #204
2018-12-04 00:10:14 -08:00
Sean DuBois
02bc9ec2e7
Send PLI in all recv examples
...
DTLS Keying material is slower then OpenSSL, for now just send PLI on an
interval until we improve our DTLS implementation
Resolves #204
2018-12-04 00:10:14 -08:00