\doxysection{oggz\+\_\+deprecated.\+h File Reference}
\label{oggz__deprecated_8h}\index{oggz\_deprecated.h@{oggz\_deprecated.h}}


Deprecated interfaces.  


\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+U\+S\+E\+R\+\_\+\+S\+T\+O\+P\+P\+ED}~\textbf{ O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+S\+T\+O\+P\+\_\+\+OK}
\begin{DoxyCompactList}\small\item\em D\+E\+P\+R\+E\+C\+A\+T\+ED C\+O\+N\+S\+T\+A\+NT. \end{DoxyCompactList}\item 
\#define \textbf{ O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+R\+E\+A\+D\+\_\+\+S\+T\+O\+P\+\_\+\+OK}~\textbf{ O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+S\+T\+O\+P\+\_\+\+OK}
\begin{DoxyCompactList}\small\item\em D\+E\+P\+R\+E\+C\+A\+T\+ED C\+O\+N\+S\+T\+A\+NT. \end{DoxyCompactList}\item 
\#define \textbf{ O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+R\+E\+A\+D\+\_\+\+S\+T\+O\+P\+\_\+\+E\+RR}~\textbf{ O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+S\+T\+O\+P\+\_\+\+E\+RR}
\begin{DoxyCompactList}\small\item\em D\+E\+P\+R\+E\+C\+A\+T\+ED C\+O\+N\+S\+T\+A\+NT. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \textbf{ oggz\+\_\+set\+\_\+metric\+\_\+linear} (\textbf{ O\+G\+GZ} $\ast$oggz, long serialno, ogg\+\_\+int64\+\_\+t granule\+\_\+rate\+\_\+numerator, ogg\+\_\+int64\+\_\+t granule\+\_\+rate\+\_\+denominator)
\begin{DoxyCompactList}\small\item\em D\+E\+P\+R\+E\+C\+A\+T\+ED F\+U\+N\+C\+T\+I\+ON This function has been replaced with the more clearly named \doxyref{oggz\+\_\+set\+\_\+granulerate()}{p.}{group__metric_gaa2a86ec590161bc2295a2c8e91cefa49}. \end{DoxyCompactList}\item 
ogg\+\_\+packet $\ast$ \textbf{ oggz\+\_\+comment\+\_\+generate} (\textbf{ O\+G\+GZ} $\ast$oggz, long serialno, \textbf{ Oggz\+Stream\+Content} packet\+\_\+type, int F\+L\+A\+C\+\_\+final\+\_\+metadata\+\_\+block)
\begin{DoxyCompactList}\small\item\em D\+E\+P\+R\+E\+C\+A\+T\+ED F\+U\+N\+C\+T\+I\+ON This function has been replaced with \doxyref{oggz\+\_\+comments\+\_\+generate()}{p.}{oggz__comments_8h_a1ee69481fa517d80e63db962a23d53ae}, which does not require the packet\+\_\+type argument. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Deprecated interfaces. 



