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