\hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats}{}\doxysection{io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Remote\+Video\+Stats Class Reference}
\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats}\index{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}}


Statistics of the remote video stream.  


\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a42e3e014f7c3b3e011cd8ffa4a90a9a9}{uid}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_aaa34b6a4a63fb43b09397ad2d69e004c}{delay}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a437ec44cdb308c9c268144188463401f}{e2e\+Delay}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_ae2480b37872eb6557088ec32e9fac285}{width}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_aaecc80038d6b9f2ddab727a9a7ab514e}{height}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a1049e04234b5752603ec2e350c5cfa23}{received\+Bitrate}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_abe593c8561b1d31b7cbf183efed1b3a1}{decoder\+Output\+Frame\+Rate}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a353c0d2b20f1f7a227e8359e5c549b09}{renderer\+Output\+Frame\+Rate}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a31d7c6f6029e94908ba53b13a9df694c}{frame\+Loss\+Rate}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a406e77ac7d16e568653933e7a8fcbf80}{packet\+Loss\+Rate}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_abea0ab0eda17120d560d02651042f058}{rx\+Stream\+Type}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a393971eedeb437583ab1fa6cbae7c84a}{total\+Frozen\+Time}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a169743354e07d893874e5181e62bd93d}{frozen\+Rate}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a0d9cdfb0054ee0eb392bab21bce9df99}{av\+Sync\+Time\+Ms}}
\item 
long \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_ab2e47457d5f2122366ee63238b3d9419}{total\+Active\+Time}}
\item 
long \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_acf4e63fa4d0ea58cec379955564503bf}{publish\+Duration}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a5b1f79ced01604f5a3c6dc14a0ec3df6}{mos\+Value}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a2c1cb5eb19b923999a0353b58333ef1c}{rx\+Video\+Bytes}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Statistics of the remote video stream. 

\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a42e3e014f7c3b3e011cd8ffa4a90a9a9}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a42e3e014f7c3b3e011cd8ffa4a90a9a9}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}!uid@{uid}}
\index{uid@{uid}!io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}}
\doxysubsubsection{\texorpdfstring{uid}{uid}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Remote\+Video\+Stats.\+uid}

The user ID of the remote user sending the video stream. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_aaa34b6a4a63fb43b09397ad2d69e004c}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_aaa34b6a4a63fb43b09397ad2d69e004c}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}!delay@{delay}}
\index{delay@{delay}!io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}}
\doxysubsubsection{\texorpdfstring{delay}{delay}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Remote\+Video\+Stats.\+delay}

Deprecated\+: In scenarios where audio and video are synchronized, you can get the video delay data from {\ttfamily network\+Transport\+Delay} and {\ttfamily jitter\+Buffer\+Delay} in {\ttfamily \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_audio_stats}{Remote\+Audio\+Stats}}}. The video delay (ms). \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a437ec44cdb308c9c268144188463401f}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a437ec44cdb308c9c268144188463401f}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}!e2eDelay@{e2eDelay}}
\index{e2eDelay@{e2eDelay}!io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}}
\doxysubsubsection{\texorpdfstring{e2eDelay}{e2eDelay}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Remote\+Video\+Stats.\+e2e\+Delay}

End-\/to-\/end video latency (ms). That is, the time elapsed from the video capturing on the remote user\textquotesingle{}s end to the receiving and rendering of the video on the local user\textquotesingle{}s end. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_ae2480b37872eb6557088ec32e9fac285}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_ae2480b37872eb6557088ec32e9fac285}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}!width@{width}}
\index{width@{width}!io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}}
\doxysubsubsection{\texorpdfstring{width}{width}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Remote\+Video\+Stats.\+width}

The width (pixels) of the video. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_aaecc80038d6b9f2ddab727a9a7ab514e}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_aaecc80038d6b9f2ddab727a9a7ab514e}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}!height@{height}}
\index{height@{height}!io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}}
\doxysubsubsection{\texorpdfstring{height}{height}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Remote\+Video\+Stats.\+height}

The height (pixels) of the video. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a1049e04234b5752603ec2e350c5cfa23}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a1049e04234b5752603ec2e350c5cfa23}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}!receivedBitrate@{receivedBitrate}}
\index{receivedBitrate@{receivedBitrate}!io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}}
\doxysubsubsection{\texorpdfstring{receivedBitrate}{receivedBitrate}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Remote\+Video\+Stats.\+received\+Bitrate}

The bitrate (Kbps) of the remote video received since the last count. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_abe593c8561b1d31b7cbf183efed1b3a1}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_abe593c8561b1d31b7cbf183efed1b3a1}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}!decoderOutputFrameRate@{decoderOutputFrameRate}}
\index{decoderOutputFrameRate@{decoderOutputFrameRate}!io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}}
\doxysubsubsection{\texorpdfstring{decoderOutputFrameRate}{decoderOutputFrameRate}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Remote\+Video\+Stats.\+decoder\+Output\+Frame\+Rate}

The frame rate (fps) of decoding the remote video. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a353c0d2b20f1f7a227e8359e5c549b09}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a353c0d2b20f1f7a227e8359e5c549b09}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}!rendererOutputFrameRate@{rendererOutputFrameRate}}
\index{rendererOutputFrameRate@{rendererOutputFrameRate}!io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}}
\doxysubsubsection{\texorpdfstring{rendererOutputFrameRate}{rendererOutputFrameRate}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Remote\+Video\+Stats.\+renderer\+Output\+Frame\+Rate}

