\hypertarget{classagora_1_1rtc_1_1_i_extension_decoder_callback}{}\doxysection{agora\+::rtc\+::I\+Extension\+Decoder\+Callback Class Reference}
\label{classagora_1_1rtc_1_1_i_extension_decoder_callback}\index{agora::rtc::IExtensionDecoderCallback@{agora::rtc::IExtensionDecoderCallback}}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \mbox{\hyperlink{classagora_1_1rtc_1_1_i_extension_decoder_callback_ab2e1f846cd9c4e7401a6f939e7b07751}{on\+Decoded\+Frame}} (\mbox{\hyperlink{classagora_1_1agora__refptr}{agora\+\_\+refptr}}$<$ \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_frame}{I\+Video\+Frame}} $>$ frame, const char $\ast$extended\+\_\+info\+\_\+json)=0
\item 
virtual void \mbox{\hyperlink{classagora_1_1rtc_1_1_i_extension_decoder_callback_ad860ba6f02e735f0e43c136907b2ad5a}{print\+Log}} (commons\+::\+L\+O\+G\+\_\+\+L\+E\+V\+EL level, const char $\ast$format,...)=0
\end{DoxyCompactItemize}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_extension_decoder_callback_ab2e1f846cd9c4e7401a6f939e7b07751}\label{classagora_1_1rtc_1_1_i_extension_decoder_callback_ab2e1f846cd9c4e7401a6f939e7b07751}} 
\index{agora::rtc::IExtensionDecoderCallback@{agora::rtc::IExtensionDecoderCallback}!onDecodedFrame@{onDecodedFrame}}
\index{onDecodedFrame@{onDecodedFrame}!agora::rtc::IExtensionDecoderCallback@{agora::rtc::IExtensionDecoderCallback}}
\doxysubsubsection{\texorpdfstring{onDecodedFrame()}{onDecodedFrame()}}
{\footnotesize\ttfamily virtual void agora\+::rtc\+::\+I\+Extension\+Decoder\+Callback\+::on\+Decoded\+Frame (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classagora_1_1agora__refptr}{agora\+\_\+refptr}}$<$ \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_frame}{I\+Video\+Frame}} $>$}]{frame,  }\item[{const char $\ast$}]{extended\+\_\+info\+\_\+json }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}

Called when a video frame has been successfully decoded. 
\begin{DoxyParams}{Parameters}
{\em frame} & A reference to the decoded video frame. \\
\hline
{\em extended\+\_\+info\+\_\+json} & A J\+S\+ON formatted string containing additional information about the decoded frame. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_extension_decoder_callback_ad860ba6f02e735f0e43c136907b2ad5a}\label{classagora_1_1rtc_1_1_i_extension_decoder_callback_ad860ba6f02e735f0e43c136907b2ad5a}} 
\index{agora::rtc::IExtensionDecoderCallback@{agora::rtc::IExtensionDecoderCallback}!printLog@{printLog}}
\index{printLog@{printLog}!agora::rtc::IExtensionDecoderCallback@{agora::rtc::IExtensionDecoderCallback}}
\doxysubsubsection{\texorpdfstring{printLog()}{printLog()}}
{\footnotesize\ttfamily virtual void agora\+::rtc\+::\+I\+Extension\+Decoder\+Callback\+::print\+Log (\begin{DoxyParamCaption}\item[{commons\+::\+L\+O\+G\+\_\+\+L\+E\+V\+EL}]{level,  }\item[{const char $\ast$}]{format,  }\item[{}]{... }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}

Logs messages at various log levels. 
\begin{DoxyParams}{Parameters}
{\em level} & The log level indicating the severity of the message (e.\+g., I\+N\+FO, W\+A\+R\+N\+I\+NG, E\+R\+R\+OR). \\
\hline
{\em format} & A format string for the log message, similar to printf formatting. \\
\hline
{\em ...} & Additional arguments to format the log message. \\
\hline
\end{DoxyParams}
