00001 00025 #ifndef GSTSHVIDEOSINK_H 00026 #define GSTSHVIDEOSINK_H 00027 00028 #include <gst/gst.h> 00029 #include <gst/video/gstvideosink.h> 00030 #include <gst/gstelement.h> 00031 #include <uiomux/uiomux.h> 00032 #include "display.h" 00033 00034 G_BEGIN_DECLS 00035 #define GST_TYPE_SH_VIDEO_SINK \ 00036 (gst_sh_video_sink_get_type()) 00037 #define GST_SH_VIDEO_SINK(obj) \ 00038 (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_SH_VIDEO_SINK,GstSHVideoSink)) 00039 #define GST_SH_VIDEO_SINK_CLASS(klass) \ 00040 (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_SH_VIDEO_SINK,GstSHVideoSink)) 00041 #define GST_IS_SH_VIDEO_SINK(obj) \ 00042 (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_SH_VIDEO_SINK)) 00043 #define GST_IS_SH_VIDEO_SINK_CLASS(obj) \ 00044 (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_SH_VIDEO_SINK)) 00045 typedef struct _GstSHVideoSink GstSHVideoSink; 00046 typedef struct _GstSHVideoSinkClass GstSHVideoSinkClass; 00047 00048 #define GST_SH_VIDEO_SINK_CAST(obj) ((GstSHVideoSink *) (obj)) 00049 00064 struct _GstSHVideoSink 00065 { 00066 GstVideoSink video_sink; 00067 00068 gint fps_numerator; 00069 gint fps_denominator; 00070 00071 gboolean caps_set; 00072 00073 gint dst_width; 00074 gint dst_height; 00075 gint dst_x; 00076 gint dst_y; 00077 gint zoom_factor; 00078 00079 DISPLAY *display; 00080 UIOMux *uiomux; 00081 }; 00082 00087 struct _GstSHVideoSinkClass 00088 { 00089 GstVideoSinkClass parent_class; 00090 }; 00091 00092 00097 GType gst_sh_video_sink_get_type (void); 00098 00099 G_END_DECLS 00100 #endif