Commit graph

14 commits

Author SHA1 Message Date
Nicolas Dufresne
84bc5adbc9 gtksink: Port to GstGtkBaseSink
https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-17 15:14:09 -04:00
Nicolas Dufresne
b53f859b59 gtksink: Port to GtkGstBaseWidget
https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-16 17:12:30 -04:00
Nicolas Dufresne
4be2229ba6 gtksink: Create a window if the widget is unparented
The same way as it's now done with the gtkglsink, create a top
level window if the widget is not parented.

https://bugzilla.gnome.org/show_bug.cgi?id=751104
2015-07-16 17:05:36 -04:00
Nicolas Dufresne
dae8008d8b gtksink: Ensure the copy pasted code remains the same
Move back the default property at the same place they are in the
other sink. This helps when using a diff viewer to synchronized
this unfortunate copy paste.

https://bugzilla.gnome.org/show_bug.cgi?id=751104
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
Sebastian Dröge
df034766c5 gtksink: Add support for xRGB/BGRx 2015-06-15 20:45:11 +02:00
Sebastian Dröge
60ea4c079d 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
ea8aa5ff1b gtk: Implement ignore-alpha property and enable it by default 2015-06-15 20:35:38 +02:00
Sebastian Dröge
6b731584a5 gtk: Sync properties from the sink to the widget upon widget creation 2015-06-15 20:13:57 +02:00
Matthew Waters
64f3446907 gtk: implement pixel and display aspect ratio handling 2015-06-15 22:39:07 +10: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
Matthew Waters
adce0220a8 gtk: fix a couple of typos 2015-06-12 12:40:50 +10:00
Nicolas Dufresne
b14fea7fb8 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
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