tag: GST_EXPORT -> GST_TAG_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.
This commit is contained in:
Tim-Philipp Müller 2018-03-13 11:32:02 +00:00
parent 12be5a1ab2
commit b618c5776d
9 changed files with 90 additions and 53 deletions

View file

@ -4,7 +4,8 @@ libgsttagincludedir = \
glib_enum_define = GST_TAG glib_enum_define = GST_TAG
glib_gen_prefix = gst_tag glib_gen_prefix = gst_tag
glib_gen_basename = tag glib_gen_basename = tag
glib_gen_decl_banner=GST_EXPORT glib_gen_decl_banner=GST_TAG_API
glib_gen_decl_include=\#include <gst/tag/tag-prelude.h>
glib_enum_headers = tag.h gsttagdemux.h glib_enum_headers = tag.h gsttagdemux.h
@ -15,7 +16,7 @@ BUILT_SOURCES = $(built_sources) $(built_headers)
include $(top_srcdir)/common/gst-glib-gen.mak include $(top_srcdir)/common/gst-glib-gen.mak
libgsttaginclude_HEADERS = \ libgsttaginclude_HEADERS = \
tag.h gsttagdemux.h gsttagmux.h xmpwriter.h tag.h tag-prelude.h gsttagdemux.h gsttagmux.h xmpwriter.h
nodist_libgsttaginclude_HEADERS = tag-enumtypes.h nodist_libgsttaginclude_HEADERS = tag-enumtypes.h
CLEANFILES = $(BUILT_SOURCES) CLEANFILES = $(BUILT_SOURCES)

View file

