Commit Graph

13 Commits

Author SHA1 Message Date
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
dce9704383 Add InterceptorFactory
Interceptors are being accidentally misused by users.
The issue is that an Interceptor can be re-used between
multiple PeerConnections. Interceptors were designed to only be
single PeerConnection aware, so state is being corrupted.

Instead we are now going to provide InterceptorFactories. The default
API of pion/webrtc will now be safe to use between PeerConnections.

Resolves webrtc#1956
2021-09-17 15:53:51 -04:00
Adam Kiss
5bbc84e404 Implement Interceptors
Provide API so that handling around RTP can be easily defined by the
user. See the design doc here[0]

[0] https://github.com/pion/webrtc-v3-design/issues/34
2020-11-26 11:23:19 -08: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
soolaugust
98e6612687 Make PeerConnection constructor with WebIDL errors
According to https://w3c.github.io/webrtc-pc/#constructor defined.
there are WebIDL errors should be returned when constructor failed.
2020-08-21 07:00:28 -07:00
Sean DuBois
1cdfc10c84 Mass replace pions -> pion
Pions organization was renamed to pion
2019-04-04 15:32:03 -07:00
Hugo Arregui
87897285b1 Custom Loggers
Define LoggerFactory as part of the SettingEngine
2019-04-01 11:14:13 -03:00
Alex Browne
012a7ea686 Improve build tags for Wasm
Fixes #515

This includes a few small and closely related changes:

1. All occurrences of the build tag `+build js` have been changed to the
   more precise `+build js,wasm`. This will exclude the files from being
   included by third-party compilers like GopherJS, with which they are
   incompatible.
2. Some files which are incompatible with JavaScript/Wasm now have the
   correct build tag (`+build -js`) so they will be excluded from Wasm
   builds.
3. Some configuration options which are incompatible with
   JavaScript/Wasm (or at least the current bindings) will now no longer
   appear in Wasm builds. This meant creating new files with new struct
   definitions and the appropriate build tags.
2019-03-22 10:48:03 -07:00
backkem
36cf0df239 Avoid defaultAPI
Relates to #434
2019-02-22 07:31:20 +01:00
backkem
4fe2728721 Remove global API for settings engine
Limit global API to the basics needed to construct a PeerConnection.
2019-02-21 22:04:30 +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
db15e20c54 API: Expose SettingEngine
Enable passing custom settings and media engine to an API.
2019-01-24 20:35:49 +01:00