\section{th\-\_\-comment Struct Reference}
\label{structth__comment}\index{th\-\_\-comment@{th\-\_\-comment}}


The comment information.  




{\ttfamily \#include $<$codec.\-h$>$}

\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
char $\ast$$\ast$ {\bf user\-\_\-comments}
\begin{DoxyCompactList}\small\item\em The array of comment string vectors. \end{DoxyCompactList}\item 
int $\ast$ {\bf comment\-\_\-lengths}
\begin{DoxyCompactList}\small\item\em An array of the corresponding length of each vector, in bytes. \end{DoxyCompactList}\item 
int {\bf comments}
\begin{DoxyCompactList}\small\item\em The total number of comment strings. \end{DoxyCompactList}\item 
char $\ast$ {\bf vendor}
\begin{DoxyCompactList}\small\item\em The null-\/terminated vendor string. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{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 U\-T\-F-\/8, but the tag names are limited to A\-S\-C\-I\-I, and treated as case-\/insensitive. See {\tt the Theora specification}, Section 6.\-3.\-3 for details.

In filling in this structure, \doxyref{th\-\_\-decode\-\_\-headerin()}{p.}{group__decfuncs_ga006d01d36fbe64768c571e6a12b7fc50} 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. 

\subsection{Field Documentation}
\index{th\-\_\-comment@{th\-\_\-comment}!comment\-\_\-lengths@{comment\-\_\-lengths}}
\index{comment\-\_\-lengths@{comment\-\_\-lengths}!th_comment@{th\-\_\-comment}}
\subsubsection[{comment\-\_\-lengths}]{\setlength{\rightskip}{0pt plus 5cm}int$\ast$ th\-\_\-comment\-::comment\-\_\-lengths}\label{structth__comment_a723dc6fdf75757e70e28eea864b10898}


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

\index{th\-\_\-comment@{th\-\_\-comment}!comments@{comments}}
\index{comments@{comments}!th_comment@{th\-\_\-comment}}
\subsubsection[{comments}]{\setlength{\rightskip}{0pt plus 5cm}int th\-\_\-comment\-::comments}\label{structth__comment_a5990c34932376f070ad0fc314daaeb78}


The total number of comment strings. 

\index{th\-\_\-comment@{th\-\_\-comment}!user\-\_\-comments@{user\-\_\-comments}}
\index{user\-\_\-comments@{user\-\_\-comments}!th_comment@{th\-\_\-comment}}
\subsubsection[{user\-\_\-comments}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$$\ast$ th\-\_\-comment\-::user\-\_\-comments}\label{structth__comment_ad72830e183e707bb0df423eb73b00de4}


The array of comment string vectors. 

\index{th\-\_\-comment@{th\-\_\-comment}!vendor@{vendor}}
\index{vendor@{vendor}!th_comment@{th\-\_\-comment}}
\subsubsection[{vendor}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ th\-\_\-comment\-::vendor}\label{structth__comment_a93fbe894d23603f56843be15b0cbdba0}


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\-:\begin{DoxyCompactItemize}
\item 
{\bf codec.\-h}\end{DoxyCompactItemize}
