\hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats}{}\doxysection{io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats Class Reference}
\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats}\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a46dd77e7744c624c4007122cce0bf0a1}{uid}}
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a68ab0fc749e0ce7becd3e49abdfe6a7d}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a68ab0fc749e0ce7becd3e49abdfe6a7d}} 
int {\bfseries sent\+Bitrate}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_ae0dd10d98f0ff884c5b5cda07d3536fb}{sent\+Frame\+Rate}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_aaa54a4eced1c5ec66a00d09a5ed5a39a}{capture\+Frame\+Rate}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a0f54fe5d26ff7a1d021c7d8663cdea09}{capture\+Frame\+Width}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a23cf5adeb93c6214a46f665f3bf092af}{capture\+Frame\+Height}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a0bf401c2dd5f222354a15c809d3e9c2d}{regulated\+Capture\+Frame\+Rate}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a86a2989a81bb5adc6735426aa00fffbe}{regulated\+Capture\+Frame\+Width}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a1c366fd414294affb75db7c010b154ec}{regulated\+Capture\+Frame\+Height}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a2e9c274129a22cace45c5da4040f9846}{encoder\+Output\+Frame\+Rate}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a737a451263c78de3e6a17c99cd9c8b16}{renderer\+Output\+Frame\+Rate}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a0b6a7798f26c6d72f831737148d5caa9}{target\+Bitrate}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a36e616086f8c1d480eb0f6bd9e44b903}{target\+Frame\+Rate}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a5ab9aa24ac1527cca4e6ef1158c65968}{quality\+Adapt\+Indication}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_ac574c892c78953daf0f8f0f5037aff6b}{encoded\+Bitrate}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_aa6f65b779331222559c7209cb8a9aeea}{encoded\+Frame\+Width}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a6abdb5425ca735f920aada82953abd3c}{encoded\+Frame\+Height}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_ac3c529ec566fffe1def3af123128a7f0}{encoded\+Frame\+Count}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a2859d9c4d40ee2e469b59fc1c3876ba8}{codec\+Type}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_ae4821a73114db1fd2842069fadc752dc}{tx\+Packet\+Loss\+Rate}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a0b9c8c6a4ad81db91528ae33e54c3e36}{capture\+Brightness\+Level}}
\item 
boolean \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_ad5e1ea04be8da784d3306ddc4187e31c}{dual\+Stream\+Enabled}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a4a56f96c1282b5415d957f071de2b2be}{hw\+Encoder\+Accelerating}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Statistics of the local video. 

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

ID of the local user whose video is sent. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_ae0dd10d98f0ff884c5b5cda07d3536fb}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_ae0dd10d98f0ff884c5b5cda07d3536fb}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!sentFrameRate@{sentFrameRate}}
\index{sentFrameRate@{sentFrameRate}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{sentFrameRate}{sentFrameRate}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+sent\+Frame\+Rate}

Frame rate (fps) sent in the reported interval, which does not include the frame rate of the retransmission video after packet loss. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_aaa54a4eced1c5ec66a00d09a5ed5a39a}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_aaa54a4eced1c5ec66a00d09a5ed5a39a}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!captureFrameRate@{captureFrameRate}}
\index{captureFrameRate@{captureFrameRate}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{captureFrameRate}{captureFrameRate}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+capture\+Frame\+Rate}

The capture frame rate (fps) of the local video. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a0f54fe5d26ff7a1d021c7d8663cdea09}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a0f54fe5d26ff7a1d021c7d8663cdea09}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!captureFrameWidth@{captureFrameWidth}}
\index{captureFrameWidth@{captureFrameWidth}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{captureFrameWidth}{captureFrameWidth}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+capture\+Frame\+Width}

The width of the capture frame (px). \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a23cf5adeb93c6214a46f665f3bf092af}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a23cf5adeb93c6214a46f665f3bf092af}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!captureFrameHeight@{captureFrameHeight}}
\index{captureFrameHeight@{captureFrameHeight}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{captureFrameHeight}{captureFrameHeight}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+capture\+Frame\+Height}

The height of the capture frame (px). \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a0bf401c2dd5f222354a15c809d3e9c2d}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a0bf401c2dd5f222354a15c809d3e9c2d}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!regulatedCaptureFrameRate@{regulatedCaptureFrameRate}}
\index{regulatedCaptureFrameRate@{regulatedCaptureFrameRate}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{regulatedCaptureFrameRate}{regulatedCaptureFrameRate}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+regulated\+Capture\+Frame\+Rate}