@ -128,7 +128,7 @@ struct _GstTagDemuxClass
gpointer reserved[GST_PADDING]; gpointer reserved[GST_PADDING];
}; };
GST_EXPORT GST_TAG_API
GType gst_tag_demux_get_type (void); GType gst_tag_demux_get_type (void);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -23,6 +23,7 @@
#define GST_TAG_MUX_H #define GST_TAG_MUX_H
#include <gst/gst.h> #include <gst/gst.h>
#include <gst/tag/tag-prelude.h>
G_BEGIN_DECLS G_BEGIN_DECLS
@ -78,7 +79,7 @@ struct _GstTagMuxClass {
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
GST_EXPORT GST_TAG_API
GType gst_tag_mux_get_type (void); GType gst_tag_mux_get_type (void);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -20,6 +20,7 @@
#define __ID3TAGS_H__ #define __ID3TAGS_H__
#include <gst/gst.h> #include <gst/gst.h>
#include <gst/tag/tag-prelude.h>
G_BEGIN_DECLS G_BEGIN_DECLS

View file

@ -22,6 +22,7 @@ tag_mkenum_headers = [
tag_headers = tag_mkenum_headers + [ tag_headers = tag_mkenum_headers + [
'gsttagmux.h', 'gsttagmux.h',
'xmpwriter.h', 'xmpwriter.h',
'tag-prelude.h',
] ]
install_headers(tag_headers, subdir : 'gstreamer-1.0/gst/tag/') install_headers(tag_headers, subdir : 'gstreamer-1.0/gst/tag/')

View file

@ -0,0 +1,31 @@
/* GStreamer Tag Library
* Copyright (C) 2018 GStreamer developers
*
* tag-prelude.h: prelude include header for gst-tag 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_TAG_PRELUDE_H__
#define __GST_TAG_PRELUDE_H__
#include <gst/gst.h>
#ifndef GST_TAG_API
#define GST_TAG_API GST_EXPORT
#endif
#endif /* __GST_TAG_PRELUDE_H__ */

View file

@ -23,6 +23,7 @@
#define __GST_TAG_TAG_H__ #define __GST_TAG_TAG_H__
#include <gst/gst.h> #include <gst/gst.h>
#include <gst/tag/tag-prelude.h>
#include <gst/tag/gsttagdemux.h> #include <gst/tag/gsttagdemux.h>
#include <gst/tag/gsttagmux.h> #include <gst/tag/gsttagmux.h>
#include <gst/tag/xmpwriter.h> #include <gst/tag/xmpwriter.h>
@ -423,37 +424,37 @@ typedef enum {
/* functions for vorbis comment manipulation */ /* functions for vorbis comment manipulation */
GST_EXPORT GST_TAG_API
const gchar * gst_tag_from_vorbis_tag (const gchar * vorbis_tag); const gchar * gst_tag_from_vorbis_tag (const gchar * vorbis_tag);
GST_EXPORT GST_TAG_API
const gchar * gst_tag_to_vorbis_tag (const gchar * gst_tag); const gchar * gst_tag_to_vorbis_tag (const gchar * gst_tag);
GST_EXPORT GST_TAG_API
void gst_vorbis_tag_add (GstTagList * list, void gst_vorbis_tag_add (GstTagList * list,
const gchar * tag, const gchar * tag,
const gchar * value); const gchar * value);
GST_EXPORT GST_TAG_API
GList * gst_tag_to_vorbis_comments (const GstTagList * list, GList * gst_tag_to_vorbis_comments (const GstTagList * list,
const gchar * tag); const gchar * tag);
/* functions to convert GstBuffers with vorbiscomment contents to GstTagLists and back */ /* functions to convert GstBuffers with vorbiscomment contents to GstTagLists and back */
GST_EXPORT GST_TAG_API
GstTagList * gst_tag_list_from_vorbiscomment (const guint8 * data, GstTagList * gst_tag_list_from_vorbiscomment (const guint8 * data,
gsize size, gsize size,
const guint8 * id_data, const guint8 * id_data,
const guint id_data_length, const guint id_data_length,
gchar ** vendor_string); gchar ** vendor_string);
GST_EXPORT GST_TAG_API
GstTagList * gst_tag_list_from_vorbiscomment_buffer (GstBuffer * buffer, GstTagList * gst_tag_list_from_vorbiscomment_buffer (GstBuffer * buffer,
const guint8 * id_data, const guint8 * id_data,
const guint id_data_length, const guint id_data_length,
gchar ** vendor_string); gchar ** vendor_string);
GST_EXPORT GST_TAG_API
GstBuffer * gst_tag_list_to_vorbiscomment_buffer (const GstTagList * list, GstBuffer * gst_tag_list_to_vorbiscomment_buffer (const GstTagList * list,
const guint8 * id_data, const guint8 * id_data,
const guint id_data_length, const guint id_data_length,
@ -465,112 +466,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(), * 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 */ * which is a bit confusing and possibly doesn't map too well */
GST_EXPORT GST_TAG_API
guint gst_tag_id3_genre_count (void); guint gst_tag_id3_genre_count (void);
GST_EXPORT GST_TAG_API
const gchar * gst_tag_id3_genre_get (const guint id); const gchar * gst_tag_id3_genre_get (const guint id);
GST_EXPORT GST_TAG_API
GstTagList * gst_tag_list_new_from_id3v1 (const guint8 * data); GstTagList * gst_tag_list_new_from_id3v1 (const guint8 * data);
GST_EXPORT GST_TAG_API
const gchar * gst_tag_from_id3_tag (const gchar * id3_tag); const gchar * gst_tag_from_id3_tag (const gchar * id3_tag);
GST_EXPORT GST_TAG_API
const gchar * gst_tag_from_id3_user_tag (const gchar * type, const gchar * gst_tag_from_id3_user_tag (const gchar * type,
const gchar * id3_user_tag); const gchar * id3_user_tag);
GST_EXPORT GST_TAG_API
const gchar * gst_tag_to_id3_tag (const gchar * gst_tag); const gchar * gst_tag_to_id3_tag (const gchar * gst_tag);
GST_EXPORT GST_TAG_API
gboolean gst_tag_list_add_id3_image (GstTagList * tag_list, gboolean gst_tag_list_add_id3_image (GstTagList * tag_list,
const guint8 * image_data, const guint8 * image_data,
guint image_data_len, guint image_data_len,
guint id3_picture_type); guint id3_picture_type);
GST_EXPORT GST_TAG_API
GstTagList * gst_tag_list_from_id3v2_tag (GstBuffer * buffer); GstTagList * gst_tag_list_from_id3v2_tag (GstBuffer * buffer);
GST_EXPORT GST_TAG_API
guint gst_tag_get_id3v2_tag_size (GstBuffer * buffer); guint gst_tag_get_id3v2_tag_size (GstBuffer * buffer);
/* functions to convert GstBuffers with xmp packets contents to GstTagLists and back */ /* functions to convert GstBuffers with xmp packets contents to GstTagLists and back */
GST_EXPORT GST_TAG_API
GstTagList * gst_tag_list_from_xmp_buffer (GstBuffer * buffer); GstTagList * gst_tag_list_from_xmp_buffer (GstBuffer * buffer);
GST_EXPORT GST_TAG_API
GstBuffer * gst_tag_list_to_xmp_buffer (const GstTagList * list, GstBuffer * gst_tag_list_to_xmp_buffer (const GstTagList * list,
gboolean read_only, gboolean read_only,
const gchar ** schemas); const gchar ** schemas);
GST_EXPORT GST_TAG_API
const gchar** gst_tag_xmp_list_schemas (void); const gchar** gst_tag_xmp_list_schemas (void);
/* functions related to exif */ /* functions related to exif */
GST_EXPORT GST_TAG_API
GstBuffer * gst_tag_list_to_exif_buffer (const GstTagList * taglist, GstBuffer * gst_tag_list_to_exif_buffer (const GstTagList * taglist,
gint byte_order, gint byte_order,
guint32 base_offset); guint32 base_offset);
GST_EXPORT GST_TAG_API
GstBuffer * gst_tag_list_to_exif_buffer_with_tiff_header (const GstTagList * taglist); GstBuffer * gst_tag_list_to_exif_buffer_with_tiff_header (const GstTagList * taglist);
GST_EXPORT GST_TAG_API
GstTagList * gst_tag_list_from_exif_buffer (GstBuffer * buffer, GstTagList * gst_tag_list_from_exif_buffer (GstBuffer * buffer,
gint byte_order, gint byte_order,
guint32 base_offset); guint32 base_offset);
GST_EXPORT GST_TAG_API
GstTagList * gst_tag_list_from_exif_buffer_with_tiff_header ( GstTagList * gst_tag_list_from_exif_buffer_with_tiff_header (
GstBuffer * buffer); GstBuffer * buffer);
/* other tag-related functions */ /* other tag-related functions */
GST_EXPORT GST_TAG_API
gboolean gst_tag_parse_extended_comment (const gchar * ext_comment, gboolean gst_tag_parse_extended_comment (const gchar * ext_comment,
gchar ** key, gchar ** key,
gchar ** lang, gchar ** lang,
gchar ** value, gchar ** value,
gboolean fail_if_no_key); gboolean fail_if_no_key);
GST_EXPORT GST_TAG_API
gchar * gst_tag_freeform_string_to_utf8 (const gchar * data, gchar * gst_tag_freeform_string_to_utf8 (const gchar * data,
gint size, gint size,
const gchar ** env_vars); const gchar ** env_vars);
GST_EXPORT GST_TAG_API
GstSample * gst_tag_image_data_to_image_sample (const guint8 * image_data, GstSample * gst_tag_image_data_to_image_sample (const guint8 * image_data,
guint image_data_len, guint image_data_len,
GstTagImageType image_type); GstTagImageType image_type);
/* FIXME 0.11: get rid of this awkward register/init function, see tags.c */ /* FIXME 0.11: get rid of this awkward register/init function, see tags.c */
GST_EXPORT GST_TAG_API
void gst_tag_register_musicbrainz_tags (void); void gst_tag_register_musicbrainz_tags (void);
/* language tag related functions */ /* language tag related functions */
GST_EXPORT GST_TAG_API
gchar ** gst_tag_get_language_codes (void); gchar ** gst_tag_get_language_codes (void);
GST_EXPORT GST_TAG_API
const gchar * gst_tag_get_language_name (const gchar * language_code); const gchar * gst_tag_get_language_name (const gchar * language_code);
GST_EXPORT GST_TAG_API
const gchar * gst_tag_get_language_code_iso_639_1 (const gchar * lang_code); const gchar * gst_tag_get_language_code_iso_639_1 (const gchar * lang_code);
GST_EXPORT GST_TAG_API
const gchar * gst_tag_get_language_code_iso_639_2B (const gchar * lang_code); const gchar * gst_tag_get_language_code_iso_639_2B (const gchar * lang_code);
GST_EXPORT GST_TAG_API
const gchar * gst_tag_get_language_code_iso_639_2T (const gchar * lang_code); const gchar * gst_tag_get_language_code_iso_639_2T (const gchar * lang_code);
GST_EXPORT GST_TAG_API
gboolean gst_tag_check_language_code (const gchar * lang_code); gboolean gst_tag_check_language_code (const gchar * lang_code);
/** /**
@ -642,25 +643,25 @@ typedef enum {
GST_TAG_LICENSE_FREE_SOFTWARE_FOUNDATION_LICENSE = (1 << 25) GST_TAG_LICENSE_FREE_SOFTWARE_FOUNDATION_LICENSE = (1 << 25)
} GstTagLicenseFlags; } GstTagLicenseFlags;
GST_EXPORT GST_TAG_API
gchar ** gst_tag_get_licenses (void); gchar ** gst_tag_get_licenses (void);
GST_EXPORT GST_TAG_API
GstTagLicenseFlags gst_tag_get_license_flags (const gchar * license_ref); GstTagLicenseFlags gst_tag_get_license_flags (const gchar * license_ref);
GST_EXPORT GST_TAG_API
const gchar * gst_tag_get_license_nick (const gchar * license_ref); const gchar * gst_tag_get_license_nick (const gchar * license_ref);
GST_EXPORT GST_TAG_API
const gchar * gst_tag_get_license_title (const gchar * license_ref); const gchar * gst_tag_get_license_title (const gchar * license_ref);
GST_EXPORT GST_TAG_API
const gchar * gst_tag_get_license_version (const gchar * license_ref); const gchar * gst_tag_get_license_version (const gchar * license_ref);
GST_EXPORT GST_TAG_API
const gchar * gst_tag_get_license_description (const gchar * license_ref); const gchar * gst_tag_get_license_description (const gchar * license_ref);
GST_EXPORT GST_TAG_API
const gchar * gst_tag_get_license_jurisdiction (const gchar * license_ref); const gchar * gst_tag_get_license_jurisdiction (const gchar * license_ref);
G_END_DECLS G_END_DECLS

View file

@ -8,11 +8,11 @@
import sys, os, shutil, subprocess import sys, os, shutil, subprocess
h_array = ['--fhead', h_array = ['--fhead',
"#ifndef __GST_TAG_ENUM_TYPES_H__\n#define __GST_TAG_ENUM_TYPES_H__\n\n#include <gst/gst.h>\n\nG_BEGIN_DECLS\n", "#ifndef __GST_TAG_ENUM_TYPES_H__\n#define __GST_TAG_ENUM_TYPES_H__\n\n#include <gst/gst.h>\n#include <gst/tag/tag-prelude.h>\nG_BEGIN_DECLS\n",
'--fprod', '--fprod',
"\n/* enumerations from \"@filename@\" */\n", "\n/* enumerations from \"@filename@\" */\n",
'--vhead', '--vhead',
'GST_EXPORT GType @enum_name@_get_type (void);\n#define GST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n', 'GST_TAG_API GType @enum_name@_get_type (void);\n#define GST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n',
'--ftail', '--ftail',
'G_END_DECLS\n\n#endif /* __GST_TAG_ENUM_TYPES_H__ */', 'G_END_DECLS\n\n#endif /* __GST_TAG_ENUM_TYPES_H__ */',
] ]

View file

@ -21,6 +21,7 @@
#define __TAG_XMP_WRITER_H__ #define __TAG_XMP_WRITER_H__
#include <gst/gst.h> #include <gst/gst.h>
#include <gst/tag/tag-prelude.h>
G_BEGIN_DECLS G_BEGIN_DECLS
@ -40,28 +41,28 @@ struct _GstTagXmpWriterInterface {
GTypeInterface parent; GTypeInterface parent;
}; };
GST_EXPORT GST_TAG_API
GType gst_tag_xmp_writer_get_type (void); GType gst_tag_xmp_writer_get_type (void);
GST_EXPORT GST_TAG_API
void gst_tag_xmp_writer_add_all_schemas (GstTagXmpWriter * config); void gst_tag_xmp_writer_add_all_schemas (GstTagXmpWriter * config);
GST_EXPORT GST_TAG_API
void gst_tag_xmp_writer_add_schema (GstTagXmpWriter * config, void gst_tag_xmp_writer_add_schema (GstTagXmpWriter * config,
const gchar * schema); const gchar * schema);
GST_EXPORT GST_TAG_API
gboolean gst_tag_xmp_writer_has_schema (GstTagXmpWriter * config, gboolean gst_tag_xmp_writer_has_schema (GstTagXmpWriter * config,
const gchar * schema); const gchar * schema);
GST_EXPORT GST_TAG_API
void gst_tag_xmp_writer_remove_schema (GstTagXmpWriter * config, void gst_tag_xmp_writer_remove_schema (GstTagXmpWriter * config,
const gchar * schema); const gchar * schema);
GST_EXPORT GST_TAG_API
void gst_tag_xmp_writer_remove_all_schemas (GstTagXmpWriter * config); void gst_tag_xmp_writer_remove_all_schemas (GstTagXmpWriter * config);
GST_EXPORT GST_TAG_API
GstBuffer* gst_tag_xmp_writer_tag_list_to_xmp_buffer (GstTagXmpWriter * config, GstBuffer* gst_tag_xmp_writer_tag_list_to_xmp_buffer (GstTagXmpWriter * config,
const GstTagList * taglist, const GstTagList * taglist,
gboolean read_only); gboolean read_only);