libtheora 1.1.1
Data Fields
th_comment Struct Reference

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.
 

Detailed Description

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.

Field Documentation

◆ comment_lengths

int* th_comment::comment_lengths

An array of the corresponding length of each vector, in bytes.

◆ comments

int th_comment::comments

The total number of comment strings.

◆ user_comments

char** th_comment::user_comments

The array of comment string vectors.

◆ vendor

char* th_comment::vendor

The null-terminated vendor string.

This identifies the software used to encode the stream.


The documentation for this struct was generated from the following file: