Commit graph

271 commits

Author SHA1 Message Date
VaL Doroshchuk
36b794f9ff qmloverlay: Use first found GstGLVideoItem as widget property
GstGLVideoItem is required to render input video in the overlay's qml.
And currently qmlgloverlay requires to set this GstGLVideoItem to its widget property.

Instead of fetching GstGLVideoItem from the overlay's root object (root-item prop),
and setting it back as a widget (widget prop),
proposing to use found GstGLVideoItem in the current object hierarchy (passed in qml-scene) by default.

Also useful in Python, which solves the issue when casting gpointer <=> QQuickItem* is required.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/919>
2021-04-21 08:26:52 +00:00
Matthew Waters
3296a03d73 build: update for gl pkg-config file split
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/680>
2020-08-07 07:58:29 +00:00
Tim-Philipp Müller
3b0437e58d examples: hook up rpicamsrc examples
webrtc one should probably go into gst-examples.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/667>
2020-07-10 17:37:28 +01:00
Tim-Philipp Müller
c22b71e181 examples: fix indentation of rpicamsrc examples
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/667>
2020-07-10 17:37:28 +01:00
Tim-Philipp Müller
84dbf94313 Merge branch 'plugin-move-rpicamsrc'
Move rpicamsrc from https://github.com/thaytan/gst-rpicamsrc/

It's a useful little element and works well, so might as well
make sure it's widely available so people can stop piping
raspivid output into fdsrc.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/667>
2020-07-10 17:36:14 +01:00
Jan Schmidt
41f41f1fdd rpicamsrc: webrtc example: Add a STUN server to the configuration
To let the webrtc example work through NAT firewalls
2020-07-10 16:46:30 +01:00
Jan Schmidt
b333e32e18 rpicamsrc: webrtc example: Modify HTML to support other ports than 57778 2020-07-10 16:46:28 +01:00
Jan Schmidt
d9115ef1eb rpicamsrc: webrtc example: Remove external fmtp insertion
GStreamer 1.14.2 should contain the backport of gst-plugins-bad
commit 5c450c5 adding FEC and RTX support, and incidentally
the fmtp field in the SDP
2020-07-10 16:46:26 +01:00
Jan Schmidt
fa840da606 rpicamsrc: webrtc example: Set the locale
Make the date format in the overlay respect the current
locale
2020-07-10 16:46:24 +01:00
Jan Schmidt
39a026760d rpicamsrc: Add webrtc streaming example
Add an example for testing webrtc streaming from the rpi
camera, based on the code from
https://bugzilla.gnome.org/show_bug.cgi?id=795404

Requires GStreamer 1.14.1 or git master
2020-07-10 16:46:21 +01:00
Philippe Normand
cda483cb3c rpicamsrc: Basic orientation interface support
The (h,v)flip attributes are now supported through this interface.
It should also be possible to support (h,v)center attributes using the
ROI properties.
2020-07-10 16:45:13 +01:00
Philippe Normand
c51503fc41 rpicamsrc: add test-color-balance example
This small test will display a live video preview of the rpicam with
the balance controls being updated once a second. The controls to
update can be disabled in the source by setting the CONTROL_* macros
values to 0.
2020-07-10 16:45:02 +01:00
Jan Schmidt
acc7449d28 rpicamsrc: Add dynamic properties example
Python example of adjusting saturation on the fly
2020-07-10 16:44:41 +01:00
Nirbheek Chauhan
0fcd87e42a meson: Build Qt5 tests with -std=c++11
We already do this for the plugin.

https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/780#note_548179

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/642>
2020-06-25 15:20:55 +00:00
Tim-Philipp Müller
87d4374655 examples: qmlsink: rename qrc file to avoid naming conflicts with older meson versions
Would get "Tried to create target "qt5-qmlsink_qrc", but a
target of that name already exists." with older meson versions.

