\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. \item\end{DoxyCompactList}\item 
int $\ast$ {\bf comment\_\-lengths}
\begin{DoxyCompactList}\small\item\em An array of the corresponding length of each vector, in bytes. \item\end{DoxyCompactList}\item 
int {\bf comments}
\begin{DoxyCompactList}\small\item\em The total number of comment strings. \item\end{DoxyCompactList}\item 
char $\ast$ {\bf vendor}
\begin{DoxyCompactList}\small\item\em The null-\/terminated vendor string. \item\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 UTF-\/8, but the tag names are limited to ASCII, 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$ {\bf 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 {\bf 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$ {\bf 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$ {\bf 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}
