summaryrefslogtreecommitdiffstats
path: root/ext/gdk_pixbuf/gstgdkpixbufsink.h
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.net>2008-04-03 22:50:48 +0000
committerTim-Philipp Müller <tim@centricular.net>2008-04-03 22:50:48 +0000
commit27f764087c1222cd0ae1631bdb58098af2ab0e18 (patch)
tree4ebc20d0db3396825dcbf3fccbe92519c6efe7ec /ext/gdk_pixbuf/gstgdkpixbufsink.h
parentde38811fbe700207e3b446bc0ebb7e0e319003b4 (diff)
ext/gdk_pixbuf/: Add gdkpixbufsink element for easy snapshotting (#525946).
Original commit message from CVS: * ext/gdk_pixbuf/Makefile.am: * ext/gdk_pixbuf/gstgdkpixbuf.c: (plugin_init): * ext/gdk_pixbuf/gstgdkpixbufsink.c: (gst_gdk_pixbuf_sink_base_init), (gst_gdk_pixbuf_sink_class_init), (gst_gdk_pixbuf_sink_init), (gst_gdk_pixbuf_sink_start), (gst_gdk_pixbuf_sink_stop), (gst_gdk_pixbuf_sink_set_caps), (gst_gdk_pixbuf_sink_pixbuf_destroy_notify), (gst_gdk_pixbuf_sink_get_pixbuf_from_buffer), (gst_gdk_pixbuf_sink_handle_buffer), (gst_gdk_pixbuf_sink_preroll), (gst_gdk_pixbuf_sink_render), (gst_gdk_pixbuf_sink_set_property), (gst_gdk_pixbuf_sink_get_property): * ext/gdk_pixbuf/gstgdkpixbufsink.h: Add gdkpixbufsink element for easy snapshotting (#525946).
Diffstat (limited to 'ext/gdk_pixbuf/gstgdkpixbufsink.h')
-rw-r--r--ext/gdk_pixbuf/gstgdkpixbufsink.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/ext/gdk_pixbuf/gstgdkpixbufsink.h b/ext/gdk_pixbuf/gstgdkpixbufsink.h
new file mode 100644
index 00000000..5708d491
--- /dev/null
+++ b/ext/gdk_pixbuf/gstgdkpixbufsink.h
@@ -0,0 +1,75 @@
+/* GStreamer GdkPixbuf sink
+ * Copyright (C) 2006-2008 Tim-Philipp Müller <tim centricular net>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef GST_GDK_PIXBUF_SINK_H
+#define GST_GDK_PIXBUF_SINK_H
+
+#include <gst/gst.h>
+
+#include <gst/video/gstvideosink.h>
+
+#include <gdk-pixbuf/gdk-pixbuf.h>
+
+#define GST_TYPE_GDK_PIXBUF_SINK (gst_gdk_pixbuf_sink_get_type())
+#define GST_GDK_PIXBUF_SINK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_GDK_PIXBUF_SINK,GstGdkPixbufSink))
+#define GST_GDK_PIXBUF_SINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_GDK_PIXBUF_SINK,GstGdkPixbufSinkClass))
+#define GST_IS_GDK_PIXBUF_SINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_GDK_PIXBUF_SINK))
+#define GST_IS_GDK_PIXBUF_SINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_GDK_PIXBUF_SINK))
+
+typedef struct _GstGdkPixbufSink GstGdkPixbufSink;
+typedef struct _GstGdkPixbufSinkClass GstGdkPixbufSinkClass;
+
+/**
+ * GstGdkPixbufSink:
+ *
+ * Opaque element structure.
+ */
+struct _GstGdkPixbufSink
+{
+ GstVideoSink basesink;
+
+ /*< private >*/
+
+ /* current caps */
+ gint width;
+ gint height;
+ gint rowstride;
+ gint par_n;
+ gint par_d;
+ gboolean has_alpha;
+
+ /* properties */
+ gboolean send_messages;
+ GdkPixbuf * last_pixbuf;
+};
+
+/**
+ * GstGdkPixbufSinkClass:
+ *
+ * Opaque element class structure.
+ */
+struct _GstGdkPixbufSinkClass
+{
+ GstVideoSinkClass basesinkclass;
+};
+
+GType gst_gdk_pixbuf_sink_get_type (void);
+
+#endif /* GST_GDK_PIXBUF_SINK_H */
+