summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Sebastian Dröge [Thu, 23 Jan 2020 06:35:25 +0000 (08:35 +0200)]
Update dependencies of Rust examples and simplify slightly
Jan Schmidt [Tue, 14 Jan 2020 23:47:27 +0000 (10:47 +1100)]
Add python Janus videoroom streaming example.
Added with permission and copyright @tobiasfriden and @saket424
on github. See https://github.com/centricular/gstwebrtc-demos/issues/66
Jan Schmidt [Tue, 14 Jan 2020 23:47:27 +0000 (10:47 +1100)]
Add a sendonly example
Sebastian Dröge [Sun, 5 Jan 2020 09:39:33 +0000 (11:39 +0200)]
Update Rust examples to async-tungstenite 0.3
Sebastian Dröge [Wed, 18 Dec 2019 23:04:01 +0000 (01:04 +0200)]
Update Rust demos to gstreamer 0.15 bindings release
Sebastian Dröge [Fri, 29 Nov 2019 19:39:40 +0000 (20:39 +0100)]
multiparty/rust: Add Rust version of multiparty demo
Different to the C version this also mixes all participants into a grid
with videomixer.
Sebastian Dröge [Fri, 29 Nov 2019 19:34:21 +0000 (20:34 +0100)]
sendrecv/rust: Port from tokio to async-std and use async/await
Sebastian Dröge [Thu, 24 Oct 2019 23:05:16 +0000 (02:05 +0300)]
Update dependencies of Rust sendrecv example
Sebastian Dröge [Thu, 24 Oct 2019 23:02:59 +0000 (02:02 +0300)]
Return gst::BusSyncReply::Drop from the bus sync handler in the Rust sendrecv example
Otherwise all messages accumulate on the queue inside the bus and
nothing is ever removing them from there.
We handle messages elsewhere and only intercept them from the sync
handler.
Jan Schmidt [Mon, 16 Sep 2019 13:00:03 +0000 (23:00 +1000)]
android: Reenable x86/x86_64 ABI builds
Jan Schmidt [Sat, 14 Sep 2019 09:12:35 +0000 (19:12 +1000)]
Android: Restrict camera capture size, and add 1 keyframe / sec.
Jan Schmidt [Sat, 14 Sep 2019 09:12:10 +0000 (19:12 +1000)]
Android: Add 25% FEC to the video stream
Jan Schmidt [Fri, 13 Sep 2019 17:21:37 +0000 (03:21 +1000)]
android: Expand gradle memory to avoid Metaspace out of memory errors
Jan Schmidt [Fri, 13 Sep 2019 17:21:23 +0000 (03:21 +1000)]
android: Change the default URL to webrtc.nirbheek.in
Jan Schmidt [Fri, 13 Sep 2019 17:20:59 +0000 (03:20 +1000)]
android: Switch to the camera for input
Jan Schmidt [Mon, 5 Aug 2019 13:22:53 +0000 (23:22 +1000)]
android: Fix missing sentinel and return value compiler warnings
Jan Schmidt [Mon, 5 Aug 2019 13:22:07 +0000 (23:22 +1000)]
android: update gradle and build tools versions
Also disable erroring out on lint failure for now.
Jan Schmidt [Mon, 5 Aug 2019 13:21:09 +0000 (23:21 +1000)]
android: Fix build with r18b by linking libc++_shared
Matthew Waters [Wed, 7 Nov 2018 13:32:31 +0000 (00:32 +1100)]
Simple android app
Shane Perry [Mon, 12 Aug 2019 13:59:57 +0000 (07:59 -0600)]
Make health check route configurable
Shane Perry [Wed, 31 Jul 2019 21:53:32 +0000 (15:53 -0600)]
Added a basic health check endpoint to the server
Nirbheek Chauhan [Mon, 15 Jul 2019 21:01:56 +0000 (02:31 +0530)]
signalling/simple-server: Listen on both ipv4 and ipv6 by default
Empty string or `None` mean all interfaces. Specifying 0.0.0.0 means
ipv4 interfaces only.
Fixes https://github.com/centricular/gstwebrtc-demos/issues/120
Sebastian Dröge [Tue, 9 Jul 2019 11:51:41 +0000 (14:51 +0300)]
Add FIXME comment to the Rust sendrecv example for implementation proper SDP negotiation
Sebastian Dröge [Tue, 9 Jul 2019 11:50:19 +0000 (14:50 +0300)]
Enable RTX in the Rust sendrecv example only for video
Chrome et al don't like RTX for audio streams.
Sebastian Dröge [Mon, 8 Jul 2019 13:44:51 +0000 (16:44 +0300)]
Update dependencies of Rust example
Sebastian Dröge [Mon, 8 Jul 2019 13:41:51 +0000 (16:41 +0300)]
Add support for RTX with --rtx commandline parameter in the Rust example
Seungha Yang [Tue, 2 Jul 2019 09:52:44 +0000 (18:52 +0900)]
Add meson build script
make build easy with meson
Bernhard Jung [Mon, 1 Jul 2019 10:19:39 +0000 (12:19 +0200)]
unref sinkpad also in mp version
Bernhard Jung [Mon, 1 Jul 2019 10:01:31 +0000 (12:01 +0200)]
unref sinkpad
Bernhard Jung [Thu, 9 May 2019 16:39:28 +0000 (18:39 +0200)]
do no use gst_element_link but gst_pad_link in pad-added callbacks to prevent situations where
on multiple incoming streams they might not get linked correctly and leave a stream unconnected
Sebastian Dröge [Thu, 27 Jun 2019 11:35:47 +0000 (14:35 +0300)]
Add support for creating the offer in the Rust sendrecv client
Sebastian Dröge [Thu, 27 Jun 2019 10:57:42 +0000 (13:57 +0300)]
Update Rust sendrecv example to latest GLib/GStreamer bindings
Sebastian Dröge [Thu, 27 Jun 2019 10:54:23 +0000 (13:54 +0300)]
Port Rust sendrecv example to asynchronous IO and completely rewrite
Code should be easier to follow now and also supports TLS WebSockets
now.
Fixes https://github.com/centricular/gstwebrtc-demos/issues/70
Yevgeny Kazakov [Fri, 12 Apr 2019 07:35:38 +0000 (09:35 +0200)]
Add video tag playsinline to enable autoplay in iOS Safari
Yevgeny Kazakov [Thu, 11 Apr 2019 21:33:50 +0000 (23:33 +0200)]
Replace deprecated onaddstream with ontrack; fixes #98
Emmanuel Gil Peyrot [Tue, 26 Feb 2019 17:19:13 +0000 (18:19 +0100)]
Update Rust dependencies
svangasse [Tue, 26 Feb 2019 12:41:15 +0000 (12:41 +0000)]
Java demo (#81)
Added working demo using GStreamer Java bindings
Jason Sun [Thu, 22 Nov 2018 05:23:15 +0000 (21:23 -0800)]
Improve building documentation
- Add apt-get install lines for Ubuntu 18.04
- add gstreamer-webrtc-1.0 and gstreamer-sdp-1.0 to CFLAGS
- make the CLAGS match LIBS in Makefile dependencies
Matthew Waters [Tue, 6 Nov 2018 04:41:28 +0000 (15:41 +1100)]
webrtc: fix data channel usage after requiring a READY webrtcbin
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/commit/
c4fe52395b21b54fd6ee6b9a5010737404889242
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/commit/
7bf18ad258bfd81200197378dbedde125f813fad
Fixes https://github.com/centricular/gstwebrtc-demos/issues/55
Mathieu Duponchelle [Mon, 15 Oct 2018 18:45:57 +0000 (20:45 +0200)]
sendrecv: port all examples to use a max-bundle policy
Sebastian Dröge [Mon, 15 Oct 2018 12:54:06 +0000 (15:54 +0300)]
Update Rust dependencies
Sebastian Dröge [Mon, 15 Oct 2018 12:53:56 +0000 (15:53 +0300)]
Add Rust instructions to README.md
Matthew Clark [Fri, 21 Sep 2018 20:13:44 +0000 (21:13 +0100)]
Add check_plugins() to Python example, matching C and Rust versions
Jan Alexander Steffens (heftig) [Thu, 20 Sep 2018 08:48:06 +0000 (10:48 +0200)]
on_server_message: Do not unref message GBytes
We don't own the reference. Since GLib 2.58, the g_bytes_unref that
follows the signal emission in libsoup loudly complains about the
attempt to underflow the refcount.
Mathieu Duponchelle [Fri, 21 Sep 2018 13:03:43 +0000 (15:03 +0200)]
sendrecv: try to add a data channel
Mathieu Duponchelle [Fri, 21 Sep 2018 13:02:55 +0000 (15:02 +0200)]
webrtc.js: fix tearing down
Sebastian Dröge [Mon, 10 Sep 2018 11:06:01 +0000 (14:06 +0300)]
Update to releases of glib/gstreamer bindings
meldron [Thu, 26 Jul 2018 11:20:55 +0000 (13:20 +0200)]
Fix stun server address
The stun server address has a space as suffix which is not allowed in the rust bindings.
Thibault Saunier [Tue, 3 Jul 2018 13:49:46 +0000 (09:49 -0400)]
Implement the demo in C# with GStreamerSharp
Based on https://github.com/ttustonic/GStreamerSharpSamples from
Tomislav Tustonić <ttustonic@outlook.com>
Nirbheek Chauhan [Tue, 3 Jul 2018 13:56:56 +0000 (19:26 +0530)]
Update README.md
Leon Tan [Wed, 27 Jun 2018 20:25:30 +0000 (22:25 +0200)]
Fix bug in Rust sendrecv demo
Matthew Clark [Tue, 26 Jun 2018 22:05:16 +0000 (23:05 +0100)]
Correct signalling usage instructions
Mathieu Duponchelle [Mon, 25 Jun 2018 12:44:58 +0000 (14:44 +0200)]
webrtc-sendrecv.py: required gstreamer 1.14.2
Addresses #25
Sebastian Dröge [Thu, 21 Jun 2018 10:16:15 +0000 (13:16 +0300)]
General code cleanup of the Rust sendrecv demo
Fewer clones and more borrowing, if let instead of match, match instead
of multiple ifs, insert a few newlines all over the place to make code
less dense, and a few changes to make code a bit more idiomatic.
Sebastian Dröge [Thu, 21 Jun 2018 06:03:18 +0000 (09:03 +0300)]
Fix various clippy warnings in the Rust sendrecv demo
maxmcd [Wed, 6 Jun 2018 16:51:15 +0000 (12:51 -0400)]
Add --disable-ssl flag to webrtc-sendrecv.c
maxmcd [Wed, 6 Jun 2018 16:42:07 +0000 (12:42 -0400)]
Add --disable-ssl option to simple-server.py
maxmcd [Sun, 27 May 2018 19:37:52 +0000 (15:37 -0400)]
Add Rust version of sendrecv example
This also comes with a docker image to collect all dependencies and
build everything.
Fixes https://github.com/centricular/gstwebrtc-demos/pull/20
Mathieu Duponchelle [Mon, 11 Jun 2018 18:26:07 +0000 (20:26 +0200)]
webrtc-sendrecv.py: improve debug and documentation
Mathieu Duponchelle [Mon, 11 Jun 2018 16:49:53 +0000 (18:49 +0200)]
sendrecv: python version
Nirbheek Chauhan [Wed, 11 Apr 2018 13:34:47 +0000 (19:04 +0530)]
Fix heading levels
Eloi Bail [Tue, 3 Apr 2018 14:53:24 +0000 (16:53 +0200)]
mp-webrtc-sendrecv.c: add missing comma in the list of package required
A comma is missing in the list of package required. Thus the package
'srtprtpmanager' is checked instead of packages srtp and rtpmanager.
Nirbheek Chauhan [Sat, 31 Mar 2018 20:23:44 +0000 (01:53 +0530)]
sendrecv/js: Improve more logging and errors
Nirbheek Chauhan [Sat, 31 Mar 2018 20:22:46 +0000 (01:52 +0530)]
sendrecv/js: Fix some null/undefined checks
Nirbheek Chauhan [Sat, 31 Mar 2018 19:58:02 +0000 (01:28 +0530)]
sendrecv/js: Don't reuse peer_id across sessions
It increases the likelihood of a collision with someone else, and it
was an unintended side-effect anyway.
Nirbheek Chauhan [Sat, 31 Mar 2018 19:45:16 +0000 (01:15 +0530)]
sendrecv/gst: Add no-op audio/video converters
This reduces the chance that someone will try to change the
audio/video source elements and get an error because they don't know
about the conversion elements. They will be no-ops in the usual case.
Closes https://github.com/centricular/gstwebrtc-demos/issues/8
Nirbheek Chauhan [Sat, 31 Mar 2018 19:37:51 +0000 (01:07 +0530)]
sendrecv/js: custom getUserMedia constraints
The html page now contains a text area in which the default
constraints will be added and can be edited.
Closes https://github.com/centricular/gstwebrtc-demos/issues/11
Nirbheek Chauhan [Sat, 31 Mar 2018 19:11:40 +0000 (00:41 +0530)]
sendrecv/js: Simplify local stream management
Just use the fulfilled value of the promise directly instead of
storing it separately
Nirbheek Chauhan [Sat, 31 Mar 2018 19:09:48 +0000 (00:39 +0530)]
sendrecv/js: Allow overriding peer_id and ws_server
This allows people to easily use a custom peer id or their own server
if the automatic values are not appropriate for them.
Nirbheek Chauhan [Sat, 31 Mar 2018 17:31:32 +0000 (23:01 +0530)]
sendrecv/js: Explicitly close the local stream when done
This immediately releases the webcam and mic instead of lazily at some
unpredictable time in the future.
Nirbheek Chauhan [Sat, 31 Mar 2018 16:54:15 +0000 (22:24 +0530)]
sendrecv/js: Make error statuses more prominent
Colour errors in red, and ensure that later status updates don't
overwrite existing error statuses.
Nirbheek Chauhan [Sat, 31 Mar 2018 08:22:02 +0000 (13:52 +0530)]
sendrecv/js: Call getUserMedia on incoming call
Instead of registering it on page load. This will allow us to add an
option for users to override the default constraints later.
This is also generally nicer because the browser won't open the webcam
immediately when you load the page and keep recording from it.
Nirbheek Chauhan [Sat, 31 Mar 2018 04:58:51 +0000 (10:28 +0530)]
sendrecv: Don't set pipeline state if it's NULL
Avoids ugly CRITICAL warnings when erroring out.
Nirbheek Chauhan [Sat, 31 Mar 2018 04:57:05 +0000 (10:27 +0530)]
Don't use strict ssl certificate checking for localhost
When using localhost signalling servers, we don't want to use
strict ssl because it's probably using a self-signed certificate
and there's no need to do certificate checking over localhost anyway.
Nirbheek Chauhan [Fri, 23 Mar 2018 06:40:26 +0000 (12:10 +0530)]
Add Makefiles for all C demos
Nirbheek Chauhan [Fri, 23 Mar 2018 06:35:09 +0000 (12:05 +0530)]
Fix compiler warnings in all C demos
Nirbheek Chauhan [Fri, 23 Mar 2018 06:06:40 +0000 (11:36 +0530)]
sendrecv: Fix SDP message format
The format is {'sdp': {'sdp': <sdp>, 'type': <sdptype>}}
The multiparty-sendrecv demo already uses this format.
Sebastian Kilb [Wed, 21 Mar 2018 00:56:49 +0000 (01:56 +0100)]
Fix audio/video linking error on windows
Closes https://github.com/centricular/gstwebrtc-demos/issues/5
Nirbheek Chauhan [Sat, 10 Mar 2018 07:51:34 +0000 (13:21 +0530)]
README.md: Document the binaries and Cerbero
Also mention where to file bug reports about the plugin itself.
Nirbheek Chauhan [Fri, 9 Mar 2018 20:24:48 +0000 (01:54 +0530)]
Check for all necessary plugins at startup
People seem to be having problems ensuring that they have all the
right plugins built, so make it a bit easier for them.
Nirbheek Chauhan [Thu, 8 Mar 2018 14:40:55 +0000 (20:10 +0530)]
Fix crash on Windows by delimiting option entries with NULL
Also use more verbose forms of g_assert which print values on failure
Nirbheek Chauhan [Sat, 17 Feb 2018 02:40:59 +0000 (08:10 +0530)]
README: link to blog post, document multiparty example
Also add TODO stubs for MCU and SFU
Tim-Philipp Müller [Fri, 2 Feb 2018 08:41:21 +0000 (08:41 +0000)]
README: fix formatting
Tim-Philipp Müller [Fri, 2 Feb 2018 08:39:04 +0000 (08:39 +0000)]
webrtc-sendrecv: define GST_USE_UNSTABLE_API to avoid compiler warnings
Tim-Philipp Müller [Fri, 2 Feb 2018 08:23:30 +0000 (08:23 +0000)]
Update README
Point to upstream repos now that it's been merged
Nirbheek Chauhan [Tue, 12 Dec 2017 16:10:09 +0000 (21:40 +0530)]
sendrecv: Add a Google STUN server to the configuration
Without this, the example will only work on link-local and localhost
networks.
Matthew Waters [Wed, 22 Nov 2017 13:21:36 +0000 (00:21 +1100)]
server/js: also allow running on localhost
Mathieu Duponchelle [Wed, 22 Nov 2017 12:15:48 +0000 (13:15 +0100)]
Update to new promise API
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.
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
Nirbheek Chauhan [Mon, 30 Oct 2017 03:42:06 +0000 (09:12 +0530)]
sendrecv: Rename function for greater clarity
Nirbheek Chauhan [Sat, 28 Oct 2017 22:38:45 +0000 (04:08 +0530)]
Update Protocol.md
Fix indentation typos
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
Nirbheek Chauhan [Sat, 28 Oct 2017 13:32:56 +0000 (19:02 +0530)]
Protocol.md: Fix headings
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
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/
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
Nirbheek Chauhan [Sat, 21 Oct 2017 14:13:01 +0000 (19:43 +0530)]
Initial commit