The regulated frame rate of capture frame rate according to video encoder configuration. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a86a2989a81bb5adc6735426aa00fffbe}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a86a2989a81bb5adc6735426aa00fffbe}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!regulatedCaptureFrameWidth@{regulatedCaptureFrameWidth}}
\index{regulatedCaptureFrameWidth@{regulatedCaptureFrameWidth}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{regulatedCaptureFrameWidth}{regulatedCaptureFrameWidth}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+regulated\+Capture\+Frame\+Width}

The regulated frame width (px) of capture frame width according to video encoder configuration. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a1c366fd414294affb75db7c010b154ec}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a1c366fd414294affb75db7c010b154ec}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!regulatedCaptureFrameHeight@{regulatedCaptureFrameHeight}}
\index{regulatedCaptureFrameHeight@{regulatedCaptureFrameHeight}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{regulatedCaptureFrameHeight}{regulatedCaptureFrameHeight}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+regulated\+Capture\+Frame\+Height}

The regulated frame height (px) of capture frame height according to video encoder configuration. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a2e9c274129a22cace45c5da4040f9846}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a2e9c274129a22cace45c5da4040f9846}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!encoderOutputFrameRate@{encoderOutputFrameRate}}
\index{encoderOutputFrameRate@{encoderOutputFrameRate}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{encoderOutputFrameRate}{encoderOutputFrameRate}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+encoder\+Output\+Frame\+Rate}

The encoder output frame rate (fps) of the local video. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a737a451263c78de3e6a17c99cd9c8b16}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a737a451263c78de3e6a17c99cd9c8b16}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!rendererOutputFrameRate@{rendererOutputFrameRate}}
\index{rendererOutputFrameRate@{rendererOutputFrameRate}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{rendererOutputFrameRate}{rendererOutputFrameRate}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+renderer\+Output\+Frame\+Rate}

The render output frame rate (fps) of the local video. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a0b6a7798f26c6d72f831737148d5caa9}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a0b6a7798f26c6d72f831737148d5caa9}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!targetBitrate@{targetBitrate}}
\index{targetBitrate@{targetBitrate}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{targetBitrate}{targetBitrate}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+target\+Bitrate}

The target bitrate (Kbps) of the current encoder. This value is estimated by the S\+DK based on the current network conditions. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a36e616086f8c1d480eb0f6bd9e44b903}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a36e616086f8c1d480eb0f6bd9e44b903}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!targetFrameRate@{targetFrameRate}}
\index{targetFrameRate@{targetFrameRate}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{targetFrameRate}{targetFrameRate}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+target\+Frame\+Rate}

The target frame rate (fps) of the current encoder. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a5ab9aa24ac1527cca4e6ef1158c65968}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a5ab9aa24ac1527cca4e6ef1158c65968}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!qualityAdaptIndication@{qualityAdaptIndication}}
\index{qualityAdaptIndication@{qualityAdaptIndication}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{qualityAdaptIndication}{qualityAdaptIndication}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+quality\+Adapt\+Indication}

\mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_quality}{Quality}} change of the local video in terms of target frame rate and target bit rate since last count. \begin{DoxySince}{Since}
v2.\+4.\+0.
\begin{DoxyItemize}
\item \mbox{\hyperlink{}{A\+D\+A\+P\+T\+\_\+\+N\+O\+N\+E(0)}}\+: The quality of the local video stays the same.
\item \mbox{\hyperlink{}{A\+D\+A\+P\+T\+\_\+\+U\+P\+\_\+\+B\+A\+N\+D\+W\+I\+D\+T\+H(1)}}\+: The quality improves because the network bandwidth increases.
\item \mbox{\hyperlink{}{A\+D\+A\+P\+T\+\_\+\+D\+O\+W\+N\+\_\+\+B\+A\+N\+D\+W\+I\+D\+T\+H(2)}}\+: The quality worsens because the network bandwidth decreases. 
\end{DoxyItemize}
\end{DoxySince}
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_ac574c892c78953daf0f8f0f5037aff6b}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_ac574c892c78953daf0f8f0f5037aff6b}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!encodedBitrate@{encodedBitrate}}
\index{encodedBitrate@{encodedBitrate}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{encodedBitrate}{encodedBitrate}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+encoded\+Bitrate}

The encoding bitrate (Kbps), which does not include the bitrate of the re-\/transmission video after packet loss. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_aa6f65b779331222559c7209cb8a9aeea}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_aa6f65b779331222559c7209cb8a9aeea}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!encodedFrameWidth@{encodedFrameWidth}}
\index{encodedFrameWidth@{encodedFrameWidth}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{encodedFrameWidth}{encodedFrameWidth}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+encoded\+Frame\+Width}

