video: mark symbols explicitly for export with GST_EXPORT

This commit is contained in:
Tim-Philipp Müller 2017-05-16 01:09:38 +01:00
parent af78896a82
commit 820c34740f
32 changed files with 386 additions and 2 deletions

View file

@ -8,6 +8,7 @@ glib_enum_headers = video.h video-format.h video-color.h video-info.h video-dith
glib_enum_define = GST_VIDEO
glib_gen_prefix = gst_video
glib_gen_basename = video
glib_gen_decl_banner=GST_EXPORT
built_sources = video-enumtypes.c
built_headers = video-enumtypes.h

View file

@ -90,14 +90,21 @@ struct _GstColorBalanceInterface {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_color_balance_get_type (void);
/* virtual class function wrappers */
GST_EXPORT
const GList *
gst_color_balance_list_channels (GstColorBalance *balance);
GST_EXPORT
void gst_color_balance_set_value (GstColorBalance *balance,
GstColorBalanceChannel *channel,
gint value);
GST_EXPORT
gint gst_color_balance_get_value (GstColorBalance *balance,
GstColorBalanceChannel *channel);
@ -105,6 +112,8 @@ GstColorBalanceType
gst_color_balance_get_balance_type (GstColorBalance *balance);
/* trigger signal */
GST_EXPORT
void gst_color_balance_value_changed (GstColorBalance *balance,
GstColorBalanceChannel *channel,
gint value);

View file

@ -78,6 +78,7 @@ struct _GstColorBalanceChannelClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_color_balance_channel_get_type (void);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -62,13 +62,18 @@ struct _GstVideoAffineTransformationMeta
gfloat matrix[16];
};
GST_EXPORT
GType gst_video_affine_transformation_meta_api_get_type (void);
GST_EXPORT
const GstMetaInfo *gst_video_affine_transformation_meta_get_info (void);
#define gst_buffer_get_video_affine_transformation_meta(b) \
((GstVideoAffineTransformationMeta *)gst_buffer_get_meta((b),GST_VIDEO_AFFINE_TRANSFORMATION_META_API_TYPE))
GST_EXPORT
GstVideoAffineTransformationMeta *gst_buffer_add_video_affine_transformation_meta (GstBuffer * buffer);
GST_EXPORT
void gst_video_affine_transformation_meta_apply_matrix (GstVideoAffineTransformationMeta * meta,
const gfloat matrix[16]);

View file

@ -117,6 +117,8 @@ typedef struct _GstVideoDecoderPrivate GstVideoDecoderPrivate;
/* do not use this one, use macro below */
GST_EXPORT
GstFlowReturn _gst_video_decoder_error (GstVideoDecoder *dec, gint weight,
GQuark domain, gint code,
gchar *txt, gchar *debug,
@ -339,94 +341,134 @@ struct _GstVideoDecoderClass
void *padding[GST_PADDING_LARGE-6];
};
GST_EXPORT
GType gst_video_decoder_get_type (void);
/* Context parameters */
GST_EXPORT
void gst_video_decoder_set_packetized (GstVideoDecoder * decoder,
gboolean packetized);
GST_EXPORT
gboolean gst_video_decoder_get_packetized (GstVideoDecoder * decoder);
GST_EXPORT
void gst_video_decoder_set_estimate_rate (GstVideoDecoder * dec,
gboolean enabled);
GST_EXPORT
gint gst_video_decoder_get_estimate_rate (GstVideoDecoder * dec);
GST_EXPORT
void gst_video_decoder_set_max_errors (GstVideoDecoder * dec,
gint num);
GST_EXPORT
gint gst_video_decoder_get_max_errors (GstVideoDecoder * dec);
GST_EXPORT
void gst_video_decoder_set_needs_format (GstVideoDecoder * dec,
gboolean enabled);
GST_EXPORT
gboolean gst_video_decoder_get_needs_format (GstVideoDecoder * dec);
GST_EXPORT
void gst_video_decoder_set_latency (GstVideoDecoder *decoder,
GstClockTime min_latency,
GstClockTime max_latency);
GST_EXPORT
void gst_video_decoder_get_latency (GstVideoDecoder *decoder,
GstClockTime *min_latency,
GstClockTime *max_latency);
GST_EXPORT
void gst_video_decoder_get_allocator (GstVideoDecoder *decoder,
GstAllocator **allocator,
GstAllocationParams *params);
GST_EXPORT
GstBufferPool *gst_video_decoder_get_buffer_pool (GstVideoDecoder *decoder);
/* Object methods */
GST_EXPORT
GstVideoCodecFrame *gst_video_decoder_get_frame (GstVideoDecoder *decoder,
int frame_number);
GST_EXPORT
GstVideoCodecFrame *gst_video_decoder_get_oldest_frame (GstVideoDecoder *decoder);
GST_EXPORT
GList * gst_video_decoder_get_frames (GstVideoDecoder *decoder);
/* Parsing related methods */
GST_EXPORT
void gst_video_decoder_add_to_frame (GstVideoDecoder *decoder,
int n_bytes);
GST_EXPORT
GstFlowReturn gst_video_decoder_have_frame (GstVideoDecoder *decoder);
GST_EXPORT
gsize gst_video_decoder_get_pending_frame_size (GstVideoDecoder *decoder);
GST_EXPORT
GstBuffer *gst_video_decoder_allocate_output_buffer (GstVideoDecoder * decoder);
GST_EXPORT
GstFlowReturn gst_video_decoder_allocate_output_frame_with_params (GstVideoDecoder *decoder,
GstVideoCodecFrame * frame,
GstBufferPoolAcquireParams *params);
GST_EXPORT
GstFlowReturn gst_video_decoder_allocate_output_frame (GstVideoDecoder *decoder,
GstVideoCodecFrame *frame);
GST_EXPORT
GstVideoCodecState *gst_video_decoder_set_output_state (GstVideoDecoder *decoder,
GstVideoFormat fmt, guint width, guint height,
GstVideoCodecState *reference);
GST_EXPORT
GstVideoCodecState *gst_video_decoder_get_output_state (GstVideoDecoder *decoder);
GST_EXPORT
gboolean gst_video_decoder_negotiate (GstVideoDecoder * decoder);
GST_EXPORT
GstClockTimeDiff gst_video_decoder_get_max_decode_time (GstVideoDecoder *decoder,
GstVideoCodecFrame *frame);
GST_EXPORT
gdouble gst_video_decoder_get_qos_proportion (GstVideoDecoder * decoder);
GST_EXPORT
GstFlowReturn gst_video_decoder_finish_frame (GstVideoDecoder *decoder,
GstVideoCodecFrame *frame);
GST_EXPORT
GstFlowReturn gst_video_decoder_drop_frame (GstVideoDecoder *dec,
GstVideoCodecFrame *frame);
GST_EXPORT
void gst_video_decoder_release_frame (GstVideoDecoder * dec,
GstVideoCodecFrame * frame);
GST_EXPORT
void gst_video_decoder_merge_tags (GstVideoDecoder *decoder,
const GstTagList *tags,
GstTagMergeMode mode);
GST_EXPORT
GstCaps * gst_video_decoder_proxy_getcaps (GstVideoDecoder * decoder,
GstCaps * caps,
GstCaps * filter);
GST_EXPORT
void gst_video_decoder_set_use_default_pad_acceptcaps (GstVideoDecoder * decoder,
gboolean use);

