Commit graph

16 commits

Author SHA1 Message Date
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