\doxysection{src/codec/codec.c File Reference} \label{codec_8c}\index{src/codec/codec.c@{src/codec/codec.c}} Osmocom GMR-\/1 AMBE vocoder public API implementation. {\ttfamily \#include $<$string.\+h$>$}\newline {\ttfamily \#include $<$stdint.\+h$>$}\newline {\ttfamily \#include $<$stdlib.\+h$>$}\newline {\ttfamily \#include $<$osmocom/gmr1/codec/codec.\+h$>$}\newline {\ttfamily \#include \char`\"{}private.\+h\char`\"{}}\newline \doxysubsection*{Data Structures} \begin{DoxyCompactItemize} \item struct \textbf{ gmr1\+\_\+codec} \begin{DoxyCompactList}\small\item\em Structure for GMR1 codec state. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection*{Functions} \begin{DoxyCompactItemize} \item struct \textbf{ gmr1\+\_\+codec} $\ast$ \textbf{ gmr1\+\_\+codec\+\_\+alloc} (void) \begin{DoxyCompactList}\small\item\em Allocates and inits a codec object. \end{DoxyCompactList}\item void \textbf{ gmr1\+\_\+codec\+\_\+release} (struct \textbf{ gmr1\+\_\+codec} $\ast$codec) \begin{DoxyCompactList}\small\item\em Release a codec object created by \doxyref{gmr1\+\_\+codec\+\_\+alloc}{p.}{group__codec_ga34e0de595c6498ae39695d5909bec094}. \end{DoxyCompactList}\item int \textbf{ gmr1\+\_\+codec\+\_\+decode\+\_\+frame} (struct \textbf{ gmr1\+\_\+codec} $\ast$codec, int16\+\_\+t $\ast$audio, int N, const uint8\+\_\+t $\ast$frame, int bad) \begin{DoxyCompactList}\small\item\em Decodes an AMBE frame to audio. \end{DoxyCompactList}\item int \textbf{ gmr1\+\_\+codec\+\_\+decode\+\_\+dtx} (struct \textbf{ gmr1\+\_\+codec} $\ast$codec, int16\+\_\+t $\ast$audio, int N) \begin{DoxyCompactList}\small\item\em Generates audio for DTX period. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Detailed Description} Osmocom GMR-\/1 AMBE vocoder public API implementation.