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 vsync; gboolean setup; gboolean running; /* Color balance */ GList *cb_channels; gint brightness; gint contrast; gint hue; gint saturation; gboolean cb_changed; /* object-set pixel aspect ratio */ GValue *par; }; GstDfbVideoSinkClass struct _GstDfbVideoSinkClass { GstVideoSinkClass parent_class; }; gst_dfbvideosink_get_type GType void gst_dfbsurface_get_type GType void GstTagLibMuxPriv GstTagLibMux typedef struct _GstTagLibMux { GstElement element; GstPad *srcpad; GstPad *sinkpad; GstTagList *event_tags; /* tags received from upstream elements */ gsize tag_size; gboolean render_tag; GstEvent *newsegment_ev; /* cached newsegment event from upstream */ } GstTagLibMux; GstTagLibMuxClass typedef struct _GstTagLibMuxClass { GstElementClass parent_class; } GstTagLibMuxClass; GST_TYPE_TAGLIB_MUX #define GST_TYPE_TAGLIB_MUX \ (gst_tag_lib_mux_get_type()) GST_TAGLIB_MUX #define GST_TAGLIB_MUX(obj) \ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_TAGLIB_MUX,GstTagLibMux)) GST_TAGLIB_MUX_CLASS #define GST_TAGLIB_MUX_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_TAGLIB_MUX,GstTagLibMuxClass)) GST_IS_TAGLIB_MUX #define GST_IS_TAGLIB_MUX(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_TAGLIB_MUX)) GST_IS_TAGLIB_MUX_CLASS #define GST_IS_TAGLIB_MUX_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_TAGLIB_MUX)) gst_tag_lib_mux_get_type GType void