video: GST_EXPORT -> GST_VIDEO_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.
This commit is contained in:
Tim-Philipp Müller 2018-03-13 11:48:31 +00:00
parent b618c5776d
commit ae429de8f6
34 changed files with 343 additions and 294 deletions

View file

@ -8,7 +8,8 @@ glib_enum_headers = video.h video-format.h video-color.h video-info.h video-dith
glib_enum_define = GST_VIDEO glib_enum_define = GST_VIDEO
glib_gen_prefix = gst_video glib_gen_prefix = gst_video
glib_gen_basename = video glib_gen_basename = video
glib_gen_decl_banner=GST_EXPORT glib_gen_decl_banner=GST_VIDEO_API
glib_gen_decl_include=\#include <gst/video/video-prelude.h>
built_sources = video-enumtypes.c built_sources = video-enumtypes.c
built_headers = video-enumtypes.h built_headers = video-enumtypes.h
@ -60,6 +61,7 @@ libgstvideo_@GST_API_VERSION@include_HEADERS = \
colorbalancechannel.h \ colorbalancechannel.h \
navigation.h \ navigation.h \
video.h \ video.h \
video-prelude.h \
video-event.h \ video-event.h \
video-format.h \ video-format.h \
video-chroma.h \ video-chroma.h \

View file

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

View file

