API: add GstTagImageType enum to describe images contained in image tags (#345641).

Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/tag/tag.h:
* gst-libs/gst/tag/tags.c: (register_tag_image_type_enum),
(gst_tag_image_type_get_type):
API: add GstTagImageType enum to describe images contained
in image tags (#345641).
This commit is contained in:
Tim-Philipp Müller 2006-06-22 10:55:05 +00:00
parent 0ffac4cd56
commit f8f78cb023
4 changed files with 114 additions and 0 deletions

View file

@ -1,3 +1,12 @@
2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/tag/tag.h:
* gst-libs/gst/tag/tags.c: (register_tag_image_type_enum),
(gst_tag_image_type_get_type):
API: add GstTagImageType enum to describe images contained
in image tags (#345641).
2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):

View file

@ -853,6 +853,10 @@ GST_TAG_CMML_CLIP
GST_TAG_CMML_HEAD
GST_TAG_CMML_STREAM
gst_tag_register_musicbrainz_tags
GstTagImageType
<SUBSECTION Standard>
GST_TYPE_TAG_IMAGE_TYPE
gst_tag_image_type_get_type
<SUBSECTION Private>
GstTagEntryMatch
</SECTION>

View file

@ -84,6 +84,61 @@ G_BEGIN_DECLS
#define GST_TAG_CMML_CLIP "cmml-clip"
/* additional information for image tags */
/**
* GstTagImageType:
* @GST_TAG_IMAGE_TYPE_UNDEFINED : Undefined/other image type
* @GST_TAG_IMAGE_TYPE_FRONT_COVER : Cover (front)
* @GST_TAG_IMAGE_TYPE_BACK_COVER : Cover (back)
* @GST_TAG_IMAGE_TYPE_LEAFLET_PAGE : Leaflet page
* @GST_TAG_IMAGE_TYPE_MEDIUM : Medium (e.g. label side of CD)
* @GST_TAG_IMAGE_TYPE_LEAD_ARTIST : Lead artist/lead performer/soloist
* @GST_TAG_IMAGE_TYPE_ARTIST : Artist/performer
* @GST_TAG_IMAGE_TYPE_CONDUCTOR : Conductor
* @GST_TAG_IMAGE_TYPE_BAND_ORCHESTRA : Band/orchestra
* @GST_TAG_IMAGE_TYPE_COMPOSER : Composer
* @GST_TAG_IMAGE_TYPE_LYRICIST : Lyricist/text writer
* @GST_TAG_IMAGE_TYPE_RECORDING_LOCATION : Recording location
* @GST_TAG_IMAGE_TYPE_DURING_RECORDING : During recording
* @GST_TAG_IMAGE_TYPE_DURING_PERFORMANCE : During performance
* @GST_TAG_IMAGE_TYPE_VIDEO_CAPTURE : Movie/video screen capture
* @GST_TAG_IMAGE_TYPE_FISH : A fish as funny as the ID3v2 spec
* @GST_TAG_IMAGE_TYPE_ILLUSTRATION : Illustration
* @GST_TAG_IMAGE_TYPE_BAND_ARTIST_LOGO : Band/artist logotype
* @GST_TAG_IMAGE_TYPE_PUBLISHER_STUDIO_LOGO : Publisher/studio logotype
*
* Type of image contained in an image tag (specified as field in
* the image buffer's caps structure)
*
* Since: 0.10.10
*/
typedef enum {
GST_TAG_IMAGE_TYPE_UNDEFINED,
GST_TAG_IMAGE_TYPE_FRONT_COVER,
GST_TAG_IMAGE_TYPE_BACK_COVER,
GST_TAG_IMAGE_TYPE_LEAFLET_PAGE,
GST_TAG_IMAGE_TYPE_MEDIUM,
GST_TAG_IMAGE_TYPE_LEAD_ARTIST,
GST_TAG_IMAGE_TYPE_ARTIST,
GST_TAG_IMAGE_TYPE_CONDUCTOR,
GST_TAG_IMAGE_TYPE_BAND_ORCHESTRA,
GST_TAG_IMAGE_TYPE_COMPOSER,
GST_TAG_IMAGE_TYPE_LYRICIST,
GST_TAG_IMAGE_TYPE_RECORDING_LOCATION,
GST_TAG_IMAGE_TYPE_DURING_RECORDING,
GST_TAG_IMAGE_TYPE_DURING_PERFORMANCE,
GST_TAG_IMAGE_TYPE_VIDEO_CAPTURE,
GST_TAG_IMAGE_TYPE_FISH,
GST_TAG_IMAGE_TYPE_ILLUSTRATION,
GST_TAG_IMAGE_TYPE_BAND_ARTIST_LOGO,
GST_TAG_IMAGE_TYPE_PUBLISHER_STUDIO_LOGO
} GstTagImageType;
#define GST_TYPE_TAG_IMAGE_TYPE (gst_tag_image_type_get_type ())
GType gst_tag_image_type_get_type (void);
/* functions for vorbis comment manipulation */
G_CONST_RETURN gchar * gst_tag_from_vorbis_tag (const gchar * vorbis_tag);

View file

@ -83,3 +83,49 @@ gst_tag_register_musicbrainz_tags (void)
g_once (&mb_once, gst_tag_register_musicbrainz_tags_internal, NULL);
}
static void
register_tag_image_type_enum (GType * id)
{
static const GEnumValue image_types[] = {
{GST_TAG_IMAGE_TYPE_UNDEFINED, "Undefined/other image type", "undefined"},
{GST_TAG_IMAGE_TYPE_FRONT_COVER, "Cover (front)", "front-cover"},
{GST_TAG_IMAGE_TYPE_BACK_COVER, "Cover (back)", "back-cover"},
{GST_TAG_IMAGE_TYPE_LEAFLET_PAGE, "Leaflet page", "leaflet-page"},
{GST_TAG_IMAGE_TYPE_MEDIUM, "Medium (e.g. label side of CD)", "medium"},
{GST_TAG_IMAGE_TYPE_LEAD_ARTIST, "Lead artist/lead performer/soloist",
"lead-artist"},
{GST_TAG_IMAGE_TYPE_ARTIST, "Artist/performer", "artist"},
{GST_TAG_IMAGE_TYPE_CONDUCTOR, "Conductor", "conductor"},
{GST_TAG_IMAGE_TYPE_BAND_ORCHESTRA, "Band/orchestra", "band-orchestra"},
{GST_TAG_IMAGE_TYPE_COMPOSER, "Composer", "composer"},
{GST_TAG_IMAGE_TYPE_LYRICIST, "Lyricist/text writer", "lyricist"},
{GST_TAG_IMAGE_TYPE_RECORDING_LOCATION, "Recording location",
"recording-location"},
{GST_TAG_IMAGE_TYPE_DURING_RECORDING, "During recording",
"during-recording"},
{GST_TAG_IMAGE_TYPE_DURING_PERFORMANCE, "During performance",
"during-performance"},
{GST_TAG_IMAGE_TYPE_VIDEO_CAPTURE, "Movie/video screen capture",
"video-capture"},
{GST_TAG_IMAGE_TYPE_FISH, "A fish as funny as the ID3v2 spec", "fish"},
{GST_TAG_IMAGE_TYPE_ILLUSTRATION, "Illustration", "illustration"},
{GST_TAG_IMAGE_TYPE_BAND_ARTIST_LOGO, "Band/artist logotype",
"artist-logo"},
{GST_TAG_IMAGE_TYPE_PUBLISHER_STUDIO_LOGO, "Publisher/studio logotype",
"publisher-studio-logo"},
{0, NULL, NULL}
};
*id = g_enum_register_static ("GstTagImageType", image_types);
}
GType
gst_tag_image_type_get_type (void)
{
static GType id;
static GOnce once = G_ONCE_INIT;
g_once (&once, (GThreadFunc) register_tag_image_type_enum, &id);
return id;
}