\doxysubsection{Macro Definition Documentation}
\mbox{\label{oggz__deprecated_8h_a7fb3e5030a672e6ecfd8e8e6bf57fdfa}} 
\index{oggz\_deprecated.h@{oggz\_deprecated.h}!OGGZ\_ERR\_READ\_STOP\_ERR@{OGGZ\_ERR\_READ\_STOP\_ERR}}
\index{OGGZ\_ERR\_READ\_STOP\_ERR@{OGGZ\_ERR\_READ\_STOP\_ERR}!oggz\_deprecated.h@{oggz\_deprecated.h}}
\doxysubsubsection{OGGZ\_ERR\_READ\_STOP\_ERR}
{\footnotesize\ttfamily \#define O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+R\+E\+A\+D\+\_\+\+S\+T\+O\+P\+\_\+\+E\+RR~\textbf{ O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+S\+T\+O\+P\+\_\+\+E\+RR}}



D\+E\+P\+R\+E\+C\+A\+T\+ED C\+O\+N\+S\+T\+A\+NT. 

O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+R\+E\+A\+D\+\_\+\+S\+T\+O\+P\+\_\+\+OK, O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+R\+E\+A\+D\+\_\+\+S\+T\+O\+P\+\_\+\+E\+RR were introduced to allow the user to differentiate between a cancelled oggz\+\_\+read\+\_\+$\ast$() returning due to error or an ok condition. From 0.\+9.\+4 similar functionality was added for oggz\+\_\+write\+\_\+$\ast$(), hence this constant was renamed. \mbox{\label{oggz__deprecated_8h_a0d9b4d212038e72fb45d751fe750d3cf}} 
\index{oggz\_deprecated.h@{oggz\_deprecated.h}!OGGZ\_ERR\_READ\_STOP\_OK@{OGGZ\_ERR\_READ\_STOP\_OK}}
\index{OGGZ\_ERR\_READ\_STOP\_OK@{OGGZ\_ERR\_READ\_STOP\_OK}!oggz\_deprecated.h@{oggz\_deprecated.h}}
\doxysubsubsection{OGGZ\_ERR\_READ\_STOP\_OK}
{\footnotesize\ttfamily \#define O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+R\+E\+A\+D\+\_\+\+S\+T\+O\+P\+\_\+\+OK~\textbf{ O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+S\+T\+O\+P\+\_\+\+OK}}



D\+E\+P\+R\+E\+C\+A\+T\+ED C\+O\+N\+S\+T\+A\+NT. 

O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+R\+E\+A\+D\+\_\+\+S\+T\+O\+P\+\_\+\+OK, O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+R\+E\+A\+D\+\_\+\+S\+T\+O\+P\+\_\+\+E\+RR were introduced to allow the user to differentiate between a cancelled oggz\+\_\+read\+\_\+$\ast$() returning due to error or an ok condition. From 0.\+9.\+4 similar functionality was added for oggz\+\_\+write\+\_\+$\ast$(), hence this constant was renamed. \mbox{\label{oggz__deprecated_8h_aaa24ef96507165b2c5e1ac4108d59288}} 
\index{oggz\_deprecated.h@{oggz\_deprecated.h}!OGGZ\_ERR\_USER\_STOPPED@{OGGZ\_ERR\_USER\_STOPPED}}
\index{OGGZ\_ERR\_USER\_STOPPED@{OGGZ\_ERR\_USER\_STOPPED}!oggz\_deprecated.h@{oggz\_deprecated.h}}
\doxysubsubsection{OGGZ\_ERR\_USER\_STOPPED}
{\footnotesize\ttfamily \#define O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+U\+S\+E\+R\+\_\+\+S\+T\+O\+P\+P\+ED~\textbf{ O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+S\+T\+O\+P\+\_\+\+OK}}



D\+E\+P\+R\+E\+C\+A\+T\+ED C\+O\+N\+S\+T\+A\+NT. 

O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+U\+S\+E\+R\+\_\+\+S\+T\+O\+P\+P\+ED was introduced during development (post 0.\+8.\+3), and is similar in functionality to and numerically equal to (ie. A\+BI compatible with) O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+S\+T\+O\+P\+\_\+\+OK in $<$\doxyref{oggz/oggz\+\_\+constants.\+h}{p.}{oggz__constants_8h}$>$. It was badly named, as the preferred functionality distinguishes between a user\textquotesingle{}s Oggz\+Read\+Callback returning O\+G\+G\+Z\+\_\+\+S\+T\+O\+P\+\_\+\+OK or O\+G\+G\+Z\+\_\+\+S\+T\+O\+P\+\_\+\+E\+RR; your code should distinguish between these two too \+:-\/) Hence, don\textquotesingle{}t use this (unreleased) name in new code. 

\doxysubsection{Function Documentation}
\mbox{\label{oggz__deprecated_8h_aab908fe161372aceb99f98a3be54ead5}} 
\index{oggz\_deprecated.h@{oggz\_deprecated.h}!oggz\_comment\_generate@{oggz\_comment\_generate}}
\index{oggz\_comment\_generate@{oggz\_comment\_generate}!oggz\_deprecated.h@{oggz\_deprecated.h}}
\doxysubsubsection{oggz\_comment\_generate()}
{\footnotesize\ttfamily ogg\+\_\+packet$\ast$ oggz\+\_\+comment\+\_\+generate (\begin{DoxyParamCaption}\item[{\textbf{ O\+G\+GZ} $\ast$}]{oggz,  }\item[{long}]{serialno,  }\item[{\textbf{ Oggz\+Stream\+Content}}]{packet\+\_\+type,  }\item[{int}]{F\+L\+A\+C\+\_\+final\+\_\+metadata\+\_\+block }\end{DoxyParamCaption})}



D\+E\+P\+R\+E\+C\+A\+T\+ED F\+U\+N\+C\+T\+I\+ON This function has been replaced with \doxyref{oggz\+\_\+comments\+\_\+generate()}{p.}{oggz__comments_8h_a1ee69481fa517d80e63db962a23d53ae}, which does not require the packet\+\_\+type argument. 

Instead, the packet type is determined by the content type of the stream, which was discovered when the bos packet was passed to oggz\+\_\+write\+\_\+feed.

Output a comment packet for the specified stream. 
\begin{DoxyParams}{Parameters}
{\em oggz} & A O\+G\+G\+Z$\ast$ handle (created with O\+G\+G\+Z\+\_\+\+W\+R\+I\+TE) \\
\hline
{\em serialno} & Identify a logical bitstream within {\itshape oggz} \\
\hline
{\em packet\+\_\+type} & Type of comment packet to generate, F\+L\+AC, Ogg\+P\+CM, Speex, Theora and Vorbis are supported \\
\hline
{\em F\+L\+A\+C\+\_\+final\+\_\+metadata\+\_\+block} & Set this to zero unless the packet\+\_\+type is F\+L\+AC, and there are no further metadata blocks to follow. See note below for details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A comment packet for the stream. When no longer needed it should be freed with \doxyref{oggz\+\_\+packet\+\_\+destroy()}{p.}{oggz__comments_8h_a9301332e99b0397cff54c3593595b809}. 
\end{DoxyReturn}

\begin{DoxyRetVals}{Return values}
{\em N\+U\+LL} & content type does not support comments, not enough memory or comment was too long for F\+L\+AC \\
\hline
\end{DoxyRetVals}
\begin{DoxyNote}{Note}
F\+L\+AC streams may contain multiple metadata blocks of different types. When encapsulated in Ogg the first of these must be a Vorbis comment packet but P\+A\+D\+D\+I\+NG, A\+P\+P\+L\+I\+C\+A\+T\+I\+ON, S\+E\+E\+K\+T\+A\+B\+LE, C\+U\+E\+S\+H\+E\+ET and P\+I\+C\+T\+U\+RE may follow. The last metadata block must have its first bit set to 1. Since liboggz does not know whether you will supply more metadata blocks you must tell it if this is the last (or only) metadata block by setting F\+L\+A\+C\+\_\+final\+\_\+metadata\+\_\+block to 1. ~\newline
 As F\+L\+AC metadata blocks are limited in size to 16MB minus 1 byte, this function will refuse to produce longer comment packets for F\+L\+AC. ~\newline
 See {\texttt{ http\+://flac.\+sourceforge.\+net/format.\+html}} for more details. 
\end{DoxyNote}
\mbox{\label{oggz__deprecated_8h_a12f232bca448853e66a1226ddccff7e0}} 
\index{oggz\_deprecated.h@{oggz\_deprecated.h}!oggz\_set\_metric\_linear@{oggz\_set\_metric\_linear}}
\index{oggz\_set\_metric\_linear@{oggz\_set\_metric\_linear}!oggz\_deprecated.h@{oggz\_deprecated.h}}
\doxysubsubsection{oggz\_set\_metric\_linear()}
{\footnotesize\ttfamily int oggz\+\_\+set\+\_\+metric\+\_\+linear (\begin{DoxyParamCaption}\item[{\textbf{ O\+G\+GZ} $\ast$}]{oggz,  }\item[{long}]{serialno,  }\item[{ogg\+\_\+int64\+\_\+t}]{granule\+\_\+rate\+\_\+numerator,  }\item[{ogg\+\_\+int64\+\_\+t}]{granule\+\_\+rate\+\_\+denominator }\end{DoxyParamCaption})}



D\+E\+P\+R\+E\+C\+A\+T\+ED F\+U\+N\+C\+T\+I\+ON This function has been replaced with the more clearly named \doxyref{oggz\+\_\+set\+\_\+granulerate()}{p.}{group__metric_gaa2a86ec590161bc2295a2c8e91cefa49}. 

Specify that a logical bitstream has a linear metric 
\begin{DoxyParams}{Parameters}
{\em oggz} & An O\+G\+GZ handle \\
\hline
{\em serialno} & Identify the logical bitstream in {\itshape oggz} to attach this linear metric to. A value of -\/1 indicates that the metric should be attached to all unattached logical bitstreams in {\itshape oggz}. \\
\hline
{\em granule\+\_\+rate\+\_\+numerator} & The numerator of the granule rate \\
\hline
{\em granule\+\_\+rate\+\_\+denominator} & The denominator of the granule rate \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 Success 
\end{DoxyReturn}

\begin{DoxyRetVals}{Return values}
{\em O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+B\+A\+D\+\_\+\+S\+E\+R\+I\+A\+L\+NO} & {\itshape serialno} does not identify an existing logical bitstream in {\itshape oggz}. \\
\hline
{\em O\+G\+G\+Z\+\_\+\+E\+R\+R\+\_\+\+B\+A\+D\+\_\+\+O\+G\+GZ} & {\itshape oggz} does not refer to an existing O\+G\+GZ \\
\hline
\end{DoxyRetVals}
