From 1b6494a6447b3bac8925bb01893d907608484059 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Tue, 16 May 2017 00:55:25 +0100 Subject: [PATCH] pbutils: mark symbols explicitly for export with GST_EXPORT --- gst-libs/gst/pbutils/Makefile.am | 1 + gst-libs/gst/pbutils/codec-utils.h | 26 ++++++++ gst-libs/gst/pbutils/descriptions.h | 7 ++ gst-libs/gst/pbutils/encoding-profile.h | 69 ++++++++++++++++++++ gst-libs/gst/pbutils/encoding-target.h | 22 +++++++ gst-libs/gst/pbutils/gstaudiovisualizer.h | 1 + gst-libs/gst/pbutils/gstdiscoverer.h | 102 ++++++++++++++++++++++++++++++ gst-libs/gst/pbutils/install-plugins.h | 14 +++- gst-libs/gst/pbutils/missing-plugins.h | 13 ++++ gst-libs/gst/pbutils/pbutils.h | 1 + gst-libs/gst/pbutils/pbutils_mkenum.py | 4 +- 11 files changed, 257 insertions(+), 3 deletions(-) diff --git a/gst-libs/gst/pbutils/Makefile.am b/gst-libs/gst/pbutils/Makefile.am index 105ac80..ad60998 100644 --- a/gst-libs/gst/pbutils/Makefile.am +++ b/gst-libs/gst/pbutils/Makefile.am @@ -16,6 +16,7 @@ glib_enum_headers = $(headers_pbutils) glib_enum_define = PB_UTILS glib_gen_prefix = pbutils glib_gen_basename = pbutils +glib_gen_decl_banner=GST_EXPORT built_headers_configure = \ gstpluginsbaseversion.h diff --git a/gst-libs/gst/pbutils/codec-utils.h b/gst-libs/gst/pbutils/codec-utils.h index 979abaf..647767e 100644 --- a/gst-libs/gst/pbutils/codec-utils.h +++ b/gst-libs/gst/pbutils/codec-utils.h @@ -28,60 +28,82 @@ G_BEGIN_DECLS /* AAC */ +GST_EXPORT guint gst_codec_utils_aac_get_sample_rate_from_index (guint sr_idx); + +GST_EXPORT gint gst_codec_utils_aac_get_index_from_sample_rate (guint rate); +GST_EXPORT const gchar * gst_codec_utils_aac_get_profile (const guint8 * audio_config, guint len); +GST_EXPORT const gchar * gst_codec_utils_aac_get_level (const guint8 * audio_config, guint len); +GST_EXPORT guint gst_codec_utils_aac_get_sample_rate (const guint8 * audio_config, guint len); +GST_EXPORT guint gst_codec_utils_aac_get_channels (const guint8 * audio_config, guint len); +GST_EXPORT gboolean gst_codec_utils_aac_caps_set_level_and_profile (GstCaps * caps, const guint8 * audio_config, guint len); /* H.264 */ +GST_EXPORT const gchar * gst_codec_utils_h264_get_profile (const guint8 * sps, guint len); +GST_EXPORT const gchar * gst_codec_utils_h264_get_level (const guint8 * sps, guint len); +GST_EXPORT guint8 gst_codec_utils_h264_get_level_idc (const gchar * level); +GST_EXPORT gboolean gst_codec_utils_h264_caps_set_level_and_profile (GstCaps * caps, const guint8 * sps, guint len); /* H.265 */ +GST_EXPORT const gchar * gst_codec_utils_h265_get_profile (const guint8 * profile_tier_level, guint len); +GST_EXPORT const gchar * gst_codec_utils_h265_get_tier (const guint8 * profile_tier_level, guint len); +GST_EXPORT const gchar * gst_codec_utils_h265_get_level (const guint8 * profile_tier_level, guint len); +GST_EXPORT guint8 gst_codec_utils_h265_get_level_idc (const gchar * level); +GST_EXPORT gboolean gst_codec_utils_h265_caps_set_level_tier_and_profile (GstCaps * caps, const guint8 * profile_tier_level, guint len); /* MPEG-4 part 2 */ +GST_EXPORT const gchar * gst_codec_utils_mpeg4video_get_profile (const guint8 * vis_obj_seq, guint len); +GST_EXPORT const gchar * gst_codec_utils_mpeg4video_get_level (const guint8 * vis_obj_seq, guint len); +GST_EXPORT gboolean gst_codec_utils_mpeg4video_caps_set_level_and_profile (GstCaps * caps, const guint8 * vis_obj_seq, guint len); /* Opus */ + +GST_EXPORT gboolean gst_codec_utils_opus_parse_caps (GstCaps * caps, guint32 * rate, guint8 * channels, @@ -90,6 +112,7 @@ gboolean gst_codec_utils_opus_parse_caps (GstCaps * caps, guint8 * coupled_count, guint8 channel_mapping[256]); +GST_EXPORT GstCaps * gst_codec_utils_opus_create_caps (guint32 rate, guint8 channels, guint8 channel_mapping_family, @@ -97,8 +120,10 @@ GstCaps * gst_codec_utils_opus_create_caps (guint32 rate, guint8 coupled_count, const guint8 * channel_mapping); +GST_EXPORT GstCaps * gst_codec_utils_opus_create_caps_from_header (GstBuffer * header, GstBuffer * comments); +GST_EXPORT GstBuffer * gst_codec_utils_opus_create_header (guint32 rate, guint8 channels, guint8 channel_mapping_family, @@ -108,6 +133,7 @@ GstBuffer * gst_codec_utils_opus_create_header (guint32 rate, guint16 pre_skip, gint16 output_gain); +GST_EXPORT gboolean gst_codec_utils_opus_parse_header (GstBuffer * header, guint32 * rate, guint8 * channels, diff --git a/gst-libs/gst/pbutils/descriptions.h b/gst-libs/gst/pbutils/descriptions.h index a85aeb2..826667a 100644 --- a/gst-libs/gst/pbutils/descriptions.h +++ b/gst-libs/gst/pbutils/descriptions.h @@ -30,10 +30,12 @@ G_BEGIN_DECLS * from caps */ +GST_EXPORT gboolean gst_pb_utils_add_codec_description_to_tag_list (GstTagList * taglist, const gchar * codec_tag, const GstCaps * caps); +GST_EXPORT gchar * gst_pb_utils_get_codec_description (const GstCaps * caps); /* @@ -41,14 +43,19 @@ gchar * gst_pb_utils_get_codec_description (const GstCaps * caps); * find descriptions of what exactly is missing */ +GST_EXPORT gchar * gst_pb_utils_get_source_description (const gchar * protocol); +GST_EXPORT gchar * gst_pb_utils_get_sink_description (const gchar * protocol); +GST_EXPORT gchar * gst_pb_utils_get_decoder_description (const GstCaps * caps); +GST_EXPORT gchar * gst_pb_utils_get_encoder_description (const GstCaps * caps); +GST_EXPORT gchar * gst_pb_utils_get_element_description (const gchar * factory_name); diff --git a/gst-libs/gst/pbutils/encoding-profile.h b/gst-libs/gst/pbutils/encoding-profile.h index 60210f2..c6d0205 100644 --- a/gst-libs/gst/pbutils/encoding-profile.h +++ b/gst-libs/gst/pbutils/encoding-profile.h @@ -43,6 +43,8 @@ G_BEGIN_DECLS (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ENCODING_PROFILE)) typedef struct _GstEncodingProfile GstEncodingProfile; typedef struct _GstEncodingProfileClass GstEncodingProfileClass; + +GST_EXPORT GType gst_encoding_profile_get_type (void); @@ -60,6 +62,8 @@ GType gst_encoding_profile_get_type (void); (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ENCODING_CONTAINER_PROFILE)) typedef struct _GstEncodingContainerProfile GstEncodingContainerProfile; typedef struct _GstEncodingContainerProfileClass GstEncodingContainerProfileClass; + +GST_EXPORT GType gst_encoding_container_profile_get_type (void); @@ -77,6 +81,8 @@ GType gst_encoding_container_profile_get_type (void); (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ENCODING_VIDEO_PROFILE)) typedef struct _GstEncodingVideoProfile GstEncodingVideoProfile; typedef struct _GstEncodingVideoProfileClass GstEncodingVideoProfileClass; + +GST_EXPORT GType gst_encoding_video_profile_get_type (void); @@ -94,6 +100,8 @@ GType gst_encoding_video_profile_get_type (void); (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ENCODING_AUDIO_PROFILE)) typedef struct _GstEncodingAudioProfile GstEncodingAudioProfile; typedef struct _GstEncodingAudioProfileClass GstEncodingAudioProfileClass; + +GST_EXPORT GType gst_encoding_audio_profile_get_type (void); @@ -116,53 +124,101 @@ GType gst_encoding_audio_profile_get_type (void); */ #define gst_encoding_profile_ref(profile) (g_object_ref ((GObject*) profile)) +GST_EXPORT const gchar * gst_encoding_profile_get_name (GstEncodingProfile *profile); + +GST_EXPORT void gst_encoding_profile_set_name (GstEncodingProfile *profile, const gchar *name); + +GST_EXPORT const gchar * gst_encoding_profile_get_description (GstEncodingProfile *profile); + +GST_EXPORT void gst_encoding_profile_set_description (GstEncodingProfile *profile, const gchar *description); + +GST_EXPORT GstCaps * gst_encoding_profile_get_format (GstEncodingProfile *profile); + +GST_EXPORT void gst_encoding_profile_set_format (GstEncodingProfile *profile, GstCaps *format); + +GST_EXPORT gboolean gst_encoding_profile_get_allow_dynamic_output (GstEncodingProfile *profile); + +GST_EXPORT void gst_encoding_profile_set_allow_dynamic_output (GstEncodingProfile *profile, gboolean allow_dynamic_output); + +GST_EXPORT const gchar * gst_encoding_profile_get_preset (GstEncodingProfile *profile); + +GST_EXPORT const gchar * gst_encoding_profile_get_preset_name (GstEncodingProfile *profile); + +GST_EXPORT void gst_encoding_profile_set_preset (GstEncodingProfile *profile, const gchar *preset); + +GST_EXPORT guint gst_encoding_profile_get_presence (GstEncodingProfile *profile); + +GST_EXPORT void gst_encoding_profile_set_presence (GstEncodingProfile *profile, guint presence); + +GST_EXPORT void gst_encoding_profile_set_preset_name (GstEncodingProfile * profile, const gchar * preset_name); + +GST_EXPORT GstCaps * gst_encoding_profile_get_restriction (GstEncodingProfile *profile); + +GST_EXPORT void gst_encoding_profile_set_restriction (GstEncodingProfile *profile, GstCaps *restriction); +GST_EXPORT gboolean gst_encoding_profile_is_equal (GstEncodingProfile *a, GstEncodingProfile *b); + +GST_EXPORT GstCaps * gst_encoding_profile_get_input_caps (GstEncodingProfile *profile); + +GST_EXPORT const gchar * gst_encoding_profile_get_type_nick (GstEncodingProfile *profile); +GST_EXPORT const gchar * gst_encoding_profile_get_file_extension (GstEncodingProfile * profile); +GST_EXPORT GstEncodingProfile * gst_encoding_profile_find (const gchar *targetname, const gchar *profilename, const gchar *category); +GST_EXPORT gboolean gst_encoding_profile_is_enabled (GstEncodingProfile *profile); + +GST_EXPORT void gst_encoding_profile_set_enabled (GstEncodingProfile *profile, gboolean enabled); /* GstEncodingContainerProfile API */ + +GST_EXPORT gboolean gst_encoding_container_profile_add_profile (GstEncodingContainerProfile *container, GstEncodingProfile *profile); + +GST_EXPORT gboolean gst_encoding_container_profile_contains_profile (GstEncodingContainerProfile * container, GstEncodingProfile *profile); + +GST_EXPORT const GList * gst_encoding_container_profile_get_profiles (GstEncodingContainerProfile *profile); +GST_EXPORT GstEncodingContainerProfile * gst_encoding_container_profile_new (const gchar *name, const gchar *description, GstCaps *format, @@ -170,24 +226,37 @@ GstEncodingContainerProfile * gst_encoding_container_profile_new (const gchar * /* Invidual stream encodingprofile API */ + +GST_EXPORT GstEncodingVideoProfile * gst_encoding_video_profile_new (GstCaps *format, const gchar *preset, GstCaps *restriction, guint presence); + +GST_EXPORT GstEncodingAudioProfile * gst_encoding_audio_profile_new (GstCaps *format, const gchar *preset, GstCaps *restriction, guint presence); +GST_EXPORT guint gst_encoding_video_profile_get_pass (GstEncodingVideoProfile *prof); + +GST_EXPORT gboolean gst_encoding_video_profile_get_variableframerate (GstEncodingVideoProfile *prof); +GST_EXPORT void gst_encoding_video_profile_set_pass (GstEncodingVideoProfile *prof, guint pass); + +GST_EXPORT void gst_encoding_video_profile_set_variableframerate (GstEncodingVideoProfile *prof, gboolean variableframerate); +GST_EXPORT GstEncodingProfile * gst_encoding_profile_from_discoverer (GstDiscovererInfo *info); + +GST_EXPORT GstEncodingProfile * gst_encoding_profile_copy (GstEncodingProfile *self); #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC diff --git a/gst-libs/gst/pbutils/encoding-target.h b/gst-libs/gst/pbutils/encoding-target.h index 3eba8ad..7c9a87d 100644 --- a/gst-libs/gst/pbutils/encoding-target.h +++ b/gst-libs/gst/pbutils/encoding-target.h @@ -100,6 +100,7 @@ G_BEGIN_DECLS typedef struct _GstEncodingTarget GstEncodingTarget; typedef GObjectClass GstEncodingTargetClass; +GST_EXPORT GType gst_encoding_target_get_type (void); /** @@ -120,33 +121,54 @@ GType gst_encoding_target_get_type (void); #define gst_encoding_target_ref(target) \ (g_object_ref ((GObject*) target)) +GST_EXPORT GstEncodingTarget * gst_encoding_target_new (const gchar *name, const gchar *category, const gchar *description, const GList *profiles); +GST_EXPORT const gchar * gst_encoding_target_get_name (GstEncodingTarget *target); + +GST_EXPORT const gchar * gst_encoding_target_get_category (GstEncodingTarget *target); + +GST_EXPORT const gchar * gst_encoding_target_get_description (GstEncodingTarget *target); + +GST_EXPORT const GList * gst_encoding_target_get_profiles (GstEncodingTarget *target); + +GST_EXPORT GstEncodingProfile * gst_encoding_target_get_profile (GstEncodingTarget *target, const gchar *name); +GST_EXPORT gboolean gst_encoding_target_add_profile (GstEncodingTarget *target, GstEncodingProfile *profile); +GST_EXPORT gboolean gst_encoding_target_save (GstEncodingTarget *target, GError **error); + +GST_EXPORT gboolean gst_encoding_target_save_to_file (GstEncodingTarget *target, const gchar *filepath, GError **error); + +GST_EXPORT GstEncodingTarget * gst_encoding_target_load (const gchar *name, const gchar *category, GError **error); + +GST_EXPORT GstEncodingTarget * gst_encoding_target_load_from_file (const gchar *filepath, GError **error); +GST_EXPORT GList * gst_encoding_list_available_categories (void); + +GST_EXPORT GList * gst_encoding_list_all_targets (const gchar * categoryname); #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC diff --git a/gst-libs/gst/pbutils/gstaudiovisualizer.h b/gst-libs/gst/pbutils/gstaudiovisualizer.h index 71fd9b1..4aad4dd 100644 --- a/gst-libs/gst/pbutils/gstaudiovisualizer.h +++ b/gst-libs/gst/pbutils/gstaudiovisualizer.h @@ -100,6 +100,7 @@ struct _GstAudioVisualizerClass gboolean (*decide_allocation) (GstAudioVisualizer * scope, GstQuery *query); }; +GST_EXPORT GType gst_audio_visualizer_get_type (void); G_END_DECLS diff --git a/gst-libs/gst/pbutils/gstdiscoverer.h b/gst-libs/gst/pbutils/gstdiscoverer.h index d3fdbb6..ce4c3ac 100644 --- a/gst-libs/gst/pbutils/gstdiscoverer.h +++ b/gst-libs/gst/pbutils/gstdiscoverer.h @@ -33,6 +33,8 @@ G_BEGIN_DECLS (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DISCOVERER_STREAM_INFO)) typedef struct _GstDiscovererStreamInfo GstDiscovererStreamInfo; typedef GObjectClass GstDiscovererStreamInfoClass; + +GST_EXPORT GType gst_discoverer_stream_info_get_type (void); /** @@ -57,13 +59,28 @@ GType gst_discoverer_stream_info_get_type (void); #define gst_discoverer_stream_info_ref(info) ((GstDiscovererStreamInfo*) g_object_ref((GObject*) info)) #define gst_discoverer_stream_info_unref(info) (g_object_unref((GObject*) info)) +GST_EXPORT GstDiscovererStreamInfo* gst_discoverer_stream_info_get_previous(GstDiscovererStreamInfo* info); + +GST_EXPORT GstDiscovererStreamInfo* gst_discoverer_stream_info_get_next(GstDiscovererStreamInfo* info); + +GST_EXPORT GstCaps* gst_discoverer_stream_info_get_caps(GstDiscovererStreamInfo* info); + +GST_EXPORT const GstTagList* gst_discoverer_stream_info_get_tags(GstDiscovererStreamInfo* info); + +GST_EXPORT const GstToc* gst_discoverer_stream_info_get_toc(GstDiscovererStreamInfo* info); + +GST_EXPORT const gchar* gst_discoverer_stream_info_get_stream_id(GstDiscovererStreamInfo* info); + +GST_EXPORT const GstStructure* gst_discoverer_stream_info_get_misc(GstDiscovererStreamInfo* info); + +GST_EXPORT const gchar * gst_discoverer_stream_info_get_stream_type_nick(GstDiscovererStreamInfo* info); /** @@ -80,8 +97,10 @@ const gchar * gst_discoverer_stream_info_get_stream_type_nick(GstDisc typedef struct _GstDiscovererContainerInfo GstDiscovererContainerInfo; typedef GObjectClass GstDiscovererContainerInfoClass; +GST_EXPORT GType gst_discoverer_container_info_get_type (void); +GST_EXPORT GList *gst_discoverer_container_info_get_streams(GstDiscovererContainerInfo *info); @@ -99,13 +118,25 @@ GList *gst_discoverer_container_info_get_streams(GstDiscovererContainerInfo *inf typedef struct _GstDiscovererAudioInfo GstDiscovererAudioInfo; typedef GObjectClass GstDiscovererAudioInfoClass; +GST_EXPORT GType gst_discoverer_audio_info_get_type (void); +GST_EXPORT guint gst_discoverer_audio_info_get_channels(const GstDiscovererAudioInfo* info); + +GST_EXPORT guint gst_discoverer_audio_info_get_sample_rate(const GstDiscovererAudioInfo* info); + +GST_EXPORT guint gst_discoverer_audio_info_get_depth(const GstDiscovererAudioInfo* info); + +GST_EXPORT guint gst_discoverer_audio_info_get_bitrate(const GstDiscovererAudioInfo* info); + +GST_EXPORT guint gst_discoverer_audio_info_get_max_bitrate(const GstDiscovererAudioInfo* info); + +GST_EXPORT const gchar * gst_discoverer_audio_info_get_language(const GstDiscovererAudioInfo* info); /** @@ -121,18 +152,41 @@ const gchar * gst_discoverer_audio_info_get_language(const GstDiscovererAudioInf (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DISCOVERER_VIDEO_INFO)) typedef struct _GstDiscovererVideoInfo GstDiscovererVideoInfo; typedef GObjectClass GstDiscovererVideoInfoClass; + +GST_EXPORT GType gst_discoverer_video_info_get_type (void); +GST_EXPORT guint gst_discoverer_video_info_get_width(const GstDiscovererVideoInfo* info); + +GST_EXPORT guint gst_discoverer_video_info_get_height(const GstDiscovererVideoInfo* info); + +GST_EXPORT guint gst_discoverer_video_info_get_depth(const GstDiscovererVideoInfo* info); + +GST_EXPORT guint gst_discoverer_video_info_get_framerate_num(const GstDiscovererVideoInfo* info); + +GST_EXPORT guint gst_discoverer_video_info_get_framerate_denom(const GstDiscovererVideoInfo* info); + +GST_EXPORT guint gst_discoverer_video_info_get_par_num(const GstDiscovererVideoInfo* info); + +GST_EXPORT guint gst_discoverer_video_info_get_par_denom(const GstDiscovererVideoInfo* info); + +GST_EXPORT gboolean gst_discoverer_video_info_is_interlaced(const GstDiscovererVideoInfo* info); + +GST_EXPORT guint gst_discoverer_video_info_get_bitrate(const GstDiscovererVideoInfo* info); + +GST_EXPORT guint gst_discoverer_video_info_get_max_bitrate(const GstDiscovererVideoInfo* info); + +GST_EXPORT gboolean gst_discoverer_video_info_is_image(const GstDiscovererVideoInfo* info); /** @@ -149,8 +203,11 @@ gboolean gst_discoverer_video_info_is_image(const GstDiscovererVideoInfo* (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DISCOVERER_SUBTITLE_INFO)) typedef struct _GstDiscovererSubtitleInfo GstDiscovererSubtitleInfo; typedef GObjectClass GstDiscovererSubtitleInfoClass; + +GST_EXPORT GType gst_discoverer_subtitle_info_get_type (void); +GST_EXPORT const gchar * gst_discoverer_subtitle_info_get_language(const GstDiscovererSubtitleInfo* info); /** @@ -211,35 +268,69 @@ typedef struct _GstDiscovererInfo GstDiscovererInfo; #define GST_IS_DISCOVERER_INFO(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DISCOVERER_INFO)) typedef GObjectClass GstDiscovererInfoClass; + +GST_EXPORT GType gst_discoverer_info_get_type (void); #define gst_discoverer_info_unref(info) (g_object_unref((GObject*)info)) #define gst_discoverer_info_ref(info) (g_object_ref((GObject*)info)) +GST_EXPORT GstDiscovererInfo* gst_discoverer_info_copy (GstDiscovererInfo * ptr); +GST_EXPORT const gchar* gst_discoverer_info_get_uri(const GstDiscovererInfo* info); + +GST_EXPORT GstDiscovererResult gst_discoverer_info_get_result(const GstDiscovererInfo* info); + +GST_EXPORT GstDiscovererStreamInfo* gst_discoverer_info_get_stream_info(GstDiscovererInfo* info); + +GST_EXPORT GList* gst_discoverer_info_get_stream_list(GstDiscovererInfo* info); + +GST_EXPORT GstClockTime gst_discoverer_info_get_duration(const GstDiscovererInfo* info); + +GST_EXPORT gboolean gst_discoverer_info_get_seekable(const GstDiscovererInfo* info); + +GST_EXPORT const GstStructure* gst_discoverer_info_get_misc(const GstDiscovererInfo* info); + +GST_EXPORT const GstTagList* gst_discoverer_info_get_tags(const GstDiscovererInfo* info); +GST_EXPORT const GstToc* gst_discoverer_info_get_toc(const GstDiscovererInfo* info); + +GST_EXPORT const gchar** gst_discoverer_info_get_missing_elements_installer_details(const GstDiscovererInfo* info); +GST_EXPORT GList * gst_discoverer_info_get_streams (GstDiscovererInfo *info, GType streamtype); + +GST_EXPORT GList * gst_discoverer_info_get_audio_streams (GstDiscovererInfo *info); + +GST_EXPORT GList * gst_discoverer_info_get_video_streams (GstDiscovererInfo *info); + +GST_EXPORT GList * gst_discoverer_info_get_subtitle_streams (GstDiscovererInfo *info); + +GST_EXPORT GList * gst_discoverer_info_get_container_streams (GstDiscovererInfo *info); +GST_EXPORT GVariant * gst_discoverer_info_to_variant (GstDiscovererInfo *info, GstDiscovererSerializeFlags flags); + +GST_EXPORT GstDiscovererInfo * gst_discoverer_info_from_variant (GVariant *variant); +GST_EXPORT void gst_discoverer_stream_info_list_free (GList *infos); #define GST_TYPE_DISCOVERER \ @@ -286,16 +377,27 @@ struct _GstDiscovererClass { gpointer _reserved[GST_PADDING]; }; +GST_EXPORT GType gst_discoverer_get_type (void); + +GST_EXPORT GstDiscoverer *gst_discoverer_new (GstClockTime timeout, GError **err); /* Asynchronous API */ + +GST_EXPORT void gst_discoverer_start (GstDiscoverer *discoverer); + +GST_EXPORT void gst_discoverer_stop (GstDiscoverer *discoverer); + +GST_EXPORT gboolean gst_discoverer_discover_uri_async (GstDiscoverer *discoverer, const gchar *uri); /* Synchronous API */ + +GST_EXPORT GstDiscovererInfo * gst_discoverer_discover_uri (GstDiscoverer * discoverer, const gchar * uri, diff --git a/gst-libs/gst/pbutils/install-plugins.h b/gst-libs/gst/pbutils/install-plugins.h index a749349..31bb975 100644 --- a/gst-libs/gst/pbutils/install-plugins.h +++ b/gst-libs/gst/pbutils/install-plugins.h @@ -21,7 +21,7 @@ #ifndef __GST_PB_UTILS_INSTALL_PLUGINS_H__ #define __GST_PB_UTILS_INSTALL_PLUGINS_H__ -#include +#include G_BEGIN_DECLS @@ -97,22 +97,29 @@ typedef enum { typedef struct _GstInstallPluginsContext GstInstallPluginsContext; +GST_EXPORT GstInstallPluginsContext * gst_install_plugins_context_new (void); +GST_EXPORT void gst_install_plugins_context_free (GstInstallPluginsContext * ctx); +GST_EXPORT void gst_install_plugins_context_set_confirm_search (GstInstallPluginsContext * ctx, gboolean confirm_search); +GST_EXPORT void gst_install_plugins_context_set_desktop_id (GstInstallPluginsContext * ctx, const gchar * desktop_id); +GST_EXPORT void gst_install_plugins_context_set_startup_notification_id (GstInstallPluginsContext * ctx, const gchar * startup_id); +GST_EXPORT void gst_install_plugins_context_set_xid (GstInstallPluginsContext * ctx, guint xid); +GST_EXPORT GType gst_install_plugins_context_get_type (void); /** @@ -127,18 +134,23 @@ GType gst_install_plugins_context_get_type (void); typedef void (*GstInstallPluginsResultFunc) (GstInstallPluginsReturn result, gpointer user_data); +GST_EXPORT GstInstallPluginsReturn gst_install_plugins_async (const gchar * const * details, GstInstallPluginsContext * ctx, GstInstallPluginsResultFunc func, gpointer user_data); +GST_EXPORT GstInstallPluginsReturn gst_install_plugins_sync (const gchar * const * details, GstInstallPluginsContext * ctx); +GST_EXPORT const gchar * gst_install_plugins_return_get_name (GstInstallPluginsReturn ret); +GST_EXPORT gboolean gst_install_plugins_installation_in_progress (void); +GST_EXPORT gboolean gst_install_plugins_supported (void); #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC diff --git a/gst-libs/gst/pbutils/missing-plugins.h b/gst-libs/gst/pbutils/missing-plugins.h index 84e512d..cee0d55 100644 --- a/gst-libs/gst/pbutils/missing-plugins.h +++ b/gst-libs/gst/pbutils/missing-plugins.h @@ -28,18 +28,23 @@ G_BEGIN_DECLS * functions to create missing-plugin messages, for use by plugins primarily */ +GST_EXPORT GstMessage * gst_missing_uri_source_message_new (GstElement * element, const gchar * protocol); +GST_EXPORT GstMessage * gst_missing_uri_sink_message_new (GstElement * element, const gchar * protocol); +GST_EXPORT GstMessage * gst_missing_element_message_new (GstElement * element, const gchar * factory_name); +GST_EXPORT GstMessage * gst_missing_decoder_message_new (GstElement * element, const GstCaps * decode_caps); +GST_EXPORT GstMessage * gst_missing_encoder_message_new (GstElement * element, const GstCaps * encode_caps); @@ -47,10 +52,13 @@ GstMessage * gst_missing_encoder_message_new (GstElement * element, * functions for use by applications when dealing with missing-plugin messages */ +GST_EXPORT gchar * gst_missing_plugin_message_get_installer_detail (GstMessage * msg); +GST_EXPORT gchar * gst_missing_plugin_message_get_description (GstMessage * msg); +GST_EXPORT gboolean gst_is_missing_plugin_message (GstMessage * msg); @@ -60,14 +68,19 @@ gboolean gst_is_missing_plugin_message (GstMessage * msg); * missing-plugin messages posted by elements such as playbin or decodebin */ +GST_EXPORT gchar * gst_missing_uri_source_installer_detail_new (const gchar * protocol); +GST_EXPORT gchar * gst_missing_uri_sink_installer_detail_new (const gchar * protocol); +GST_EXPORT gchar * gst_missing_element_installer_detail_new (const gchar * factory_name); +GST_EXPORT gchar * gst_missing_decoder_installer_detail_new (const GstCaps * decode_caps); +GST_EXPORT gchar * gst_missing_encoder_installer_detail_new (const GstCaps * encode_caps); G_END_DECLS diff --git a/gst-libs/gst/pbutils/pbutils.h b/gst-libs/gst/pbutils/pbutils.h index 801cda9..99bdf98 100644 --- a/gst-libs/gst/pbutils/pbutils.h +++ b/gst-libs/gst/pbutils/pbutils.h @@ -34,6 +34,7 @@ G_BEGIN_DECLS +GST_EXPORT void gst_pb_utils_init (void); G_END_DECLS diff --git a/gst-libs/gst/pbutils/pbutils_mkenum.py b/gst-libs/gst/pbutils/pbutils_mkenum.py index 8032c96..d03b915 100755 --- a/gst-libs/gst/pbutils/pbutils_mkenum.py +++ b/gst-libs/gst/pbutils/pbutils_mkenum.py @@ -8,11 +8,11 @@ import sys, os, shutil, subprocess h_array = ['--fhead', - "#ifndef __PB_UTILS_ENUM_TYPES_H__\n#define __PB_UTILS_ENUM_TYPES_H__\n\n#include \n\nG_BEGIN_DECLS\n", + "#ifndef __PB_UTILS_ENUM_TYPES_H__\n#define __PB_UTILS_ENUM_TYPES_H__\n\n#include \n\nG_BEGIN_DECLS\n", '--fprod', "\n/* enumerations from \"@filename@\" */\n", '--vhead', - "GType @enum_name@_get_type (void);\n#define GST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n", + "GST_EXPORT GType @enum_name@_get_type (void);\n#define GST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n", '--ftail', "G_END_DECLS\n\n#endif /* __PB_UTILS_ENUM_TYPES_H__ */" ] -- 2.7.4