\section{ost::Audio\-Register\-Codec Class Reference} \label{classost_1_1_audio_register_codec}\index{ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}} This class is used by loadable modules and application specific code to register new codec modules. a base class for codec registration. {\tt \#include $<$audio.h$>$} \subsection*{Public Methods} \begin{CompactItemize} \item virtual {\bf audioencoding\_\-t} {\bf get\-Encoding} (void)=0 \begin{CompactList}\small\item\em Get the encoding format of this codec registry.\item\end{CompactList}\item virtual unsigned {\bf get\-Rate} (void) \begin{CompactList}\small\item\em Get the default sample rate for this codec type.\item\end{CompactList}\item virtual char $\ast$ {\bf get\-Name} (void)=0 \begin{CompactList}\small\item\em Get a logical name for this codec.\item\end{CompactList}\item virtual {\bf Audio\-Codec} $\ast$ {\bf get\-Codec} (unsigned frames)=0 \begin{CompactList}\small\item\em Creates a new codec from the registry class.\item\end{CompactList}\item virtual {\bf Audio\-Sample} $\ast$ {\bf get\-Tone} (unsigned f1, unsigned f2, unsigned maxsize, unsigned maxtone=0)=0 \begin{CompactList}\small\item\em Create a new Tone object from the registry class.\item\end{CompactList}\item unsigned {\bf get\-Frame\-Size} (void) \begin{CompactList}\small\item\em Return minimum codec frame size in samples.\item\end{CompactList}\item unsigned {\bf get\-Frame\-Count} (void) \begin{CompactList}\small\item\em Get the default or preferred number of frames for optimal performance.\item\end{CompactList}\end{CompactItemize} \subsection*{Protected Methods} \begin{CompactItemize} \item {\bf Audio\-Register\-Codec} (unsigned min, unsigned def=1) \end{CompactItemize} \subsection*{Protected Attributes} \begin{CompactItemize} \item unsigned {\bf minframe} \item unsigned {\bf framecnt} \end{CompactItemize} \subsection*{Friends} \begin{CompactItemize} \item Audio\-Register\-Codec $\ast$ {\bf find\-Codec} ({\bf audioencoding\_\-t} encoding, unsigned rate=0) \begin{CompactList}\small\item\em Locate a codec registry object.\item\end{CompactList}\item Audio\-Register\-Codec $\ast$ {\bf find\-Codec} (const char $\ast$name) \begin{CompactList}\small\item\em Locate a codec registry object by name.\item\end{CompactList}\item {\bf Audio\-Codec} $\ast$ {\bf get\-Codec} ({\bf audioencoding\_\-t} encoding, unsigned rate=0, unsigned frames=0) \begin{CompactList}\small\item\em Create a new codec object from the registry to use for transcoding.\item\end{CompactList}\item {\bf Audio\-Codec} $\ast$ {\bf get\-Codec} (const char $\ast$name, unsigned frame=0) \begin{CompactList}\small\item\em Create a new codec object from a named registry to use for transcoding.\item\end{CompactList}\end{CompactItemize} \subsection{Detailed Description} This class is used by loadable modules and application specific code to register new codec modules. a base class for codec registration. A derived xxx\-Register\-Codec class will typically exist as a static member of an xxx\-Codec class to automatically register the codec at system load time. \begin{Desc} \item[Author: ]\par David Sugar $<${\tt dyfet@ostel.com}$>$ \end{Desc} \subsection{Constructor \& Destructor Documentation} \index{ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}!AudioRegisterCodec@{AudioRegisterCodec}} \index{AudioRegisterCodec@{AudioRegisterCodec}!ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}ost::Audio\-Register\-Codec::Audio\-Register\-Codec (unsigned {\em min}, unsigned {\em def} = 1)\hspace{0.3cm}{\tt [protected]}}\label{classost_1_1_audio_register_codec_b0} \subsection{Member Function Documentation} \index{ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}!getCodec@{getCodec}} \index{getCodec@{getCodec}!ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf Audio\-Codec}$\ast$ ost::Audio\-Register\-Codec::get\-Codec (unsigned {\em frames})\hspace{0.3cm}{\tt [pure virtual]}}\label{classost_1_1_audio_register_codec_a3} Creates a new codec from the registry class. This creates an object of \char`\"{}frame\char`\"{} size, as a multiple of the min. frame size. This is usually just a new xxx\-Codec(frames $\ast$ minframe).\begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em number}]of \char`\"{}minframe\char`\"{} sample frames in transcoder. \end{description} \end{Desc} \index{ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}!getEncoding@{getEncoding}} \index{getEncoding@{getEncoding}!ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf audioencoding\_\-t} ost::Audio\-Register\-Codec::get\-Encoding (void)\hspace{0.3cm}{\tt [pure virtual]}}\label{classost_1_1_audio_register_codec_a0} Get the encoding format of this codec registry. \begin{Desc} \item[Returns: ]\par audio encoding format. \end{Desc} \index{ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}!getFrameCount@{getFrameCount}} \index{getFrameCount@{getFrameCount}!ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned ost::Audio\-Register\-Codec::get\-Frame\-Count (void)\hspace{0.3cm}{\tt [inline]}}\label{classost_1_1_audio_register_codec_a6} Get the default or preferred number of frames for optimal performance. \begin{Desc} \item[Returns: ]\par codec transcoding preferred sample resolution. \end{Desc} \index{ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}!getFrameSize@{getFrameSize}} \index{getFrameSize@{getFrameSize}!ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned ost::Audio\-Register\-Codec::get\-Frame\-Size (void)\hspace{0.3cm}{\tt [inline]}}\label{classost_1_1_audio_register_codec_a5} Return minimum codec frame size in samples. \begin{Desc} \item[Returns: ]\par codec transcoding sample size resolution. \end{Desc} \index{ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}!getName@{getName}} \index{getName@{getName}!ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual char$\ast$ ost::Audio\-Register\-Codec::get\-Name (void)\hspace{0.3cm}{\tt [pure virtual]}}\label{classost_1_1_audio_register_codec_a2} Get a logical name for this codec. \begin{Desc} \item[Returns: ]\par null terminated name string. \end{Desc} \index{ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}!getRate@{getRate}} \index{getRate@{getRate}!ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual unsigned ost::Audio\-Register\-Codec::get\-Rate (void)\hspace{0.3cm}{\tt [inline, virtual]}}\label{classost_1_1_audio_register_codec_a1} Get the default sample rate for this codec type. \begin{Desc} \item[Returns: ]\par samples per second. \end{Desc} \index{ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}!getTone@{getTone}} \index{getTone@{getTone}!ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf Audio\-Sample}$\ast$ ost::Audio\-Register\-Codec::get\-Tone (unsigned {\em f1}, unsigned {\em f2}, unsigned {\em maxsize}, unsigned {\em maxtone} = 0)\hspace{0.3cm}{\tt [pure virtual]}}\label{classost_1_1_audio_register_codec_a4} Create a new Tone object from the registry class. This creates a tone buffer ({\bf Audio\-Tone} {\rm (p.\,\pageref{classost_1_1_audio_tone})}-like sample) encoded in the format of the given codec.\begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em first}]tone frequency. \item[{\em second}]tone frequency. \item[{\em max}]frames of sample. \item[{\em max}]frames of tone. \end{description} \end{Desc} \begin{Desc} \item[Returns: ]\par audio sample in encoded format. \end{Desc} \subsection{Friends And Related Function Documentation} \index{ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}!findCodec@{findCodec}} \index{findCodec@{findCodec}!ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}Audio\-Register\-Codec$\ast$ find\-Codec (const char $\ast$ {\em name})\hspace{0.3cm}{\tt [friend]}}\label{classost_1_1_audio_register_codec_l1} Locate a codec registry object by name. \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em name}]of codec registry to locate. \end{description} \end{Desc} \index{ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}!findCodec@{findCodec}} \index{findCodec@{findCodec}!ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}Audio\-Register\-Codec$\ast$ find\-Codec ({\bf audioencoding\_\-t} {\em encoding}, unsigned {\em rate} = 0)\hspace{0.3cm}{\tt [friend]}}\label{classost_1_1_audio_register_codec_l0} Locate a codec registry object. \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em encoding}]of codec registry to locate. \item[{\em optional}]sample rate of codec registry to locate. \end{description} \end{Desc} \index{ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}!getCodec@{getCodec}} \index{getCodec@{getCodec}!ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Audio\-Codec}$\ast$ get\-Codec (const char $\ast$ {\em name}, unsigned {\em frame} = 0)\hspace{0.3cm}{\tt [friend]}}\label{classost_1_1_audio_register_codec_l3} Create a new codec object from a named registry to use for transcoding. \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em name}]of codec to create. \item[{\em frame}]count to process or 0 for default frame size. \end{description} \end{Desc} \index{ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}!getCodec@{getCodec}} \index{getCodec@{getCodec}!ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Audio\-Codec}$\ast$ get\-Codec ({\bf audioencoding\_\-t} {\em encoding}, unsigned {\em rate} = 0, unsigned {\em frames} = 0)\hspace{0.3cm}{\tt [friend]}}\label{classost_1_1_audio_register_codec_l2} Create a new codec object from the registry to use for transcoding. \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em encoding}]of codec to create. \item[{\em optional}]sample rate of codec being created. \item[{\em sample}]frames (multiples of minframe) or 0 for defframe. \end{description} \end{Desc} \subsection{Member Data Documentation} \index{ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}!framecnt@{framecnt}} \index{framecnt@{framecnt}!ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned ost::Audio\-Register\-Codec::framecnt\hspace{0.3cm}{\tt [protected]}}\label{classost_1_1_audio_register_codec_n1} \index{ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}!minframe@{minframe}} \index{minframe@{minframe}!ost::AudioRegisterCodec@{ost::Audio\-Register\-Codec}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned ost::Audio\-Register\-Codec::minframe\hspace{0.3cm}{\tt [protected]}}\label{classost_1_1_audio_register_codec_n0} The documentation for this class was generated from the following file:\begin{CompactItemize} \item {\bf audio.h}\end{CompactItemize}