Work around that by renaming the qrc file.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/633>
2020-06-18 10:58:32 +01:00
Matthew Waters
8a8c8afc86 qtoverlay: add the root item as a property
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/595>
2020-05-20 19:37:32 +00:00
Nirbheek Chauhan
d67a658daf meson: Fix gstgl checks for qt and gtk
Also rename from build_ to have_, which is more accurate.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/587>
2020-05-12 04:32:01 +05:30
Nirbheek Chauhan
2ecba800bf meson: Revamp qt5qml plugin and example build code
Stricter and simpler. For example, now we properly error out when
gstreamer-gl-1.0 was not found when the qt5 plugin is enabled or when
a C++ compiler is not enabled.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/587>
2020-05-12 04:30:13 +05:30
Matthew Waters
7a25fb5b08 qt: add a qml overlay filter element [part 2]
It takes a qml scene description and renders it using a possible input
stream.

Currently supported on GLX and WGL.

Follow up to (as that MR had an old version of the commit):
- https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/475
- 4778d7166a: qt: add a qml overlay filter element
2020-03-19 17:26:54 +11:00
Matthew Waters
4778d7166a qt: add a qml overlay filter element
It takes a qml scene description and renders it using a possible input
stream.

Currently supported on GLX and WGL.
2020-03-18 11:22:39 +00:00
Matthew Waters
73cd4477af test/qml: add an dynamically adding qmlglsink element
The example shows how to add qmlglsink to an already running pipeline
with pre-existing OpenGL elements.
2020-03-18 11:22:39 +00:00
Tim-Philipp Müller
c9a47c0c8d Remove autotools build system 2019-10-14 11:04:18 +01:00
Aaron Boxer
46989dca96 documentation: fix a number of typos 2019-10-05 22:38:11 +00:00
Tim-Philipp Müller
d682c74c1e examples: rtsp: fix compiler warning
"control reaches end of non-void function"
2019-03-22 23:37:09 +00:00
Seungha Yang
3f9170bd02 meson: Build v4l2 example only if v4l2 plugin was built
Otherwise v4l2 example will be built with MSVC
2019-03-08 11:06:32 +09:00
Tim-Philipp Müller
6b68b73341 tests: .gitignore more test and example binaries 2019-03-06 17:26:03 +00:00
Mathieu Duponchelle
f52e16ceb8 Revert "rtpbin: receive bundle support"
This reverts commit dcd3ce9751.

This functionality was implemented for gstopenwebrtc, but it
turned out this was not actually needed for webrtc bundling
support, as shown in webrtcbin. It also doesn't correspond
to any standards.

This is an API break, but nothing should actually depend on
this, at least not for its initial purpose.

Changes in rtpbin.c were reverted manually, to preserve some
refactoring that had occurred in the original commit.

Fixes #537
2018-12-20 13:25:10 +00:00
Tim-Philipp Müller
1a871b1883 meson: only build gtk gl examples if gst-gl was found
And fix typo in glliveshader example binary name.
2018-10-08 20:35:41 +01:00
Tim-Philipp Müller
553a479e89 examples: dist qt examples
https://bugzilla.gnome.org/show_bug.cgi?id=796968
2018-08-17 11:45:47 +01:00
Nirbheek Chauhan
8f807477eb meson: Add feature options for all plugins
Checks for GL, Qt5, and C++ are still automagic. FIXMEs have been
added for these so they can be fixed later.

https://bugzilla.gnome.org/show_bug.cgi?id=795107
2018-07-27 18:42:54 +05:30
Nicolas Dufresne
cc38469f04 example: Build GTK and GTK GL example code 2018-07-19 22:59:11 -04:00
Matthew Waters
ee046864d8 qt: also check for un-suffixed moc
e.g. Qt windows installer doesn't have suffixes
2018-06-07 14:28:37 +10:00
Sebastian Dröge
6d92fcd043 Revert "rtspsrc: Fix up sendonly/recvonly attribute handling"
This reverts commit af273b4de9.

While RFC 3264 (SDP) says that sendonly/recvonly are from the point of view of
the requester, the actual RTSP RFCs (RFC 2326 / 7826) disagree and say
the opposite, just like the ONVIF standard.

Let's follow those RFCs as we're doing RTSP here, and add a property at
a later time if needed to switch to the SDP RFC behaviour.

