diff --git a/gst-libs/gst/player/Makefile.am b/gst-libs/gst/player/Makefile.am
index f893375..2f3a59a 100644
--- a/gst-libs/gst/player/Makefile.am
+++ b/gst-libs/gst/player/Makefile.am
@@ -39,6 +39,7 @@
 
 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 a2a057d..d27d697 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 @@
 #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 5c65f27..8d2eb4f 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 <gst/gst.h>
+#include <gst/player/player-prelude.h>
 
 G_BEGIN_DECLS
 
@@ -46,22 +47,22 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 cf21af3..554f1e3 100644
--- a/gst-libs/gst/player/gstplayer-signal-dispatcher.h
+++ b/gst-libs/gst/player/gstplayer-signal-dispatcher.h
@@ -46,7 +46,7 @@
                     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 f6627e6..bed2dc3 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 <gst/gst.h>
+#include <gst/player/player-prelude.h>
 
 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 8af1e6a..7068705 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 @@
 #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 995ace2..611670c 100644
--- a/gst-libs/gst/player/gstplayer-video-renderer.h
+++ b/gst-libs/gst/player/gstplayer-video-renderer.h
@@ -40,7 +40,7 @@
   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 4adabde..c09a4f0 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 <gst/gst.h>
+#include <gst/player/player-prelude.h>
 
 G_BEGIN_DECLS
 
@@ -39,19 +40,19 @@
   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 e13499a..bea83ea 100644
--- a/gst-libs/gst/player/gstplayer.h
+++ b/gst-libs/gst/player/gstplayer.h
@@ -23,6 +23,7 @@
 
 #include <gst/gst.h>
 #include <gst/video/video.h>
+#include <gst/player/player-prelude.h>
 #include <gst/player/gstplayer-types.h>
 #include <gst/player/gstplayer-signal-dispatcher.h>
 #include <gst/player/gstplayer-video-renderer.h>
@@ -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 @@
   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 @@
   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 @@
   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 @@
 #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 @@
   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 a44d7d8..b33001c 100644
--- a/gst-libs/gst/player/meson.build
+++ b/gst-libs/gst/player/meson.build
@@ -10,6 +10,7 @@
 
 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 0000000..a24010a
--- /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 <gst/gst.h>
+
+#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 0fc91d6..40907c1 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 <gst/player/player-prelude.h>
 #include <gst/player/gstplayer.h>
 #include <gst/player/gstplayer-media-info.h>
 #include <gst/player/gstplayer-g-main-context-signal-dispatcher.h>