View file

@ -299,54 +299,73 @@ struct _GstVideoEncoderClass
gpointer _gst_reserved[GST_PADDING_LARGE-4];
};
GST_EXPORT
GType gst_video_encoder_get_type (void);
GST_EXPORT
GstVideoCodecState* gst_video_encoder_get_output_state (GstVideoEncoder *encoder);
GST_EXPORT
GstVideoCodecState* gst_video_encoder_set_output_state (GstVideoEncoder * encoder,
GstCaps * caps,
GstVideoCodecState * reference);
GST_EXPORT
gboolean gst_video_encoder_negotiate (GstVideoEncoder * encoder);
GST_EXPORT
GstVideoCodecFrame* gst_video_encoder_get_frame (GstVideoEncoder *encoder,
int frame_number);
GST_EXPORT
GstVideoCodecFrame* gst_video_encoder_get_oldest_frame (GstVideoEncoder *encoder);
GST_EXPORT
GList * gst_video_encoder_get_frames (GstVideoEncoder *encoder);
GST_EXPORT
GstBuffer * gst_video_encoder_allocate_output_buffer (GstVideoEncoder * encoder,
gsize size);
GST_EXPORT
GstFlowReturn gst_video_encoder_allocate_output_frame (GstVideoEncoder *encoder,
GstVideoCodecFrame *frame,
gsize size);
GST_EXPORT
GstFlowReturn gst_video_encoder_finish_frame (GstVideoEncoder *encoder,
GstVideoCodecFrame *frame);
GST_EXPORT
GstCaps * gst_video_encoder_proxy_getcaps (GstVideoEncoder * enc,
GstCaps * caps,
GstCaps * filter);
GST_EXPORT
void gst_video_encoder_set_latency (GstVideoEncoder *encoder,
GstClockTime min_latency,
GstClockTime max_latency);
GST_EXPORT
void gst_video_encoder_get_latency (GstVideoEncoder *encoder,
GstClockTime *min_latency,
GstClockTime *max_latency);
GST_EXPORT
void gst_video_encoder_set_headers (GstVideoEncoder *encoder,
GList *headers);
GST_EXPORT
void gst_video_encoder_merge_tags (GstVideoEncoder *encoder,
const GstTagList *tags,
GstTagMergeMode mode);
GST_EXPORT
void gst_video_encoder_get_allocator (GstVideoEncoder *encoder,
GstAllocator **allocator,
GstAllocationParams *params);
GST_EXPORT
void gst_video_encoder_set_min_pts(GstVideoEncoder *encoder, GstClockTime min_pts);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -79,6 +79,7 @@ struct _GstVideoFilterClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_video_filter_get_type (void);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -76,21 +76,33 @@ struct _GstVideoMeta {
gboolean (*unmap) (GstVideoMeta *meta, guint plane, GstMapInfo *info);
};
GST_EXPORT
GType gst_video_meta_api_get_type (void);
GST_EXPORT
const GstMetaInfo * gst_video_meta_get_info (void);
GST_EXPORT
GstVideoMeta * gst_buffer_get_video_meta (GstBuffer *buffer);
GST_EXPORT
GstVideoMeta * gst_buffer_get_video_meta_id (GstBuffer *buffer, gint id);
GST_EXPORT
GstVideoMeta * gst_buffer_add_video_meta (GstBuffer *buffer, GstVideoFrameFlags flags,
GstVideoFormat format, guint width, guint height);
GST_EXPORT
GstVideoMeta * gst_buffer_add_video_meta_full (GstBuffer *buffer, GstVideoFrameFlags flags,
GstVideoFormat format, guint width, guint height,
guint n_planes, gsize offset[GST_VIDEO_MAX_PLANES],
gint stride[GST_VIDEO_MAX_PLANES]);
GST_EXPORT
gboolean gst_video_meta_map (GstVideoMeta *meta, guint plane, GstMapInfo *info,
gpointer *data, gint *stride, GstMapFlags flags);
GST_EXPORT
gboolean gst_video_meta_unmap (GstVideoMeta *meta, guint plane, GstMapInfo *info);
/**
@ -112,7 +124,10 @@ struct _GstVideoCropMeta {
guint height;
};
GST_EXPORT
GType gst_video_crop_meta_api_get_type (void);
GST_EXPORT
const GstMetaInfo * gst_video_crop_meta_get_info (void);
#define gst_buffer_get_video_crop_meta(b) ((GstVideoCropMeta*)gst_buffer_get_meta((b),GST_VIDEO_CROP_META_API_TYPE))
@ -120,6 +135,7 @@ const GstMetaInfo * gst_video_crop_meta_get_info (void);
/* video metadata transforms */
GST_EXPORT
GQuark gst_video_meta_transform_scale_get_quark (void);
/**
* gst_video_meta_transform_scale:
@ -231,10 +247,15 @@ struct _GstVideoGLTextureUploadMeta {
GBoxedFreeFunc user_data_free;
};
GST_EXPORT
GType gst_video_gl_texture_upload_meta_api_get_type (void);
GST_EXPORT
const GstMetaInfo * gst_video_gl_texture_upload_meta_get_info (void);
#define gst_buffer_get_video_gl_texture_upload_meta(b) ((GstVideoGLTextureUploadMeta*)gst_buffer_get_meta((b),GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE))
GST_EXPORT
GstVideoGLTextureUploadMeta *
gst_buffer_add_video_gl_texture_upload_meta (GstBuffer *buffer,
GstVideoGLTextureOrientation texture_orientation,
@ -244,6 +265,8 @@ GstVideoGLTextureUploadMeta *
gpointer user_data,
GBoxedCopyFunc user_data_copy,
GBoxedFreeFunc user_data_free);
GST_EXPORT
gboolean gst_video_gl_texture_upload_meta_upload (GstVideoGLTextureUploadMeta *meta,
guint texture_id[4]);
@ -274,21 +297,28 @@ typedef struct {
guint h;
} GstVideoRegionOfInterestMeta;
GST_EXPORT
GType gst_video_region_of_interest_meta_api_get_type (void);
#define GST_VIDEO_REGION_OF_INTEREST_META_API_TYPE (gst_video_region_of_interest_meta_api_get_type())
GST_EXPORT
const GstMetaInfo *gst_video_region_of_interest_meta_get_info (void);
#define GST_VIDEO_REGION_OF_INTEREST_META_INFO (gst_video_region_of_interest_meta_get_info())
#define gst_buffer_get_video_region_of_interest_meta(b) \
((GstVideoRegionOfInterestMeta*)gst_buffer_get_meta((b),GST_VIDEO_REGION_OF_INTEREST_META_API_TYPE))
GST_EXPORT
GstVideoRegionOfInterestMeta *gst_buffer_get_video_region_of_interest_meta_id (GstBuffer * buffer,
gint id);
GST_EXPORT
GstVideoRegionOfInterestMeta *gst_buffer_add_video_region_of_interest_meta (GstBuffer * buffer,
const gchar * roi_type,
guint x,
guint y,
guint w,
guint h);
GST_EXPORT
GstVideoRegionOfInterestMeta *gst_buffer_add_video_region_of_interest_meta_id (GstBuffer * buffer,
GQuark roi_type,
guint x,
@ -314,16 +344,22 @@ typedef struct {
GstVideoTimeCode tc;
} GstVideoTimeCodeMeta;
GST_EXPORT
GType gst_video_time_code_meta_api_get_type (void);
#define GST_VIDEO_TIME_CODE_META_API_TYPE (gst_video_time_code_meta_api_get_type())
GST_EXPORT
const GstMetaInfo *gst_video_time_code_meta_get_info (void);
#define GST_VIDEO_TIME_CODE_META_INFO (gst_video_time_code_meta_get_info())
#define gst_buffer_get_video_time_code_meta(b) \
((GstVideoTimeCodeMeta*)gst_buffer_get_meta((b),GST_VIDEO_TIME_CODE_META_API_TYPE))
GST_EXPORT
GstVideoTimeCodeMeta *gst_buffer_add_video_time_code_meta (GstBuffer * buffer,
GstVideoTimeCode * tc);
GST_EXPORT
GstVideoTimeCodeMeta *
gst_buffer_add_video_time_code_meta_full (GstBuffer * buffer,
guint fps_n,

View file

@ -46,7 +46,11 @@ G_BEGIN_DECLS
#define GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT "GstBufferPoolOptionVideoAlignment"
/* setting a bufferpool config */
GST_EXPORT
void gst_buffer_pool_config_set_video_alignment (GstStructure *config, GstVideoAlignment *align);
GST_EXPORT
gboolean gst_buffer_pool_config_get_video_alignment (GstStructure *config, GstVideoAlignment *align);
/* video bufferpool */
@ -71,8 +75,10 @@ struct _GstVideoBufferPoolClass
GstBufferPoolClass parent_class;
};
GST_EXPORT
GType gst_video_buffer_pool_get_type (void);
GST_EXPORT
GstBufferPool * gst_video_buffer_pool_new (void);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -120,8 +120,10 @@ struct _GstVideoSinkClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_video_sink_get_type (void);
GST_EXPORT
void gst_video_sink_center_rect (GstVideoRectangle src, GstVideoRectangle dst,
GstVideoRectangle *result, gboolean scaling);