The frame rate (fps) of rendering the remote video. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a31d7c6f6029e94908ba53b13a9df694c}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a31d7c6f6029e94908ba53b13a9df694c}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}!frameLossRate@{frameLossRate}}
\index{frameLossRate@{frameLossRate}!io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}}
\doxysubsubsection{\texorpdfstring{frameLossRate}{frameLossRate}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Remote\+Video\+Stats.\+frame\+Loss\+Rate}

The packet loss rate (\%) of the remote video. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a406e77ac7d16e568653933e7a8fcbf80}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a406e77ac7d16e568653933e7a8fcbf80}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}!packetLossRate@{packetLossRate}}
\index{packetLossRate@{packetLossRate}!io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}}
\doxysubsubsection{\texorpdfstring{packetLossRate}{packetLossRate}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Remote\+Video\+Stats.\+packet\+Loss\+Rate}

The packet loss rate (\%) of the remote video after using the anti-\/packet-\/loss technology. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_abea0ab0eda17120d560d02651042f058}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_abea0ab0eda17120d560d02651042f058}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}!rxStreamType@{rxStreamType}}
\index{rxStreamType@{rxStreamType}!io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}}
\doxysubsubsection{\texorpdfstring{rxStreamType}{rxStreamType}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Remote\+Video\+Stats.\+rx\+Stream\+Type}

The type of the video stream.
\begin{DoxyItemize}
\item V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+H\+I\+GH (0)\+: High-\/quality stream, that is, a high-\/resolution and high-\/bitrate video stream.
\item V\+I\+D\+E\+O\+\_\+\+S\+T\+R\+E\+A\+M\+\_\+\+L\+OW (1)\+: Low-\/quality stream, that is, a low-\/resolution and low-\/bitrate video stream. 
\end{DoxyItemize}\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a393971eedeb437583ab1fa6cbae7c84a}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a393971eedeb437583ab1fa6cbae7c84a}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}!totalFrozenTime@{totalFrozenTime}}
\index{totalFrozenTime@{totalFrozenTime}!io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}}
\doxysubsubsection{\texorpdfstring{totalFrozenTime}{totalFrozenTime}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Remote\+Video\+Stats.\+total\+Frozen\+Time}

The total freeze time (ms) of the remote video stream after the remote user joins the channel. In a video session where the frame rate is set to no less than 5 fps, video freeze occurs when the time interval between two adjacent renderable video frames is more than 500 ms. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a169743354e07d893874e5181e62bd93d}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a169743354e07d893874e5181e62bd93d}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}!frozenRate@{frozenRate}}
\index{frozenRate@{frozenRate}!io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}}
\doxysubsubsection{\texorpdfstring{frozenRate}{frozenRate}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Remote\+Video\+Stats.\+frozen\+Rate}

The total video freeze time as a percentage (\%) of the total time the video is available. The video is considered available as long as that the remote user neither stops sending the video stream nor disables the video module after joining the channel. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a0d9cdfb0054ee0eb392bab21bce9df99}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a0d9cdfb0054ee0eb392bab21bce9df99}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}!avSyncTimeMs@{avSyncTimeMs}}
\index{avSyncTimeMs@{avSyncTimeMs}!io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}}
\doxysubsubsection{\texorpdfstring{avSyncTimeMs}{avSyncTimeMs}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Remote\+Video\+Stats.\+av\+Sync\+Time\+Ms}

The amount of time (ms) that the audio is ahead of the video. \begin{DoxyNote}{Note}
If this value is negative, the audio is lagging behind the video. 
\end{DoxyNote}
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_ab2e47457d5f2122366ee63238b3d9419}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_ab2e47457d5f2122366ee63238b3d9419}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}!totalActiveTime@{totalActiveTime}}
\index{totalActiveTime@{totalActiveTime}!io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}}
\doxysubsubsection{\texorpdfstring{totalActiveTime}{totalActiveTime}}
{\footnotesize\ttfamily long io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Remote\+Video\+Stats.\+total\+Active\+Time}

The total active time (ms) of the video. As long as the remote user or host neither stops sending the video stream nor disables the video module after joining the channel, the video is available. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_acf4e63fa4d0ea58cec379955564503bf}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_acf4e63fa4d0ea58cec379955564503bf}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}!publishDuration@{publishDuration}}
\index{publishDuration@{publishDuration}!io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}}
\doxysubsubsection{\texorpdfstring{publishDuration}{publishDuration}}
{\footnotesize\ttfamily long io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Remote\+Video\+Stats.\+publish\+Duration}

The total duration (ms) of the remote video stream. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a5b1f79ced01604f5a3c6dc14a0ec3df6}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a5b1f79ced01604f5a3c6dc14a0ec3df6}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}!mosValue@{mosValue}}
\index{mosValue@{mosValue}!io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}}
\doxysubsubsection{\texorpdfstring{mosValue}{mosValue}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Remote\+Video\+Stats.\+mos\+Value}

The quality of the remote video stream in the reported interval. The quality is determined by the Agora real-\/time video M\+OS (Mean Opinion Score) measurement method. The return value range is \mbox{[}0, 500\mbox{]}. Dividing the return value by 100 gets the M\+OS score, which ranges from 0 to 5. The higher the score, the better the video quality. \begin{DoxyNote}{Note}
For textured video data, this parameter always returns 0. 
\end{DoxyNote}
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a2c1cb5eb19b923999a0353b58333ef1c}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_remote_video_stats_a2c1cb5eb19b923999a0353b58333ef1c}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}!rxVideoBytes@{rxVideoBytes}}
\index{rxVideoBytes@{rxVideoBytes}!io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.RemoteVideoStats}}
\doxysubsubsection{\texorpdfstring{rxVideoBytes}{rxVideoBytes}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Remote\+Video\+Stats.\+rx\+Video\+Bytes}

Total number of video bytes received (bytes), represented by an aggregate value. 