libvorbis documentation

libvorbis version 1.3.2 - 20101101


declared in "vorbis/codec.h"

The vorbis_comment structure defines an Ogg Vorbis comment.

Only the fields the program needs must be defined. If a field isn't defined by the application, it will either be blank (if it's a string value) or set to some reasonable default (usually 0).

Note: When encoding, while it is supported to modify a vorbis_comment structure directly, be sure to read the notes on the vorbis_comment_init and vorbis_comment_clear pages for considerations on memory allocation and freeing before you do so. Rule of thumb: call vorbis_comment_init, then either do all allocation, freeing, and modification yourself and do not call vorbis_comment_clear, or do all modification using libvorbis functions and do call vorbis_comment_clear.

typedef struct vorbis_comment{
  /* unlimited user comment fields. */
  char **user_comments;
  int  *comment_lengths;
  int  comments;
  char *vendor;

} vorbis_comment;


Unlimited user comment array. The individual strings in the array are 8 bit clean, by the Vorbis specification, and as such the comment_lengths array should be consulted to determine string length. For convenience, each string is also NULL-terminated by the decode library (although Vorbis comments are not NULL terminated within the bitstream itself).
An int array that stores the length of each comment string
Int signifying number of user comments in user_comments field.
Information about the Vorbis implementation that encoded the file. Stored in a standard C 0-terminated string. Libvorbis will fill this in itself when encoding a comment packet from this structure; when decoding, this contains the vendor string that was in the comment packet.

copyright © 2000-2010 Xiph.Org

Ogg Vorbis

libvorbis documentation

libvorbis version 1.3.2 - 20101101