platform/upstream/gstreamer.git
6 years agomultiparty sendrecv: Add a queue before the audio sink
Nirbheek Chauhan [Mon, 30 Oct 2017 07:54:21 +0000 (13:24 +0530)]
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.

6 years agoWIP: Add a new multiparty sendrecv gstreamer demo
Nirbheek Chauhan [Mon, 30 Oct 2017 03:39:36 +0000 (09:09 +0530)]
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

6 years agosendrecv: Rename function for greater clarity
Nirbheek Chauhan [Mon, 30 Oct 2017 03:42:06 +0000 (09:12 +0530)]
sendrecv: Rename function for greater clarity

6 years agoUpdate Protocol.md
Nirbheek Chauhan [Sat, 28 Oct 2017 22:38:45 +0000 (04:08 +0530)]
Update Protocol.md

Fix indentation typos

6 years agosimple-server: Add support for multi-party rooms
Nirbheek Chauhan [Sat, 28 Oct 2017 13:30:42 +0000 (19:00 +0530)]
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

6 years agoProtocol.md: Fix headings
Nirbheek Chauhan [Sat, 28 Oct 2017 13:32:56 +0000 (19:02 +0530)]
Protocol.md: Fix headings

6 years agosignalling/client.py: Rename to session-client.py
Nirbheek Chauhan [Sat, 28 Oct 2017 13:30:03 +0000 (19:00 +0530)]
signalling/client.py: Rename to session-client.py

Also fix CALL -> SESSION naming

6 years agoAdd sendrecv implementation in js and gst webrtc
Nirbheek Chauhan [Sat, 21 Oct 2017 14:27:29 +0000 (19:57 +0530)]
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/

6 years agoAdd a simple python3 webrtc signalling server
Nirbheek Chauhan [Sat, 21 Oct 2017 14:26:52 +0000 (19:56 +0530)]
Add a simple python3 webrtc signalling server

+ client for testing + protocol documentation

6 years agoInitial commit
Nirbheek Chauhan [Sat, 21 Oct 2017 14:13:01 +0000 (19:43 +0530)]
Initial commit