diff --git a/gst-libs/gst/player/Makefile.am b/gst-libs/gst/player/Makefile.am index f893375a86..2f3a59a6a9 100644 --- a/gst-libs/gst/player/Makefile.am +++ b/gst-libs/gst/player/Makefile.am @@ -39,6 +39,7 @@ noinst_HEADERS = \ libgstplayer_HEADERS = \ player.h \ + player-prelude.h \ gstplayer.h \ gstplayer-types.h \ gstplayer-signal-dispatcher.h \ diff --git a/gst-libs/gst/player/gstplayer-g-main-context-signal-dispatcher.h b/gst-libs/gst/player/gstplayer-g-main-context-signal-dispatcher.h index a2a057da45..d27d697497 100644 --- a/gst-libs/gst/player/gstplayer-g-main-context-signal-dispatcher.h +++ b/gst-libs/gst/player/gstplayer-g-main-context-signal-dispatcher.h @@ -39,10 +39,10 @@ typedef struct _GstPlayerGMainContextSignalDispatcherClass #define GST_PLAYER_G_MAIN_CONTEXT_SIGNAL_DISPATCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_PLAYER_G_MAIN_CONTEXT_SIGNAL_DISPATCHER, GstPlayerGMainContextSignalDispatcherClass)) #define GST_PLAYER_G_MAIN_CONTEXT_SIGNAL_DISPATCHER_CAST(obj) ((GstPlayerGMainContextSignalDispatcher*)(obj)) -GST_EXPORT +GST_PLAYER_API GType gst_player_g_main_context_signal_dispatcher_get_type (void); -GST_EXPORT +GST_PLAYER_API GstPlayerSignalDispatcher * gst_player_g_main_context_signal_dispatcher_new (GMainContext * application_context); G_END_DECLS diff --git a/gst-libs/gst/player/gstplayer-media-info.h b/gst-libs/gst/player/gstplayer-media-info.h index 5c65f27fba..8d2eb4f1ed 100644 --- a/gst-libs/gst/player/gstplayer-media-info.h +++ b/gst-libs/gst/player/gstplayer-media-info.h @@ -22,6 +22,7 @@ #define __GST_PLAYER_MEDIA_INFO_H__ #include +#include G_BEGIN_DECLS @@ -46,22 +47,22 @@ G_BEGIN_DECLS typedef struct _GstPlayerStreamInfo GstPlayerStreamInfo; typedef struct _GstPlayerStreamInfoClass GstPlayerStreamInfoClass; -GST_EXPORT +GST_PLAYER_API GType gst_player_stream_info_get_type (void); -GST_EXPORT +GST_PLAYER_API gint gst_player_stream_info_get_index (const GstPlayerStreamInfo *info); -GST_EXPORT +GST_PLAYER_API const gchar* gst_player_stream_info_get_stream_type (const GstPlayerStreamInfo *info); -GST_EXPORT +GST_PLAYER_API GstTagList* gst_player_stream_info_get_tags (const GstPlayerStreamInfo *info); -GST_EXPORT +GST_PLAYER_API GstCaps* gst_player_stream_info_get_caps (const GstPlayerStreamInfo *info); -GST_EXPORT +GST_PLAYER_API const gchar* gst_player_stream_info_get_codec (const GstPlayerStreamInfo *info); #define GST_TYPE_PLAYER_VIDEO_INFO \ @@ -83,27 +84,27 @@ const gchar* gst_player_stream_info_get_codec (const GstPlayerStreamInfo *info) typedef struct _GstPlayerVideoInfo GstPlayerVideoInfo; typedef struct _GstPlayerVideoInfoClass GstPlayerVideoInfoClass; -GST_EXPORT +GST_PLAYER_API GType gst_player_video_info_get_type (void); -GST_EXPORT +GST_PLAYER_API gint gst_player_video_info_get_bitrate (const GstPlayerVideoInfo * info); -GST_EXPORT +GST_PLAYER_API gint gst_player_video_info_get_max_bitrate (const GstPlayerVideoInfo * info); -GST_EXPORT +GST_PLAYER_API gint gst_player_video_info_get_width (const GstPlayerVideoInfo * info); -GST_EXPORT +GST_PLAYER_API gint gst_player_video_info_get_height (const GstPlayerVideoInfo * info); -GST_EXPORT +GST_PLAYER_API void gst_player_video_info_get_framerate (const GstPlayerVideoInfo * info, gint * fps_n, gint * fps_d); -GST_EXPORT +GST_PLAYER_API void gst_player_video_info_get_pixel_aspect_ratio (const GstPlayerVideoInfo * info, guint * par_n, guint * par_d); @@ -127,22 +128,22 @@ void gst_player_video_info_get_pixel_aspect_ratio (const GstPlayerVideo typedef struct _GstPlayerAudioInfo GstPlayerAudioInfo; typedef struct _GstPlayerAudioInfoClass GstPlayerAudioInfoClass; -GST_EXPORT +GST_PLAYER_API GType gst_player_audio_info_get_type (void); -GST_EXPORT +GST_PLAYER_API gint gst_player_audio_info_get_channels (const GstPlayerAudioInfo* info); -GST_EXPORT +GST_PLAYER_API gint gst_player_audio_info_get_sample_rate (const GstPlayerAudioInfo* info); -GST_EXPORT +GST_PLAYER_API gint gst_player_audio_info_get_bitrate (const GstPlayerAudioInfo* info); -GST_EXPORT +GST_PLAYER_API gint gst_player_audio_info_get_max_bitrate (const GstPlayerAudioInfo* info); -GST_EXPORT +GST_PLAYER_API const gchar* gst_player_audio_info_get_language (const GstPlayerAudioInfo* info); #define GST_TYPE_PLAYER_SUBTITLE_INFO \ @@ -164,10 +165,10 @@ const gchar* gst_player_audio_info_get_language (const GstPlayerAudioInfo* i typedef struct _GstPlayerSubtitleInfo GstPlayerSubtitleInfo; typedef struct _GstPlayerSubtitleInfoClass GstPlayerSubtitleInfoClass; -GST_EXPORT +GST_PLAYER_API GType gst_player_subtitle_info_get_type (void); -GST_EXPORT +GST_PLAYER_API const gchar * gst_player_subtitle_info_get_language (const GstPlayerSubtitleInfo* info); #define GST_TYPE_PLAYER_MEDIA_INFO \ @@ -189,55 +190,55 @@ const gchar * gst_player_subtitle_info_get_language (const GstPlayerSubtitleInfo typedef struct _GstPlayerMediaInfo GstPlayerMediaInfo; typedef struct _GstPlayerMediaInfoClass GstPlayerMediaInfoClass; -GST_EXPORT +GST_PLAYER_API GType gst_player_media_info_get_type (void); -GST_EXPORT +GST_PLAYER_API const gchar * gst_player_media_info_get_uri (const GstPlayerMediaInfo *info); -GST_EXPORT +GST_PLAYER_API gboolean gst_player_media_info_is_seekable (const GstPlayerMediaInfo *info); -GST_EXPORT +GST_PLAYER_API gboolean gst_player_media_info_is_live (const GstPlayerMediaInfo *info); -GST_EXPORT +GST_PLAYER_API GstClockTime gst_player_media_info_get_duration (const GstPlayerMediaInfo *info); -GST_EXPORT +GST_PLAYER_API GList* gst_player_media_info_get_stream_list (const GstPlayerMediaInfo *info); -GST_EXPORT +GST_PLAYER_API guint gst_player_media_info_get_number_of_streams (const GstPlayerMediaInfo *info); -GST_EXPORT +GST_PLAYER_API GList* gst_player_media_info_get_video_streams (const GstPlayerMediaInfo *info); -GST_EXPORT +GST_PLAYER_API guint gst_player_media_info_get_number_of_video_streams (const GstPlayerMediaInfo *info); -GST_EXPORT +GST_PLAYER_API GList* gst_player_media_info_get_audio_streams (const GstPlayerMediaInfo *info); -GST_EXPORT +GST_PLAYER_API guint gst_player_media_info_get_number_of_audio_streams (const GstPlayerMediaInfo *info); -GST_EXPORT +GST_PLAYER_API GList* gst_player_media_info_get_subtitle_streams (const GstPlayerMediaInfo *info); -GST_EXPORT +GST_PLAYER_API guint gst_player_media_info_get_number_of_subtitle_streams (const GstPlayerMediaInfo *info); -GST_EXPORT +GST_PLAYER_API GstTagList* gst_player_media_info_get_tags (const GstPlayerMediaInfo *info); -GST_EXPORT +GST_PLAYER_API const gchar* gst_player_media_info_get_title (const GstPlayerMediaInfo *info); -GST_EXPORT +GST_PLAYER_API const gchar* gst_player_media_info_get_container_format (const GstPlayerMediaInfo *info); -GST_EXPORT +GST_PLAYER_API GstSample* gst_player_media_info_get_image_sample (const GstPlayerMediaInfo *info); #ifndef GST_REMOVE_DEPRECATED diff --git a/gst-libs/gst/player/gstplayer-signal-dispatcher.h b/gst-libs/gst/player/gstplayer-signal-dispatcher.h index cf21af3e3f..554f1e34f2 100644 --- a/gst-libs/gst/player/gstplayer-signal-dispatcher.h +++ b/gst-libs/gst/player/gstplayer-signal-dispatcher.h @@ -46,7 +46,7 @@ struct _GstPlayerSignalDispatcherInterface { GDestroyNotify destroy); }; -GST_EXPORT +GST_PLAYER_API GType gst_player_signal_dispatcher_get_type (void); G_END_DECLS diff --git a/gst-libs/gst/player/gstplayer-types.h b/gst-libs/gst/player/gstplayer-types.h index f6627e6d1f..bed2dc34c1 100644 --- a/gst-libs/gst/player/gstplayer-types.h +++ b/gst-libs/gst/player/gstplayer-types.h @@ -22,6 +22,7 @@ #define __GST_PLAYER_TYPES_H__ #include +#include G_BEGIN_DECLS diff --git a/gst-libs/gst/player/gstplayer-video-overlay-video-renderer.h b/gst-libs/gst/player/gstplayer-video-overlay-video-renderer.h index 8af1e6a3c8..7068705b59 100644 --- a/gst-libs/gst/player/gstplayer-video-overlay-video-renderer.h +++ b/gst-libs/gst/player/gstplayer-video-overlay-video-renderer.h @@ -39,28 +39,28 @@ typedef struct _GstPlayerVideoOverlayVideoRendererClass #define GST_PLAYER_VIDEO_OVERLAY_VIDEO_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_PLAYER_VIDEO_OVERLAY_VIDEO_RENDERER, GstPlayerVideoOverlayVideoRendererClass)) #define GST_PLAYER_VIDEO_OVERLAY_VIDEO_RENDERER_CAST(obj) ((GstPlayerVideoOverlayVideoRenderer*)(obj)) -GST_EXPORT +GST_PLAYER_API GType gst_player_video_overlay_video_renderer_get_type (void); -GST_EXPORT +GST_PLAYER_API GstPlayerVideoRenderer * gst_player_video_overlay_video_renderer_new (gpointer window_handle); -GST_EXPORT +GST_PLAYER_API GstPlayerVideoRenderer * gst_player_video_overlay_video_renderer_new_with_sink (gpointer window_handle, GstElement * video_sink); -GST_EXPORT +GST_PLAYER_API void gst_player_video_overlay_video_renderer_set_window_handle (GstPlayerVideoOverlayVideoRenderer * self, gpointer window_handle); -GST_EXPORT +GST_PLAYER_API gpointer gst_player_video_overlay_video_renderer_get_window_handle (GstPlayerVideoOverlayVideoRenderer * self); -GST_EXPORT +GST_PLAYER_API void gst_player_video_overlay_video_renderer_expose (GstPlayerVideoOverlayVideoRenderer * self); -GST_EXPORT +GST_PLAYER_API void gst_player_video_overlay_video_renderer_set_render_rectangle (GstPlayerVideoOverlayVideoRenderer * self, gint x, gint y, gint width, gint height); -GST_EXPORT +GST_PLAYER_API void gst_player_video_overlay_video_renderer_get_render_rectangle (GstPlayerVideoOverlayVideoRenderer * self, gint *x, gint *y, gint *width, gint *height); G_END_DECLS diff --git a/gst-libs/gst/player/gstplayer-video-renderer.h b/gst-libs/gst/player/gstplayer-video-renderer.h index 995ace2840..611670c141 100644 --- a/gst-libs/gst/player/gstplayer-video-renderer.h +++ b/gst-libs/gst/player/gstplayer-video-renderer.h @@ -40,7 +40,7 @@ struct _GstPlayerVideoRendererInterface { GstElement * (*create_video_sink) (GstPlayerVideoRenderer * self, GstPlayer * player); }; -GST_EXPORT +GST_PLAYER_API GType gst_player_video_renderer_get_type (void); G_END_DECLS diff --git a/gst-libs/gst/player/gstplayer-visualization.h b/gst-libs/gst/player/gstplayer-visualization.h index 4adabde6f6..c09a4f0c34 100644 --- a/gst-libs/gst/player/gstplayer-visualization.h +++ b/gst-libs/gst/player/gstplayer-visualization.h @@ -23,6 +23,7 @@ #define __GST_PLAYER_VISUALIZATION_H__ #include +#include G_BEGIN_DECLS @@ -39,19 +40,19 @@ struct _GstPlayerVisualization { gchar *description; }; -GST_EXPORT +GST_PLAYER_API GType gst_player_visualization_get_type (void); -GST_EXPORT +GST_PLAYER_API GstPlayerVisualization * gst_player_visualization_copy (const GstPlayerVisualization *vis); -GST_EXPORT +GST_PLAYER_API void gst_player_visualization_free (GstPlayerVisualization *vis); -GST_EXPORT +GST_PLAYER_API GstPlayerVisualization ** gst_player_visualizations_get (void); -GST_EXPORT +GST_PLAYER_API void gst_player_visualizations_free (GstPlayerVisualization **viss); G_END_DECLS diff --git a/gst-libs/gst/player/gstplayer.h b/gst-libs/gst/player/gstplayer.h index e13499a111..bea83ea507 100644 --- a/gst-libs/gst/player/gstplayer.h +++ b/gst-libs/gst/player/gstplayer.h @@ -23,6 +23,7 @@ #include #include +#include #include #include #include @@ -30,7 +31,7 @@ G_BEGIN_DECLS -GST_EXPORT +GST_PLAYER_API GType gst_player_state_get_type (void); #define GST_TYPE_PLAYER_STATE (gst_player_state_get_type ()) @@ -50,13 +51,13 @@ typedef enum GST_PLAYER_STATE_PLAYING } GstPlayerState; -GST_EXPORT +GST_PLAYER_API const gchar *gst_player_state_get_name (GstPlayerState state); -GST_EXPORT +GST_PLAYER_API GQuark gst_player_error_quark (void); -GST_EXPORT +GST_PLAYER_API GType gst_player_error_get_type (void); #define GST_PLAYER_ERROR (gst_player_error_quark ()) #define GST_TYPE_PLAYER_ERROR (gst_player_error_get_type ()) @@ -69,10 +70,10 @@ typedef enum { GST_PLAYER_ERROR_FAILED = 0 } GstPlayerError; -GST_EXPORT +GST_PLAYER_API const gchar *gst_player_error_get_name (GstPlayerError error); -GST_EXPORT +GST_PLAYER_API GType gst_player_color_balance_type_get_type (void); #define GST_TYPE_PLAYER_COLOR_BALANCE_TYPE (gst_player_color_balance_type_get_type ()) @@ -92,7 +93,7 @@ typedef enum GST_PLAYER_COLOR_BALANCE_HUE, } GstPlayerColorBalanceType; -GST_EXPORT +GST_PLAYER_API const gchar *gst_player_color_balance_type_get_name (GstPlayerColorBalanceType type); #define GST_TYPE_PLAYER (gst_player_get_type ()) @@ -104,177 +105,177 @@ const gchar *gst_player_color_balance_type_get_name (GstPlayerColorBalanceType #define GST_PLAYER_CAST(obj) ((GstPlayer*)(obj)) -GST_EXPORT +GST_PLAYER_API GType gst_player_get_type (void); -GST_EXPORT +GST_PLAYER_API GstPlayer * gst_player_new (GstPlayerVideoRenderer * video_renderer, GstPlayerSignalDispatcher * signal_dispatcher); -GST_EXPORT +GST_PLAYER_API void gst_player_play (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API void gst_player_pause (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API void gst_player_stop (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API void gst_player_seek (GstPlayer * player, GstClockTime position); -GST_EXPORT +GST_PLAYER_API void gst_player_set_rate (GstPlayer * player, gdouble rate); -GST_EXPORT +GST_PLAYER_API gdouble gst_player_get_rate (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API gchar * gst_player_get_uri (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API void gst_player_set_uri (GstPlayer * player, const gchar * uri); -GST_EXPORT +GST_PLAYER_API gchar * gst_player_get_subtitle_uri (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API void gst_player_set_subtitle_uri (GstPlayer * player, const gchar *uri); -GST_EXPORT +GST_PLAYER_API GstClockTime gst_player_get_position (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API GstClockTime gst_player_get_duration (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API gdouble gst_player_get_volume (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API void gst_player_set_volume (GstPlayer * player, gdouble val); -GST_EXPORT +GST_PLAYER_API gboolean gst_player_get_mute (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API void gst_player_set_mute (GstPlayer * player, gboolean val); -GST_EXPORT +GST_PLAYER_API GstElement * gst_player_get_pipeline (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API void gst_player_set_video_track_enabled (GstPlayer * player, gboolean enabled); -GST_EXPORT +GST_PLAYER_API void gst_player_set_audio_track_enabled (GstPlayer * player, gboolean enabled); -GST_EXPORT +GST_PLAYER_API void gst_player_set_subtitle_track_enabled (GstPlayer * player, gboolean enabled); -GST_EXPORT +GST_PLAYER_API gboolean gst_player_set_audio_track (GstPlayer *player, gint stream_index); -GST_EXPORT +GST_PLAYER_API gboolean gst_player_set_video_track (GstPlayer *player, gint stream_index); -GST_EXPORT +GST_PLAYER_API gboolean gst_player_set_subtitle_track (GstPlayer *player, gint stream_index); -GST_EXPORT +GST_PLAYER_API GstPlayerMediaInfo * gst_player_get_media_info (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API GstPlayerAudioInfo * gst_player_get_current_audio_track (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API GstPlayerVideoInfo * gst_player_get_current_video_track (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API GstPlayerSubtitleInfo * gst_player_get_current_subtitle_track (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API gboolean gst_player_set_visualization (GstPlayer * player, const gchar *name); -GST_EXPORT +GST_PLAYER_API void gst_player_set_visualization_enabled (GstPlayer * player, gboolean enabled); -GST_EXPORT +GST_PLAYER_API gchar * gst_player_get_current_visualization (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API gboolean gst_player_has_color_balance (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API void gst_player_set_color_balance (GstPlayer * player, GstPlayerColorBalanceType type, gdouble value); -GST_EXPORT +GST_PLAYER_API gdouble gst_player_get_color_balance (GstPlayer * player, GstPlayerColorBalanceType type); -GST_EXPORT +GST_PLAYER_API GstVideoMultiviewFramePacking gst_player_get_multiview_mode (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API void gst_player_set_multiview_mode (GstPlayer * player, GstVideoMultiviewFramePacking mode); -GST_EXPORT +GST_PLAYER_API GstVideoMultiviewFlags gst_player_get_multiview_flags (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API void gst_player_set_multiview_flags (GstPlayer * player, GstVideoMultiviewFlags flags); -GST_EXPORT +GST_PLAYER_API gint64 gst_player_get_audio_video_offset (GstPlayer * player); -GST_EXPORT +GST_PLAYER_API void gst_player_set_audio_video_offset (GstPlayer * player, gint64 offset); -GST_EXPORT +GST_PLAYER_API gboolean gst_player_set_config (GstPlayer * player, GstStructure * config); -GST_EXPORT +GST_PLAYER_API GstStructure * gst_player_get_config (GstPlayer * player); /* helpers for configuring the config structure */ -GST_EXPORT +GST_PLAYER_API void gst_player_config_set_user_agent (GstStructure * config, const gchar * agent); -GST_EXPORT +GST_PLAYER_API gchar * gst_player_config_get_user_agent (const GstStructure * config); -GST_EXPORT +GST_PLAYER_API void gst_player_config_set_position_update_interval (GstStructure * config, guint interval); -GST_EXPORT +GST_PLAYER_API guint gst_player_config_get_position_update_interval (const GstStructure * config); -GST_EXPORT +GST_PLAYER_API void gst_player_config_set_seek_accurate (GstStructure * config, gboolean accurate); -GST_EXPORT +GST_PLAYER_API gboolean gst_player_config_get_seek_accurate (const GstStructure * config); typedef enum @@ -286,7 +287,7 @@ typedef enum GST_PLAYER_THUMBNAIL_PNG } GstPlayerSnapshotFormat; -GST_EXPORT +GST_PLAYER_API GstSample * gst_player_get_video_snapshot (GstPlayer * player, GstPlayerSnapshotFormat format, const GstStructure * config); diff --git a/gst-libs/gst/player/meson.build b/gst-libs/gst/player/meson.build index a44d7d8a5b..b33001c559 100644 --- a/gst-libs/gst/player/meson.build +++ b/gst-libs/gst/player/meson.build @@ -10,6 +10,7 @@ gstplayer_sources = [ gstplayer_headers = [ 'player.h', + 'player-prelude.h', 'gstplayer.h', 'gstplayer-types.h', 'gstplayer-signal-dispatcher.h', diff --git a/gst-libs/gst/player/player-prelude.h b/gst-libs/gst/player/player-prelude.h new file mode 100644 index 0000000000..a24010a4bc --- /dev/null +++ b/gst-libs/gst/player/player-prelude.h @@ -0,0 +1,31 @@ +/* GStreamer Player Library + * Copyright (C) 2018 GStreamer developers + * + * player-prelude.h: prelude include header for gst-player 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_PLAYER_PRELUDE_H__ +#define __GST_PLAYER_PRELUDE_H__ + +#include + +#ifndef GST_PLAYER_API +#define GST_PLAYER_API GST_EXPORT +#endif + +#endif /* __GST_PLAYER_PRELUDE_H__ */ diff --git a/gst-libs/gst/player/player.h b/gst-libs/gst/player/player.h index 0fc91d6a08..40907c1f4b 100644 --- a/gst-libs/gst/player/player.h +++ b/gst-libs/gst/player/player.h @@ -21,6 +21,7 @@ #ifndef __PLAYER_H__ #define __PLAYER_H__ +#include #include #include #include