GST_TYPE_DFBVIDEOSINK #define GST_TYPE_DFBVIDEOSINK (gst_dfbvideosink_get_type()) GST_DFBVIDEOSINK #define GST_DFBVIDEOSINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_DFBVIDEOSINK, GstDfbVideoSink)) GST_DFBVIDEOSINK_CLASS #define GST_DFBVIDEOSINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_DFBVIDEOSINK, GstDfbVideoSink)) GST_IS_DFBVIDEOSINK #define GST_IS_DFBVIDEOSINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_DFBVIDEOSINK)) GST_IS_DFBVIDEOSINK_CLASS #define GST_IS_DFBVIDEOSINK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_DFBVIDEOSINK)) GstDfbVideoSink GstDfbVideoSinkClass GST_TYPE_DFBSURFACE #define GST_TYPE_DFBSURFACE (gst_dfbsurface_get_type()) GST_IS_DFBSURFACE #define GST_IS_DFBSURFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_DFBSURFACE)) GST_DFBSURFACE #define GST_DFBSURFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_DFBSURFACE, GstDfbSurface)) GstDfbSurface GstDfbSurface struct _GstDfbSurface { GstBuffer buffer; /* We extend GstBuffer */ IDirectFBSurface *surface; gint width; gint height; gboolean locked; DFBSurfacePixelFormat pixel_format; GstDfbVideoSink *dfbvideosink; }; GstDfbVMode GstDfbVMode struct _GstDfbVMode { gint width; gint height; gint bpp; }; GstDfbVideoSink struct _GstDfbVideoSink { /* Our element stuff */ GstVideoSink videosink; GMutex *pool_lock; GSList *buffer_pool; /* Framerate numerator and denominator */ gint fps_n; gint fps_d; gint video_width, video_height; /* size of incoming video */ gint out_width, out_height; /* Standalone */ IDirectFB *dfb; GSList *vmodes; /* Video modes */ gint layer_id; IDirectFBDisplayLayer *layer; IDirectFBSurface *primary; IDirectFBEventBuffer *event_buffer; GThread *event_thread; /* Embedded */ IDirectFBSurface *ext_surface; DFBSurfacePixelFormat pixel_format; gboolean hw_scaling; gboolean backbuffer; gboolean setup; gboolean running; }; GstDfbVideoSinkClass struct _GstDfbVideoSinkClass { GstVideoSinkClass parent_class; }; gst_dfbvideosink_get_type GType void gst_dfbsurface_get_type GType void