https://bugzilla.gnome.org/show_bug.cgi?id=793964
2018-04-17 17:58:01 +03:00
Matthew Waters
ca67a460ee meson: add build files for the qml plugin
Tested on linux with X11/wayland and semi-tested on Windows.

Windows crashes on item destruction however this is better than nothing.

Fix up some win32 build issues on the way with mismatched {} and
G_STMT_{START,END}
2018-04-15 23:49:57 +10:00
Tim-Philipp Müller
22ddef8ef4 examples: rtsp: fix meson build take 2 2018-02-16 09:42:59 +00:00
Sebastian Dröge
3e15b6651d rtsp: Fix meson.build of the example 2018-02-16 11:30:01 +02:00
Nirbheek Chauhan
befa41cdf6 rtspsrc: Implement ONVIF backchannel support
Set backchannel=onvif to enable, and use the 'push-backchannel-sample'
action signal with the correct stream id.
2018-02-16 11:06:27 +02:00
Tim-Philipp Müller
bbab8f79ad qt: hook up to build
https://bugzilla.gnome.org/show_bug.cgi?id=754094
2018-02-12 18:40:10 +00:00
Tim-Philipp Müller
6c75e6c5e0 Move qt plugin from -bad
https://bugzilla.gnome.org/show_bug.cgi?id=754094
2018-02-12 18:13:17 +00:00
Tim-Philipp Müller
eb29ffa36d gtk: hook up to meson build 2018-02-12 15:18:37 +00:00
Tim-Philipp Müller
9c21a17a9a gtk: hook up to autotools build 2018-02-10 13:33:42 +00:00
Tim-Philipp Müller
a12f8df0c6 Move gtk plugin from -bad
https://bugzilla.gnome.org/show_bug.cgi?id=754094
2018-02-10 12:49:36 +00:00
Olivier Crête
3bdb3a89c2 gtk example: Fix cflags in Makefile.am 2017-12-19 16:22:52 -05:00
Tim-Philipp Müller
2106bf0151 gl: update plugins to use GstGL from -base 2017-12-19 12:02:31 +00:00
Sebastian Dröge
4f7b995ae7 v4l2src: Fix compiler error in example caused by re-declaring index
../tests/examples/v4l2/v4l2src-renegotiate.c:57:13: error: ‘index’ redeclared as different kind of symbol
 static gint index = 0;
             ^
2017-12-14 18:28:00 +02:00
Nicolas Dufresne
3ea2621036 v4l2-renegotiate: Don't leak the option context 2017-09-13 11:38:44 -04:00
Nicolas Dufresne
22a5f56f2a v4l2src-renegotiate: Don't leak pipeline desc string 2017-09-13 11:33:33 -04:00
Nicolas Dufresne
3975e87136 v4l2-renegotiate: Change --enable-dmabuf into --io-mode=
This gives allow testing dmabuf importation but also exportation buy
letting user pick anything from the io-mode property on v4l2src.
2017-09-13 11:32:09 -04:00
Tim-Philipp Müller
8fe7dbf8ef tests: ignore another binary 2017-08-26 09:52:33 +01:00
Julien Isorce
a4d74fda9a gl: do not include GL headers in public gstgl headers
Except for gst/gl/gstglfuncs.h

It is up to the client app to include these headers.
It is coherent with the fact that gstreamer-gl.pc does not
require any egl.pc/gles.pc. I.e. it is the responsability
of the app to search these headers within its build setup.

For example gstreamer-vaapi includes explicitly EGL/egl.h
and search for it in its configure.ac.

For example with this patch, if an app includes the headers
  gst/gl/egl/gstglcontext_egl.h
  gst/gl/egl/gstgldisplay_egl.h
  gst/gl/egl/gstglmemoryegl.h
it will *no longer* automatically include EGL/egl.h and GLES2/gl2.h.
Which is good because the app might want to use the gstgl api only
without the need to bother about gl headers.

Also added a test: cd tests/check && make libs/gstglheaders.check

https://bugzilla.gnome.org/show_bug.cgi?id=784779
2017-08-22 10:00:19 +01:00