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
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
Vineeth T M
35812bce51
gl: Fix GError leaks during failures
...
https://bugzilla.gnome.org/show_bug.cgi?id=755140
2015-09-17 11:52:55 +02:00
Matthew Waters
115691c508
gtk, qt: more specifically define the compile time requirements
...
Otherwise we could include headers/configurations that will
never been installed.
https://bugzilla.gnome.org/show_bug.cgi?id=754732
2015-09-10 13:11:06 +10:00
Tim-Philipp Müller
f96d22bd45
gtk, qt, gl: fix typo in debug and error messages
2015-08-31 18:06:31 +01:00
Sebastian Dröge
69c4630f1d
gtk/gl: Use our GL function table instead of directly calling GL functions
...
Otherwise we would have to link the plugin to the GL libraries directly.
2015-08-19 13:55:00 +03:00
Nicolas Dufresne
aaf14659c1
gtkglsink: Add overlay composition support
...
Rendering composition overlay in GL with additional high resolution
overlay being added.
2015-08-15 15:55:08 +02:00
Nicolas Dufresne
cf44f5013a
gtkglsink: Fix unsafe handling of buffer life time
...
We need to keep the active buffer (the one we have retreive a
texture id from) otherwise it's racy and upstream may upload
new content before we have rendered or during later redisplay.
2015-08-15 15:55:08 +02:00
Nicolas Dufresne
9afab22dd9
gtkglsink: Remove reset path
...
The reset path is bogus and there is no reason to get rid of these
things during resize.
2015-08-15 15:55:08 +02:00
Julien Isorce
47f3f98366
gstglwidget: use gst_gl_display_create_context
...
Also handle the failure case.
https://bugzilla.gnome.org/show_bug.cgi?id=750310
2015-07-21 15:06:34 +01:00
Thibault Saunier
b1d22b0515
gtk: Log GDK GL error when failling creating GdkGLContext
2015-07-20 11:09:20 +02:00
Matthew Waters
ca97f5121a
glcontext: fix get_current_gl_api on x11/nvidia drivers
...
They require to get_proc_address some functions through the
platform specific {glX,egl}GetProcAddress rather than the default
GL library symbol lookup.
2015-07-18 18:18:22 +10:00
Nicolas Dufresne
ef6bfe0eb4
gtkgstglwidget: Cleanup unused private member
...
new_buffer has been moved to base class. Also cleanup
the properties comment, which are also all moved into
the base class.
2015-07-17 16:00:01 -04:00
Nicolas Dufresne
067051f6fe
gtkglsink: Don't leak vertex array and buffers
...
This is now possible since reset is always called from the
main thread.
https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-17 15:41:09 -04:00
Nicolas Dufresne
4c201f3aa6
gtkglsink: Port to GtkGstBaseWidget
...
https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-17 15:13:11 -04:00
Nicolas Dufresne
5243f5678d
gtkgstglwidget: Remove unused gl_caps
2015-07-16 17:05:36 -04:00
Nicolas Dufresne
1a7c9b82f4
gtk: Fix race between queue_draw and destroy
...
In GTK dispose can be called before the last ref is reached. This
happens when you close the container window. The dispose will be
explicitly called, and destroyed notify will be fired. This patch
fixes this race by properly tracking the widget state.
In the sink, we now set the widget pointer to NULL, so the widget
will properly get created again if you set your pipeline to NULL
state after the widget was destroy, and set it back to PLAYING.
https://bugzilla.gnome.org/show_bug.cgi?id=751104
2015-07-16 17:05:36 -04:00
Matthew Waters
469ea20754
gtk: add to the generic/states test
2015-07-09 16:40:19 +10:00
Thibault Saunier
cb10f1b290
gtkglsink: Release the widget lock when trying to get the GL context
...
Otherwise we might be waiting for the lock on the main loop (for
example in the ->render vmethod) and thus we will deadlock.
2015-07-06 19:33:35 +02:00
Sebastian Dröge
577ca6a0e8
gtkglwidget: Const'ify another array
2015-06-15 21:32:43 +02:00
Sebastian Dröge
e410c770f5
gtkglwidget: Calculate the viewport size ourselves
...
Getting the current viewport and modifying it relatively will produce an
interesting feedback loop during widget resizing. Over a few frames we
will gradually move the viewport a bit until it converged again, adding
unnecessary additional borders at the top and left.
2015-06-15 21:29:46 +02:00
Sebastian Dröge
5cabeb3415
gtk: Use the display width/height for the widget's preferred width/height
2015-06-15 21:24:01 +02:00
Sebastian Dröge
05fa796c25
gtk: Implement ignore-alpha property and enable it by default
2015-06-15 20:35:38 +02:00
Matthew Waters
48db03200d
gtk: implement pixel and display aspect ratio handling
2015-06-15 22:39:07 +10:00
Matthew Waters
8648d59974
gtk: silence unused variable warnings for unsupported winsys'
2015-06-15 14:41:24 +10:00
Matthew Waters
869ea6093c
gtk: implement basic wayland GL support
2015-06-15 14:41:05 +10:00
Thibault Saunier
baad74b995
gtk: Do not try to activate a NULL GLContext
...
At that point in the code nothing guarantees it exists
2015-06-12 15:40:29 +02:00
Matthew Waters
a512a91598
gtk: implement video aspect-ratio handling
...
For both the software and the GL sink's.
Doesn't deal with the pixel-aspect-ratio field at all yet.
2015-06-12 15:17:30 +10:00
Thibault Saunier
4cef5787c8
gtk: Do not try to initialize display if we have not have a GLContext yet
2015-06-11 15:07:24 +02:00
Matthew Waters
a959c410d9
Implement gtk sinks
...
two sinks are provided. gtksink which is a cairo/software based renderer
and gtkglsink which utilises the GL support in gtk and gstreamer.
2015-06-11 22:01:03 +10:00