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
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
da37d43426
Bring back ICE notifications
...
We lost ICE notifications to user during DTLS refactor, this brings them back
2018-07-21 12:27:38 -07:00
Sean DuBois
bd9a6f6ca1
DTLS state should be shared by all ports
...
Before pion-WebRTC will fail if you bounce between STUN/Host
candidates. Our network code incorrectly failed to share SRTP/DTLS state
between all ports.
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
eb34f6be61
It works!
...
DataChannel messages are now printed to stdout. This also adds a new
datachannel package that parses ChannelOpen, and starts the skeleton of
getting the data to the public API
2018-07-21 12:27:38 -07:00
Sean DuBois
e7ede14f5c
De-dupe some OpenSSL code, and make sure we free tlscfg
2018-07-21 12:27:38 -07:00
backkem
ab6910899c
api: support a custom media engine
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
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
8ed90c4fb0
listen on correct port
...
we need to listen on the local port of the STUN client, not the remote
one as those might be different
2018-07-11 21:58:49 -07:00
Raphael Randschau
791438e3cc
implement STUN support
2018-07-11 21:58:49 -07:00
Raphael Randschau
55c5aedb93
guard against missing RTCConfiguration
...
while the RTCConfiguration object is optional we need to ensure we don't
get panics due to nil's.
2018-07-06 15:23:40 -07:00
Raphael Randschau
5bec5cf115
extract RTCConfiguration into separate file
2018-07-06 15:23:40 -07:00
Raphael Randschau
2d003f539b
rename iceUsername and icePassword
2018-07-06 15:23:40 -07:00
Raphael Randschau
c6a1f1d8c0
add RTCConnection and RTCPeerConnection constructor
2018-07-06 15:23:40 -07:00
John Bradley
cfba14cfea
Add H264 send/receive and packetization support
2018-07-05 17:16:51 -05:00
John Bradley
dfd08a5ac4
Reduce packetization MTU to 1400
2018-07-05 17:16:51 -05:00
Sean DuBois
b1b6efd2fb
Gofmt, extra newline in RTCPeerConnection
2018-07-04 16:38:09 -07:00
Sean DuBois
5745b7ce24
Fix #27
...
ice-candidates start at 1 (not 0)
2018-07-04 16:30:16 -07:00
Sean DuBois
b8b118dd48
Fix #25
...
If we only have one ICE candidate Chrome doesn't actually send any
ICE requests it seems. If we only have one interface this just
duplicates the list (so we tie to an interface twice)
This is a temporary fix, and requires deeper investigate I created [0]
to track this issue
[0] https://github.com/pions/webrtc/issues/27
2018-07-04 16:05:47 -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
3b3ed9a544
Fix lint, vet and fmt errors
2018-07-03 21:11:25 -07:00
John Bradley
912a8e18f8
Add opus sending support
2018-07-03 18:00:45 -05:00
Sean DuBois
6cda3cc488
Implement SDP generation for each track
...
This is still a WIP, this deserves a well thought out rewrite in the
future
2018-07-02 23:46:40 -07:00
John R. Bradley
799e02d8f8
Add VP8 payloading
2018-07-02 23:28:53 -05: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
5235a4f78c
Prepare for send-peer
...
Only thing left is creating the RTP packets, using packets directly
works
2018-06-24 19:48:45 -07:00
Sean DuBois
51136804ac
Significant send progress
...
* GStreamer sends RTP packets to Go
* pion-WebRTC generates proper SDP, and has certificate ready
* Just need to implement SRTP functionality and rough MVP should be done
2018-06-22 01:04:07 -07:00
Sean DuBois
85a637dd9b
Create new type 'Port' which maintains the state of a UDP listener
2018-06-20 01:06:36 -07:00
Sean DuBois
b662c65197
Cleanup post SRTP port
...
* Move .clang-format to internal/dtls on C code left
* Fix typo in internal/sdp
* Remove redundant type declarations in const
2018-06-18 23:31:22 -07:00
Sean DuBois
a6d6178c29
Remove panics from library
...
Panic should only be used in examples when we can't handle a condition
2018-06-18 22:43:57 -07:00
Sean DuBois
122b592e66
Expand README.md
2018-06-13 00:24:37 -07:00
Sean DuBois
d46382e382
Call RTCPeerConnection.Ontrack with a new goroutine
...
Every implementation should do this anyway. Also
new users might not understand and block all events for
RTCPeerConnections
2018-06-13 00:03:08 -07:00
Sean DuBois
c7ca757fa8
Change from Media -> Track
...
We expect single tracks, so use proper terminology
2018-06-12 23:59:56 -07:00
Sean DuBois
ddbb6c8ba8
Fix all golint errors
2018-06-12 22:24:52 -07:00
Sean DuBois
c21bc319d2
Set directions on channels
2018-06-12 21:25:49 -07:00
Sean DuBois
9e72c2913e
Fix errcheck warnings
2018-06-12 01:13:09 -07:00
Sean DuBois
fd96da48ea
Add save-to-disk example
...
Currently the constructed IVF don't work, but everything saves properly.
Hopefully off-by-one somewhere
2018-06-10 17:01:14 -07:00
Sean DuBois
279a786207
Refactor to match WebRTC Native API
2018-06-10 01:18:02 -07:00