View file

@ -122,8 +122,10 @@ struct _GstVideoTimeCodeInterval {
#define GST_TYPE_VIDEO_TIME_CODE (gst_video_time_code_get_type())
GST_EXPORT
GType gst_video_time_code_get_type (void);
GST_EXPORT
GstVideoTimeCode * gst_video_time_code_new (guint fps_n,
guint fps_d,
GDateTime * latest_daily_jam,
@ -133,17 +135,27 @@ GstVideoTimeCode * gst_video_time_code_new (guint fp
guint seconds,
guint frames,
guint field_count);
GST_EXPORT
GstVideoTimeCode * gst_video_time_code_new_empty (void);
GST_EXPORT
GstVideoTimeCode * gst_video_time_code_new_from_string (const gchar * tc_str);
GST_EXPORT
GstVideoTimeCode * gst_video_time_code_new_from_date_time (guint fps_n,
guint fps_d,
GDateTime * dt,
GstVideoTimeCodeFlags flags,
guint field_count);
GST_EXPORT
void gst_video_time_code_free (GstVideoTimeCode * tc);
GST_EXPORT
GstVideoTimeCode * gst_video_time_code_copy (const GstVideoTimeCode * tc);
GST_EXPORT
void gst_video_time_code_init (GstVideoTimeCode * tc,
guint fps_n,
guint fps_d,
@ -154,50 +166,74 @@ void gst_video_time_code_init (GstVideoTimeCode * tc
guint seconds,
guint frames,
guint field_count);
GST_EXPORT
void gst_video_time_code_init_from_date_time (GstVideoTimeCode * tc,
guint fps_n,
guint fps_d,
GDateTime * dt,
GstVideoTimeCodeFlags flags,
guint field_count);
GST_EXPORT
void gst_video_time_code_clear (GstVideoTimeCode * tc);
GST_EXPORT
gboolean gst_video_time_code_is_valid (const GstVideoTimeCode * tc);
GST_EXPORT
gint gst_video_time_code_compare (const GstVideoTimeCode * tc1,
const GstVideoTimeCode * tc2);
GST_EXPORT
void gst_video_time_code_increment_frame (GstVideoTimeCode * tc);
GST_EXPORT
void gst_video_time_code_add_frames (GstVideoTimeCode * tc,
gint64 frames);
GST_EXPORT
gchar *gst_video_time_code_to_string (const GstVideoTimeCode * tc);
GST_EXPORT
GDateTime *gst_video_time_code_to_date_time (const GstVideoTimeCode * tc);
GST_EXPORT
guint64 gst_video_time_code_nsec_since_daily_jam (const GstVideoTimeCode * tc);
GST_EXPORT
guint64 gst_video_time_code_frames_since_daily_jam (const GstVideoTimeCode * tc);
GST_EXPORT
GstVideoTimeCode * gst_video_time_code_add_interval (const GstVideoTimeCode * tc, const GstVideoTimeCodeInterval * tc_inter);
#define GST_TYPE_VIDEO_TIME_CODE_INTERVAL (gst_video_time_code_interval_get_type())
GST_EXPORT
GType gst_video_time_code_interval_get_type (void);
GST_EXPORT
GstVideoTimeCodeInterval * gst_video_time_code_interval_new (guint hours,
guint minutes,
guint seconds,
guint frames);
GST_EXPORT
GstVideoTimeCodeInterval * gst_video_time_code_interval_new_from_string (const gchar * tc_inter_str);
GST_EXPORT
void gst_video_time_code_interval_free (GstVideoTimeCodeInterval * tc);
GST_EXPORT
GstVideoTimeCodeInterval * gst_video_time_code_interval_copy (const GstVideoTimeCodeInterval * tc);
GST_EXPORT
void gst_video_time_code_interval_init (GstVideoTimeCodeInterval * tc,
guint hours,
guint minutes,
guint seconds,
guint frames);
GST_EXPORT
void gst_video_time_code_interval_clear (GstVideoTimeCodeInterval * tc);
G_END_DECLS

View file

@ -264,21 +264,34 @@ struct _GstVideoCodecFrame
};
/* GstVideoCodecState */
GST_EXPORT
GType gst_video_codec_state_get_type (void);
GST_EXPORT
GstVideoCodecState *gst_video_codec_state_ref (GstVideoCodecState * state);
GST_EXPORT
void gst_video_codec_state_unref (GstVideoCodecState * state);
/* GstVideoCodecFrame */
GST_EXPORT
GType gst_video_codec_frame_get_type (void);
GST_EXPORT
GstVideoCodecFrame *gst_video_codec_frame_ref (GstVideoCodecFrame * frame);
GST_EXPORT
void gst_video_codec_frame_unref (GstVideoCodecFrame * frame);
GST_EXPORT
void gst_video_codec_frame_set_user_data (GstVideoCodecFrame *frame,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
gpointer gst_video_codec_frame_get_user_data (GstVideoCodecFrame *frame);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -53,6 +53,7 @@ struct _GstNavigationInterface {
void (*send_event) (GstNavigation *navigation, GstStructure *structure);
};
GST_EXPORT
GType gst_navigation_get_type (void);
/* Navigation commands */
@ -148,20 +149,35 @@ typedef enum
GST_NAVIGATION_QUERY_ANGLES = 2
} GstNavigationQueryType;
GST_EXPORT
GstNavigationQueryType gst_navigation_query_get_type (GstQuery *query);
GST_EXPORT
GstQuery * gst_navigation_query_new_commands (void);
GST_EXPORT
void gst_navigation_query_set_commands (GstQuery *query, gint n_cmds, ...);
GST_EXPORT
void gst_navigation_query_set_commandsv (GstQuery *query, gint n_cmds,
GstNavigationCommand *cmds);
GST_EXPORT
gboolean gst_navigation_query_parse_commands_length (GstQuery *query,
guint *n_cmds);
GST_EXPORT
gboolean gst_navigation_query_parse_commands_nth (GstQuery *query, guint nth,
GstNavigationCommand *cmd);
GST_EXPORT
GstQuery * gst_navigation_query_new_angles (void);
GST_EXPORT
void gst_navigation_query_set_angles (GstQuery *query, guint cur_angle,
guint n_angles);
GST_EXPORT
gboolean gst_navigation_query_parse_angles (GstQuery *query, guint *cur_angle,
guint *n_angles);
@ -192,24 +208,35 @@ typedef enum {
GST_NAVIGATION_MESSAGE_EVENT
} GstNavigationMessageType;
GST_EXPORT
GstNavigationMessageType gst_navigation_message_get_type (GstMessage *message);
GST_EXPORT
GstMessage * gst_navigation_message_new_mouse_over (GstObject *src,
gboolean active);
GST_EXPORT
gboolean gst_navigation_message_parse_mouse_over (GstMessage *message,
gboolean *active);
GST_EXPORT
GstMessage * gst_navigation_message_new_commands_changed (GstObject *src);
GST_EXPORT
GstMessage * gst_navigation_message_new_angles_changed (GstObject *src,
guint cur_angle,
guint n_angles);
GST_EXPORT
gboolean gst_navigation_message_parse_angles_changed (GstMessage *message,
guint *cur_angle,
guint *n_angles);
GST_EXPORT
GstMessage * gst_navigation_message_new_event (GstObject *src,
GstEvent *event);
GST_EXPORT
gboolean gst_navigation_message_parse_event (GstMessage *message,
GstEvent ** event);
/* event parsing functions */
@ -246,24 +273,40 @@ typedef enum {
GST_NAVIGATION_EVENT_COMMAND = 6
} GstNavigationEventType;
GST_EXPORT
GstNavigationEventType gst_navigation_event_get_type (GstEvent *event);
GST_EXPORT
gboolean gst_navigation_event_parse_key_event (GstEvent *event,
const gchar **key);
GST_EXPORT
gboolean gst_navigation_event_parse_mouse_button_event (GstEvent *event,
gint *button, gdouble *x, gdouble *y);
GST_EXPORT
gboolean gst_navigation_event_parse_mouse_move_event (GstEvent *event,
gdouble *x, gdouble *y);
GST_EXPORT
gboolean gst_navigation_event_parse_command (GstEvent *event,
GstNavigationCommand *command);
/* interface virtual function wrappers */
GST_EXPORT
void gst_navigation_send_event (GstNavigation *navigation,
GstStructure *structure);
GST_EXPORT
void gst_navigation_send_key_event (GstNavigation *navigation,
const char *event, const char *key);
GST_EXPORT
void gst_navigation_send_mouse_event (GstNavigation *navigation,
const char *event, int button, double x, double y);
GST_EXPORT
void gst_navigation_send_command (GstNavigation *navigation,
GstNavigationCommand command);

View file

@ -27,10 +27,12 @@
#include <gst/gst.h>
#include <gst/video/video.h>
GST_EXPORT
void gst_video_blend_scale_linear_RGBA (GstVideoInfo * src, GstBuffer * src_buffer,
gint dest_height, gint dest_width,
GstVideoInfo * dest, GstBuffer ** dest_buffer);
GST_EXPORT
gboolean gst_video_blend (GstVideoFrame * dest,
GstVideoFrame * src,
gint x, gint y,

View file

@ -51,7 +51,10 @@ typedef enum {
GST_VIDEO_CHROMA_SITE_DV = (GST_VIDEO_CHROMA_SITE_COSITED | GST_VIDEO_CHROMA_SITE_ALT_LINE),
} GstVideoChromaSite;
GST_EXPORT
GstVideoChromaSite gst_video_chroma_from_string (const gchar * s);
GST_EXPORT
const gchar * gst_video_chroma_to_string (GstVideoChromaSite site);
/**
@ -85,16 +88,21 @@ typedef struct _GstVideoChromaResample GstVideoChromaResample;
/* circular dependency, need to include this after defining the enums */
#include <gst/video/video-format.h>
GST_EXPORT
GstVideoChromaResample * gst_video_chroma_resample_new (GstVideoChromaMethod method,
GstVideoChromaSite site,
GstVideoChromaFlags flags,
GstVideoFormat format,
gint h_factor, gint v_factor);
GST_EXPORT
void gst_video_chroma_resample_free (GstVideoChromaResample *resample);
GST_EXPORT
void gst_video_chroma_resample_get_info (GstVideoChromaResample *resample,
guint * n_lines, gint *offset);
GST_EXPORT
void gst_video_chroma_resample (GstVideoChromaResample *resample,
gpointer lines[], gint width);

View file

@ -65,6 +65,7 @@ typedef enum {
GST_VIDEO_COLOR_MATRIX_BT2020
} GstVideoColorMatrix;
GST_EXPORT
gboolean gst_video_color_matrix_get_Kr_Kb (GstVideoColorMatrix matrix, gdouble * Kr, gdouble * Kb);
/**
@ -109,7 +110,10 @@ typedef enum {
GST_VIDEO_TRANSFER_ADOBERGB
} GstVideoTransferFunction;
GST_EXPORT
gdouble gst_video_color_transfer_encode (GstVideoTransferFunction func, gdouble val);
GST_EXPORT
gdouble gst_video_color_transfer_decode (GstVideoTransferFunction func, gdouble val);
/**
@ -193,12 +197,21 @@ typedef struct {
#define GST_VIDEO_COLORIMETRY_SRGB "sRGB"
#define GST_VIDEO_COLORIMETRY_BT2020 "bt2020"
GST_EXPORT
gboolean gst_video_colorimetry_matches (const GstVideoColorimetry *cinfo, const gchar *color);
GST_EXPORT
gboolean gst_video_colorimetry_from_string (GstVideoColorimetry *cinfo, const gchar *color);
GST_EXPORT
gchar * gst_video_colorimetry_to_string (const GstVideoColorimetry *cinfo);
GST_EXPORT
gboolean gst_video_colorimetry_is_equal (const GstVideoColorimetry *cinfo, const GstVideoColorimetry *other);
/* compute offset and scale */
GST_EXPORT
void gst_video_color_range_offsets (GstVideoColorRange range,
const GstVideoFormatInfo *info,
gint offset[GST_VIDEO_MAX_COMPONENTS],

View file

@ -275,14 +275,21 @@ typedef enum {
typedef struct _GstVideoConverter GstVideoConverter;
GST_EXPORT
GstVideoConverter * gst_video_converter_new (GstVideoInfo *in_info,
GstVideoInfo *out_info,
GstStructure *config);
GST_EXPORT
void gst_video_converter_free (GstVideoConverter * convert);
GST_EXPORT
gboolean gst_video_converter_set_config (GstVideoConverter * convert, GstStructure *config);
GST_EXPORT
const GstStructure * gst_video_converter_get_config (GstVideoConverter * convert);
GST_EXPORT
void gst_video_converter_frame (GstVideoConverter * convert,
const GstVideoFrame *src, GstVideoFrame *dest);

View file

@ -61,14 +61,17 @@ typedef struct _GstVideoDither GstVideoDither;
/* circular dependency, need to include this after defining the enums */
#include <gst/video/video-format.h>
GST_EXPORT
GstVideoDither * gst_video_dither_new (GstVideoDitherMethod method,
GstVideoDitherFlags flags,
GstVideoFormat format,
guint quantizer[GST_VIDEO_MAX_COMPONENTS],
guint width);
GST_EXPORT
void gst_video_dither_free (GstVideoDither *dither);
GST_EXPORT
void gst_video_dither_line (GstVideoDither *dither,
gpointer line, guint x, guint y, guint width);

View file

@ -26,18 +26,22 @@ G_BEGIN_DECLS
/* video still frame event creation and parsing */
GST_EXPORT
GstEvent * gst_video_event_new_still_frame (gboolean in_still);
GST_EXPORT
gboolean gst_video_event_parse_still_frame (GstEvent * event, gboolean * in_still);
/* video force key unit event creation and parsing */
GST_EXPORT
GstEvent * gst_video_event_new_downstream_force_key_unit (GstClockTime timestamp,
GstClockTime stream_time,
GstClockTime running_time,
gboolean all_headers,
guint count);
GST_EXPORT
gboolean gst_video_event_parse_downstream_force_key_unit (GstEvent * event,
GstClockTime * timestamp,
GstClockTime * stream_time,
@ -45,15 +49,18 @@ gboolean gst_video_event_parse_downstream_force_key_unit (GstEvent * event,
gboolean * all_headers,
guint * count);
GST_EXPORT
GstEvent * gst_video_event_new_upstream_force_key_unit (GstClockTime running_time,
gboolean all_headers,
guint count);
GST_EXPORT
gboolean gst_video_event_parse_upstream_force_key_unit (GstEvent * event,
GstClockTime * running_time,
gboolean * all_headers,
guint * count);
GST_EXPORT
gboolean gst_video_event_is_force_key_unit(GstEvent *event);
G_END_DECLS

View file

@ -498,19 +498,29 @@ struct _GstVideoFormatInfo {
#define GST_VIDEO_FORMAT_INFO_TILE_HS(info) ((info)->tile_hs)
/* format properties */
GST_EXPORT
GstVideoFormat gst_video_format_from_masks (gint depth, gint bpp, gint endianness,
guint red_mask, guint green_mask,
guint blue_mask, guint alpha_mask) G_GNUC_CONST;
GST_EXPORT
GstVideoFormat gst_video_format_from_fourcc (guint32 fourcc) G_GNUC_CONST;
GST_EXPORT
GstVideoFormat gst_video_format_from_string (const gchar *format) G_GNUC_CONST;
GST_EXPORT
guint32 gst_video_format_to_fourcc (GstVideoFormat format) G_GNUC_CONST;
GST_EXPORT
const gchar * gst_video_format_to_string (GstVideoFormat format) G_GNUC_CONST;
GST_EXPORT
const GstVideoFormatInfo *
gst_video_format_get_info (GstVideoFormat format) G_GNUC_CONST;
GST_EXPORT
gconstpointer gst_video_format_get_palette (GstVideoFormat format, gsize *size);
#define GST_VIDEO_SIZE_RANGE "(int) [ 1, max ]"

View file

@ -84,13 +84,21 @@ struct _GstVideoFrame {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
gboolean gst_video_frame_map (GstVideoFrame *frame, GstVideoInfo *info,
GstBuffer *buffer, GstMapFlags flags);
GST_EXPORT
gboolean gst_video_frame_map_id (GstVideoFrame *frame, GstVideoInfo *info,
GstBuffer *buffer, gint id, GstMapFlags flags);
GST_EXPORT
void gst_video_frame_unmap (GstVideoFrame *frame);
GST_EXPORT
gboolean gst_video_frame_copy (GstVideoFrame *dest, const GstVideoFrame *src);
GST_EXPORT
gboolean gst_video_frame_copy_plane (GstVideoFrame *dest, const GstVideoFrame *src,
guint plane);

View file

@ -55,7 +55,10 @@ typedef enum {
GST_VIDEO_INTERLACE_MODE_FIELDS
} GstVideoInterlaceMode;
GST_EXPORT
const gchar * gst_video_interlace_mode_to_string (GstVideoInterlaceMode mode);
GST_EXPORT
GstVideoInterlaceMode gst_video_interlace_mode_from_string (const gchar * mode);
/**
@ -247,7 +250,10 @@ typedef enum {
GST_VIDEO_FIELD_ORDER_BOTTOM_FIELD_FIRST = 2,
} GstVideoFieldOrder;
GST_EXPORT
const gchar * gst_video_field_order_to_string (GstVideoFieldOrder order);
GST_EXPORT
GstVideoFieldOrder gst_video_field_order_from_string (const gchar * order);
/**
@ -312,6 +318,7 @@ struct _GstVideoInfo {
};
#define GST_TYPE_VIDEO_INFO (gst_video_info_get_type ())
GST_EXPORT
GType gst_video_info_get_type (void);
/* general info */
@ -363,28 +370,42 @@ GType gst_video_info_get_type (void);
#define GST_VIDEO_INFO_COMP_PSTRIDE(i,c) GST_VIDEO_FORMAT_INFO_PSTRIDE((i)->finfo,(c))
#define GST_VIDEO_INFO_COMP_POFFSET(i,c) GST_VIDEO_FORMAT_INFO_POFFSET((i)->finfo,(c))
GST_EXPORT
GstVideoInfo * gst_video_info_new (void);
GST_EXPORT
void gst_video_info_init (GstVideoInfo *info);
GST_EXPORT
GstVideoInfo * gst_video_info_copy (const GstVideoInfo *info);
GST_EXPORT
void gst_video_info_free (GstVideoInfo *info);
GST_EXPORT
gboolean gst_video_info_set_format (GstVideoInfo *info, GstVideoFormat format,
guint width, guint height);
GST_EXPORT
gboolean gst_video_info_from_caps (GstVideoInfo *info, const GstCaps * caps);
GST_EXPORT
GstCaps * gst_video_info_to_caps (GstVideoInfo *info);
GST_EXPORT
gboolean gst_video_info_convert (GstVideoInfo *info,
GstFormat src_format,
gint64 src_value,
GstFormat dest_format,
gint64 *dest_value);
GST_EXPORT
gboolean gst_video_info_is_equal (const GstVideoInfo *info,
const GstVideoInfo *other);
#include <gst/video/video.h>
GST_EXPORT
gboolean gst_video_info_align (GstVideoInfo * info, GstVideoAlignment * align);

View file

@ -25,19 +25,35 @@
G_BEGIN_DECLS
#define GST_TYPE_VIDEO_MULTIVIEW_FLAGSET (gst_video_multiview_flagset_get_type())
GST_EXPORT
GType gst_video_multiview_flagset_get_type (void);
GST_EXPORT
const gchar * gst_video_multiview_mode_to_caps_string (GstVideoMultiviewMode mview_mode);
GST_EXPORT
GstVideoMultiviewMode gst_video_multiview_mode_from_caps_string (const gchar * caps_mview_mode);
GST_EXPORT
const GValue *gst_video_multiview_get_mono_modes(void);
GST_EXPORT
const GValue *gst_video_multiview_get_unpacked_modes(void);
GST_EXPORT
const GValue *gst_video_multiview_get_doubled_height_modes(void);
GST_EXPORT
const GValue *gst_video_multiview_get_doubled_width_modes(void);
GST_EXPORT
const GValue *gst_video_multiview_get_doubled_size_modes(void);
GST_EXPORT
void gst_video_multiview_video_info_change_mode (GstVideoInfo *info,
GstVideoMultiviewMode out_mview_mode, GstVideoMultiviewFlags out_mview_flags);
GST_EXPORT
gboolean gst_video_multiview_guess_half_aspect (GstVideoMultiviewMode mv_mode,
guint width, guint height, guint par_n, guint par_d);

View file

@ -124,50 +124,66 @@ typedef enum {
" I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444," \
" NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }"
GST_EXPORT
GType gst_video_overlay_rectangle_get_type (void);
GST_EXPORT
GstVideoOverlayRectangle * gst_video_overlay_rectangle_new_raw (GstBuffer * pixels,
gint render_x, gint render_y,
guint render_width, guint render_height,
GstVideoOverlayFormatFlags flags);
GST_EXPORT
GstVideoOverlayRectangle * gst_video_overlay_rectangle_copy (GstVideoOverlayRectangle * rectangle);
GST_EXPORT
guint gst_video_overlay_rectangle_get_seqnum (GstVideoOverlayRectangle * rectangle);
GST_EXPORT
void gst_video_overlay_rectangle_set_render_rectangle (GstVideoOverlayRectangle * rectangle,
gint render_x,
gint render_y,
guint render_width,
guint render_height);
GST_EXPORT
gboolean gst_video_overlay_rectangle_get_render_rectangle (GstVideoOverlayRectangle * rectangle,
gint * render_x,
gint * render_y,
guint * render_width,
guint * render_height);
GST_EXPORT
GstBuffer * gst_video_overlay_rectangle_get_pixels_raw (GstVideoOverlayRectangle * rectangle,
GstVideoOverlayFormatFlags flags);
GST_EXPORT
GstBuffer * gst_video_overlay_rectangle_get_pixels_argb (GstVideoOverlayRectangle * rectangle,
GstVideoOverlayFormatFlags flags);
GST_EXPORT
GstBuffer * gst_video_overlay_rectangle_get_pixels_ayuv (GstVideoOverlayRectangle * rectangle,
GstVideoOverlayFormatFlags flags);
GST_EXPORT
GstBuffer * gst_video_overlay_rectangle_get_pixels_unscaled_raw (GstVideoOverlayRectangle * rectangle,
GstVideoOverlayFormatFlags flags);
GST_EXPORT
GstBuffer * gst_video_overlay_rectangle_get_pixels_unscaled_argb (GstVideoOverlayRectangle * rectangle,
GstVideoOverlayFormatFlags flags);
GST_EXPORT
GstBuffer * gst_video_overlay_rectangle_get_pixels_unscaled_ayuv (GstVideoOverlayRectangle * rectangle,
GstVideoOverlayFormatFlags flags);
GST_EXPORT
GstVideoOverlayFormatFlags gst_video_overlay_rectangle_get_flags (GstVideoOverlayRectangle * rectangle);
GST_EXPORT
gfloat gst_video_overlay_rectangle_get_global_alpha (GstVideoOverlayRectangle * rectangle);
GST_EXPORT
void gst_video_overlay_rectangle_set_global_alpha (GstVideoOverlayRectangle * rectangle,
gfloat global_alpha);
@ -219,25 +235,34 @@ gst_video_overlay_composition_unref (GstVideoOverlayComposition * comp)
gst_mini_object_unref (GST_MINI_OBJECT_CAST (comp));
}
GST_EXPORT
GType gst_video_overlay_composition_get_type (void);
GST_EXPORT
GstVideoOverlayComposition * gst_video_overlay_composition_copy (GstVideoOverlayComposition * comp);
GST_EXPORT
GstVideoOverlayComposition * gst_video_overlay_composition_make_writable (GstVideoOverlayComposition * comp);
GST_EXPORT
GstVideoOverlayComposition * gst_video_overlay_composition_new (GstVideoOverlayRectangle * rectangle);
GST_EXPORT
void gst_video_overlay_composition_add_rectangle (GstVideoOverlayComposition * comp,
GstVideoOverlayRectangle * rectangle);
GST_EXPORT
guint gst_video_overlay_composition_n_rectangles (GstVideoOverlayComposition * comp);
GST_EXPORT
GstVideoOverlayRectangle * gst_video_overlay_composition_get_rectangle (GstVideoOverlayComposition * comp, guint n);
GST_EXPORT
guint gst_video_overlay_composition_get_seqnum (GstVideoOverlayComposition * comp);
/* blend composition onto raw video buffer */
GST_EXPORT
gboolean gst_video_overlay_composition_blend (GstVideoOverlayComposition * comp,
GstVideoFrame * video_buf);
@ -264,9 +289,13 @@ struct _GstVideoOverlayCompositionMeta
GstVideoOverlayComposition *overlay;
};
GST_EXPORT
GType gst_video_overlay_composition_meta_api_get_type (void);
GST_EXPORT
const GstMetaInfo *gst_video_overlay_composition_meta_get_info (void);
GST_EXPORT
GstVideoOverlayCompositionMeta * gst_buffer_add_video_overlay_composition_meta (GstBuffer * buf,
GstVideoOverlayComposition * comp);

View file

@ -160,6 +160,7 @@ struct _GstVideoResampler
};
GST_EXPORT
gboolean gst_video_resampler_init (GstVideoResampler *resampler,
GstVideoResamplerMethod method,
GstVideoResamplerFlags flags,
@ -168,6 +169,7 @@ gboolean gst_video_resampler_init (GstVideoResampler *resampler,
guint in_size, guint out_size,
GstStructure *options);
GST_EXPORT
void gst_video_resampler_clear (GstVideoResampler *resampler);
G_END_DECLS

View file

@ -50,33 +50,44 @@ typedef enum {
typedef struct _GstVideoScaler GstVideoScaler;
GST_EXPORT
GstVideoScaler * gst_video_scaler_new (GstVideoResamplerMethod method,
GstVideoScalerFlags flags,
guint n_taps,
guint in_size, guint out_size,
GstStructure * options);
GST_EXPORT
void gst_video_scaler_free (GstVideoScaler *scale);
GST_EXPORT
guint gst_video_scaler_get_max_taps (GstVideoScaler *scale);
GST_EXPORT
const gdouble * gst_video_scaler_get_coeff (GstVideoScaler *scale,
guint out_offset,
guint *in_offset,
guint *n_taps);
GST_EXPORT
void gst_video_scaler_horizontal (GstVideoScaler *scale,
GstVideoFormat format,
gpointer src, gpointer dest,
guint dest_offset, guint width);
GST_EXPORT
void gst_video_scaler_vertical (GstVideoScaler *scale,
GstVideoFormat format,
gpointer src_lines[], gpointer dest,
guint dest_offset, guint width);
GST_EXPORT
GstVideoScaler * gst_video_scaler_combine_packed_YUV (GstVideoScaler * y_scale,
GstVideoScaler *uv_scale,
GstVideoFormat in_format,
GstVideoFormat out_format);
GST_EXPORT
void gst_video_scaler_2d (GstVideoScaler *hscale,
GstVideoScaler *vscale,
GstVideoFormat format,

View file

@ -112,6 +112,7 @@ typedef enum
GST_VIDEO_TILE_MODE_ZFLIPZ_2X2 = GST_VIDEO_TILE_MAKE_MODE (1, INDEXED),
} GstVideoTileMode;
GST_EXPORT
guint gst_video_tile_get_index (GstVideoTileMode mode, gint x, gint y,
gint x_tiles, gint y_tiles);

View file

@ -121,10 +121,13 @@ typedef enum {
*/
#define GST_META_TAG_VIDEO_COLORSPACE_STR "colorspace"
GST_EXPORT
void gst_video_alignment_reset (GstVideoAlignment *align);
/* some helper functions */
GST_EXPORT
gboolean gst_video_calculate_display_ratio (guint * dar_n,
guint * dar_d,
guint video_width,
@ -134,6 +137,7 @@ gboolean gst_video_calculate_display_ratio (guint * dar_n,
guint display_par_n,
guint display_par_d);
GST_EXPORT
gboolean gst_video_guess_framerate (GstClockTime duration,
gint * dest_n, gint * dest_d);
@ -141,6 +145,7 @@ gboolean gst_video_guess_framerate (GstClockTime duration,
typedef void (*GstVideoConvertSampleCallback) (GstSample * sample, GError *error, gpointer user_data);
GST_EXPORT
void gst_video_convert_sample_async (GstSample * sample,
const GstCaps * to_caps,
GstClockTime timeout,
@ -148,6 +153,7 @@ void gst_video_convert_sample_async (GstSample * sam
gpointer user_data,
GDestroyNotify destroy_notify);
GST_EXPORT
GstSample * gst_video_convert_sample (GstSample * sample,
const GstCaps * to_caps,
GstClockTime timeout,

View file

@ -8,11 +8,11 @@
import sys, os, shutil, subprocess
h_array = ['--fhead',
"#ifndef __GST_VIDEO_ENUM_TYPES_H__\n#define __GST_VIDEO_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n",
"#ifndef __GST_VIDEO_ENUM_TYPES_H__\n#define __GST_VIDEO_ENUM_TYPES_H__\n\n#include <gst/gst.h>\n\nG_BEGIN_DECLS\n",
'--fprod',
"\n/* enumerations from \"@filename@\" */\n",
'--vhead',
"GType @enum_name@_get_type (void);\n#define GST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n",
"GST_EXPORT GType @enum_name@_get_type (void);\n#define GST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n",
'--ftail',
"G_END_DECLS\n\n#endif /* __GST_VIDEO_ENUM_TYPES_H__ */"
]

View file

@ -56,6 +56,7 @@ struct _GstVideoDirectionInterface
GTypeInterface iface;
};
GST_EXPORT
GType gst_video_direction_get_type (void);
G_END_DECLS

View file

@ -76,17 +76,33 @@ struct _GstVideoOrientationInterface {
gboolean (* set_vcenter) (GstVideoOrientation *video_orientation, gint center);
};
GST_EXPORT
GType gst_video_orientation_get_type (void);
/* virtual class function wrappers */
GST_EXPORT
gboolean gst_video_orientation_get_hflip (GstVideoOrientation *video_orientation, gboolean *flip);
GST_EXPORT
gboolean gst_video_orientation_get_vflip (GstVideoOrientation *video_orientation, gboolean *flip);
GST_EXPORT
gboolean gst_video_orientation_get_hcenter (GstVideoOrientation *video_orientation, gint *center);
GST_EXPORT
gboolean gst_video_orientation_get_vcenter (GstVideoOrientation *video_orientation, gint *center);
GST_EXPORT
gboolean gst_video_orientation_set_hflip (GstVideoOrientation *video_orientation, gboolean flip);
GST_EXPORT
gboolean gst_video_orientation_set_vflip (GstVideoOrientation *video_orientation, gboolean flip);
GST_EXPORT
gboolean gst_video_orientation_set_hcenter (GstVideoOrientation *video_orientation, gint center);
GST_EXPORT
gboolean gst_video_orientation_set_vcenter (GstVideoOrientation *video_orientation, gint center);
G_END_DECLS

View file

@ -68,30 +68,39 @@ struct _GstVideoOverlayInterface {
void (*set_window_handle) (GstVideoOverlay *overlay, guintptr handle);
};
GST_EXPORT
GType gst_video_overlay_get_type (void);
/* virtual function wrappers */
GST_EXPORT
gboolean gst_video_overlay_set_render_rectangle (GstVideoOverlay * overlay,
gint x,
gint y,
gint width,
gint height);
GST_EXPORT
void gst_video_overlay_expose (GstVideoOverlay * overlay);
GST_EXPORT
void gst_video_overlay_handle_events (GstVideoOverlay * overlay,
gboolean handle_events);
GST_EXPORT
void gst_video_overlay_set_window_handle (GstVideoOverlay * overlay,
guintptr handle);
/* public methods to dispatch bus messages */
GST_EXPORT
void gst_video_overlay_got_window_handle (GstVideoOverlay * overlay,
guintptr handle);
GST_EXPORT
void gst_video_overlay_prepare_window_handle (GstVideoOverlay * overlay);
GST_EXPORT
gboolean gst_is_video_overlay_prepare_window_handle_message (GstMessage * msg);
G_END_DECLS