@ -23,6 +23,7 @@
#define __GST_COLOR_BALANCE_CHANNEL_H__ #define __GST_COLOR_BALANCE_CHANNEL_H__
#include <gst/gst.h> #include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS G_BEGIN_DECLS
@ -78,7 +79,7 @@ struct _GstColorBalanceChannelClass {
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
GST_EXPORT GST_VIDEO_API
GType gst_color_balance_channel_get_type (void); GType gst_color_balance_channel_get_type (void);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

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

View file

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

View file

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

View file

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

View file

@ -76,33 +76,33 @@ struct _GstVideoMeta {
gboolean (*unmap) (GstVideoMeta *meta, guint plane, GstMapInfo *info); gboolean (*unmap) (GstVideoMeta *meta, guint plane, GstMapInfo *info);
}; };
GST_EXPORT GST_VIDEO_API
GType gst_video_meta_api_get_type (void); GType gst_video_meta_api_get_type (void);
GST_EXPORT GST_VIDEO_API
const GstMetaInfo * gst_video_meta_get_info (void); const GstMetaInfo * gst_video_meta_get_info (void);
GST_EXPORT GST_VIDEO_API
GstVideoMeta * gst_buffer_get_video_meta (GstBuffer *buffer); GstVideoMeta * gst_buffer_get_video_meta (GstBuffer *buffer);
GST_EXPORT GST_VIDEO_API
GstVideoMeta * gst_buffer_get_video_meta_id (GstBuffer *buffer, gint id); GstVideoMeta * gst_buffer_get_video_meta_id (GstBuffer *buffer, gint id);
GST_EXPORT GST_VIDEO_API
GstVideoMeta * gst_buffer_add_video_meta (GstBuffer *buffer, GstVideoFrameFlags flags, GstVideoMeta * gst_buffer_add_video_meta (GstBuffer *buffer, GstVideoFrameFlags flags,
GstVideoFormat format, guint width, guint height); GstVideoFormat format, guint width, guint height);
GST_EXPORT GST_VIDEO_API
GstVideoMeta * gst_buffer_add_video_meta_full (GstBuffer *buffer, GstVideoFrameFlags flags, GstVideoMeta * gst_buffer_add_video_meta_full (GstBuffer *buffer, GstVideoFrameFlags flags,
GstVideoFormat format, guint width, guint height, GstVideoFormat format, guint width, guint height,
guint n_planes, gsize offset[GST_VIDEO_MAX_PLANES], guint n_planes, gsize offset[GST_VIDEO_MAX_PLANES],
gint stride[GST_VIDEO_MAX_PLANES]); gint stride[GST_VIDEO_MAX_PLANES]);
GST_EXPORT GST_VIDEO_API
gboolean gst_video_meta_map (GstVideoMeta *meta, guint plane, GstMapInfo *info, gboolean gst_video_meta_map (GstVideoMeta *meta, guint plane, GstMapInfo *info,
gpointer *data, gint *stride, GstMapFlags flags); gpointer *data, gint *stride, GstMapFlags flags);
GST_EXPORT GST_VIDEO_API
gboolean gst_video_meta_unmap (GstVideoMeta *meta, guint plane, GstMapInfo *info); gboolean gst_video_meta_unmap (GstVideoMeta *meta, guint plane, GstMapInfo *info);
/** /**
@ -124,10 +124,10 @@ struct _GstVideoCropMeta {
guint height; guint height;
}; };
GST_EXPORT GST_VIDEO_API
GType gst_video_crop_meta_api_get_type (void); GType gst_video_crop_meta_api_get_type (void);
GST_EXPORT GST_VIDEO_API
const GstMetaInfo * gst_video_crop_meta_get_info (void); 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)) #define gst_buffer_get_video_crop_meta(b) ((GstVideoCropMeta*)gst_buffer_get_meta((b),GST_VIDEO_CROP_META_API_TYPE))
@ -135,7 +135,7 @@ const GstMetaInfo * gst_video_crop_meta_get_info (void);
/* video metadata transforms */ /* video metadata transforms */
GST_EXPORT GST_VIDEO_API
GQuark gst_video_meta_transform_scale_get_quark (void); GQuark gst_video_meta_transform_scale_get_quark (void);
/** /**
* gst_video_meta_transform_scale: * gst_video_meta_transform_scale:
@ -247,15 +247,15 @@ struct _GstVideoGLTextureUploadMeta {
GBoxedFreeFunc user_data_free; GBoxedFreeFunc user_data_free;
}; };
GST_EXPORT GST_VIDEO_API
GType gst_video_gl_texture_upload_meta_api_get_type (void); GType gst_video_gl_texture_upload_meta_api_get_type (void);
GST_EXPORT GST_VIDEO_API
const GstMetaInfo * gst_video_gl_texture_upload_meta_get_info (void); 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)) #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 GST_VIDEO_API
GstVideoGLTextureUploadMeta * GstVideoGLTextureUploadMeta *
gst_buffer_add_video_gl_texture_upload_meta (GstBuffer *buffer, gst_buffer_add_video_gl_texture_upload_meta (GstBuffer *buffer,
GstVideoGLTextureOrientation texture_orientation, GstVideoGLTextureOrientation texture_orientation,
@ -266,7 +266,7 @@ GstVideoGLTextureUploadMeta *
GBoxedCopyFunc user_data_copy, GBoxedCopyFunc user_data_copy,
GBoxedFreeFunc user_data_free); GBoxedFreeFunc user_data_free);
GST_EXPORT GST_VIDEO_API
gboolean gst_video_gl_texture_upload_meta_upload (GstVideoGLTextureUploadMeta *meta, gboolean gst_video_gl_texture_upload_meta_upload (GstVideoGLTextureUploadMeta *meta,
guint texture_id[4]); guint texture_id[4]);
@ -300,20 +300,20 @@ typedef struct {
GList *params; GList *params;
} GstVideoRegionOfInterestMeta; } GstVideoRegionOfInterestMeta;
GST_EXPORT GST_VIDEO_API
GType gst_video_region_of_interest_meta_api_get_type (void); 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()) #define GST_VIDEO_REGION_OF_INTEREST_META_API_TYPE (gst_video_region_of_interest_meta_api_get_type())
GST_EXPORT GST_VIDEO_API
const GstMetaInfo *gst_video_region_of_interest_meta_get_info (void); 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_VIDEO_REGION_OF_INTEREST_META_INFO (gst_video_region_of_interest_meta_get_info())
#define gst_buffer_get_video_region_of_interest_meta(b) \ #define gst_buffer_get_video_region_of_interest_meta(b) \
((GstVideoRegionOfInterestMeta*)gst_buffer_get_meta((b),GST_VIDEO_REGION_OF_INTEREST_META_API_TYPE)) ((GstVideoRegionOfInterestMeta*)gst_buffer_get_meta((b),GST_VIDEO_REGION_OF_INTEREST_META_API_TYPE))
GST_EXPORT GST_VIDEO_API
GstVideoRegionOfInterestMeta *gst_buffer_get_video_region_of_interest_meta_id (GstBuffer * buffer, GstVideoRegionOfInterestMeta *gst_buffer_get_video_region_of_interest_meta_id (GstBuffer * buffer,
gint id); gint id);
GST_EXPORT GST_VIDEO_API
GstVideoRegionOfInterestMeta *gst_buffer_add_video_region_of_interest_meta (GstBuffer * buffer, GstVideoRegionOfInterestMeta *gst_buffer_add_video_region_of_interest_meta (GstBuffer * buffer,
const gchar * roi_type, const gchar * roi_type,
guint x, guint x,
@ -321,18 +321,18 @@ GstVideoRegionOfInterestMeta *gst_buffer_add_video_region_of_interest_meta (G
guint w, guint w,
guint h); guint h);
GST_EXPORT GST_VIDEO_API
GstVideoRegionOfInterestMeta *gst_buffer_add_video_region_of_interest_meta_id (GstBuffer * buffer, GstVideoRegionOfInterestMeta *gst_buffer_add_video_region_of_interest_meta_id (GstBuffer * buffer,
GQuark roi_type, GQuark roi_type,
guint x, guint x,
guint y, guint y,
guint w, guint w,
guint h); guint h);
GST_EXPORT GST_VIDEO_API
void gst_video_region_of_interest_meta_add_param (GstVideoRegionOfInterestMeta * meta, void gst_video_region_of_interest_meta_add_param (GstVideoRegionOfInterestMeta * meta,
GstStructure * s); GstStructure * s);
GST_EXPORT GST_VIDEO_API
GstStructure *gst_video_region_of_interest_meta_get_param (GstVideoRegionOfInterestMeta * meta, GstStructure *gst_video_region_of_interest_meta_get_param (GstVideoRegionOfInterestMeta * meta,
const gchar * name); const gchar * name);
@ -354,22 +354,22 @@ typedef struct {
GstVideoTimeCode tc; GstVideoTimeCode tc;
} GstVideoTimeCodeMeta; } GstVideoTimeCodeMeta;
GST_EXPORT GST_VIDEO_API
GType gst_video_time_code_meta_api_get_type (void); 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()) #define GST_VIDEO_TIME_CODE_META_API_TYPE (gst_video_time_code_meta_api_get_type())
GST_EXPORT GST_VIDEO_API
const GstMetaInfo *gst_video_time_code_meta_get_info (void); 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_VIDEO_TIME_CODE_META_INFO (gst_video_time_code_meta_get_info())
#define gst_buffer_get_video_time_code_meta(b) \ #define gst_buffer_get_video_time_code_meta(b) \
((GstVideoTimeCodeMeta*)gst_buffer_get_meta((b),GST_VIDEO_TIME_CODE_META_API_TYPE)) ((GstVideoTimeCodeMeta*)gst_buffer_get_meta((b),GST_VIDEO_TIME_CODE_META_API_TYPE))
GST_EXPORT GST_VIDEO_API
GstVideoTimeCodeMeta *gst_buffer_add_video_time_code_meta (GstBuffer * buffer, GstVideoTimeCodeMeta *gst_buffer_add_video_time_code_meta (GstBuffer * buffer,
GstVideoTimeCode * tc); GstVideoTimeCode * tc);
GST_EXPORT GST_VIDEO_API
GstVideoTimeCodeMeta * GstVideoTimeCodeMeta *
gst_buffer_add_video_time_code_meta_full (GstBuffer * buffer, gst_buffer_add_video_time_code_meta_full (GstBuffer * buffer,
guint fps_n, guint fps_n,

View file

@ -47,10 +47,10 @@ G_BEGIN_DECLS
/* setting a bufferpool config */ /* setting a bufferpool config */
GST_EXPORT GST_VIDEO_API
void gst_buffer_pool_config_set_video_alignment (GstStructure *config, GstVideoAlignment *align); void gst_buffer_pool_config_set_video_alignment (GstStructure *config, GstVideoAlignment *align);
GST_EXPORT GST_VIDEO_API
gboolean gst_buffer_pool_config_get_video_alignment (GstStructure *config, GstVideoAlignment *align); gboolean gst_buffer_pool_config_get_video_alignment (GstStructure *config, GstVideoAlignment *align);
/* video bufferpool */ /* video bufferpool */
@ -75,10 +75,10 @@ struct _GstVideoBufferPoolClass
GstBufferPoolClass parent_class; GstBufferPoolClass parent_class;
}; };
GST_EXPORT GST_VIDEO_API
GType gst_video_buffer_pool_get_type (void); GType gst_video_buffer_pool_get_type (void);
GST_EXPORT GST_VIDEO_API
GstBufferPool * gst_video_buffer_pool_new (void); GstBufferPool * gst_video_buffer_pool_new (void);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -25,6 +25,7 @@
#include <gst/gst.h> #include <gst/gst.h>
#include <gst/base/gstbasesink.h> #include <gst/base/gstbasesink.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS G_BEGIN_DECLS
@ -120,10 +121,10 @@ struct _GstVideoSinkClass {
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
GST_EXPORT GST_VIDEO_API
GType gst_video_sink_get_type (void); GType gst_video_sink_get_type (void);
GST_EXPORT GST_VIDEO_API
void gst_video_sink_center_rect (GstVideoRectangle src, GstVideoRectangle dst, void gst_video_sink_center_rect (GstVideoRectangle src, GstVideoRectangle dst,
GstVideoRectangle *result, gboolean scaling); GstVideoRectangle *result, gboolean scaling);

View file

@ -21,6 +21,7 @@
#define __GST_VIDEO_TIME_CODE_H__ #define __GST_VIDEO_TIME_CODE_H__
#include <gst/gst.h> #include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS G_BEGIN_DECLS
@ -123,10 +124,10 @@ struct _GstVideoTimeCodeInterval {
#define GST_VIDEO_TIME_CODE_INIT { {0, 0, 0, NULL}, 0, 0, 0, 0, 0 } #define GST_VIDEO_TIME_CODE_INIT { {0, 0, 0, NULL}, 0, 0, 0, 0, 0 }
#define GST_TYPE_VIDEO_TIME_CODE (gst_video_time_code_get_type()) #define GST_TYPE_VIDEO_TIME_CODE (gst_video_time_code_get_type())
GST_EXPORT GST_VIDEO_API
GType gst_video_time_code_get_type (void); GType gst_video_time_code_get_type (void);
GST_EXPORT GST_VIDEO_API
GstVideoTimeCode * gst_video_time_code_new (guint fps_n, GstVideoTimeCode * gst_video_time_code_new (guint fps_n,
guint fps_d, guint fps_d,
GDateTime * latest_daily_jam, GDateTime * latest_daily_jam,
@ -137,26 +138,26 @@ GstVideoTimeCode * gst_video_time_code_new (guint fp
guint frames, guint frames,
guint field_count); guint field_count);
GST_EXPORT GST_VIDEO_API
GstVideoTimeCode * gst_video_time_code_new_empty (void); GstVideoTimeCode * gst_video_time_code_new_empty (void);
GST_EXPORT GST_VIDEO_API
GstVideoTimeCode * gst_video_time_code_new_from_string (const gchar * tc_str); GstVideoTimeCode * gst_video_time_code_new_from_string (const gchar * tc_str);
GST_EXPORT GST_VIDEO_API
GstVideoTimeCode * gst_video_time_code_new_from_date_time (guint fps_n, GstVideoTimeCode * gst_video_time_code_new_from_date_time (guint fps_n,
guint fps_d, guint fps_d,
GDateTime * dt, GDateTime * dt,
GstVideoTimeCodeFlags flags, GstVideoTimeCodeFlags flags,
guint field_count); guint field_count);
GST_EXPORT GST_VIDEO_API
void gst_video_time_code_free (GstVideoTimeCode * tc); void gst_video_time_code_free (GstVideoTimeCode * tc);
GST_EXPORT GST_VIDEO_API
GstVideoTimeCode * gst_video_time_code_copy (const GstVideoTimeCode * tc); GstVideoTimeCode * gst_video_time_code_copy (const GstVideoTimeCode * tc);
GST_EXPORT GST_VIDEO_API
void gst_video_time_code_init (GstVideoTimeCode * tc, void gst_video_time_code_init (GstVideoTimeCode * tc,
guint fps_n, guint fps_n,
guint fps_d, guint fps_d,
@ -168,7 +169,7 @@ void gst_video_time_code_init (GstVideoTimeCode * tc
guint frames, guint frames,
guint field_count); guint field_count);
GST_EXPORT GST_VIDEO_API
void gst_video_time_code_init_from_date_time (GstVideoTimeCode * tc, void gst_video_time_code_init_from_date_time (GstVideoTimeCode * tc,
guint fps_n, guint fps_n,
guint fps_d, guint fps_d,
@ -176,65 +177,65 @@ void gst_video_time_code_init_from_date_time (GstVideoTimeCode * tc
GstVideoTimeCodeFlags flags, GstVideoTimeCodeFlags flags,
guint field_count); guint field_count);
GST_EXPORT GST_VIDEO_API
void gst_video_time_code_clear (GstVideoTimeCode * tc); void gst_video_time_code_clear (GstVideoTimeCode * tc);
GST_EXPORT GST_VIDEO_API
gboolean gst_video_time_code_is_valid (const GstVideoTimeCode * tc); gboolean gst_video_time_code_is_valid (const GstVideoTimeCode * tc);
GST_EXPORT GST_VIDEO_API
gint gst_video_time_code_compare (const GstVideoTimeCode * tc1, gint gst_video_time_code_compare (const GstVideoTimeCode * tc1,
const GstVideoTimeCode * tc2); const GstVideoTimeCode * tc2);
GST_EXPORT GST_VIDEO_API
void gst_video_time_code_increment_frame (GstVideoTimeCode * tc); void gst_video_time_code_increment_frame (GstVideoTimeCode * tc);
GST_EXPORT GST_VIDEO_API
void gst_video_time_code_add_frames (GstVideoTimeCode * tc, void gst_video_time_code_add_frames (GstVideoTimeCode * tc,
gint64 frames); gint64 frames);
GST_EXPORT GST_VIDEO_API
gchar *gst_video_time_code_to_string (const GstVideoTimeCode * tc); gchar *gst_video_time_code_to_string (const GstVideoTimeCode * tc);
GST_EXPORT GST_VIDEO_API
GDateTime *gst_video_time_code_to_date_time (const GstVideoTimeCode * tc); GDateTime *gst_video_time_code_to_date_time (const GstVideoTimeCode * tc);
GST_EXPORT GST_VIDEO_API
guint64 gst_video_time_code_nsec_since_daily_jam (const GstVideoTimeCode * tc); guint64 gst_video_time_code_nsec_since_daily_jam (const GstVideoTimeCode * tc);
GST_EXPORT GST_VIDEO_API
guint64 gst_video_time_code_frames_since_daily_jam (const GstVideoTimeCode * tc); guint64 gst_video_time_code_frames_since_daily_jam (const GstVideoTimeCode * tc);
GST_EXPORT GST_VIDEO_API
GstVideoTimeCode * gst_video_time_code_add_interval (const GstVideoTimeCode * tc, const GstVideoTimeCodeInterval * tc_inter); 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()) #define GST_TYPE_VIDEO_TIME_CODE_INTERVAL (gst_video_time_code_interval_get_type())
GST_EXPORT GST_VIDEO_API
GType gst_video_time_code_interval_get_type (void); GType gst_video_time_code_interval_get_type (void);
GST_EXPORT GST_VIDEO_API
GstVideoTimeCodeInterval * gst_video_time_code_interval_new (guint hours, GstVideoTimeCodeInterval * gst_video_time_code_interval_new (guint hours,
guint minutes, guint minutes,
guint seconds, guint seconds,
guint frames); guint frames);
GST_EXPORT GST_VIDEO_API
GstVideoTimeCodeInterval * gst_video_time_code_interval_new_from_string (const gchar * tc_inter_str); GstVideoTimeCodeInterval * gst_video_time_code_interval_new_from_string (const gchar * tc_inter_str);
GST_EXPORT GST_VIDEO_API
void gst_video_time_code_interval_free (GstVideoTimeCodeInterval * tc); void gst_video_time_code_interval_free (GstVideoTimeCodeInterval * tc);
GST_EXPORT GST_VIDEO_API
GstVideoTimeCodeInterval * gst_video_time_code_interval_copy (const GstVideoTimeCodeInterval * tc); GstVideoTimeCodeInterval * gst_video_time_code_interval_copy (const GstVideoTimeCodeInterval * tc);
GST_EXPORT GST_VIDEO_API
void gst_video_time_code_interval_init (GstVideoTimeCodeInterval * tc, void gst_video_time_code_interval_init (GstVideoTimeCodeInterval * tc,
guint hours, guint hours,
guint minutes, guint minutes,
guint seconds, guint seconds,
guint frames); guint frames);
GST_EXPORT GST_VIDEO_API
void gst_video_time_code_interval_clear (GstVideoTimeCodeInterval * tc); void gst_video_time_code_interval_clear (GstVideoTimeCodeInterval * tc);
G_END_DECLS G_END_DECLS

View file

@ -27,6 +27,7 @@
#define _GST_VIDEO_UTILS_H_ #define _GST_VIDEO_UTILS_H_
#include <gst/gst.h> #include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_VIDEO_CODEC_STATE \ #define GST_TYPE_VIDEO_CODEC_STATE \
@ -265,33 +266,33 @@ struct _GstVideoCodecFrame
/* GstVideoCodecState */ /* GstVideoCodecState */
GST_EXPORT GST_VIDEO_API
GType gst_video_codec_state_get_type (void); GType gst_video_codec_state_get_type (void);
GST_EXPORT GST_VIDEO_API
GstVideoCodecState *gst_video_codec_state_ref (GstVideoCodecState * state); GstVideoCodecState *gst_video_codec_state_ref (GstVideoCodecState * state);
GST_EXPORT GST_VIDEO_API
void gst_video_codec_state_unref (GstVideoCodecState * state); void gst_video_codec_state_unref (GstVideoCodecState * state);
/* GstVideoCodecFrame */ /* GstVideoCodecFrame */
GST_EXPORT GST_VIDEO_API
GType gst_video_codec_frame_get_type (void); GType gst_video_codec_frame_get_type (void);
GST_EXPORT GST_VIDEO_API
GstVideoCodecFrame *gst_video_codec_frame_ref (GstVideoCodecFrame * frame); GstVideoCodecFrame *gst_video_codec_frame_ref (GstVideoCodecFrame * frame);
GST_EXPORT GST_VIDEO_API
void gst_video_codec_frame_unref (GstVideoCodecFrame * frame); void gst_video_codec_frame_unref (GstVideoCodecFrame * frame);
GST_EXPORT GST_VIDEO_API
void gst_video_codec_frame_set_user_data (GstVideoCodecFrame *frame, void gst_video_codec_frame_set_user_data (GstVideoCodecFrame *frame,
gpointer user_data, gpointer user_data,
GDestroyNotify notify); GDestroyNotify notify);
GST_EXPORT GST_VIDEO_API
gpointer gst_video_codec_frame_get_user_data (GstVideoCodecFrame *frame); gpointer gst_video_codec_frame_get_user_data (GstVideoCodecFrame *frame);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -55,6 +55,7 @@ video_headers = [
'video-dither.h', 'video-dither.h',
'video-info.h', 'video-info.h',
'video-frame.h', 'video-frame.h',
'video-prelude.h',
'video-scaler.h', 'video-scaler.h',
'video-tile.h', 'video-tile.h',
'videodirection.h', 'videodirection.h',

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -21,27 +21,28 @@
#define __GST_VIDEO_EVENT_H__ #define __GST_VIDEO_EVENT_H__
#include <gst/gst.h> #include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS G_BEGIN_DECLS
/* video still frame event creation and parsing */ /* video still frame event creation and parsing */
GST_EXPORT GST_VIDEO_API
GstEvent * gst_video_event_new_still_frame (gboolean in_still); GstEvent * gst_video_event_new_still_frame (gboolean in_still);
GST_EXPORT GST_VIDEO_API
gboolean gst_video_event_parse_still_frame (GstEvent * event, gboolean * in_still); gboolean gst_video_event_parse_still_frame (GstEvent * event, gboolean * in_still);
/* video force key unit event creation and parsing */ /* video force key unit event creation and parsing */
GST_EXPORT GST_VIDEO_API
GstEvent * gst_video_event_new_downstream_force_key_unit (GstClockTime timestamp, GstEvent * gst_video_event_new_downstream_force_key_unit (GstClockTime timestamp,
GstClockTime stream_time, GstClockTime stream_time,
GstClockTime running_time, GstClockTime running_time,
gboolean all_headers, gboolean all_headers,
guint count); guint count);
GST_EXPORT GST_VIDEO_API
gboolean gst_video_event_parse_downstream_force_key_unit (GstEvent * event, gboolean gst_video_event_parse_downstream_force_key_unit (GstEvent * event,
GstClockTime * timestamp, GstClockTime * timestamp,
GstClockTime * stream_time, GstClockTime * stream_time,
@ -49,18 +50,18 @@ gboolean gst_video_event_parse_downstream_force_key_unit (GstEvent * event,
gboolean * all_headers, gboolean * all_headers,
guint * count); guint * count);
GST_EXPORT GST_VIDEO_API
GstEvent * gst_video_event_new_upstream_force_key_unit (GstClockTime running_time, GstEvent * gst_video_event_new_upstream_force_key_unit (GstClockTime running_time,
gboolean all_headers, gboolean all_headers,
guint count); guint count);
GST_EXPORT GST_VIDEO_API
gboolean gst_video_event_parse_upstream_force_key_unit (GstEvent * event, gboolean gst_video_event_parse_upstream_force_key_unit (GstEvent * event,
GstClockTime * running_time, GstClockTime * running_time,
gboolean * all_headers, gboolean * all_headers,
guint * count); guint * count);
GST_EXPORT GST_VIDEO_API
gboolean gst_video_event_is_force_key_unit(GstEvent *event); gboolean gst_video_event_is_force_key_unit(GstEvent *event);
G_END_DECLS G_END_DECLS

View file

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

View file

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

View file

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

View file

@ -21,39 +21,40 @@
#define __GST_VIDEO_MULTIVIEW_H__ #define __GST_VIDEO_MULTIVIEW_H__
#include <gst/gst.h> #include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_VIDEO_MULTIVIEW_FLAGSET (gst_video_multiview_flagset_get_type()) #define GST_TYPE_VIDEO_MULTIVIEW_FLAGSET (gst_video_multiview_flagset_get_type())
GST_EXPORT GST_VIDEO_API
GType gst_video_multiview_flagset_get_type (void); GType gst_video_multiview_flagset_get_type (void);
GST_EXPORT GST_VIDEO_API
const gchar * gst_video_multiview_mode_to_caps_string (GstVideoMultiviewMode mview_mode); const gchar * gst_video_multiview_mode_to_caps_string (GstVideoMultiviewMode mview_mode);
GST_EXPORT GST_VIDEO_API
GstVideoMultiviewMode gst_video_multiview_mode_from_caps_string (const gchar * caps_mview_mode); GstVideoMultiviewMode gst_video_multiview_mode_from_caps_string (const gchar * caps_mview_mode);
GST_EXPORT GST_VIDEO_API
const GValue *gst_video_multiview_get_mono_modes(void); const GValue *gst_video_multiview_get_mono_modes(void);
GST_EXPORT GST_VIDEO_API
const GValue *gst_video_multiview_get_unpacked_modes(void); const GValue *gst_video_multiview_get_unpacked_modes(void);
GST_EXPORT GST_VIDEO_API
const GValue *gst_video_multiview_get_doubled_height_modes(void); const GValue *gst_video_multiview_get_doubled_height_modes(void);
GST_EXPORT GST_VIDEO_API
const GValue *gst_video_multiview_get_doubled_width_modes(void); const GValue *gst_video_multiview_get_doubled_width_modes(void);
GST_EXPORT GST_VIDEO_API
const GValue *gst_video_multiview_get_doubled_size_modes(void); const GValue *gst_video_multiview_get_doubled_size_modes(void);
GST_EXPORT GST_VIDEO_API
void gst_video_multiview_video_info_change_mode (GstVideoInfo *info, void gst_video_multiview_video_info_change_mode (GstVideoInfo *info,
GstVideoMultiviewMode out_mview_mode, GstVideoMultiviewFlags out_mview_flags); GstVideoMultiviewMode out_mview_mode, GstVideoMultiviewFlags out_mview_flags);
GST_EXPORT GST_VIDEO_API
gboolean gst_video_multiview_guess_half_aspect (GstVideoMultiviewMode mv_mode, gboolean gst_video_multiview_guess_half_aspect (GstVideoMultiviewMode mv_mode,
guint width, guint height, guint par_n, guint par_d); guint width, guint height, guint par_n, guint par_d);

View file

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

View file

@ -0,0 +1,31 @@
/* GStreamer Video Library
* Copyright (C) 2018 GStreamer developers
*
* video-prelude.h: prelude include header for gst-video library
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#ifndef __GST_VIDEO_PRELUDE_H__
#define __GST_VIDEO_PRELUDE_H__
#include <gst/gst.h>
#ifndef GST_VIDEO_API
#define GST_VIDEO_API GST_EXPORT
#endif
#endif /* __GST_VIDEO_PRELUDE_H__ */

View file

@ -21,6 +21,7 @@
#define __GST_VIDEO_RESAMPLER_H__ #define __GST_VIDEO_RESAMPLER_H__
#include <gst/gst.h> #include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS G_BEGIN_DECLS
@ -160,7 +161,7 @@ struct _GstVideoResampler
}; };
GST_EXPORT GST_VIDEO_API
gboolean gst_video_resampler_init (GstVideoResampler *resampler, gboolean gst_video_resampler_init (GstVideoResampler *resampler,
GstVideoResamplerMethod method, GstVideoResamplerMethod method,
GstVideoResamplerFlags flags, GstVideoResamplerFlags flags,
@ -169,7 +170,7 @@ gboolean gst_video_resampler_init (GstVideoResampler *resampler,
guint in_size, guint out_size, guint in_size, guint out_size,
GstStructure *options); GstStructure *options);
GST_EXPORT GST_VIDEO_API
void gst_video_resampler_clear (GstVideoResampler *resampler); void gst_video_resampler_clear (GstVideoResampler *resampler);
G_END_DECLS G_END_DECLS

View file

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

View file

@ -21,6 +21,7 @@
#define __GST_VIDEO_TILE_H__ #define __GST_VIDEO_TILE_H__
#include <gst/gst.h> #include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS G_BEGIN_DECLS
@ -112,7 +113,7 @@ typedef enum
GST_VIDEO_TILE_MODE_ZFLIPZ_2X2 = GST_VIDEO_TILE_MAKE_MODE (1, INDEXED), GST_VIDEO_TILE_MODE_ZFLIPZ_2X2 = GST_VIDEO_TILE_MAKE_MODE (1, INDEXED),
} GstVideoTileMode; } GstVideoTileMode;
GST_EXPORT GST_VIDEO_API
guint gst_video_tile_get_index (GstVideoTileMode mode, gint x, gint y, guint gst_video_tile_get_index (GstVideoTileMode mode, gint x, gint y,
gint x_tiles, gint y_tiles); gint x_tiles, gint y_tiles);

View file

@ -22,6 +22,8 @@
#include <gst/gst.h> #include <gst/gst.h>
#include <gst/video/video-prelude.h>
typedef struct _GstVideoAlignment GstVideoAlignment; typedef struct _GstVideoAlignment GstVideoAlignment;
#include <gst/video/video-format.h> #include <gst/video/video-format.h>
@ -121,13 +123,13 @@ typedef enum {
*/ */
#define GST_META_TAG_VIDEO_COLORSPACE_STR "colorspace" #define GST_META_TAG_VIDEO_COLORSPACE_STR "colorspace"
GST_EXPORT GST_VIDEO_API
void gst_video_alignment_reset (GstVideoAlignment *align); void gst_video_alignment_reset (GstVideoAlignment *align);
/* some helper functions */ /* some helper functions */
GST_EXPORT GST_VIDEO_API
gboolean gst_video_calculate_display_ratio (guint * dar_n, gboolean gst_video_calculate_display_ratio (guint * dar_n,
guint * dar_d, guint * dar_d,
guint video_width, guint video_width,
@ -137,7 +139,7 @@ gboolean gst_video_calculate_display_ratio (guint * dar_n,
guint display_par_n, guint display_par_n,
guint display_par_d); guint display_par_d);
GST_EXPORT GST_VIDEO_API
gboolean gst_video_guess_framerate (GstClockTime duration, gboolean gst_video_guess_framerate (GstClockTime duration,
gint * dest_n, gint * dest_d); gint * dest_n, gint * dest_d);
@ -145,7 +147,7 @@ gboolean gst_video_guess_framerate (GstClockTime duration,
typedef void (*GstVideoConvertSampleCallback) (GstSample * sample, GError *error, gpointer user_data); typedef void (*GstVideoConvertSampleCallback) (GstSample * sample, GError *error, gpointer user_data);
GST_EXPORT GST_VIDEO_API
void gst_video_convert_sample_async (GstSample * sample, void gst_video_convert_sample_async (GstSample * sample,
const GstCaps * to_caps, const GstCaps * to_caps,
GstClockTime timeout, GstClockTime timeout,
@ -153,7 +155,7 @@ void gst_video_convert_sample_async (GstSample * sam
gpointer user_data, gpointer user_data,
GDestroyNotify destroy_notify); GDestroyNotify destroy_notify);
GST_EXPORT GST_VIDEO_API
GstSample * gst_video_convert_sample (GstSample * sample, GstSample * gst_video_convert_sample (GstSample * sample,
const GstCaps * to_caps, const GstCaps * to_caps,
GstClockTime timeout, GstClockTime timeout,

View file

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

View file

@ -23,6 +23,7 @@
#define __GST_VIDEO_DIRECTION_H__ #define __GST_VIDEO_DIRECTION_H__
#include <gst/gst.h> #include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_VIDEO_DIRECTION \ #define GST_TYPE_VIDEO_DIRECTION \
@ -56,7 +57,7 @@ struct _GstVideoDirectionInterface
GTypeInterface iface; GTypeInterface iface;
}; };
GST_EXPORT GST_VIDEO_API
GType gst_video_direction_get_type (void); GType gst_video_direction_get_type (void);
G_END_DECLS G_END_DECLS

View file

@ -23,6 +23,7 @@
#define __GST_VIDEO_ORIENTATION_H__ #define __GST_VIDEO_ORIENTATION_H__
#include <gst/gst.h> #include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS G_BEGIN_DECLS
@ -76,33 +77,33 @@ struct _GstVideoOrientationInterface {
gboolean (* set_vcenter) (GstVideoOrientation *video_orientation, gint center); gboolean (* set_vcenter) (GstVideoOrientation *video_orientation, gint center);
}; };
GST_EXPORT GST_VIDEO_API
GType gst_video_orientation_get_type (void); GType gst_video_orientation_get_type (void);
/* virtual class function wrappers */ /* virtual class function wrappers */
GST_EXPORT GST_VIDEO_API
gboolean gst_video_orientation_get_hflip (GstVideoOrientation *video_orientation, gboolean *flip); gboolean gst_video_orientation_get_hflip (GstVideoOrientation *video_orientation, gboolean *flip);
GST_EXPORT GST_VIDEO_API
gboolean gst_video_orientation_get_vflip (GstVideoOrientation *video_orientation, gboolean *flip); gboolean gst_video_orientation_get_vflip (GstVideoOrientation *video_orientation, gboolean *flip);
GST_EXPORT GST_VIDEO_API
gboolean gst_video_orientation_get_hcenter (GstVideoOrientation *video_orientation, gint *center); gboolean gst_video_orientation_get_hcenter (GstVideoOrientation *video_orientation, gint *center);
GST_EXPORT GST_VIDEO_API
gboolean gst_video_orientation_get_vcenter (GstVideoOrientation *video_orientation, gint *center); gboolean gst_video_orientation_get_vcenter (GstVideoOrientation *video_orientation, gint *center);
GST_EXPORT GST_VIDEO_API
gboolean gst_video_orientation_set_hflip (GstVideoOrientation *video_orientation, gboolean flip); gboolean gst_video_orientation_set_hflip (GstVideoOrientation *video_orientation, gboolean flip);
GST_EXPORT GST_VIDEO_API
gboolean gst_video_orientation_set_vflip (GstVideoOrientation *video_orientation, gboolean flip); gboolean gst_video_orientation_set_vflip (GstVideoOrientation *video_orientation, gboolean flip);
GST_EXPORT GST_VIDEO_API
gboolean gst_video_orientation_set_hcenter (GstVideoOrientation *video_orientation, gint center); gboolean gst_video_orientation_set_hcenter (GstVideoOrientation *video_orientation, gint center);
GST_EXPORT GST_VIDEO_API
gboolean gst_video_orientation_set_vcenter (GstVideoOrientation *video_orientation, gint center); gboolean gst_video_orientation_set_vcenter (GstVideoOrientation *video_orientation, gint center);
G_END_DECLS G_END_DECLS

View file

@ -72,46 +72,46 @@ struct _GstVideoOverlayInterface {
void (*set_window_handle) (GstVideoOverlay *overlay, guintptr handle); void (*set_window_handle) (GstVideoOverlay *overlay, guintptr handle);
}; };
GST_EXPORT GST_VIDEO_API
GType gst_video_overlay_get_type (void); GType gst_video_overlay_get_type (void);
/* virtual function wrappers */ /* virtual function wrappers */
GST_EXPORT GST_VIDEO_API
gboolean gst_video_overlay_set_render_rectangle (GstVideoOverlay * overlay, gboolean gst_video_overlay_set_render_rectangle (GstVideoOverlay * overlay,
gint x, gint x,
gint y, gint y,
gint width, gint width,
gint height); gint height);
GST_EXPORT GST_VIDEO_API
void gst_video_overlay_expose (GstVideoOverlay * overlay); void gst_video_overlay_expose (GstVideoOverlay * overlay);
GST_EXPORT GST_VIDEO_API
void gst_video_overlay_handle_events (GstVideoOverlay * overlay, void gst_video_overlay_handle_events (GstVideoOverlay * overlay,
gboolean handle_events); gboolean handle_events);
GST_EXPORT GST_VIDEO_API
void gst_video_overlay_set_window_handle (GstVideoOverlay * overlay, void gst_video_overlay_set_window_handle (GstVideoOverlay * overlay,
guintptr handle); guintptr handle);
/* public methods to dispatch bus messages */ /* public methods to dispatch bus messages */
GST_EXPORT GST_VIDEO_API
void gst_video_overlay_got_window_handle (GstVideoOverlay * overlay, void gst_video_overlay_got_window_handle (GstVideoOverlay * overlay,
guintptr handle); guintptr handle);
GST_EXPORT GST_VIDEO_API
void gst_video_overlay_prepare_window_handle (GstVideoOverlay * overlay); void gst_video_overlay_prepare_window_handle (GstVideoOverlay * overlay);
GST_EXPORT GST_VIDEO_API
gboolean gst_is_video_overlay_prepare_window_handle_message (GstMessage * msg); gboolean gst_is_video_overlay_prepare_window_handle_message (GstMessage * msg);
GST_EXPORT GST_VIDEO_API
void gst_video_overlay_install_properties (GObjectClass * oclass, void gst_video_overlay_install_properties (GObjectClass * oclass,
gint last_prop_id); gint last_prop_id);
GST_EXPORT GST_VIDEO_API
gboolean gst_video_overlay_set_property (GObject * object, gboolean gst_video_overlay_set_property (GObject * object,
gint last_prop_id, gint last_prop_id,
guint property_id, guint property_id,