Bastien Nocera
04fdfc4bf1
gtk: Remove coordinates double-translation
...
Remove our own translation in the mouse event capture code, as that
translation will be done through the navigation interface.
Tested by resizing the window created by:
gst-launch-1.0 -v videotestsrc ! navigationtest ! glupload ! glcolorconvert ! tee name=t ! gtkglsink
and checking that the cursor follows the mouse as expected.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/974 >
2021-05-06 01:18:18 +00:00
Bastien Nocera
9cd6d02cff
gtk: Translate navigation events coordinates
...
If the application passed down some pointer coordinates, translate those
from display coordinates to stream coordinates, so things work as
expected even if the video is resized.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/974 >
2021-05-06 01:18:18 +00:00
Bastien Nocera
604278a194
gtk: Export _display_size_to_stream_size()
...
Export _display_size_to_stream_size() so that GstNavigation implementors
can translate from display coordinates to stream coordinates before
pushing the events upstream to the DVD source, for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/974 >
2021-05-06 01:18:18 +00:00
Stéphane Cerveau
e4d26e69d3
gtk: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876 >
2021-03-29 12:45:21 +02: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
Mathieu Duponchelle
c897fe2b73
docs: mark more types as plugin API
2020-06-23 10:25:55 -04: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
Niels De Graef
9f494290d5
gtk: Use G_DECLARE_FINAL_TYPE
2020-03-16 09:20:07 +01: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
Guillaume Desmottes
5c4292b019
gtkglsink: fix crash when widget is resized after element destruction
...
Prevent _size_changed_cb() to be called after gtkglsink has been finalized.
Fix #632
2019-07-26 08:25:45 +00:00
Tim-Philipp Müller
bf14759477
dv, gtk, qt, osxaudio, osxvideo, waveform: add to plugins list
...
Makes sure the paths for these plugins are included in the
uninstalled plugin paths list. And also for the docs.
Fixes #604
2019-05-29 14:56:37 +00:00
Matthew Waters
7f95a809e9
gtkgl: Also try retrieving an EGL context from Gdk with X11
...
Some embedded platforms will use EGL instead of GLX within the X11
ecosystem.
2019-03-05 15:26:45 +11:00
Sebastian Dröge
db0eca886f
gtk/gl: Only unbind buffers/vertex attrib arrays if we can't directly bind the vertex array to 0
...
Binding the vertex array to 0 will unbind everything else already.
In the previous order older versions of the Intel GL driver caused
errors to be printed for every single call when disabling the vertex
attrib arrays after binding the vertex array to 0.
2019-01-16 14:11:44 +02: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
Tim-Philipp Müller
238a37295c
Update for g_type_class_add_private() deprecation in recent GLib
...
https://gitlab.gnome.org/GNOME/glib/merge_requests/7
2018-06-23 23:44:19 +02:00
Xavier Claessens
edd9c8f6b8
Meson: Generate pc file for all plugins in good
...
https://bugzilla.gnome.org/show_bug.cgi?id=794568
2018-04-25 11:07:06 +01:00
Arnaud Bonatti
b348ddfded
gtk: fix compiler warning with recent glib
...
https://bugzilla.gnome.org/show_bug.cgi?id=793688
2018-02-21 11:35:39 +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
33e2fadc3a
gtk: don't include uninstalled header
2017-12-19 13:03:28 +00:00
Tim-Philipp Müller
2106bf0151
gl: update plugins to use GstGL from -base
2017-12-19 12:02:31 +00:00
Edward Hervey
63398b8525
gtk: Fix possibility of NULL variable
...
It's quite unlikely since it's initialized in instance initialization.
CID #1417721
2017-11-24 08:00:21 +01:00
Nicolas Dufresne
6669ccdae5
Request minimum buffer even if need_pool is FALSE
...
When tee is used, it will not request a pool, but still it wants to
know how many buffers are required.
https://bugzilla.gnome.org/show_bug.cgi?id=730758
2017-09-06 14:19:37 -04:00
Matthew Waters
38b5a9bf33
gtkglsink: expose the created display and context correctly
...
1. Propagate the GstGLDisplay we create
2. Add the created GstGLContext to the propagated GstGLDisplay
Otherwise with multi-branch GL pipelines involving gtkglsink, things
will fall apart and errors will be genarated somewhere.
2017-09-05 21:16:33 +10: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
Nicolas Dufresne
5c8d4271d6
Remove plugin specific static build option
...
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:05:52 -04:00
Thibault Saunier
1ee15d67b0
docs: Port all docstring to gtk-doc markdown
2017-04-12 12:57:57 -03:00
Matthew Waters
f451d9be8d
gl: GL_ARRAY_BUFFER is not a part of VAO state
...
As a result we need to bind it on every draw in order to have the
correct state in the GL state machine.
2017-03-14 14:15:00 +11:00
Nicolas Dufresne
b7d332022c
Rename plugin filesnames to match plugin names
...
- libgstgtksink.so -> libgstgtk.so
- libgstteletextdec.so -> libgstteletex.so
- libgstcamerabin2.so -> libgstcamerabin.so
- libgstonvif.so -> libgstrtponvif.so (meson only)
- sdp -> sdpelem (avoid clash with libgstsdp)
- gstsiren -> siren
- libgstkmssink.so -> libgstkms.so
https://bugzilla.gnome.org/show_bug.cgi?id=779344
2017-03-08 20:04:23 -05:00
Matthew Waters
64394fc296
gl/utils: also take care of the local GL context in query functions
...
Simplifies a deduplicates a lot of code in elements retrieving/setting
the local OpenGL context.
2017-01-13 11:20:51 +11:00
Matthew Waters
c51210f2a8
gl: GST_GL_TYPE -> GST_TYPE_GL
...
Some deprecated symbols are kept for backwards compatibility
2016-11-03 16:16:12 +11:00
Matthew Waters
eb4c674e9d
meson: add build files for the gtk plugin
2016-09-09 16:36:03 +10:00
Nirbheek Chauhan
570ce4f7c8
gtk: Fix logging in base widget and fix desc of GL sink
...
Set a default category for gtkgstbasewidget lest the logging go to the 'default'
category where it can't be found easily
2016-03-27 12:04:16 +03:00
Matthew Waters
3faf049250
gtk/gl: don't assert when gdk doesn't provide a GL context
...
Allows the application to check whether gtkglsink is supported by setting
the element to READY.
https://bugzilla.gnome.org/show_bug.cgi?id=764148
2016-03-25 17:49:14 +11:00
Vineeth TM
c7dae7d057
gtkbasesink: post message to application for unhandled keyboard/mouse events
...
https://bugzilla.gnome.org/show_bug.cgi?id=763403
2016-03-24 14:58:24 +02:00
Vineeth TM
32e346da06
bad: use new gst_element_class_add_static_pad_template()
...
https://bugzilla.gnome.org/show_bug.cgi?id=763081
2016-03-24 14:56:51 +02:00
Matthew Waters
aaacc9fe54
gtk(gl)sink: remove the signal handlers on finalize
...
It's possible that the sink element will be freed before the widget is
destroyed. When the widget was eventually destroyed, it was attempting to
access member variables of the freed sink struct which resulted in undefined
behaviour.
Fix by disconnecting our signal on finalize.
https://bugzilla.gnome.org/show_bug.cgi?id=762098
2016-02-16 20:09:08 +11:00
Matthew Waters
caafdd8ca2
glsyncmeta: separate out gpu/cpu waits.
...
CPU waits are more expensive and are only required if the CPU is ever going to
access the data. GPU waits perform inter-context synchronisation and are cheaper
as they don't require CPU intervention.
2016-02-09 12:30:25 +11:00
Matthew Waters
4a52b58b78
gtk: add the overlaycomposition feature to the template caps
...
There is a possibility that the _get_caps impl will be called with the
feature in the filter caps which when interecting with the template,
will return EMPTY and therefore fail negotiation.
https://bugzilla.gnome.org/show_bug.cgi?id=757854
2015-11-10 15:40:25 +11:00
Matthew Waters
5f94356ce1
gl: be consistent in gobject boilerpate
...
GST_GL_IS_* vs GST_IS_GL_*
git grep -l 'GST_GL_IS_' | xargs sed -i 's/GST_GL_IS_/GST_IS_GL_/g'
2015-10-19 15:15:30 +11:00
Matthew Waters
2882f6b90b
gtk: separate out the widget/window destroy callbacks
...
Fixes assertion due to the sink_finalize() being run before the widget destroy
callback.
https://bugzilla.gnome.org/show_bug.cgi?id=755969
2015-10-17 16:09:53 +11:00
Matthew Waters
136f375f01
glshader: port to using GstGLSLStage objects for string management
...
A GstGLShader is now simply a collection of stages that are
compiled and linked together into a program. The uniform/attribute
interface has remained the same.
2015-10-15 21:27:57 +11:00
Matthew Waters
ab5f9c551f
gtk: add some GL debug statements to show up in GL traces
2015-09-30 12:39:47 +10:00
Matthew Waters
38e30dc631
gtk: fix assertion when the element has no peer
...
When proxying keyboard/navigation/mouse events, only unref a successfully
retreived peer pad.
https://bugzilla.gnome.org/show_bug.cgi?id=755738
2015-09-29 00:27:30 +10:00
Sebastian Dröge
16fe5f43c0
gtk: Only run from the main thread in stop() if we created the window
...
We're not doing anything at all from the main thread in other cases.
2015-09-24 18:51:39 +02:00
Thibault Saunier
e80765c928
gtk: When setting format check if pending format changed
...
In case the format changed fast and the pending format is different
than the currently set but the currently set is equal to the pending
one we could end up having mismatch between the finally set format
and the data stream format.
https://bugzilla.gnome.org/show_bug.cgi?id=755542
2015-09-24 16:50:38 +02:00
Thibault Saunier
f08f8d77f8
gtk: Do not forget to release OBJECT_LOCK on error path
...
https://bugzilla.gnome.org/show_bug.cgi?id=755542
2015-09-24 15:57:26 +02:00
Thibault Saunier
edebbb709f
gtk: Factor out a function to run a function on main thread
...
https://bugzilla.gnome.org/show_bug.cgi?id=755251
2015-09-24 12:03:01 +02:00
Thibault Saunier
c3f7272929
gtk: Marshall state changes in the main thread
...
Gtk is not MT safe thus we need to make sure that everything is done
in the main thread when working with it.
https://bugzilla.gnome.org/show_bug.cgi?id=755251
2015-09-24 12:03:01 +02:00