Commit Graph

38 Commits

Author SHA1 Message Date
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
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
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
rob-deutsch
a071b8af09 Gstreamer-receive reserves main thread for Glib
The Glib loop is run in the main thread (in the OS point of view)
2019-02-16 02:01:20 -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
12fd9b41e4 Add example of using with Janus video-room
Resolves #268
2018-12-09 16:16:10 +01: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
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
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
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
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
cf6e2d9e03 Enable STUN by default in examples 2018-07-21 12:27:38 -07:00
backkem
f7c5ecd57f api: fix typos 2018-07-16 14:20:18 -07:00
backkem
7f682d2d2e api: match WebRTC api more closely 2018-07-16 14:20:18 -07:00
Sean DuBois
2564609560 Disable STUN in examples temporarily
When we have multiple candidates that resolve we need to share DTLS
state across them
2018-07-14 13:26:01 -07:00
Sean DuBois
f440fc32d4 Finish STUN implementation
* Do not increment component id (this is used for marking RTP/RTCP)
* Add STUN to all examples so that they work out of the box
* Cast Addr from STUN client to UdpAddr instead of parsing
2018-07-11 21:58:49 -07:00
Raphael Randschau
98ea0b791e fix warnings in examples 2018-07-06 15:23:40 -07:00
Raphael Randschau
4f6983307f update examples with new constructor 2018-07-06 15:23:40 -07:00
Sean DuBois
24a312c34d Fix poorly named function in RTCPeerConnection
CreateOffer -> CreateAnswer currently `pion-WebRTC` can only generate
offers not answers.
2018-07-04 00:46:01 -07:00
Sean DuBois
de2fb09778 Add support for receiving audio
Update gstreamer-receive to create pipelines for each input.

Currently we don't allow the user to pass in what codecs they support and we don't
take into account the offer. The API will need to be updated to catch
both these signaling errors. The user will pass a slice of support
codecs.
2018-07-01 02:04:47 -07:00
Sean DuBois
5bf9d5af34 Add ICE connection state change notification and timeouts 2018-06-30 02:57:47 -07:00
Sean DuBois
2ac78a4500 Fix gstreamer-receive import 2018-06-18 22:35:33 -07:00
Sean DuBois
882619f02c Doc updates
* Finish README.md
* Create README.md for every example
* Finish DESIGN.md
2018-06-18 22:22:19 -07:00