Commit Graph

42 Commits

Author SHA1 Message Date
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
Juliusz Chroboczek
f29ef99b22 Avoid leaking tickers
In Go 1.22 and earlier, a ticker needs to be explicitly stopped
when it's no longer useful in order to avoid a resource leak.
In Go 1.23 and later, an orphaned ticker will eventually be
garbage collected, but it's still more thrifty to stop it early.
2024-08-01 14:35:24 -04: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
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
Pion
308f8616a3 Update CI configs to v0.10.6
Update lint scripts and CI configs.
2023-04-08 14:24:19 -04: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
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
Sean DuBois
e12a7bf1e7 Fix examples error handling
Panic on the actual error we are checking in
data-channels-close and data-channels
2019-07-18 10:12:55 -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
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
Alex Browne
5ee8b1a5c5 Add ICE candidate event handlers
Add OnICECandidate and OnICEGatheringStateChange methods to
PeerConnection. The main goal of this change is to improve API
compatibility with the JavaScript/Wasm bindings. It does not actually
add trickle ICE support or change the ICE candidate gathering process,
which is still synchronous in the Go implementation. Rather, it fires
the appropriate events similar to they way they would be fired in a true
trickle ICE process.

Remove unused OnNegotiationNeeded event handler. This handler is not
required for most applications and would be difficult to implement in
Go. This commit removes the handler from the JavaScript/Wasm bindings,
which leads to a more similar API for Go and JavaScript/Wasm.

Add OnICEGatheringStateChange to the JavaScript/Wasm bindings. Also
changes the Go implementation so that the function signatures match.
2019-03-25 14:22:11 -07:00
Sean DuBois
f174986c74 Fix all lint errors in examples/
Resolves #531 and Resolves #470
2019-03-21 09:31:27 -07:00
backkem
f5d11df18d API: Review DataChannel
Resolves #427
2019-02-22 15:35:32 +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
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
backkem
e203a0537c ORTC: Add basic data channel constructors
Resolves #273
2019-01-08 13:43:49 -08:00
backkem
7a527fadb3 Examples: exchange entire RTCSessionDescription
Resolves #39
2018-12-08 11:06:16 +01:00
Michael MacDonald
d5cf800ebb Safer Event Callbacks
Resolves #218

Change Event Callback APIs to setter functions which take care of
locking so that users don't need to know about or remember
to do this.
2018-11-19 12:42:15 -05:00
backkem
2eddc94642 Examples: make uniform
Resolves #231
2018-11-19 00:42:16 -08:00
backkem
0043a4bf9a DataChannels: OpenChannel & OnOpen
- OpenChannel messages are now sent after SCTP is Established.
- The OnOpen handler tells the application when a channel has opened.

Relates to #159
2018-09-25 13:07:39 -07:00
Sean DuBois
cc4160f3ad Fix deprecation cutover, and bad SDP creation
Methods that were marked as deprecated weren't properly handled. There
was a mix of old+new ones supported which caused broken behavior.

SDP creation didn't add SCTP to Offer

Resolves #156
2018-09-19 00:38:17 -07:00
Konstantin Itskov
cf2fdf0776 Revert public API name changes for on event handlers 2018-09-04 19:15:55 -04:00
Konstantin Itskov
0a2568695a Re-organize CreateDataChannel function and add limited spec compliance 2018-09-04 12:11:17 -04:00
Konstantin Itskov
f738cec9da Change the names of event handlers and attributes for readability 2018-09-04 09:33:05 -04:00
Konstantin Itskov
20191a4974 Add an almost complete rfc complaint RTCConfiguration 2018-08-28 01:03:09 -07:00
backkem
8d6e30ec87 datachannel: send OpenChannel message 2018-08-18 00:18:23 -07:00
Sean DuBois
78b6a76cc5 Revert "Move ICE package from public to internal folder structure"
ICE Package needs to be public for peerConnection.OnICEConnectionStateChange

This reverts commit b831f87d28.
2018-08-16 10:10:29 -07:00
Konstantin Itskov
b831f87d28 Move ICE package from public to internal folder structure 2018-08-16 01:28:48 -07:00
Sean DuBois
22bd31d006 Fix all races in example applications
* Add locking around SCTP Assocation
* Add locking around DataChannel
* Add locking around port+global ICE

Closes #46
2018-07-26 00:46:45 -07:00
Sean DuBois
cd2f9df294 Update DataChannel APIs for payload types
Users can now get/set what payload types they are sending and receiving
2018-07-26 00:46:45 -07:00
Sean DuBois
13b02984e3 Fix all linting errors
Disabled gocylco for now, need to use gometalinter to disable
conditionally. There are also a lot more linters we could use, but they
cause too many issues to start today.
2018-07-21 12:27:38 -07:00
Sean DuBois
131ee7a35e Update data-channels example to show outbound
Sending is unimplemented, but just prints a message before entering SCTP stack
2018-07-21 12:27:38 -07:00
Sean DuBois
cf6e2d9e03 Enable STUN by default in examples 2018-07-21 12:27:38 -07:00
Sean DuBois
fd3082ef9b Update to use new PeerConnection API
Need to land #21 first, then we can merge this
2018-07-21 12:27:38 -07:00
Sean DuBois
25544948a0 Messages are delievered to public API
MVP complete! Only implemented ondatachannel and onmessage but users can
now recieve datachannel messages
2018-07-21 12:27:38 -07:00
Sean DuBois
b69b185bd5 Initial commit
* DTLS packets are decrypt
* Sending DTLS packets has prototype, but has not been implemented
* We print the SCTP packets, but they aren't parsed yet
2018-07-21 12:27:38 -07:00