From af78896a82493fe8cacbd8668c2c57860956a77c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Tue, 16 May 2017 01:03:45 +0100 Subject: [PATCH] tag: mark symbols explicitly for export with GST_EXPORT --- gst-libs/gst/tag/Makefile.am | 1 + gst-libs/gst/tag/gsttagdemux.h | 1 + gst-libs/gst/tag/gsttagmux.h | 1 + gst-libs/gst/tag/tag.h | 54 ++++++++++++++++++++++++++++++++++++++++++ gst-libs/gst/tag/tag_mkenum.py | 4 ++-- gst-libs/gst/tag/xmpwriter.h | 7 ++++++ 6 files changed, 66 insertions(+), 2 deletions(-) diff --git a/gst-libs/gst/tag/Makefile.am b/gst-libs/gst/tag/Makefile.am index f9f0a6b..67958b6 100644 --- a/gst-libs/gst/tag/Makefile.am +++ b/gst-libs/gst/tag/Makefile.am @@ -4,6 +4,7 @@ libgsttagincludedir = \ glib_enum_define = GST_TAG glib_gen_prefix = gst_tag glib_gen_basename = tag +glib_gen_decl_banner=GST_EXPORT glib_enum_headers = tag.h gsttagdemux.h diff --git a/gst-libs/gst/tag/gsttagdemux.h b/gst-libs/gst/tag/gsttagdemux.h index 0b285d4..9c14ff0 100644 --- a/gst-libs/gst/tag/gsttagdemux.h +++ b/gst-libs/gst/tag/gsttagdemux.h @@ -128,6 +128,7 @@ struct _GstTagDemuxClass gpointer reserved[GST_PADDING]; }; +GST_EXPORT GType gst_tag_demux_get_type (void); #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC diff --git a/gst-libs/gst/tag/gsttagmux.h b/gst-libs/gst/tag/gsttagmux.h index d19ea4c..a1c3143 100644 --- a/gst-libs/gst/tag/gsttagmux.h +++ b/gst-libs/gst/tag/gsttagmux.h @@ -78,6 +78,7 @@ struct _GstTagMuxClass { gpointer _gst_reserved[GST_PADDING]; }; +GST_EXPORT GType gst_tag_mux_get_type (void); #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC diff --git a/gst-libs/gst/tag/tag.h b/gst-libs/gst/tag/tag.h index ebfe96f..b8343fe 100644 --- a/gst-libs/gst/tag/tag.h +++ b/gst-libs/gst/tag/tag.h @@ -423,25 +423,37 @@ typedef enum { /* functions for vorbis comment manipulation */ +GST_EXPORT const gchar * gst_tag_from_vorbis_tag (const gchar * vorbis_tag); + +GST_EXPORT const gchar * gst_tag_to_vorbis_tag (const gchar * gst_tag); + +GST_EXPORT void gst_vorbis_tag_add (GstTagList * list, const gchar * tag, const gchar * value); +GST_EXPORT GList * gst_tag_to_vorbis_comments (const GstTagList * list, const gchar * tag); /* functions to convert GstBuffers with vorbiscomment contents to GstTagLists and back */ + +GST_EXPORT GstTagList * gst_tag_list_from_vorbiscomment (const guint8 * data, gsize size, const guint8 * id_data, const guint id_data_length, gchar ** vendor_string); + +GST_EXPORT GstTagList * gst_tag_list_from_vorbiscomment_buffer (GstBuffer * buffer, const guint8 * id_data, const guint id_data_length, gchar ** vendor_string); + +GST_EXPORT GstBuffer * gst_tag_list_to_vorbiscomment_buffer (const GstTagList * list, const guint8 * id_data, const guint id_data_length, @@ -453,77 +465,112 @@ GstBuffer * gst_tag_list_to_vorbiscomment_buffer (const GstTagLis * gst_tag_list_from_id3v2_tag(). Also, note gst.tag.list_xyz() namespace vs. gst.tag_list_xyz(), * which is a bit confusing and possibly doesn't map too well */ +GST_EXPORT guint gst_tag_id3_genre_count (void); + +GST_EXPORT const gchar * gst_tag_id3_genre_get (const guint id); + +GST_EXPORT GstTagList * gst_tag_list_new_from_id3v1 (const guint8 * data); +GST_EXPORT const gchar * gst_tag_from_id3_tag (const gchar * id3_tag); + +GST_EXPORT const gchar * gst_tag_from_id3_user_tag (const gchar * type, const gchar * id3_user_tag); + +GST_EXPORT const gchar * gst_tag_to_id3_tag (const gchar * gst_tag); +GST_EXPORT gboolean gst_tag_list_add_id3_image (GstTagList * tag_list, const guint8 * image_data, guint image_data_len, guint id3_picture_type); +GST_EXPORT GstTagList * gst_tag_list_from_id3v2_tag (GstBuffer * buffer); +GST_EXPORT guint gst_tag_get_id3v2_tag_size (GstBuffer * buffer); /* functions to convert GstBuffers with xmp packets contents to GstTagLists and back */ + +GST_EXPORT GstTagList * gst_tag_list_from_xmp_buffer (GstBuffer * buffer); + +GST_EXPORT GstBuffer * gst_tag_list_to_xmp_buffer (const GstTagList * list, gboolean read_only, const gchar ** schemas); + +GST_EXPORT const gchar** gst_tag_xmp_list_schemas (void); /* functions related to exif */ + +GST_EXPORT GstBuffer * gst_tag_list_to_exif_buffer (const GstTagList * taglist, gint byte_order, guint32 base_offset); +GST_EXPORT GstBuffer * gst_tag_list_to_exif_buffer_with_tiff_header (const GstTagList * taglist); +GST_EXPORT GstTagList * gst_tag_list_from_exif_buffer (GstBuffer * buffer, gint byte_order, guint32 base_offset); +GST_EXPORT GstTagList * gst_tag_list_from_exif_buffer_with_tiff_header ( GstBuffer * buffer); /* other tag-related functions */ +GST_EXPORT gboolean gst_tag_parse_extended_comment (const gchar * ext_comment, gchar ** key, gchar ** lang, gchar ** value, gboolean fail_if_no_key); +GST_EXPORT gchar * gst_tag_freeform_string_to_utf8 (const gchar * data, gint size, const gchar ** env_vars); +GST_EXPORT GstSample * gst_tag_image_data_to_image_sample (const guint8 * image_data, guint image_data_len, GstTagImageType image_type); /* FIXME 0.11: get rid of this awkward register/init function, see tags.c */ + +GST_EXPORT void gst_tag_register_musicbrainz_tags (void); /* language tag related functions */ +GST_EXPORT gchar ** gst_tag_get_language_codes (void); +GST_EXPORT const gchar * gst_tag_get_language_name (const gchar * language_code); +GST_EXPORT const gchar * gst_tag_get_language_code_iso_639_1 (const gchar * lang_code); +GST_EXPORT const gchar * gst_tag_get_language_code_iso_639_2B (const gchar * lang_code); +GST_EXPORT const gchar * gst_tag_get_language_code_iso_639_2T (const gchar * lang_code); +GST_EXPORT gboolean gst_tag_check_language_code (const gchar * lang_code); /** @@ -595,18 +642,25 @@ typedef enum { GST_TAG_LICENSE_FREE_SOFTWARE_FOUNDATION_LICENSE = (1 << 25) } GstTagLicenseFlags; +GST_EXPORT gchar ** gst_tag_get_licenses (void); +GST_EXPORT GstTagLicenseFlags gst_tag_get_license_flags (const gchar * license_ref); +GST_EXPORT const gchar * gst_tag_get_license_nick (const gchar * license_ref); +GST_EXPORT const gchar * gst_tag_get_license_title (const gchar * license_ref); +GST_EXPORT const gchar * gst_tag_get_license_version (const gchar * license_ref); +GST_EXPORT const gchar * gst_tag_get_license_description (const gchar * license_ref); +GST_EXPORT const gchar * gst_tag_get_license_jurisdiction (const gchar * license_ref); G_END_DECLS diff --git a/gst-libs/gst/tag/tag_mkenum.py b/gst-libs/gst/tag/tag_mkenum.py index b16fb58..258b58b 100755 --- a/gst-libs/gst/tag/tag_mkenum.py +++ b/gst-libs/gst/tag/tag_mkenum.py @@ -8,11 +8,11 @@ import sys, os, shutil, subprocess h_array = ['--fhead', - "#ifndef __GST_TAG_ENUM_TYPES_H__\n#define __GST_TAG_ENUM_TYPES_H__\n\n#include \n\nG_BEGIN_DECLS\n", + "#ifndef __GST_TAG_ENUM_TYPES_H__\n#define __GST_TAG_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 /* __GST_TAG_ENUM_TYPES_H__ */', ] diff --git a/gst-libs/gst/tag/xmpwriter.h b/gst-libs/gst/tag/xmpwriter.h index 5c9be49..85f85bf 100644 --- a/gst-libs/gst/tag/xmpwriter.h +++ b/gst-libs/gst/tag/xmpwriter.h @@ -40,21 +40,28 @@ struct _GstTagXmpWriterInterface { GTypeInterface parent; }; +GST_EXPORT GType gst_tag_xmp_writer_get_type (void); +GST_EXPORT void gst_tag_xmp_writer_add_all_schemas (GstTagXmpWriter * config); +GST_EXPORT void gst_tag_xmp_writer_add_schema (GstTagXmpWriter * config, const gchar * schema); +GST_EXPORT gboolean gst_tag_xmp_writer_has_schema (GstTagXmpWriter * config, const gchar * schema); +GST_EXPORT void gst_tag_xmp_writer_remove_schema (GstTagXmpWriter * config, const gchar * schema); +GST_EXPORT void gst_tag_xmp_writer_remove_all_schemas (GstTagXmpWriter * config); +GST_EXPORT GstBuffer* gst_tag_xmp_writer_tag_list_to_xmp_buffer (GstTagXmpWriter * config, const GstTagList * taglist, gboolean read_only); -- 2.7.4