From: Tim-Philipp Müller Date: Thu, 22 Jun 2006 10:55:05 +0000 (+0000) Subject: API: add GstTagImageType enum to describe images contained in image tags (#345641). X-Git-Tag: 1.19.3~511^2~11785 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f8f78cb0234ad28a60c52d84c0038ac39b246192;p=platform%2Fupstream%2Fgstreamer.git 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). --- diff --git a/ChangeLog b/ChangeLog index 1a9031c..a0027f5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2006-06-22 Tim-Philipp Müller + * 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 + * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init): Fix warnings with gst-inspect: "buffers-min" property should be of G_TYPE_INT and not G_TYPE_INT64. Also fix diff --git a/docs/libs/gst-plugins-base-libs-sections.txt b/docs/libs/gst-plugins-base-libs-sections.txt index 2cb476b..852aa9a 100644 --- a/docs/libs/gst-plugins-base-libs-sections.txt +++ b/docs/libs/gst-plugins-base-libs-sections.txt @@ -853,6 +853,10 @@ GST_TAG_CMML_CLIP GST_TAG_CMML_HEAD GST_TAG_CMML_STREAM gst_tag_register_musicbrainz_tags +GstTagImageType + +GST_TYPE_TAG_IMAGE_TYPE +gst_tag_image_type_get_type GstTagEntryMatch diff --git a/gst-libs/gst/tag/tag.h b/gst-libs/gst/tag/tag.h index a0cb63e..98cb4c5 100644 --- a/gst-libs/gst/tag/tag.h +++ b/gst-libs/gst/tag/tag.h @@ -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); diff --git a/gst-libs/gst/tag/tags.c b/gst-libs/gst/tag/tags.c index c624764..9a7bcd9 100644 --- a/gst-libs/gst/tag/tags.c +++ b/gst-libs/gst/tag/tags.c @@ -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; +}