The comment information. More...
#include <codec.h>
Data Fields | |
char ** | user_comments |
The array of comment string vectors. | |
int * | comment_lengths |
An array of the corresponding length of each vector, in bytes. | |
int | comments |
The total number of comment strings. | |
char * | vendor |
The null-terminated vendor string. |
The comment information.
This structure holds the in-stream metadata corresponding to the 'comment' header packet. The comment header is meant to be used much like someone jotting a quick note on the label of a video. It should be a short, to the point text note that can be more than a couple words, but not more than a short paragraph.
The metadata is stored as a series of (tag, value) pairs, in length-encoded string vectors. The first occurrence of the '=' character delimits the tag and value. A particular tag may occur more than once, and order is significant. The character set encoding for the strings is always UTF-8, but the tag names are limited to ASCII, and treated as case-insensitive. See the Theora specification, Section 6.3.3 for details.
In filling in this structure, th_decode_headerin() will null-terminate the user_comment strings for safety. However, the bitstream format itself treats them as 8-bit clean vectors, possibly containing null characters, and so the length array should be treated as their authoritative length.
An array of the corresponding length of each vector, in bytes.
The total number of comment strings.
char** th_comment::user_comments |
The array of comment string vectors.
char* th_comment::vendor |
The null-terminated vendor string.
This identifies the software used to encode the stream.