The width of the encoding frame (px). \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a6abdb5425ca735f920aada82953abd3c}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a6abdb5425ca735f920aada82953abd3c}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!encodedFrameHeight@{encodedFrameHeight}}
\index{encodedFrameHeight@{encodedFrameHeight}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{encodedFrameHeight}{encodedFrameHeight}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+encoded\+Frame\+Height}

The height of the encoding frame (px). \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_ac3c529ec566fffe1def3af123128a7f0}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_ac3c529ec566fffe1def3af123128a7f0}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!encodedFrameCount@{encodedFrameCount}}
\index{encodedFrameCount@{encodedFrameCount}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{encodedFrameCount}{encodedFrameCount}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+encoded\+Frame\+Count}

The value of the sent frames, represented by an aggregate value. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a2859d9c4d40ee2e469b59fc1c3876ba8}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a2859d9c4d40ee2e469b59fc1c3876ba8}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!codecType@{codecType}}
\index{codecType@{codecType}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{codecType}{codecType}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+codec\+Type}

The codec type of the local video\+:
\begin{DoxyItemize}
\item V\+I\+D\+E\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+V\+P8 = 1\+: V\+P8.
\item V\+I\+D\+E\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+H264 = 2\+: (Default) H.\+264. 
\end{DoxyItemize}\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_ae4821a73114db1fd2842069fadc752dc}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_ae4821a73114db1fd2842069fadc752dc}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!txPacketLossRate@{txPacketLossRate}}
\index{txPacketLossRate@{txPacketLossRate}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{txPacketLossRate}{txPacketLossRate}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+tx\+Packet\+Loss\+Rate}

The video packet loss rate (\%) from the local client to the Agora edge server before applying the anti-\/packet loss strategies. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a0b9c8c6a4ad81db91528ae33e54c3e36}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a0b9c8c6a4ad81db91528ae33e54c3e36}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!captureBrightnessLevel@{captureBrightnessLevel}}
\index{captureBrightnessLevel@{captureBrightnessLevel}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{captureBrightnessLevel}{captureBrightnessLevel}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+capture\+Brightness\+Level}

The brightness level of the video image captured by the local camera.
\begin{DoxyItemize}
\item \mbox{\hyperlink{}{C\+A\+P\+T\+U\+R\+E\+\_\+\+B\+R\+I\+G\+H\+T\+N\+E\+S\+S\+\_\+\+L\+E\+V\+E\+L\+\_\+\+I\+N\+V\+A\+L\+ID(-\/1)}}
\item \mbox{\hyperlink{}{C\+A\+P\+T\+U\+R\+E\+\_\+\+B\+R\+I\+G\+H\+T\+N\+E\+S\+S\+\_\+\+L\+E\+V\+E\+L\+\_\+\+N\+O\+R\+M\+A\+L(0)}}
\item \mbox{\hyperlink{}{C\+A\+P\+T\+U\+R\+E\+\_\+\+B\+R\+I\+G\+H\+T\+N\+E\+S\+S\+\_\+\+L\+E\+V\+E\+L\+\_\+\+B\+R\+I\+G\+H\+T(1)}}
\item \mbox{\hyperlink{}{C\+A\+P\+T\+U\+R\+E\+\_\+\+B\+R\+I\+G\+H\+T\+N\+E\+S\+S\+\_\+\+L\+E\+V\+E\+L\+\_\+\+D\+A\+R\+K(2)}} 
\end{DoxyItemize}\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_ad5e1ea04be8da784d3306ddc4187e31c}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_ad5e1ea04be8da784d3306ddc4187e31c}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!dualStreamEnabled@{dualStreamEnabled}}
\index{dualStreamEnabled@{dualStreamEnabled}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{dualStreamEnabled}{dualStreamEnabled}}
{\footnotesize\ttfamily boolean io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+dual\+Stream\+Enabled}

Whether we send dual stream now. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a4a56f96c1282b5415d957f071de2b2be}\label{classio_1_1agora_1_1rtc2_1_1_i_rtc_engine_event_handler_1_1_local_video_stats_a4a56f96c1282b5415d957f071de2b2be}} 
\index{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}!hwEncoderAccelerating@{hwEncoderAccelerating}}
\index{hwEncoderAccelerating@{hwEncoderAccelerating}!io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats@{io.agora.rtc2.IRtcEngineEventHandler.LocalVideoStats}}
\doxysubsubsection{\texorpdfstring{hwEncoderAccelerating}{hwEncoderAccelerating}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Rtc\+Engine\+Event\+Handler.\+Local\+Video\+Stats.\+hw\+Encoder\+Accelerating}

The encoder is hardware or software\+:
\begin{DoxyItemize}
\item hw\+Encoder\+Accelerating = 0\+: the encoder is software.
\item hw\+Encoder\+Accelerating = 1\+: the encoder is hardware. 
\end{DoxyItemize}