# theora_comment Struct Reference
[Legacy pre-1.0 C API]

Comment header metadata. More...

`#include <theora.h>`

## Data Fields

char ** | user_comments
| An array of comment string vectors.
int * | comment_lengths
| An array of corresponding string vector lengths in bytes.
int | comments
| The total number of comment string vectors.
char * | vendor
| The vendor string identifying the encoder, null terminated.

## Detailed Description

Comment header metadata.

This structure holds the in-stream metadata corresponding to the 'comment' header packet.

Meta data is stored as a series of (tag, value) pairs, in length-encoded string vectors. The first occurence of the '=' character delimits the tag and value. A particular tag may occur more than once. The character set encoding for the strings is always UTF-8, but the tag names are limited to case-insensitive ASCII. See the spec for details.

In filling in this structure, theora_decode_header() will null-terminate the user_comment strings for safety. However, the bitstream format itself treats them as 8-bit clean, and so the length array should be treated as authoritative for their length.

## Field Documentation

int* theora_comment::comment_lengths

An array of corresponding string vector lengths in bytes.

int theora_comment::comments

The total number of comment string vectors.

char** theora_comment::user_comments

An array of comment string vectors.

char* theora_comment::vendor

The vendor string identifying the encoder, null terminated.

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

- theora.h