\hypertarget{classagora_1_1media_1_1_i_video_encoded_frame_observer}{}\doxysection{agora\+::media\+::I\+Video\+Encoded\+Frame\+Observer Class Reference}
\label{classagora_1_1media_1_1_i_video_encoded_frame_observer}\index{agora::media::IVideoEncodedFrameObserver@{agora::media::IVideoEncodedFrameObserver}}


{\ttfamily \#include $<$Agora\+Media\+Base.\+h$>$}

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual bool \mbox{\hyperlink{classagora_1_1media_1_1_i_video_encoded_frame_observer_ac5d6c9a2cc44afe27821fef9e0ffc478}{on\+Encoded\+Video\+Frame\+Received}} (const char $\ast$channel\+Id, rtc\+::uid\+\_\+t uid, const uint8\+\_\+t $\ast$image\+Buffer, size\+\_\+t length, const \mbox{\hyperlink{structagora_1_1rtc_1_1_encoded_video_frame_info}{rtc\+::\+Encoded\+Video\+Frame\+Info}} \&video\+Encoded\+Frame\+Info)=0
\begin{DoxyCompactList}\small\item\em Reports that the receiver has received the to-\/be-\/decoded video frame sent by the remote end. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The \mbox{\hyperlink{classagora_1_1media_1_1_i_video_encoded_frame_observer}{I\+Video\+Encoded\+Frame\+Observer}} class. 

\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classagora_1_1media_1_1_i_video_encoded_frame_observer_ac5d6c9a2cc44afe27821fef9e0ffc478}\label{classagora_1_1media_1_1_i_video_encoded_frame_observer_ac5d6c9a2cc44afe27821fef9e0ffc478}} 
\index{agora::media::IVideoEncodedFrameObserver@{agora::media::IVideoEncodedFrameObserver}!onEncodedVideoFrameReceived@{onEncodedVideoFrameReceived}}
\index{onEncodedVideoFrameReceived@{onEncodedVideoFrameReceived}!agora::media::IVideoEncodedFrameObserver@{agora::media::IVideoEncodedFrameObserver}}
\doxysubsubsection{\texorpdfstring{onEncodedVideoFrameReceived()}{onEncodedVideoFrameReceived()}}
{\footnotesize\ttfamily virtual bool agora\+::media\+::\+I\+Video\+Encoded\+Frame\+Observer\+::on\+Encoded\+Video\+Frame\+Received (\begin{DoxyParamCaption}\item[{const char $\ast$}]{channel\+Id,  }\item[{rtc\+::uid\+\_\+t}]{uid,  }\item[{const uint8\+\_\+t $\ast$}]{image\+Buffer,  }\item[{size\+\_\+t}]{length,  }\item[{const \mbox{\hyperlink{structagora_1_1rtc_1_1_encoded_video_frame_info}{rtc\+::\+Encoded\+Video\+Frame\+Info}} \&}]{video\+Encoded\+Frame\+Info }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Reports that the receiver has received the to-\/be-\/decoded video frame sent by the remote end. 

If you call the {\ttfamily set\+Remote\+Video\+Subscription\+Options} method and set {\ttfamily encoded\+Frame\+Only} to {\ttfamily true}, the S\+DK triggers this callback locally to report the received encoded video frame information.

\begin{DoxySince}{Since}
4.\+6.\+0 
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em channel\+Id} & The channel name. \\
\hline
{\em uid} & The user ID of the remote user. \\
\hline
{\em image\+Buffer} & The encoded video image buffer. \\
\hline
{\em length} & The data length of the video image. \\
\hline
{\em video\+Encoded\+Frame\+Info} & For the information of the encoded video frame, see {\ttfamily Encoded\+Video\+Frame\+Info}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Without practical meaning. 
\end{DoxyReturn}
