Xavier Claessens
c55e55f48b
GstGtkGLSink: fix possible warning in finalize
...
If the element is finalized before going in READY state
the widget could still be NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=751104
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
166e33d64c
gtksink: Add support for xRGB/BGRx
2015-06-15 20:45:11 +02:00
Sebastian Dröge
bd9ec0f333
gtk: Cairo color formats are in native endianness, GStreamer's in memory order
...
CAIRO_FORMAT_ARGB32 is ARGB on big endian and BGRA on little endian.
2015-06-15 20:39:59 +02:00
Sebastian Dröge
05fa796c25
gtk: Implement ignore-alpha property and enable it by default
2015-06-15 20:35:38 +02:00
Sebastian Dröge
8497b84e0d
gtk: Sync properties from the sink to the widget upon widget creation
2015-06-15 20:13:57 +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
Matthew Waters
b9ebc71cc8
gtk: fix a couple of typos
2015-06-12 12:40:50 +10:00
Matthew Waters
7707894ee5
gtkglsink: reset the context/display in READY_TO_NULL
...
Fixes context propagation in pipelines with upstream GL elements.
2015-06-12 12:32:06 +10:00
Nicolas Dufresne
5c6050f849
gstgtk: Allow doing gst-inspect-1.0 on these elements
...
This patch allow going gst-inspect-1.0 on these elements removing
ugly crash that was previously occurring. The method consist of
making the widget creation as lazy as possible. This way we don't
endup doing gtk_init() before the application. We also ref_sink()
the widget, so we don't crash if the parent widget is discarded,
and cleanly error out with GL if the widget has no parent window,
because calling gtk_widget_realized() can only be done if the widget
has been parented to a window).
2015-06-11 12:41:49 -04: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