Nirbheek Chauhan
fa2adc717b
Fix crash on Windows by delimiting option entries with NULL
...
Also use more verbose forms of g_assert which print values on failure
2018-03-08 20:10:55 +05:30
Nirbheek Chauhan
492d13a7c9
README: link to blog post, document multiparty example
...
Also add TODO stubs for MCU and SFU
2018-02-17 08:13:36 +05:30
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
Philippe Normand
48247c6ab6
meson: fix version number
...
Current development version is 1.13.0.1.
2017-12-31 13:21: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
Matthew Waters
fed396ff8e
playback/android: expose after setting the window handle
...
Fixes the view not updating in PAUSED after a surface change from an
orientation change/explicit surface change.
2017-10-12 16:28:47 +11:00
Matthew Waters
9dfe9fb41d
player/ios: constrain the bottom of the video view to the top of the toolbar
...
Otherwise, no video output on iPad.
2017-08-17 19:31:51 +10:00
Sebastian Dröge
e88c04ff34
gst-play: Fix more deprecation warnings
2017-08-08 12:02:39 +03:00
Philippe Normand
d23171fbdf
gtk-play: fix deprecation warnings
2017-08-08 12:01:34 +03:00
Simon Himmelbauer
9ebe002f51
playback/player/ios: Updated the iOS example in order to be compatible with the latest GStreamer as well as Apple Hardware
...
-) Disabled bitcode generation
-) Removed/Renamed several plugins in the gst_ios_init.m
2017-05-23 17:34:23 +03:00
Jan Schmidt
1e0b3ed778
Don't crash if no uri is passed in the intent
...
If we receive an intent with no attached data, don't
throw a null pointer exception - just don't set a URI
on the player.
2017-05-20 17:30:08 +02:00
Jan Schmidt
1116ae85e2
Play.java: Don't lookup R.id.surface_video twice.
...
R.id.surface_video was stored in the gsv variable just
above, don't look it up a second time.
2017-05-20 17:28:41 +02:00
Jan Schmidt
0436ec5b1c
Support GSTREAMER_ROOT_ANDROID env var
...
If GSTREAMER_ROOT_ANDROID is set, try using
that for the location of the GStreamer Android tree,
but still allow it to be overridden in local
gradle properties
2017-05-20 17:28:17 +02:00
Simon Himmelbauer
f7ce5cd694
playback/player/qt: Use QUrl::toEncoded() instead of ::toString()
...
The former properly encodes the URL components to give a valid URL, the
latter generates a human-readable URL.
2017-05-15 12:02:03 +03:00
Víctor Manuel Jáquez Leal
d909deaaf4
playback/player: gtk_menu_popup() is deprecated
...
gtk_menu_popup() is deprecated in GTK+ 3.22. This patch adds a
compiler guard to use gtk_menu_popup at pointer() if GTK+ is 3.22
or bigger.
https://bugzilla.gnome.org/show_bug.cgi?id=781904
2017-05-02 14:11:30 +03:00
Víctor Manuel Jáquez Leal
dbb0375bfe
playback/player: don't unref a contained widget
...
In the GTK+ model, when a wiget is created, it is floating, thus
when it is added to a widget container, this container is the owner
of the widget.
The video_area widget is created in two different paths:
1\ when the renderer element is also a GTK+ widget and we are
the owners.
2\ when the renderer element is an overlay an video area a new
widget owned by the container.
In the first code path, there was a memory leak fixed on commit
f8d4796a
, but it didn't consider the second path, leading to a
segmentation fault because the owner of the widget is not us.
This patch unrefs early the video area widget in the first path
avoiding to unref it twice in the second path.
https://bugzilla.gnome.org/show_bug.cgi?id=781904
2017-05-02 14:11:30 +03:00
Víctor Manuel Jáquez Leal
ff1a6546da
playback/player: don't unref gtk_sink but sink it
...
Commit 5b8ba60c
was added because of a memory leak when gtksink was
used as renderer. Nonetheless the patch didn't consider two facts:
1\ that the gtk_sink element was in floating state
2\ there is another code path where the gtk_sink element is already
sank
Thus the correct fix, is not to ref and unref gtk_sink, but sink it.
https://bugzilla.gnome.org/show_bug.cgi?id=781904
2017-05-02 14:11:30 +03:00
Carlos Rafael Giani
175f7c8da1
playback/player: qt: use QApplication instead of QGuiApplication
...
This avoids the following fatal error:
"QWidget: Cannot create a QWidget without QApplication"
https://bugzilla.gnome.org/show_bug.cgi?id=781789
2017-04-27 12:27:49 +03:00
Arun Raghavan
71d85d3393
playback/player/android: Make plugin list in Android.mk easier to read
...
Minor Makefile reformatting to make how users can select what plugins
they want easier to figure out.
2017-04-03 13:23:50 +05:30
Sebastian Dröge
5fc4fd5958
playback/player/qt: Fix build with new GstPlayer API
...
Configuration has a separate interface now.
2017-03-08 17:12:02 +02:00
Tim-Philipp Müller
a8fdbf57b2
meson: bump version
2017-01-13 12:42:53 +00:00
Arun Raghavan
e17b52b501
playback/player/android: Fix assets directory
...
Needed with GStreamer <= 1.10 and newer Android Studio so that we
correctly place the assets with respect to the rest of the code.
2017-01-06 19:00:17 +05:30
Arun Raghavan
0ede8b3796
playback/player/android: Force externalNativeBuild before Java building
...
This is needed so that we copy over the Java files from gst-android that
include the GStreamer class which is used while compiling app.
2017-01-02 11:21:11 +05:30
Tim-Philipp Müller
0d340e1b2f
meson: update version
2016-11-01 18:13:11 +00:00
Sebastian Dröge
4cd72781af
playback/player/android: Add .gitignore
2016-10-03 13:15:27 +03:00
Sebastian Dröge
8b0ea8257f
playback/player/android: Switch to native gradle ndk-build support
...
Based on a patch by Olivier Crete for another project
be9470a7e1
2016-10-03 13:15:19 +03:00
Arun Raghavan
a5cdde9119
playback/player/android: Switch to building against universal packages
2016-09-04 10:12:52 +03:00
Sebastian Dröge
fc41dd802f
Add meson build system for playback/player/{gst-play,gtk} and network/http-launch
2016-08-26 19:02:24 +03:00
Sebastian Dröge
e9c4fd17a7
Merge commit 'http-launch/merge'
2016-08-26 18:37:02 +03:00
Sebastian Dröge
7b9b4b15da
Merge commit 'gst-player/merge'
...
All gst-player example applications from https://github.com/sdroege/gst-player
2016-08-26 18:28:43 +03:00
Sebastian Dröge
3e67a2315c
Initial commit with empty meson.build
2016-08-26 18:28:34 +03:00
Sebastian Dröge
f6cf0dd997
playback/player: gtk: Remove unused variable
2016-08-23 23:48:26 +03:00
Sebastian Dröge
d30c65f9f8
playback/player: Block value-changed signal when playing an URI to prevent spurious seeks
2016-08-23 19:02:53 +03:00
Arun Raghavan
5743b39d4e
playback/player: android: Update build tools and gradle
...
New build tools needed for Instant Run, and Android Studio wants us to
update that and the gradle version.
2016-08-23 09:52:00 +03:00
Sebastian Dröge
1d760d92ed
playback/player: gtk: Block value-change signal handler while updating the range of the seekbar too
...
I.e. when updating the duration. Changing the range might also change the
value, which would then trigger a seek.
2016-08-22 16:19:59 +03:00
Sebastian Dröge
89c74b3dd8
playback/player: gtk: Use GQueue instead of g_list_append() or the prepend-reverse trick
2016-08-18 15:48:57 +03:00