From ae429de8f60f607c63eb3c75a6e497c824d05546 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Tue, 13 Mar 2018 11:48:31 +0000 Subject: [PATCH] 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. --- gst-libs/gst/video/Makefile.am | 4 +- gst-libs/gst/video/colorbalance.h | 12 ++-- gst-libs/gst/video/colorbalancechannel.h | 3 +- .../video/gstvideoaffinetransformationmeta.h | 8 +-- gst-libs/gst/video/gstvideodecoder.h | 68 +++++++++---------- gst-libs/gst/video/gstvideoencoder.h | 40 +++++------ gst-libs/gst/video/gstvideofilter.h | 2 +- gst-libs/gst/video/gstvideometa.h | 52 +++++++------- gst-libs/gst/video/gstvideopool.h | 8 +-- gst-libs/gst/video/gstvideosink.h | 5 +- gst-libs/gst/video/gstvideotimecode.h | 53 ++++++++------- gst-libs/gst/video/gstvideoutils.h | 17 ++--- gst-libs/gst/video/meson.build | 1 + gst-libs/gst/video/navigation.h | 55 +++++++-------- gst-libs/gst/video/video-blend.h | 4 +- gst-libs/gst/video/video-chroma.h | 13 ++-- gst-libs/gst/video/video-color.h | 18 ++--- gst-libs/gst/video/video-converter.h | 10 +-- gst-libs/gst/video/video-dither.h | 7 +- gst-libs/gst/video/video-event.h | 15 ++-- gst-libs/gst/video/video-format.h | 14 ++-- gst-libs/gst/video/video-frame.h | 10 +-- gst-libs/gst/video/video-info.h | 30 ++++---- gst-libs/gst/video/video-multiview.h | 21 +++--- .../gst/video/video-overlay-composition.h | 54 +++++++-------- gst-libs/gst/video/video-prelude.h | 31 +++++++++ gst-libs/gst/video/video-resampler.h | 5 +- gst-libs/gst/video/video-scaler.h | 16 ++--- gst-libs/gst/video/video-tile.h | 3 +- gst-libs/gst/video/video.h | 12 ++-- gst-libs/gst/video/video_mkenum.py | 4 +- gst-libs/gst/video/videodirection.h | 3 +- gst-libs/gst/video/videoorientation.h | 19 +++--- gst-libs/gst/video/videooverlay.h | 20 +++--- 34 files changed, 343 insertions(+), 294 deletions(-) create mode 100644 gst-libs/gst/video/video-prelude.h diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am index 49d52b8e65..9fc1ccfca3 100644 --- a/gst-libs/gst/video/Makefile.am +++ b/gst-libs/gst/video/Makefile.am @@ -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_gen_prefix = gst_video glib_gen_basename = video -glib_gen_decl_banner=GST_EXPORT +glib_gen_decl_banner=GST_VIDEO_API +glib_gen_decl_include=\#include built_sources = video-enumtypes.c built_headers = video-enumtypes.h @@ -60,6 +61,7 @@ libgstvideo_@GST_API_VERSION@include_HEADERS = \ colorbalancechannel.h \ navigation.h \ video.h \ + video-prelude.h \ video-event.h \ video-format.h \ video-chroma.h \ diff --git a/gst-libs/gst/video/colorbalance.h b/gst-libs/gst/video/colorbalance.h index 049b39cc2e..282ded9fcd 100644 --- a/gst-libs/gst/video/colorbalance.h +++ b/gst-libs/gst/video/colorbalance.h @@ -90,31 +90,31 @@ struct _GstColorBalanceInterface { gpointer _gst_reserved[GST_PADDING]; }; -GST_EXPORT +GST_VIDEO_API GType gst_color_balance_get_type (void); /* virtual class function wrappers */ -GST_EXPORT +GST_VIDEO_API const GList * gst_color_balance_list_channels (GstColorBalance *balance); -GST_EXPORT +GST_VIDEO_API void gst_color_balance_set_value (GstColorBalance *balance, GstColorBalanceChannel *channel, gint value); -GST_EXPORT +GST_VIDEO_API gint gst_color_balance_get_value (GstColorBalance *balance, GstColorBalanceChannel *channel); -GST_EXPORT +GST_VIDEO_API GstColorBalanceType gst_color_balance_get_balance_type (GstColorBalance *balance); /* trigger signal */ -GST_EXPORT +GST_VIDEO_API void gst_color_balance_value_changed (GstColorBalance *balance, GstColorBalanceChannel *channel, gint value); diff --git a/gst-libs/gst/video/colorbalancechannel.h b/gst-libs/gst/video/colorbalancechannel.h index e4fefb6e6e..47bff83a89 100644 --- a/gst-libs/gst/video/colorbalancechannel.h +++ b/gst-libs/gst/video/colorbalancechannel.h @@ -23,6 +23,7 @@ #define __GST_COLOR_BALANCE_CHANNEL_H__ #include +#include G_BEGIN_DECLS @@ -78,7 +79,7 @@ struct _GstColorBalanceChannelClass { gpointer _gst_reserved[GST_PADDING]; }; -GST_EXPORT +GST_VIDEO_API GType gst_color_balance_channel_get_type (void); #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC diff --git a/gst-libs/gst/video/gstvideoaffinetransformationmeta.h b/gst-libs/gst/video/gstvideoaffinetransformationmeta.h index 1f4682cc26..8dee6d9027 100644 --- a/gst-libs/gst/video/gstvideoaffinetransformationmeta.h +++ b/gst-libs/gst/video/gstvideoaffinetransformationmeta.h @@ -61,18 +61,18 @@ struct _GstVideoAffineTransformationMeta gfloat matrix[16]; }; -GST_EXPORT +GST_VIDEO_API 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); #define gst_buffer_get_video_affine_transformation_meta(b) \ ((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); -GST_EXPORT +GST_VIDEO_API void gst_video_affine_transformation_meta_apply_matrix (GstVideoAffineTransformationMeta * meta, const gfloat matrix[16]); diff --git a/gst-libs/gst/video/gstvideodecoder.h b/gst-libs/gst/video/gstvideodecoder.h index 877cdb8784..a3abab2831 100644 --- a/gst-libs/gst/video/gstvideodecoder.h +++ b/gst-libs/gst/video/gstvideodecoder.h @@ -118,7 +118,7 @@ typedef struct _GstVideoDecoderPrivate GstVideoDecoderPrivate; /* do not use this one, use macro below */ -GST_EXPORT +GST_VIDEO_API GstFlowReturn _gst_video_decoder_error (GstVideoDecoder *dec, gint weight, GQuark domain, gint code, gchar *txt, gchar *debug, @@ -341,134 +341,134 @@ struct _GstVideoDecoderClass gpointer padding[GST_PADDING_LARGE-6]; }; -GST_EXPORT +GST_VIDEO_API GType gst_video_decoder_get_type (void); /* Context parameters */ -GST_EXPORT +GST_VIDEO_API void gst_video_decoder_set_packetized (GstVideoDecoder * decoder, gboolean packetized); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_decoder_get_packetized (GstVideoDecoder * decoder); -GST_EXPORT +GST_VIDEO_API void gst_video_decoder_set_estimate_rate (GstVideoDecoder * dec, gboolean enabled); -GST_EXPORT +GST_VIDEO_API gint gst_video_decoder_get_estimate_rate (GstVideoDecoder * dec); -GST_EXPORT +GST_VIDEO_API void gst_video_decoder_set_max_errors (GstVideoDecoder * dec, gint num); -GST_EXPORT +GST_VIDEO_API gint gst_video_decoder_get_max_errors (GstVideoDecoder * dec); -GST_EXPORT +GST_VIDEO_API void gst_video_decoder_set_needs_format (GstVideoDecoder * dec, gboolean enabled); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_decoder_get_needs_format (GstVideoDecoder * dec); -GST_EXPORT +GST_VIDEO_API void gst_video_decoder_set_latency (GstVideoDecoder *decoder, GstClockTime min_latency, GstClockTime max_latency); -GST_EXPORT +GST_VIDEO_API void gst_video_decoder_get_latency (GstVideoDecoder *decoder, GstClockTime *min_latency, GstClockTime *max_latency); -GST_EXPORT +GST_VIDEO_API void gst_video_decoder_get_allocator (GstVideoDecoder *decoder, GstAllocator **allocator, GstAllocationParams *params); -GST_EXPORT +GST_VIDEO_API GstBufferPool *gst_video_decoder_get_buffer_pool (GstVideoDecoder *decoder); /* Object methods */ -GST_EXPORT +GST_VIDEO_API GstVideoCodecFrame *gst_video_decoder_get_frame (GstVideoDecoder *decoder, int frame_number); -GST_EXPORT +GST_VIDEO_API GstVideoCodecFrame *gst_video_decoder_get_oldest_frame (GstVideoDecoder *decoder); -GST_EXPORT +GST_VIDEO_API GList * gst_video_decoder_get_frames (GstVideoDecoder *decoder); /* Parsing related methods */ -GST_EXPORT +GST_VIDEO_API void gst_video_decoder_add_to_frame (GstVideoDecoder *decoder, int n_bytes); -GST_EXPORT +GST_VIDEO_API GstFlowReturn gst_video_decoder_have_frame (GstVideoDecoder *decoder); -GST_EXPORT +GST_VIDEO_API gsize gst_video_decoder_get_pending_frame_size (GstVideoDecoder *decoder); -GST_EXPORT +GST_VIDEO_API 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, GstVideoCodecFrame * frame, GstBufferPoolAcquireParams *params); -GST_EXPORT +GST_VIDEO_API GstFlowReturn gst_video_decoder_allocate_output_frame (GstVideoDecoder *decoder, GstVideoCodecFrame *frame); -GST_EXPORT +GST_VIDEO_API GstVideoCodecState *gst_video_decoder_set_output_state (GstVideoDecoder *decoder, GstVideoFormat fmt, guint width, guint height, GstVideoCodecState *reference); -GST_EXPORT +GST_VIDEO_API GstVideoCodecState *gst_video_decoder_get_output_state (GstVideoDecoder *decoder); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_decoder_negotiate (GstVideoDecoder * decoder); -GST_EXPORT +GST_VIDEO_API GstClockTimeDiff gst_video_decoder_get_max_decode_time (GstVideoDecoder *decoder, GstVideoCodecFrame *frame); -GST_EXPORT +GST_VIDEO_API gdouble gst_video_decoder_get_qos_proportion (GstVideoDecoder * decoder); -GST_EXPORT +GST_VIDEO_API GstFlowReturn gst_video_decoder_finish_frame (GstVideoDecoder *decoder, GstVideoCodecFrame *frame); -GST_EXPORT +GST_VIDEO_API GstFlowReturn gst_video_decoder_drop_frame (GstVideoDecoder *dec, GstVideoCodecFrame *frame); -GST_EXPORT +GST_VIDEO_API void gst_video_decoder_release_frame (GstVideoDecoder * dec, GstVideoCodecFrame * frame); -GST_EXPORT +GST_VIDEO_API void gst_video_decoder_merge_tags (GstVideoDecoder *decoder, const GstTagList *tags, GstTagMergeMode mode); -GST_EXPORT +GST_VIDEO_API GstCaps * gst_video_decoder_proxy_getcaps (GstVideoDecoder * decoder, GstCaps * caps, GstCaps * filter); -GST_EXPORT +GST_VIDEO_API void gst_video_decoder_set_use_default_pad_acceptcaps (GstVideoDecoder * decoder, gboolean use); diff --git a/gst-libs/gst/video/gstvideoencoder.h b/gst-libs/gst/video/gstvideoencoder.h index 49a017e1e9..21d955e749 100644 --- a/gst-libs/gst/video/gstvideoencoder.h +++ b/gst-libs/gst/video/gstvideoencoder.h @@ -299,82 +299,82 @@ struct _GstVideoEncoderClass gpointer _gst_reserved[GST_PADDING_LARGE-4]; }; -GST_EXPORT +GST_VIDEO_API GType gst_video_encoder_get_type (void); -GST_EXPORT +GST_VIDEO_API GstVideoCodecState* gst_video_encoder_get_output_state (GstVideoEncoder *encoder); -GST_EXPORT +GST_VIDEO_API GstVideoCodecState* gst_video_encoder_set_output_state (GstVideoEncoder * encoder, GstCaps * caps, GstVideoCodecState * reference); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_encoder_negotiate (GstVideoEncoder * encoder); -GST_EXPORT +GST_VIDEO_API GstVideoCodecFrame* gst_video_encoder_get_frame (GstVideoEncoder *encoder, int frame_number); -GST_EXPORT +GST_VIDEO_API GstVideoCodecFrame* gst_video_encoder_get_oldest_frame (GstVideoEncoder *encoder); -GST_EXPORT +GST_VIDEO_API GList * gst_video_encoder_get_frames (GstVideoEncoder *encoder); -GST_EXPORT +GST_VIDEO_API GstBuffer * gst_video_encoder_allocate_output_buffer (GstVideoEncoder * encoder, gsize size); -GST_EXPORT +GST_VIDEO_API GstFlowReturn gst_video_encoder_allocate_output_frame (GstVideoEncoder *encoder, GstVideoCodecFrame *frame, gsize size); -GST_EXPORT +GST_VIDEO_API GstFlowReturn gst_video_encoder_finish_frame (GstVideoEncoder *encoder, GstVideoCodecFrame *frame); -GST_EXPORT +GST_VIDEO_API GstCaps * gst_video_encoder_proxy_getcaps (GstVideoEncoder * enc, GstCaps * caps, GstCaps * filter); -GST_EXPORT +GST_VIDEO_API void gst_video_encoder_set_latency (GstVideoEncoder *encoder, GstClockTime min_latency, GstClockTime max_latency); -GST_EXPORT +GST_VIDEO_API void gst_video_encoder_get_latency (GstVideoEncoder *encoder, GstClockTime *min_latency, GstClockTime *max_latency); -GST_EXPORT +GST_VIDEO_API void gst_video_encoder_set_headers (GstVideoEncoder *encoder, GList *headers); -GST_EXPORT +GST_VIDEO_API void gst_video_encoder_merge_tags (GstVideoEncoder *encoder, const GstTagList *tags, GstTagMergeMode mode); -GST_EXPORT +GST_VIDEO_API void gst_video_encoder_get_allocator (GstVideoEncoder *encoder, GstAllocator **allocator, GstAllocationParams *params); -GST_EXPORT +GST_VIDEO_API 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); -GST_EXPORT +GST_VIDEO_API 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); #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC diff --git a/gst-libs/gst/video/gstvideofilter.h b/gst-libs/gst/video/gstvideofilter.h index 475b113fdb..cfe50d6628 100644 --- a/gst-libs/gst/video/gstvideofilter.h +++ b/gst-libs/gst/video/gstvideofilter.h @@ -79,7 +79,7 @@ struct _GstVideoFilterClass { gpointer _gst_reserved[GST_PADDING]; }; -GST_EXPORT +GST_VIDEO_API GType gst_video_filter_get_type (void); #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC diff --git a/gst-libs/gst/video/gstvideometa.h b/gst-libs/gst/video/gstvideometa.h index cb2ea1c826..1a7643ff4e 100644 --- a/gst-libs/gst/video/gstvideometa.h +++ b/gst-libs/gst/video/gstvideometa.h @@ -76,33 +76,33 @@ struct _GstVideoMeta { gboolean (*unmap) (GstVideoMeta *meta, guint plane, GstMapInfo *info); }; -GST_EXPORT +GST_VIDEO_API GType gst_video_meta_api_get_type (void); -GST_EXPORT +GST_VIDEO_API const GstMetaInfo * gst_video_meta_get_info (void); -GST_EXPORT +GST_VIDEO_API GstVideoMeta * gst_buffer_get_video_meta (GstBuffer *buffer); -GST_EXPORT +GST_VIDEO_API 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, GstVideoFormat format, guint width, guint height); -GST_EXPORT +GST_VIDEO_API 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 +GST_VIDEO_API gboolean gst_video_meta_map (GstVideoMeta *meta, guint plane, GstMapInfo *info, gpointer *data, gint *stride, GstMapFlags flags); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_meta_unmap (GstVideoMeta *meta, guint plane, GstMapInfo *info); /** @@ -124,10 +124,10 @@ struct _GstVideoCropMeta { guint height; }; -GST_EXPORT +GST_VIDEO_API GType gst_video_crop_meta_api_get_type (void); -GST_EXPORT +GST_VIDEO_API 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)) @@ -135,7 +135,7 @@ const GstMetaInfo * gst_video_crop_meta_get_info (void); /* video metadata transforms */ -GST_EXPORT +GST_VIDEO_API GQuark gst_video_meta_transform_scale_get_quark (void); /** * gst_video_meta_transform_scale: @@ -247,15 +247,15 @@ struct _GstVideoGLTextureUploadMeta { GBoxedFreeFunc user_data_free; }; -GST_EXPORT +GST_VIDEO_API 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); #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 * gst_buffer_add_video_gl_texture_upload_meta (GstBuffer *buffer, GstVideoGLTextureOrientation texture_orientation, @@ -266,7 +266,7 @@ GstVideoGLTextureUploadMeta * GBoxedCopyFunc user_data_copy, GBoxedFreeFunc user_data_free); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_gl_texture_upload_meta_upload (GstVideoGLTextureUploadMeta *meta, guint texture_id[4]); @@ -300,20 +300,20 @@ typedef struct { GList *params; } GstVideoRegionOfInterestMeta; -GST_EXPORT +GST_VIDEO_API 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 +GST_VIDEO_API 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 +GST_VIDEO_API GstVideoRegionOfInterestMeta *gst_buffer_get_video_region_of_interest_meta_id (GstBuffer * buffer, gint id); -GST_EXPORT +GST_VIDEO_API GstVideoRegionOfInterestMeta *gst_buffer_add_video_region_of_interest_meta (GstBuffer * buffer, const gchar * roi_type, guint x, @@ -321,18 +321,18 @@ GstVideoRegionOfInterestMeta *gst_buffer_add_video_region_of_interest_meta (G guint w, guint h); -GST_EXPORT +GST_VIDEO_API GstVideoRegionOfInterestMeta *gst_buffer_add_video_region_of_interest_meta_id (GstBuffer * buffer, GQuark roi_type, guint x, guint y, guint w, guint h); -GST_EXPORT +GST_VIDEO_API void gst_video_region_of_interest_meta_add_param (GstVideoRegionOfInterestMeta * meta, GstStructure * s); -GST_EXPORT +GST_VIDEO_API GstStructure *gst_video_region_of_interest_meta_get_param (GstVideoRegionOfInterestMeta * meta, const gchar * name); @@ -354,22 +354,22 @@ typedef struct { GstVideoTimeCode tc; } GstVideoTimeCodeMeta; -GST_EXPORT +GST_VIDEO_API 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 +GST_VIDEO_API 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 +GST_VIDEO_API GstVideoTimeCodeMeta *gst_buffer_add_video_time_code_meta (GstBuffer * buffer, GstVideoTimeCode * tc); -GST_EXPORT +GST_VIDEO_API GstVideoTimeCodeMeta * gst_buffer_add_video_time_code_meta_full (GstBuffer * buffer, guint fps_n, diff --git a/gst-libs/gst/video/gstvideopool.h b/gst-libs/gst/video/gstvideopool.h index 2dff667b4b..db390fbb4d 100644 --- a/gst-libs/gst/video/gstvideopool.h +++ b/gst-libs/gst/video/gstvideopool.h @@ -47,10 +47,10 @@ G_BEGIN_DECLS /* setting a bufferpool config */ -GST_EXPORT +GST_VIDEO_API 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); /* video bufferpool */ @@ -75,10 +75,10 @@ struct _GstVideoBufferPoolClass GstBufferPoolClass parent_class; }; -GST_EXPORT +GST_VIDEO_API GType gst_video_buffer_pool_get_type (void); -GST_EXPORT +GST_VIDEO_API GstBufferPool * gst_video_buffer_pool_new (void); #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC diff --git a/gst-libs/gst/video/gstvideosink.h b/gst-libs/gst/video/gstvideosink.h index e1a3ed3091..aaa3c22a73 100644 --- a/gst-libs/gst/video/gstvideosink.h +++ b/gst-libs/gst/video/gstvideosink.h @@ -25,6 +25,7 @@ #include #include +#include G_BEGIN_DECLS @@ -120,10 +121,10 @@ struct _GstVideoSinkClass { gpointer _gst_reserved[GST_PADDING]; }; -GST_EXPORT +GST_VIDEO_API GType gst_video_sink_get_type (void); -GST_EXPORT +GST_VIDEO_API void gst_video_sink_center_rect (GstVideoRectangle src, GstVideoRectangle dst, GstVideoRectangle *result, gboolean scaling); diff --git a/gst-libs/gst/video/gstvideotimecode.h b/gst-libs/gst/video/gstvideotimecode.h index b5ce095f59..fea5f7407f 100644 --- a/gst-libs/gst/video/gstvideotimecode.h +++ b/gst-libs/gst/video/gstvideotimecode.h @@ -21,6 +21,7 @@ #define __GST_VIDEO_TIME_CODE_H__ #include +#include 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_TYPE_VIDEO_TIME_CODE (gst_video_time_code_get_type()) -GST_EXPORT +GST_VIDEO_API GType gst_video_time_code_get_type (void); -GST_EXPORT +GST_VIDEO_API GstVideoTimeCode * gst_video_time_code_new (guint fps_n, guint fps_d, GDateTime * latest_daily_jam, @@ -137,26 +138,26 @@ GstVideoTimeCode * gst_video_time_code_new (guint fp guint frames, guint field_count); -GST_EXPORT +GST_VIDEO_API 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); -GST_EXPORT +GST_VIDEO_API GstVideoTimeCode * gst_video_time_code_new_from_date_time (guint fps_n, guint fps_d, GDateTime * dt, GstVideoTimeCodeFlags flags, guint field_count); -GST_EXPORT +GST_VIDEO_API void gst_video_time_code_free (GstVideoTimeCode * tc); -GST_EXPORT +GST_VIDEO_API GstVideoTimeCode * gst_video_time_code_copy (const GstVideoTimeCode * tc); -GST_EXPORT +GST_VIDEO_API void gst_video_time_code_init (GstVideoTimeCode * tc, guint fps_n, guint fps_d, @@ -168,7 +169,7 @@ void gst_video_time_code_init (GstVideoTimeCode * tc guint frames, guint field_count); -GST_EXPORT +GST_VIDEO_API void gst_video_time_code_init_from_date_time (GstVideoTimeCode * tc, guint fps_n, guint fps_d, @@ -176,65 +177,65 @@ void gst_video_time_code_init_from_date_time (GstVideoTimeCode * tc GstVideoTimeCodeFlags flags, guint field_count); -GST_EXPORT +GST_VIDEO_API void gst_video_time_code_clear (GstVideoTimeCode * tc); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_time_code_is_valid (const GstVideoTimeCode * tc); -GST_EXPORT +GST_VIDEO_API gint gst_video_time_code_compare (const GstVideoTimeCode * tc1, const GstVideoTimeCode * tc2); -GST_EXPORT +GST_VIDEO_API void gst_video_time_code_increment_frame (GstVideoTimeCode * tc); -GST_EXPORT +GST_VIDEO_API void gst_video_time_code_add_frames (GstVideoTimeCode * tc, gint64 frames); -GST_EXPORT +GST_VIDEO_API 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); -GST_EXPORT +GST_VIDEO_API 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); -GST_EXPORT +GST_VIDEO_API 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 +GST_VIDEO_API GType gst_video_time_code_interval_get_type (void); -GST_EXPORT +GST_VIDEO_API GstVideoTimeCodeInterval * gst_video_time_code_interval_new (guint hours, guint minutes, guint seconds, guint frames); -GST_EXPORT +GST_VIDEO_API 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); -GST_EXPORT +GST_VIDEO_API GstVideoTimeCodeInterval * gst_video_time_code_interval_copy (const GstVideoTimeCodeInterval * tc); -GST_EXPORT +GST_VIDEO_API void gst_video_time_code_interval_init (GstVideoTimeCodeInterval * tc, guint hours, guint minutes, guint seconds, guint frames); -GST_EXPORT +GST_VIDEO_API void gst_video_time_code_interval_clear (GstVideoTimeCodeInterval * tc); G_END_DECLS diff --git a/gst-libs/gst/video/gstvideoutils.h b/gst-libs/gst/video/gstvideoutils.h index 620fc18a9d..12a384cc21 100644 --- a/gst-libs/gst/video/gstvideoutils.h +++ b/gst-libs/gst/video/gstvideoutils.h @@ -27,6 +27,7 @@ #define _GST_VIDEO_UTILS_H_ #include +#include G_BEGIN_DECLS #define GST_TYPE_VIDEO_CODEC_STATE \ @@ -265,33 +266,33 @@ struct _GstVideoCodecFrame /* GstVideoCodecState */ -GST_EXPORT +GST_VIDEO_API GType gst_video_codec_state_get_type (void); -GST_EXPORT +GST_VIDEO_API GstVideoCodecState *gst_video_codec_state_ref (GstVideoCodecState * state); -GST_EXPORT +GST_VIDEO_API void gst_video_codec_state_unref (GstVideoCodecState * state); /* GstVideoCodecFrame */ -GST_EXPORT +GST_VIDEO_API GType gst_video_codec_frame_get_type (void); -GST_EXPORT +GST_VIDEO_API GstVideoCodecFrame *gst_video_codec_frame_ref (GstVideoCodecFrame * frame); -GST_EXPORT +GST_VIDEO_API void gst_video_codec_frame_unref (GstVideoCodecFrame * frame); -GST_EXPORT +GST_VIDEO_API void gst_video_codec_frame_set_user_data (GstVideoCodecFrame *frame, gpointer user_data, GDestroyNotify notify); -GST_EXPORT +GST_VIDEO_API gpointer gst_video_codec_frame_get_user_data (GstVideoCodecFrame *frame); #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC diff --git a/gst-libs/gst/video/meson.build b/gst-libs/gst/video/meson.build index fa7629e599..0c44d9a875 100644 --- a/gst-libs/gst/video/meson.build +++ b/gst-libs/gst/video/meson.build @@ -55,6 +55,7 @@ video_headers = [ 'video-dither.h', 'video-info.h', 'video-frame.h', + 'video-prelude.h', 'video-scaler.h', 'video-tile.h', 'videodirection.h', diff --git a/gst-libs/gst/video/navigation.h b/gst-libs/gst/video/navigation.h index 110545b198..ce082580ee 100644 --- a/gst-libs/gst/video/navigation.h +++ b/gst-libs/gst/video/navigation.h @@ -24,6 +24,7 @@ #define __GST_NAVIGATION_H__ #include +#include G_BEGIN_DECLS @@ -53,7 +54,7 @@ struct _GstNavigationInterface { void (*send_event) (GstNavigation *navigation, GstStructure *structure); }; -GST_EXPORT +GST_VIDEO_API GType gst_navigation_get_type (void); /* Navigation commands */ @@ -149,35 +150,35 @@ typedef enum GST_NAVIGATION_QUERY_ANGLES = 2 } GstNavigationQueryType; -GST_EXPORT +GST_VIDEO_API GstNavigationQueryType gst_navigation_query_get_type (GstQuery *query); -GST_EXPORT +GST_VIDEO_API GstQuery * gst_navigation_query_new_commands (void); -GST_EXPORT +GST_VIDEO_API 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, GstNavigationCommand *cmds); -GST_EXPORT +GST_VIDEO_API gboolean gst_navigation_query_parse_commands_length (GstQuery *query, guint *n_cmds); -GST_EXPORT +GST_VIDEO_API gboolean gst_navigation_query_parse_commands_nth (GstQuery *query, guint nth, GstNavigationCommand *cmd); -GST_EXPORT +GST_VIDEO_API GstQuery * gst_navigation_query_new_angles (void); -GST_EXPORT +GST_VIDEO_API void gst_navigation_query_set_angles (GstQuery *query, guint cur_angle, guint n_angles); -GST_EXPORT +GST_VIDEO_API gboolean gst_navigation_query_parse_angles (GstQuery *query, guint *cur_angle, guint *n_angles); @@ -208,35 +209,35 @@ typedef enum { GST_NAVIGATION_MESSAGE_EVENT } GstNavigationMessageType; -GST_EXPORT +GST_VIDEO_API GstNavigationMessageType gst_navigation_message_get_type (GstMessage *message); -GST_EXPORT +GST_VIDEO_API GstMessage * gst_navigation_message_new_mouse_over (GstObject *src, gboolean active); -GST_EXPORT +GST_VIDEO_API gboolean gst_navigation_message_parse_mouse_over (GstMessage *message, gboolean *active); -GST_EXPORT +GST_VIDEO_API GstMessage * gst_navigation_message_new_commands_changed (GstObject *src); -GST_EXPORT +GST_VIDEO_API GstMessage * gst_navigation_message_new_angles_changed (GstObject *src, guint cur_angle, guint n_angles); -GST_EXPORT +GST_VIDEO_API gboolean gst_navigation_message_parse_angles_changed (GstMessage *message, guint *cur_angle, guint *n_angles); -GST_EXPORT +GST_VIDEO_API GstMessage * gst_navigation_message_new_event (GstObject *src, GstEvent *event); -GST_EXPORT +GST_VIDEO_API gboolean gst_navigation_message_parse_event (GstMessage *message, GstEvent ** event); /* event parsing functions */ @@ -273,40 +274,40 @@ typedef enum { GST_NAVIGATION_EVENT_COMMAND = 6 } GstNavigationEventType; -GST_EXPORT +GST_VIDEO_API GstNavigationEventType gst_navigation_event_get_type (GstEvent *event); -GST_EXPORT +GST_VIDEO_API gboolean gst_navigation_event_parse_key_event (GstEvent *event, const gchar **key); -GST_EXPORT +GST_VIDEO_API gboolean gst_navigation_event_parse_mouse_button_event (GstEvent *event, gint *button, gdouble *x, gdouble *y); -GST_EXPORT +GST_VIDEO_API gboolean gst_navigation_event_parse_mouse_move_event (GstEvent *event, gdouble *x, gdouble *y); -GST_EXPORT +GST_VIDEO_API gboolean gst_navigation_event_parse_command (GstEvent *event, GstNavigationCommand *command); /* interface virtual function wrappers */ -GST_EXPORT +GST_VIDEO_API void gst_navigation_send_event (GstNavigation *navigation, GstStructure *structure); -GST_EXPORT +GST_VIDEO_API void gst_navigation_send_key_event (GstNavigation *navigation, const char *event, const char *key); -GST_EXPORT +GST_VIDEO_API void gst_navigation_send_mouse_event (GstNavigation *navigation, const char *event, int button, double x, double y); -GST_EXPORT +GST_VIDEO_API void gst_navigation_send_command (GstNavigation *navigation, GstNavigationCommand command); diff --git a/gst-libs/gst/video/video-blend.h b/gst-libs/gst/video/video-blend.h index 81719db479..1d6175b793 100644 --- a/gst-libs/gst/video/video-blend.h +++ b/gst-libs/gst/video/video-blend.h @@ -27,12 +27,12 @@ #include #include -GST_EXPORT +GST_VIDEO_API 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 +GST_VIDEO_API gboolean gst_video_blend (GstVideoFrame * dest, GstVideoFrame * src, gint x, gint y, diff --git a/gst-libs/gst/video/video-chroma.h b/gst-libs/gst/video/video-chroma.h index 95a2f48dca..5240078c04 100644 --- a/gst-libs/gst/video/video-chroma.h +++ b/gst-libs/gst/video/video-chroma.h @@ -21,6 +21,7 @@ #define __GST_VIDEO_CHROMA_H__ #include +#include 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), } GstVideoChromaSite; -GST_EXPORT +GST_VIDEO_API GstVideoChromaSite gst_video_chroma_from_string (const gchar * s); -GST_EXPORT +GST_VIDEO_API 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 */ #include -GST_EXPORT +GST_VIDEO_API GstVideoChromaResample * gst_video_chroma_resample_new (GstVideoChromaMethod method, GstVideoChromaSite site, GstVideoChromaFlags flags, GstVideoFormat format, gint h_factor, gint v_factor); -GST_EXPORT +GST_VIDEO_API void gst_video_chroma_resample_free (GstVideoChromaResample *resample); -GST_EXPORT +GST_VIDEO_API void gst_video_chroma_resample_get_info (GstVideoChromaResample *resample, guint * n_lines, gint *offset); -GST_EXPORT +GST_VIDEO_API void gst_video_chroma_resample (GstVideoChromaResample *resample, gpointer lines[], gint width); diff --git a/gst-libs/gst/video/video-color.h b/gst-libs/gst/video/video-color.h index 48ad626e87..6efd9150a3 100644 --- a/gst-libs/gst/video/video-color.h +++ b/gst-libs/gst/video/video-color.h @@ -65,7 +65,7 @@ typedef enum { GST_VIDEO_COLOR_MATRIX_BT2020 } GstVideoColorMatrix; -GST_EXPORT +GST_VIDEO_API gboolean gst_video_color_matrix_get_Kr_Kb (GstVideoColorMatrix matrix, gdouble * Kr, gdouble * Kb); /** @@ -110,10 +110,10 @@ typedef enum { GST_VIDEO_TRANSFER_ADOBERGB } GstVideoTransferFunction; -GST_EXPORT +GST_VIDEO_API 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); /** @@ -169,7 +169,7 @@ typedef struct { gdouble Bx, By; } GstVideoColorPrimariesInfo; -GST_EXPORT +GST_VIDEO_API const GstVideoColorPrimariesInfo * gst_video_color_primaries_get_info (GstVideoColorPrimaries primaries); @@ -198,21 +198,21 @@ typedef struct { #define GST_VIDEO_COLORIMETRY_SRGB "sRGB" #define GST_VIDEO_COLORIMETRY_BT2020 "bt2020" -GST_EXPORT +GST_VIDEO_API 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); -GST_EXPORT +GST_VIDEO_API 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); /* compute offset and scale */ -GST_EXPORT +GST_VIDEO_API void gst_video_color_range_offsets (GstVideoColorRange range, const GstVideoFormatInfo *info, gint offset[GST_VIDEO_MAX_COMPONENTS], diff --git a/gst-libs/gst/video/video-converter.h b/gst-libs/gst/video/video-converter.h index 491f7576ce..cb6222fe34 100644 --- a/gst-libs/gst/video/video-converter.h +++ b/gst-libs/gst/video/video-converter.h @@ -275,21 +275,21 @@ typedef enum { typedef struct _GstVideoConverter GstVideoConverter; -GST_EXPORT +GST_VIDEO_API GstVideoConverter * gst_video_converter_new (GstVideoInfo *in_info, GstVideoInfo *out_info, GstStructure *config); -GST_EXPORT +GST_VIDEO_API void gst_video_converter_free (GstVideoConverter * convert); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_converter_set_config (GstVideoConverter * convert, GstStructure *config); -GST_EXPORT +GST_VIDEO_API const GstStructure * gst_video_converter_get_config (GstVideoConverter * convert); -GST_EXPORT +GST_VIDEO_API void gst_video_converter_frame (GstVideoConverter * convert, const GstVideoFrame *src, GstVideoFrame *dest); diff --git a/gst-libs/gst/video/video-dither.h b/gst-libs/gst/video/video-dither.h index 7f58fdef17..61a696ed32 100644 --- a/gst-libs/gst/video/video-dither.h +++ b/gst-libs/gst/video/video-dither.h @@ -21,6 +21,7 @@ #define __GST_VIDEO_DITHER_H__ #include +#include G_BEGIN_DECLS @@ -61,17 +62,17 @@ typedef struct _GstVideoDither GstVideoDither; /* circular dependency, need to include this after defining the enums */ #include -GST_EXPORT +GST_VIDEO_API GstVideoDither * gst_video_dither_new (GstVideoDitherMethod method, GstVideoDitherFlags flags, GstVideoFormat format, guint quantizer[GST_VIDEO_MAX_COMPONENTS], guint width); -GST_EXPORT +GST_VIDEO_API void gst_video_dither_free (GstVideoDither *dither); -GST_EXPORT +GST_VIDEO_API void gst_video_dither_line (GstVideoDither *dither, gpointer line, guint x, guint y, guint width); diff --git a/gst-libs/gst/video/video-event.h b/gst-libs/gst/video/video-event.h index 2b6fd1f732..1fe4e504ca 100644 --- a/gst-libs/gst/video/video-event.h +++ b/gst-libs/gst/video/video-event.h @@ -21,27 +21,28 @@ #define __GST_VIDEO_EVENT_H__ #include +#include G_BEGIN_DECLS /* video still frame event creation and parsing */ -GST_EXPORT +GST_VIDEO_API 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); /* video force key unit event creation and parsing */ -GST_EXPORT +GST_VIDEO_API GstEvent * gst_video_event_new_downstream_force_key_unit (GstClockTime timestamp, GstClockTime stream_time, GstClockTime running_time, gboolean all_headers, guint count); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_event_parse_downstream_force_key_unit (GstEvent * event, GstClockTime * timestamp, GstClockTime * stream_time, @@ -49,18 +50,18 @@ gboolean gst_video_event_parse_downstream_force_key_unit (GstEvent * event, gboolean * all_headers, guint * count); -GST_EXPORT +GST_VIDEO_API GstEvent * gst_video_event_new_upstream_force_key_unit (GstClockTime running_time, gboolean all_headers, guint count); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_event_parse_upstream_force_key_unit (GstEvent * event, GstClockTime * running_time, gboolean * all_headers, guint * count); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_event_is_force_key_unit(GstEvent *event); G_END_DECLS diff --git a/gst-libs/gst/video/video-format.h b/gst-libs/gst/video/video-format.h index 7e029af660..dbf514d558 100644 --- a/gst-libs/gst/video/video-format.h +++ b/gst-libs/gst/video/video-format.h @@ -505,28 +505,28 @@ struct _GstVideoFormatInfo { /* format properties */ -GST_EXPORT +GST_VIDEO_API 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 +GST_VIDEO_API 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; -GST_EXPORT +GST_VIDEO_API 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; -GST_EXPORT +GST_VIDEO_API const GstVideoFormatInfo * 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); #define GST_VIDEO_SIZE_RANGE "(int) [ 1, max ]" diff --git a/gst-libs/gst/video/video-frame.h b/gst-libs/gst/video/video-frame.h index 2eb17f06b4..490a5f154d 100644 --- a/gst-libs/gst/video/video-frame.h +++ b/gst-libs/gst/video/video-frame.h @@ -84,21 +84,21 @@ struct _GstVideoFrame { gpointer _gst_reserved[GST_PADDING]; }; -GST_EXPORT +GST_VIDEO_API gboolean gst_video_frame_map (GstVideoFrame *frame, GstVideoInfo *info, GstBuffer *buffer, GstMapFlags flags); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_frame_map_id (GstVideoFrame *frame, GstVideoInfo *info, GstBuffer *buffer, gint id, GstMapFlags flags); -GST_EXPORT +GST_VIDEO_API void gst_video_frame_unmap (GstVideoFrame *frame); -GST_EXPORT +GST_VIDEO_API 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, guint plane); diff --git a/gst-libs/gst/video/video-info.h b/gst-libs/gst/video/video-info.h index 546ea65ac3..b1580d8117 100644 --- a/gst-libs/gst/video/video-info.h +++ b/gst-libs/gst/video/video-info.h @@ -55,10 +55,10 @@ typedef enum { GST_VIDEO_INTERLACE_MODE_FIELDS } GstVideoInterlaceMode; -GST_EXPORT +GST_VIDEO_API 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); /** @@ -250,10 +250,10 @@ typedef enum { GST_VIDEO_FIELD_ORDER_BOTTOM_FIELD_FIRST = 2, } GstVideoFieldOrder; -GST_EXPORT +GST_VIDEO_API 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); /** @@ -318,7 +318,7 @@ struct _GstVideoInfo { }; #define GST_TYPE_VIDEO_INFO (gst_video_info_get_type ()) -GST_EXPORT +GST_VIDEO_API GType gst_video_info_get_type (void); /* 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_POFFSET(i,c) GST_VIDEO_FORMAT_INFO_POFFSET((i)->finfo,(c)) -GST_EXPORT +GST_VIDEO_API GstVideoInfo * gst_video_info_new (void); -GST_EXPORT +GST_VIDEO_API void gst_video_info_init (GstVideoInfo *info); -GST_EXPORT +GST_VIDEO_API GstVideoInfo * gst_video_info_copy (const GstVideoInfo *info); -GST_EXPORT +GST_VIDEO_API void gst_video_info_free (GstVideoInfo *info); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_info_set_format (GstVideoInfo *info, GstVideoFormat format, guint width, guint height); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_info_from_caps (GstVideoInfo *info, const GstCaps * caps); -GST_EXPORT +GST_VIDEO_API GstCaps * gst_video_info_to_caps (GstVideoInfo *info); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_info_convert (GstVideoInfo *info, GstFormat src_format, gint64 src_value, GstFormat dest_format, gint64 *dest_value); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_info_is_equal (const GstVideoInfo *info, const GstVideoInfo *other); #include -GST_EXPORT +GST_VIDEO_API gboolean gst_video_info_align (GstVideoInfo * info, GstVideoAlignment * align); diff --git a/gst-libs/gst/video/video-multiview.h b/gst-libs/gst/video/video-multiview.h index 4588ec569c..562f77167f 100644 --- a/gst-libs/gst/video/video-multiview.h +++ b/gst-libs/gst/video/video-multiview.h @@ -21,39 +21,40 @@ #define __GST_VIDEO_MULTIVIEW_H__ #include +#include G_BEGIN_DECLS #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); -GST_EXPORT +GST_VIDEO_API 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); -GST_EXPORT +GST_VIDEO_API const GValue *gst_video_multiview_get_mono_modes(void); -GST_EXPORT +GST_VIDEO_API const GValue *gst_video_multiview_get_unpacked_modes(void); -GST_EXPORT +GST_VIDEO_API 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); -GST_EXPORT +GST_VIDEO_API 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, GstVideoMultiviewMode out_mview_mode, GstVideoMultiviewFlags out_mview_flags); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_multiview_guess_half_aspect (GstVideoMultiviewMode mv_mode, guint width, guint height, guint par_n, guint par_d); diff --git a/gst-libs/gst/video/video-overlay-composition.h b/gst-libs/gst/video/video-overlay-composition.h index 54630c7b0c..5c9bf24fec 100644 --- a/gst-libs/gst/video/video-overlay-composition.h +++ b/gst-libs/gst/video/video-overlay-composition.h @@ -124,66 +124,66 @@ typedef enum { " I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444," \ " NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }" -GST_EXPORT +GST_VIDEO_API GType gst_video_overlay_rectangle_get_type (void); -GST_EXPORT +GST_VIDEO_API 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 +GST_VIDEO_API GstVideoOverlayRectangle * gst_video_overlay_rectangle_copy (GstVideoOverlayRectangle * rectangle); -GST_EXPORT +GST_VIDEO_API guint gst_video_overlay_rectangle_get_seqnum (GstVideoOverlayRectangle * rectangle); -GST_EXPORT +GST_VIDEO_API void gst_video_overlay_rectangle_set_render_rectangle (GstVideoOverlayRectangle * rectangle, gint render_x, gint render_y, guint render_width, guint render_height); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_overlay_rectangle_get_render_rectangle (GstVideoOverlayRectangle * rectangle, gint * render_x, gint * render_y, guint * render_width, guint * render_height); -GST_EXPORT +GST_VIDEO_API GstBuffer * gst_video_overlay_rectangle_get_pixels_raw (GstVideoOverlayRectangle * rectangle, GstVideoOverlayFormatFlags flags); -GST_EXPORT +GST_VIDEO_API GstBuffer * gst_video_overlay_rectangle_get_pixels_argb (GstVideoOverlayRectangle * rectangle, GstVideoOverlayFormatFlags flags); -GST_EXPORT +GST_VIDEO_API GstBuffer * gst_video_overlay_rectangle_get_pixels_ayuv (GstVideoOverlayRectangle * rectangle, GstVideoOverlayFormatFlags flags); -GST_EXPORT +GST_VIDEO_API GstBuffer * gst_video_overlay_rectangle_get_pixels_unscaled_raw (GstVideoOverlayRectangle * rectangle, GstVideoOverlayFormatFlags flags); -GST_EXPORT +GST_VIDEO_API GstBuffer * gst_video_overlay_rectangle_get_pixels_unscaled_argb (GstVideoOverlayRectangle * rectangle, GstVideoOverlayFormatFlags flags); -GST_EXPORT +GST_VIDEO_API GstBuffer * gst_video_overlay_rectangle_get_pixels_unscaled_ayuv (GstVideoOverlayRectangle * rectangle, GstVideoOverlayFormatFlags flags); -GST_EXPORT +GST_VIDEO_API GstVideoOverlayFormatFlags gst_video_overlay_rectangle_get_flags (GstVideoOverlayRectangle * rectangle); -GST_EXPORT +GST_VIDEO_API 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, gfloat global_alpha); @@ -235,34 +235,34 @@ gst_video_overlay_composition_unref (GstVideoOverlayComposition * comp) gst_mini_object_unref (GST_MINI_OBJECT_CAST (comp)); } -GST_EXPORT +GST_VIDEO_API GType gst_video_overlay_composition_get_type (void); -GST_EXPORT +GST_VIDEO_API GstVideoOverlayComposition * gst_video_overlay_composition_copy (GstVideoOverlayComposition * comp); -GST_EXPORT +GST_VIDEO_API GstVideoOverlayComposition * gst_video_overlay_composition_make_writable (GstVideoOverlayComposition * comp); -GST_EXPORT +GST_VIDEO_API GstVideoOverlayComposition * gst_video_overlay_composition_new (GstVideoOverlayRectangle * rectangle); -GST_EXPORT +GST_VIDEO_API void gst_video_overlay_composition_add_rectangle (GstVideoOverlayComposition * comp, GstVideoOverlayRectangle * rectangle); -GST_EXPORT +GST_VIDEO_API 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); -GST_EXPORT +GST_VIDEO_API guint gst_video_overlay_composition_get_seqnum (GstVideoOverlayComposition * comp); /* blend composition onto raw video buffer */ -GST_EXPORT +GST_VIDEO_API gboolean gst_video_overlay_composition_blend (GstVideoOverlayComposition * comp, GstVideoFrame * video_buf); @@ -289,13 +289,13 @@ struct _GstVideoOverlayCompositionMeta GstVideoOverlayComposition *overlay; }; -GST_EXPORT +GST_VIDEO_API 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); -GST_EXPORT +GST_VIDEO_API GstVideoOverlayCompositionMeta * gst_buffer_add_video_overlay_composition_meta (GstBuffer * buf, GstVideoOverlayComposition * comp); diff --git a/gst-libs/gst/video/video-prelude.h b/gst-libs/gst/video/video-prelude.h new file mode 100644 index 0000000000..bde26bfd01 --- /dev/null +++ b/gst-libs/gst/video/video-prelude.h @@ -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 + +#ifndef GST_VIDEO_API +#define GST_VIDEO_API GST_EXPORT +#endif + +#endif /* __GST_VIDEO_PRELUDE_H__ */ diff --git a/gst-libs/gst/video/video-resampler.h b/gst-libs/gst/video/video-resampler.h index 1bbfa7ad46..34e940bff2 100644 --- a/gst-libs/gst/video/video-resampler.h +++ b/gst-libs/gst/video/video-resampler.h @@ -21,6 +21,7 @@ #define __GST_VIDEO_RESAMPLER_H__ #include +#include G_BEGIN_DECLS @@ -160,7 +161,7 @@ struct _GstVideoResampler }; -GST_EXPORT +GST_VIDEO_API gboolean gst_video_resampler_init (GstVideoResampler *resampler, GstVideoResamplerMethod method, GstVideoResamplerFlags flags, @@ -169,7 +170,7 @@ gboolean gst_video_resampler_init (GstVideoResampler *resampler, guint in_size, guint out_size, GstStructure *options); -GST_EXPORT +GST_VIDEO_API void gst_video_resampler_clear (GstVideoResampler *resampler); G_END_DECLS diff --git a/gst-libs/gst/video/video-scaler.h b/gst-libs/gst/video/video-scaler.h index 23e2baafa7..743f5993b6 100644 --- a/gst-libs/gst/video/video-scaler.h +++ b/gst-libs/gst/video/video-scaler.h @@ -50,44 +50,44 @@ typedef enum { typedef struct _GstVideoScaler GstVideoScaler; -GST_EXPORT +GST_VIDEO_API GstVideoScaler * gst_video_scaler_new (GstVideoResamplerMethod method, GstVideoScalerFlags flags, guint n_taps, guint in_size, guint out_size, GstStructure * options); -GST_EXPORT +GST_VIDEO_API void gst_video_scaler_free (GstVideoScaler *scale); -GST_EXPORT +GST_VIDEO_API guint gst_video_scaler_get_max_taps (GstVideoScaler *scale); -GST_EXPORT +GST_VIDEO_API const gdouble * gst_video_scaler_get_coeff (GstVideoScaler *scale, guint out_offset, guint *in_offset, guint *n_taps); -GST_EXPORT +GST_VIDEO_API void gst_video_scaler_horizontal (GstVideoScaler *scale, GstVideoFormat format, gpointer src, gpointer dest, guint dest_offset, guint width); -GST_EXPORT +GST_VIDEO_API void gst_video_scaler_vertical (GstVideoScaler *scale, GstVideoFormat format, gpointer src_lines[], gpointer dest, guint dest_offset, guint width); -GST_EXPORT +GST_VIDEO_API GstVideoScaler * gst_video_scaler_combine_packed_YUV (GstVideoScaler * y_scale, GstVideoScaler *uv_scale, GstVideoFormat in_format, GstVideoFormat out_format); -GST_EXPORT +GST_VIDEO_API void gst_video_scaler_2d (GstVideoScaler *hscale, GstVideoScaler *vscale, GstVideoFormat format, diff --git a/gst-libs/gst/video/video-tile.h b/gst-libs/gst/video/video-tile.h index f73897c6bb..4959c54721 100644 --- a/gst-libs/gst/video/video-tile.h +++ b/gst-libs/gst/video/video-tile.h @@ -21,6 +21,7 @@ #define __GST_VIDEO_TILE_H__ #include +#include G_BEGIN_DECLS @@ -112,7 +113,7 @@ typedef enum GST_VIDEO_TILE_MODE_ZFLIPZ_2X2 = GST_VIDEO_TILE_MAKE_MODE (1, INDEXED), } GstVideoTileMode; -GST_EXPORT +GST_VIDEO_API guint gst_video_tile_get_index (GstVideoTileMode mode, gint x, gint y, gint x_tiles, gint y_tiles); diff --git a/gst-libs/gst/video/video.h b/gst-libs/gst/video/video.h index 31f14f76f9..16f680b857 100644 --- a/gst-libs/gst/video/video.h +++ b/gst-libs/gst/video/video.h @@ -22,6 +22,8 @@ #include +#include + typedef struct _GstVideoAlignment GstVideoAlignment; #include @@ -121,13 +123,13 @@ typedef enum { */ #define GST_META_TAG_VIDEO_COLORSPACE_STR "colorspace" -GST_EXPORT +GST_VIDEO_API void gst_video_alignment_reset (GstVideoAlignment *align); /* some helper functions */ -GST_EXPORT +GST_VIDEO_API gboolean gst_video_calculate_display_ratio (guint * dar_n, guint * dar_d, guint video_width, @@ -137,7 +139,7 @@ gboolean gst_video_calculate_display_ratio (guint * dar_n, guint display_par_n, guint display_par_d); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_guess_framerate (GstClockTime duration, 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); -GST_EXPORT +GST_VIDEO_API void gst_video_convert_sample_async (GstSample * sample, const GstCaps * to_caps, GstClockTime timeout, @@ -153,7 +155,7 @@ void gst_video_convert_sample_async (GstSample * sam gpointer user_data, GDestroyNotify destroy_notify); -GST_EXPORT +GST_VIDEO_API GstSample * gst_video_convert_sample (GstSample * sample, const GstCaps * to_caps, GstClockTime timeout, diff --git a/gst-libs/gst/video/video_mkenum.py b/gst-libs/gst/video/video_mkenum.py index 6e38dbdc92..abf376bead 100755 --- a/gst-libs/gst/video/video_mkenum.py +++ b/gst-libs/gst/video/video_mkenum.py @@ -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 \n\nG_BEGIN_DECLS\n", + "#ifndef __GST_VIDEO_ENUM_TYPES_H__\n#define __GST_VIDEO_ENUM_TYPES_H__\n\n#include \n#include \nG_BEGIN_DECLS\n", '--fprod', "\n/* enumerations from \"@filename@\" */\n", '--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', "G_END_DECLS\n\n#endif /* __GST_VIDEO_ENUM_TYPES_H__ */" ] diff --git a/gst-libs/gst/video/videodirection.h b/gst-libs/gst/video/videodirection.h index 02ea162eab..127606c888 100644 --- a/gst-libs/gst/video/videodirection.h +++ b/gst-libs/gst/video/videodirection.h @@ -23,6 +23,7 @@ #define __GST_VIDEO_DIRECTION_H__ #include +#include G_BEGIN_DECLS #define GST_TYPE_VIDEO_DIRECTION \ @@ -56,7 +57,7 @@ struct _GstVideoDirectionInterface GTypeInterface iface; }; -GST_EXPORT +GST_VIDEO_API GType gst_video_direction_get_type (void); G_END_DECLS diff --git a/gst-libs/gst/video/videoorientation.h b/gst-libs/gst/video/videoorientation.h index b9104b6ef4..8414be62b9 100644 --- a/gst-libs/gst/video/videoorientation.h +++ b/gst-libs/gst/video/videoorientation.h @@ -23,6 +23,7 @@ #define __GST_VIDEO_ORIENTATION_H__ #include +#include G_BEGIN_DECLS @@ -76,33 +77,33 @@ struct _GstVideoOrientationInterface { gboolean (* set_vcenter) (GstVideoOrientation *video_orientation, gint center); }; -GST_EXPORT +GST_VIDEO_API GType gst_video_orientation_get_type (void); /* virtual class function wrappers */ -GST_EXPORT +GST_VIDEO_API 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); -GST_EXPORT +GST_VIDEO_API 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); -GST_EXPORT +GST_VIDEO_API 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); -GST_EXPORT +GST_VIDEO_API 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); G_END_DECLS diff --git a/gst-libs/gst/video/videooverlay.h b/gst-libs/gst/video/videooverlay.h index e86202105a..12420f700a 100644 --- a/gst-libs/gst/video/videooverlay.h +++ b/gst-libs/gst/video/videooverlay.h @@ -72,46 +72,46 @@ struct _GstVideoOverlayInterface { void (*set_window_handle) (GstVideoOverlay *overlay, guintptr handle); }; -GST_EXPORT +GST_VIDEO_API GType gst_video_overlay_get_type (void); /* virtual function wrappers */ -GST_EXPORT +GST_VIDEO_API gboolean gst_video_overlay_set_render_rectangle (GstVideoOverlay * overlay, gint x, gint y, gint width, gint height); -GST_EXPORT +GST_VIDEO_API void gst_video_overlay_expose (GstVideoOverlay * overlay); -GST_EXPORT +GST_VIDEO_API void gst_video_overlay_handle_events (GstVideoOverlay * overlay, gboolean handle_events); -GST_EXPORT +GST_VIDEO_API void gst_video_overlay_set_window_handle (GstVideoOverlay * overlay, guintptr handle); /* public methods to dispatch bus messages */ -GST_EXPORT +GST_VIDEO_API void gst_video_overlay_got_window_handle (GstVideoOverlay * overlay, guintptr handle); -GST_EXPORT +GST_VIDEO_API 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); -GST_EXPORT +GST_VIDEO_API void gst_video_overlay_install_properties (GObjectClass * oclass, gint last_prop_id); -GST_EXPORT +GST_VIDEO_API gboolean gst_video_overlay_set_property (GObject * object, gint last_prop_id, guint property_id,