gsttagid3

gsttagid3 — tag mappings and support functions for plugins dealing with ID3v1 and ID3v2 tags

Synopsis

#include <gst/tag/tag.h>

guint               gst_tag_id3_genre_count             (void);
const gchar *       gst_tag_id3_genre_get               (const guint id);
GstTagList *        gst_tag_list_new_from_id3v1         (const guint8 *data);
const gchar *       gst_tag_from_id3_tag                (const gchar *id3_tag);
const gchar *       gst_tag_from_id3_user_tag           (const gchar *type,
                                                         const gchar *id3_user_tag);
const gchar *       gst_tag_to_id3_tag                  (const gchar *gst_tag);
gboolean            gst_tag_list_add_id3_image          (GstTagList *tag_list,
                                                         const guint8 *image_data,
                                                         guint image_data_len,
                                                         guint id3_picture_type);
guint               gst_tag_get_id3v2_tag_size          (GstBuffer *buffer);
GstTagList *        gst_tag_list_from_id3v2_tag         (GstBuffer *buffer);

Description

Contains various utility functions for plugins to parse or create ID3 tags and map ID3v2 identifiers to and from GStreamer identifiers.

Details

gst_tag_id3_genre_count ()

guint               gst_tag_id3_genre_count             (void);

Gets the number of ID3v1 genres that can be identified. Winamp genres are included.

Returns :

the number of ID3v1 genres that can be identified

gst_tag_id3_genre_get ()

const gchar *       gst_tag_id3_genre_get               (const guint id);

Gets the ID3v1 genre name for a given ID.

id :

ID of genre to query

Returns :

the genre or NULL if no genre is associated with that ID.

gst_tag_list_new_from_id3v1 ()

GstTagList *        gst_tag_list_new_from_id3v1         (const guint8 *data);

Parses the data containing an ID3v1 tag and returns a GstTagList from the parsed data.

data :

128 bytes of data containing the ID3v1 tag

Returns :

A new tag list or NULL if the data was not an ID3v1 tag.

gst_tag_from_id3_tag ()

const gchar *       gst_tag_from_id3_tag                (const gchar *id3_tag);

Looks up the GStreamer tag for a ID3v2 tag.

id3_tag :

ID3v2 tag to convert to GStreamer tag

Returns :

The corresponding GStreamer tag or NULL if none exists.

gst_tag_from_id3_user_tag ()

const gchar *       gst_tag_from_id3_user_tag           (const gchar *type,
                                                         const gchar *id3_user_tag);

Looks up the GStreamer tag for an ID3v2 user tag (e.g. description in TXXX frame or owner in UFID frame).

type :

the type of ID3v2 user tag (e.g. "TXXX" or "UDIF")

id3_user_tag :

ID3v2 user tag to convert to GStreamer tag

Returns :

The corresponding GStreamer tag or NULL if none exists.

gst_tag_to_id3_tag ()

const gchar *       gst_tag_to_id3_tag                  (const gchar *gst_tag);

Looks up the ID3v2 tag for a GStreamer tag.

gst_tag :

GStreamer tag to convert to vorbiscomment tag

Returns :

The corresponding ID3v2 tag or NULL if none exists.

gst_tag_list_add_id3_image ()

gboolean            gst_tag_list_add_id3_image          (GstTagList *tag_list,
                                                         const guint8 *image_data,
                                                         guint image_data_len,
                                                         guint id3_picture_type);

Adds an image from an ID3 APIC frame (or similar, such as used in FLAC) to the given tag list. Also see gst_tag_image_data_to_image_sample() for more information on image tags in GStreamer.

tag_list :

a tag list

image_data :

the (encoded) image

image_data_len :

the length of the encoded image data at image_data

id3_picture_type :

picture type as per the ID3 (v2.4.0) specification for the APIC frame (0 = unknown/other)

Returns :

TRUE if the image was processed, otherwise FALSE

gst_tag_get_id3v2_tag_size ()

guint               gst_tag_get_id3v2_tag_size          (GstBuffer *buffer);

Determines size of an ID3v2 tag on buffer containing at least ID3v2 header, i.e. at least GST_TAG_ID3V2_HEADER_SIZE (10) bytes;

buffer :

buffer holding ID3v2 tag (or at least the start of one)

Returns :

Size of tag, or 0 if header is invalid or too small.

gst_tag_list_from_id3v2_tag ()

GstTagList *        gst_tag_list_from_id3v2_tag         (GstBuffer *buffer);

Creates a new tag list that contains the information parsed out of a ID3 tag.

buffer :

buffer to convert

Returns :

A new GstTagList with all tags that could be extracted from the given vorbiscomment buffer or NULL on error.

See Also

GstTagList