Commit graph

16 commits

Author SHA1 Message Date
Tim-Philipp Müller
2e5204ae3b README: fix formatting 2018-02-02 08:41:21 +00:00
Tim-Philipp Müller
72c10e8243 webrtc-sendrecv: define GST_USE_UNSTABLE_API to avoid compiler warnings 2018-02-02 08:39:04 +00:00
Tim-Philipp Müller
43a27385c3 Update README
Point to upstream repos now that it's been merged
2018-02-02 08:23:30 +00:00
Nirbheek Chauhan
97cf763420 sendrecv: Add a Google STUN server to the configuration
Without this, the example will only work on link-local and localhost
networks.
2017-12-12 21:40:48 +05:30
Matthew Waters
e4e83a648b server/js: also allow running on localhost 2017-11-23 00:29:39 +11:00
Mathieu Duponchelle
e5c5767298 Update to new promise API 2017-11-22 22:28:55 +10:00
Nirbheek Chauhan
0c5e799952 multiparty sendrecv: Add a queue before the audio sink
Missed this, fixes the bug where removing a peer causes the pipeline to
get stuck. However, when peers leave, there is still a chance that the
pipeline will get stuck.
2017-10-30 13:24:21 +05:30
Nirbheek Chauhan
9b1a0e5389 WIP: Add a new multiparty sendrecv gstreamer demo
You can join a room and an audio-only call will be started with all
peers in that room. Currently uses audiotestsrc only.

BUG: With >2 peers in a call, if a peer leaves, the pipeline stops
     outputting data from the remaining peers to the (audio) sink.

TODO: JS code to allow a browser to join the call
TODO: Cleanup pipeline when a peer leaves
TODO: Add ICE servers to allow calls over the Internet
TODO: Perhaps setup a TURN server as well
2017-10-30 09:14:29 +05:30
Nirbheek Chauhan
569aff43f9 sendrecv: Rename function for greater clarity 2017-10-30 09:14:29 +05:30
Nirbheek Chauhan
96e4f39fd8 Update Protocol.md
Fix indentation typos
2017-10-29 04:08:45 +05:30
Nirbheek Chauhan
d687ff3d91 simple-server: Add support for multi-party rooms
Also add a new room-client.py to test the protocol which is documented
in Protocol.md
2017-10-28 19:20:44 +05:30
Nirbheek Chauhan
2db85c41cc Protocol.md: Fix headings 2017-10-28 19:03:11 +05:30
Nirbheek Chauhan
c2961305e3 signalling/client.py: Rename to session-client.py
Also fix CALL -> SESSION naming
2017-10-28 19:00:03 +05:30
Nirbheek Chauhan
e9b0656bad Add sendrecv implementation in js and gst webrtc
JS code runs on the browser and uses the browser's webrtc
implementation.

C code uses gstreamer's webrtc implementation, for which you need the
following repositories:

https://github.com/ystreet/gstreamer/tree/promise
https://github.com/ystreet/gst-plugins-bad/tree/webrtc

You can build these with either Autotools gst-uninstalled:

https://arunraghavan.net/2014/07/quick-start-guide-to-gst-uninstalled-1-x/

Or with Meson gst-build:

https://cgit.freedesktop.org/gstreamer/gst-build/
2017-10-21 20:02:19 +05:30
Nirbheek Chauhan
663ad7ba98 Add a simple python3 webrtc signalling server
+ client for testing + protocol documentation
2017-10-21 19:56:52 +05:30
Nirbheek Chauhan
8d782e4460 Initial commit 2017-10-21 19:43:01 +05:30