#ifndef _GLIMAGESINK_H_ #define _GLIMAGESINK_H_ #include #include #include #include "gstglbuffer.h" GST_DEBUG_CATEGORY_EXTERN (gst_debug_glimage_sink); #define GST_TYPE_GLIMAGE_SINK \ (gst_glimage_sink_get_type()) #define GST_GLIMAGE_SINK(obj) \ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_GLIMAGE_SINK,GstGLImageSink)) #define GST_GLIMAGE_SINK_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_GLIMAGE_SINK,GstGLImageSinkClass)) #define GST_IS_GLIMAGE_SINK(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_GLIMAGE_SINK)) #define GST_IS_GLIMAGE_SINK_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_GLIMAGE_SINK)) typedef struct _GstGLImageSink GstGLImageSink; typedef struct _GstGLImageSinkClass GstGLImageSinkClass; struct _GstGLImageSink { GstVideoSink video_sink; //properties gchar *display_name; gulong window_id; //gboolean isInternal; //caps GstCaps *caps; GstVideoFormat format; gint width; gint height; gboolean is_gl; gint fps_n, fps_d; gint par_n, par_d; GstGLDisplay *display; GstGLBuffer *stored_buffer; }; struct _GstGLImageSinkClass { GstVideoSinkClass video_sink_class; }; GType gst_glimage_sink_get_type(void); #endif