Commit Graph

31 Commits

Author SHA1 Message Date
chenkaiC4
2b7ab19a94 fix golangci linter 2018-08-16 01:26:58 -07:00
Sean DuBois
938e490c39 Fix all lint errors, move SDP code to proper package 2018-08-11 13:56:28 -07:00
Sean DuBois
bf062e38b7 pion-WebRTC can now generate Offers and Answers
Examples need to be expanded to demo this, and lints need to be
fixed but no additional code/features are needed
2018-08-11 13:56:28 -07:00
Sean DuBois
1be721e5fa ICE works again, with proper agent implementation
Candidates are now generated with real priority, and actually pay
attention to the inbound messages.

Next we just need to pluck use-candidate + ice-controlling from the
messages and we will have a full-ice implementation (but we are not
controlling)

We then need to add timers to alert when the peer goes away OR when we
need to send again.
2018-08-11 13:56:28 -07:00
Sean DuBois
0c08a67e20 Start full ICE implementation for #23 2018-08-11 13:56:28 -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
999e85efaa Switch from individual linters to golangci-lint
Closes #44
2018-07-26 00:46:45 -07:00
John Bradley
0f556fe7f8 WIP Send almost working, fixed Data logic in DCEP 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
John Bradley
f5228fc930 Refactor exported SCTP symbols to unexported 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
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
0c8abd0bc3 Improve STUN/DTLS/SRTP demux, use example from RFC 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
John R. Bradley
0e43088e58 Add init ack sending, added cookie state 2018-07-21 12:27:38 -07:00
Sean DuBois
5849e549a7 Implement Marshal for multiple structs, with some tests
* Add test for Packet marshal
* Implement Packet, ChunkHeader, ChunkInitAck
* Improve error messages, and de-dupe some comments
2018-07-21 12:27:38 -07:00
Sean DuBois
c7da9212cd Add comments to SCTP + start InitAck 2018-07-21 12:27:38 -07:00
Sean DuBois
51e669e1d8 Improve error handling and enums in SCTP
* Make sure errors in SCTP make it all the way back
* Move structs into files with proper names in SCTP
* Add String() for AssociationState enum
* Add callbacks to Association to that we can handle
  DATA in the DataChannel package and send outbound SCTP
2018-07-21 12:27:38 -07:00
John R. Bradley
93fa676740 Add more association logic, RFC stuff 2018-07-21 12:27:38 -07:00
Sean DuBois
00a56d866c Implement outbound DTLS 2018-07-21 12:27:38 -07:00
Sean DuBois
f2b9791623 Implement SCTP Init chunk, and start InitAck 2018-07-21 12:27:38 -07:00
Sean DuBois
cca92b5dd7 Fix lint, vet and cyclo errors 2018-07-21 12:27:38 -07:00
Sean DuBois
766b1c2d3f Add early return to SCTP chunk parsing when invalid length 2018-07-21 12:27:38 -07:00
Sean DuBois
f7801d4afc Implement structs for SCTP Packet and SCTP chunks 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
backkem
7f682d2d2e api: match WebRTC api more closely 2018-07-16 14:20:18 -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
bfe324e8c0 Fix go lint warnings 2018-06-30 03:05:58 -07:00
Sean DuBois
5bf9d5af34 Add ICE connection state change notification and timeouts 2018-06-30 02:57:47 -07:00
Sean DuBois
6cd9d069c1 Clean up network.Port
* Split send/recv across two files
* Simplify DTLS handling, makes code cleaner
2018-06-29 01:18:18 -07:00