Julien Isorce
6125ea7e97
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
c683f2fffe
gtk: Log GDK GL error when failling creating GdkGLContext
2015-07-20 11:09:20 +02:00
Matthew Waters
d5996de5d7
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
1d0c3fd070
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
5e87b9f9af
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
13ae5cb2f5
gtkglsink: Port to GtkGstBaseWidget
...
https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-17 15:13:11 -04:00
Nicolas Dufresne
fecef40463
gtkgstglwidget: Remove unused gl_caps
2015-07-16 17:05:36 -04:00
Nicolas Dufresne
0bc7e9a240
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
abde710f42
gtk: add to the generic/states test
2015-07-09 16:40:19 +10:00
Thibault Saunier
31b770af0b
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
9841cd5e58
gtkglwidget: Const'ify another array
2015-06-15 21:32:43 +02:00
Sebastian Dröge
aa37a70efb
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
8b821e0cf3
gtk: Use the display width/height for the widget's preferred width/height
2015-06-15 21:24:01 +02:00
Sebastian Dröge
ea8aa5ff1b
gtk: Implement ignore-alpha property and enable it by default
2015-06-15 20:35:38 +02:00
Matthew Waters
64f3446907
gtk: implement pixel and display aspect ratio handling
2015-06-15 22:39:07 +10:00
Matthew Waters
e34638112f
gtk: silence unused variable warnings for unsupported winsys'
2015-06-15 14:41:24 +10:00
Matthew Waters
874b578d05
gtk: implement basic wayland GL support
2015-06-15 14:41:05 +10:00
Thibault Saunier
7634a77611
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
b97f2e6e6a
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
59e298a6fb
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
23fb666dd7
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