Nirbheek Chauhan [Tue, 9 Feb 2021 09:46:11 +0000 (15:16 +0530)]
sendrecv/js: Implement state handling for Connect button
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/31>
Nirbheek Chauhan [Tue, 9 Feb 2021 09:02:13 +0000 (14:32 +0530)]
webrtc: Document OFFER_REQUEST in the protocol doc
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/31>
Nirbheek Chauhan [Tue, 9 Feb 2021 08:57:31 +0000 (14:27 +0530)]
sendrecv/js: Handle OFFER_REQUEST as part of the switch
This is clearer, and also stricter w.r.t. what sort of messages we
accept.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/31>
Nirbheek Chauhan [Tue, 9 Feb 2021 08:57:03 +0000 (14:27 +0530)]
sendrecv/gst: Don't need to allocate to send OFFER_REQUEST
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/31>
Seungha Yang [Thu, 10 Dec 2020 10:16:52 +0000 (19:16 +0900)]
webrtc: sendonly: Add support for Windows
Add meson build script and use mfvideosrc element in case of Windows
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/29>
Seungha Yang [Fri, 27 Nov 2020 09:16:52 +0000 (18:16 +0900)]
sendrecv/js: Add an UI for connecting to specified peer id
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/28>
Seungha Yang [Wed, 25 Nov 2020 17:34:48 +0000 (02:34 +0900)]
sendrecv/js: Convert taps to spaces
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/28>
Seungha Yang [Wed, 25 Nov 2020 17:41:53 +0000 (02:41 +0900)]
sendrecv: Add an option for example to be able to accept connection request from peer
Add "our-id" option to specify id to be used for registering to
signalling server and wait connection request from peer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/28>
Emmanuel Gil Peyrot [Mon, 23 Nov 2020 14:29:31 +0000 (15:29 +0100)]
rust: Regenerate Cargo.lock
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/27>
Emmanuel Gil Peyrot [Mon, 23 Nov 2020 14:28:28 +0000 (15:28 +0100)]
rust: Bump async-tungstenite
This removes the pin-project 0.4 dependency to use 1.0 instead like the
rest of the code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/27>
Olivier Crête [Thu, 9 Jul 2020 21:07:10 +0000 (17:07 -0400)]
webrtc sendonly: Add priority to example
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/18>
Olivier Crête [Thu, 9 Jul 2020 20:31:37 +0000 (16:31 -0400)]
webrtc sendonly: Add videoscale to avoid webcam compat issues
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/18>
Olivier Crête [Thu, 9 Jul 2020 20:30:41 +0000 (16:30 -0400)]
webrtc sendonly: Exit on bus errors
Catch bus errors and cleanly error out
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/18>
Nirbheek Chauhan [Sat, 19 Sep 2020 06:09:36 +0000 (11:39 +0530)]
playback: Remove libvisual plugin from iOS GstPlayer example
We won't be building the plugin in Cerbero anymore, so remove it from
the iOS example too. See:
https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/605
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/26>
Tim-Philipp Müller [Tue, 8 Sep 2020 15:59:14 +0000 (16:59 +0100)]
Back to development
Tim-Philipp Müller [Mon, 7 Sep 2020 23:10:23 +0000 (00:10 +0100)]
Release 1.18.0
Tim-Philipp Müller [Thu, 20 Aug 2020 15:16:55 +0000 (16:16 +0100)]
Release 1.17.90
Matthew Waters [Wed, 19 Aug 2020 10:00:55 +0000 (20:00 +1000)]
webrtc/android: add decodebin/autoaudiosink to plugin list
Otherwise the app fails to run
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/25>
Matthew Waters [Fri, 26 Jun 2020 06:19:03 +0000 (16:19 +1000)]
webrtc/android: initialize the debug category
Fixes possible critical/crash on startup
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/25>
Matthew Waters [Fri, 26 Jun 2020 06:17:44 +0000 (16:17 +1000)]
webrtc/android: use a better name for the output apk
Instead of a generic app-debug.apk
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/25>
Matthew Waters [Fri, 26 Jun 2020 03:29:53 +0000 (13:29 +1000)]
webrtc/android: explicitly link to iconv
As is now required
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/25>
Matthew Waters [Fri, 26 Jun 2020 03:05:17 +0000 (13:05 +1000)]
webrtc/android: use the openssl Gio module
That's what is shipped upstream now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/25>
Matthew Waters [Fri, 26 Jun 2020 02:34:31 +0000 (12:34 +1000)]
webrtc/android: add missing gradle-wrapper jar
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/25>
Carl Karsten [Sun, 9 Aug 2020 20:06:54 +0000 (20:06 +0000)]
Update README.md
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/23>
Sebastian Dröge [Wed, 5 Aug 2020 07:47:07 +0000 (10:47 +0300)]
webrtc: Change H264 examples to use aggregate-mode=zero-latency for best compatibility
The default changed back to none because it broke existing code.
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/749
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/22>
Sebastian Dröge [Fri, 31 Jul 2020 09:03:46 +0000 (12:03 +0300)]
sendrecv/Rust: Only set pipeline to Playing after connecting to the signals
Might miss some signal emissions otherwise, especially the
on-negotiation-needed signal.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/21>
Sebastian Dröge [Fri, 31 Jul 2020 08:51:43 +0000 (11:51 +0300)]
Update Rust examples to latest bindings versions
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/21>
Seungha Yang [Sun, 26 Jul 2020 17:20:59 +0000 (02:20 +0900)]
Port to gst_print* family
g_print* would print broken string on Windows
See also https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/258
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/20>
Tim-Philipp Müller [Fri, 3 Jul 2020 01:04:21 +0000 (02:04 +0100)]
Back to development
Tim-Philipp Müller [Thu, 2 Jul 2020 23:37:47 +0000 (00:37 +0100)]
Release 1.17.2
Philippe Normand [Mon, 29 Jun 2020 13:08:51 +0000 (14:08 +0100)]
webrtc: Add Janus video-room example
This Rust crate provides a program able to connect to a Janus instance using
WebSockets and send a live video stream to the videoroom plugin.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/15>
Matthew Waters [Thu, 25 Jun 2020 12:11:33 +0000 (22:11 +1000)]
webrtc/test: check if selenium is available before attempting to add tests
Fixes the following error
File "/builds/vivia/gst-plugins-bad/gst-build/build/../subprojects/gst-examples/webrtc/check/basic.py", line 5, in <module>
from selenium import webdriver
ModuleNotFoundError: No module named 'selenium'
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/17>
Matthew Waters [Fri, 19 Jun 2020 02:30:23 +0000 (12:30 +1000)]
webrtc: indent sources
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/16>
Matthew Waters [Thu, 18 Jun 2020 15:31:02 +0000 (01:31 +1000)]
webrtc: update for move to gst-examples
- Integrate with the build system.
- Some README updates.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/16>
Matthew Waters [Thu, 18 Jun 2020 14:13:38 +0000 (00:13 +1000)]
Move gstwebrtc-demos into gst-examples
Original repository location: https://github.com/centricular/gstwebrtc-demos
Nirbheek Chauhan [Mon, 22 Jun 2020 12:09:12 +0000 (17:39 +0530)]
sendonly: Don't assume we're building on UNIX
Fixes https://github.com/centricular/gstwebrtc-demos/issues/203
Tim-Philipp Müller [Fri, 19 Jun 2020 23:28:41 +0000 (00:28 +0100)]
Back to development
Tim-Philipp Müller [Fri, 19 Jun 2020 18:28:16 +0000 (19:28 +0100)]
Release 1.17.1
Nirbheek Chauhan [Tue, 16 Jun 2020 07:20:21 +0000 (12:50 +0530)]
signalling: Fix simple-server script name in Dockerfile
Fixes https://github.com/centricular/gstwebrtc-demos/issues/202
Corey Cole [Fri, 5 Jun 2020 23:19:12 +0000 (16:19 -0700)]
fix: python webrtc_sendrecv.py typo
Nirbheek Chauhan [Mon, 25 May 2020 18:39:16 +0000 (18:39 +0000)]
simple_server: asyncio TimeoutError has moved
We didn't notice this because the logging was broken.
Nirbheek Chauhan [Mon, 25 May 2020 18:34:11 +0000 (18:34 +0000)]
simple_server: Restart when the certificate changes
Reload the SSL context and restart the server if the certificate
changes. Without this, new connections will continue to use the old
expired certificate.
Nirbheek Chauhan [Mon, 25 May 2020 18:33:32 +0000 (18:33 +0000)]
simple_server: Abstract out ssl context generation
Nirbheek Chauhan [Mon, 25 May 2020 18:32:43 +0000 (18:32 +0000)]
simple_server: Make the server class loop-aware
First step in making the class able to manage its own state.
Nirbheek Chauhan [Mon, 25 May 2020 18:29:53 +0000 (18:29 +0000)]
simple_server: Fix init of websockets log handler
This has changed since the original code was written:
https://websockets.readthedocs.io/en/stable/cheatsheet.html#debugging
Nirbheek Chauhan [Mon, 25 May 2020 18:28:29 +0000 (18:28 +0000)]
simple_server: Correctly pass health option
It was completely ignored. Also don't de-serialize options. Just parse
them directly in `__init__`. Less error-prone.
Sebastian Dröge [Fri, 22 May 2020 19:45:35 +0000 (22:45 +0300)]
Update dependencies of Rust demos
Philippe Normand [Thu, 14 May 2020 10:04:37 +0000 (11:04 +0100)]
janus: Remove unused parameters and refactor
Matthew Waters [Fri, 8 May 2020 08:18:20 +0000 (18:18 +1000)]
add vulkan example for android
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/14>
Jan Schmidt [Sat, 9 May 2020 09:09:26 +0000 (19:09 +1000)]
webrtc-recvonly-h264: Add a recvonly standalone example.
This example sets up a recvonly H.264 transceiver and receives
H.264 from a peer, while sending bi-directional Opus audio.
Jan Schmidt [Thu, 19 Mar 2020 05:28:19 +0000 (16:28 +1100)]
sendonly: Fix transceivers leak.
Make sure to unref the transceivers array after use.
Matthew Waters [Fri, 1 May 2020 08:58:30 +0000 (18:58 +1000)]
signalling/server: python 3.8 asyncio has it's own TimeoutError
Matthew Waters [Fri, 1 May 2020 08:52:33 +0000 (18:52 +1000)]
sendrecv: wait until the offer is set before creating answer
Pragmatically, an answer cannot be created until the offer is created as
the answer creation needs information from the offer. Practically, due
to implementation details, the answer was always queued after the set of
the offer and so the call flow did not matter.
The current code also hid a bug in webrtcbin where ice candidates would be
generated before the answer had been created which is against the JSEP
specification.
Change to the correct call flow for exemplary effect.
Matthew Waters [Wed, 12 Feb 2020 10:56:34 +0000 (21:56 +1100)]
check/validate: a few more tests and improvements
Tests a matrix of options:
- local/remote negotiation initiator
- 'most' bundle-policy combinations (some combinations will never work)
- firefox or chrome browser
Across 4 test scenarios:
- simple negotiation with default browser streams (or none if gstreamer
initiates)
- sending a vp8 stream
- opening a data channel
- sending a message over the data channel
for a total of 112 tests!
Matthew Waters [Mon, 17 Dec 2018 11:34:10 +0000 (22:34 +1100)]
check: first pass at a couple of validate tests
Matthew Waters [Mon, 10 Sep 2018 08:08:15 +0000 (18:08 +1000)]
tests: first pass at some basic browser tests
Matthew Waters [Thu, 12 Sep 2019 09:15:49 +0000 (19:15 +1000)]
add __pycache__ to .gitignore
Costa Shulyupin [Wed, 15 Apr 2020 08:08:40 +0000 (11:08 +0300)]
html: charset
Avoid warning:
The character encoding of the HTML document was not declared.
The document will render with garbled text in some browser configurations
if the document contains characters from outside the US-ASCII range.
The character encoding of the page must be declared in the document
or in the transfer protocol.
Costa Shulyupin [Tue, 14 Apr 2020 17:13:37 +0000 (20:13 +0300)]
android, mp-webrtc-sendrecv, sendonly: cleanup
webrtc-unidirectional-h264.c: removed empty lines
android: removed unused var
Costa Shulyupin [Tue, 14 Apr 2020 17:13:56 +0000 (20:13 +0300)]
android, sendrecv: add missing break in switch case statements
Costa Shulyupin [Tue, 14 Apr 2020 10:49:55 +0000 (13:49 +0300)]
gst-indent
Costa Shulyupin [Tue, 14 Apr 2020 10:49:48 +0000 (13:49 +0300)]
gst-indent
Costa Shulyupin [Tue, 14 Apr 2020 10:49:41 +0000 (13:49 +0300)]
gst-indent
Sebastian Dröge [Tue, 24 Mar 2020 10:57:17 +0000 (12:57 +0200)]
Set TURN server in Rust sendrecv example too
Previously it was only in the multiparty example.
Jan Schmidt [Wed, 4 Mar 2020 16:03:17 +0000 (03:03 +1100)]
sendrecv: Add a switch for remote-offerer
Add a switch to the command line utility that makes it request
the initial offer from the peer instead of generating it.
Modify the webrtc.js example to support a new REQUEST_OFFER
message, and generate the offer when receiving it.
Nirbheek Chauhan [Mon, 2 Mar 2020 13:24:59 +0000 (18:54 +0530)]
Cerbero has moved from gnutls+openssl to only openssl
Jan Schmidt [Fri, 21 Feb 2020 03:01:58 +0000 (14:01 +1100)]
webrtc-sendrecv.py: Add a stun server
Fixes https://github.com/centricular/gstwebrtc-demos/issues/160
Jan Schmidt [Thu, 30 Jan 2020 03:46:05 +0000 (14:46 +1100)]
Android: Update build for android example
Sebastian Dröge [Sat, 1 Feb 2020 13:21:08 +0000 (15:21 +0200)]
Update Rust examples to async-tungstenite 0.4
Jan Schmidt [Mon, 27 Jan 2020 13:04:27 +0000 (00:04 +1100)]
janus: Add picture-id-mode=2 to VP8 payloading
This writes an extended header and Picture-ID into each RTP packet
which makes Janus able to detect which frames are keyframes and
to request replacement keyframes.
Jan Schmidt [Mon, 27 Jan 2020 13:03:39 +0000 (00:03 +1100)]
janus: Add options near the top
Add some script configuration options to choose
between VP8 and H.264 near the top, to modify the video input
source, and to enable/disable RTX support
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
Stéphane Cerveau [Fri, 3 Jan 2020 21:34:10 +0000 (21:34 +0000)]
ios: use dash to register plugin
The dash plugin contains now:
- dashdemux
- dashsink
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/704
Sebastian Dröge [Wed, 18 Dec 2019 23:04:01 +0000 (01:04 +0200)]
Update Rust demos to gstreamer 0.15 bindings release
Matthew Waters [Tue, 3 Dec 2019 02:23:19 +0000 (13:23 +1100)]
player/ios: update for minimum iOS 11
https://gitlab.freedesktop.org/gstreamer/cerbero/merge_requests/356
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
Nirbheek Chauhan [Tue, 10 Sep 2019 07:29:07 +0000 (12:59 +0530)]
meson: gtk player example is optional
Nirbheek Chauhan [Tue, 10 Sep 2019 07:25:53 +0000 (12:55 +0530)]
meson: libm is not a required library
Most toolchains do not have libm as a separate library at all.
Matthew Waters [Thu, 29 Aug 2019 10:42:59 +0000 (20:42 +1000)]
player/ios: add empty ssl directory
The iOS build requires it.
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.