## 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);

## 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.

## See Also

GstTagList