gsttagid3

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

Functions

Object Hierarchy


Includes

#include <gst/tag/tag.h>

Description

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

Functions

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.

Parameters

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.

Parameters

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.

Parameters

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

Parameters

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.

Parameters

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.

Parameters

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;

Parameters

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.

Parameters

buffer

buffer to convert

 

Returns

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

Types and Values

See Also

GstTagList