\hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame}{}\doxysection{io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame Class Reference}
\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame}\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a3bf1db87df1032fc4e1016b735ef1b76}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a3bf1db87df1032fc4e1016b735ef1b76}} 
String {\bfseries to\+String} ()
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_ad1eeaf6635c1e27474c61a09043646e7}{format}}
\item 
long \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a2f5794bff46747acccedc8c052d653a7}{time\+Stamp}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_aab7d403079697ecc47095305039b9892}{stride}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a531a6023f54cc6dc14ec234ad90ab4ab}{height}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_ae4ee35ba0fc568dc1c1d137fcd48ef21}{texture\+ID}}
\item 
boolean \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a6ef6a43349c9eb697db4d425ee796b25}{sync\+Mode}}
\item 
float\mbox{[}$\,$\mbox{]} \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a51706d8ccb5e312faa32bb91cf03b4d7}{transform}}
\item 
javax.\+microedition.\+khronos.\+egl.\+E\+G\+L\+Context \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a1d63c2d3ce900356aa3aae0e2125dec7}{egl\+Context10}}
\item 
android.\+opengl.\+E\+G\+L\+Context \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a45688af3eefeb3814cd0f218a0a1fae6}{egl\+Context14}}
\item 
byte\mbox{[}$\,$\mbox{]} \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a9c91c2df165c2e820799106572adf17c}{buf}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_afd0c12cf9227e3e1fe1c74312e4eb7f8}{crop\+Left}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_afe0cb05cda64dd999bfe275d4c1802a8}{crop\+Top}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a95b485b7c5ad6805a3639cfd4f9b1832}{crop\+Right}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_afb095bcd000c6b1bf450c55f48ace77d}{crop\+Bottom}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a5449f5d14015699470898fd55127a261}{rotation}}
\end{DoxyCompactItemize}
\doxysubsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static final int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_adaf4ebb6c89932fb666a9be51308645f}{F\+O\+R\+M\+A\+T\+\_\+\+N\+O\+NE}} = -\/1
\item 
static final int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a07412b747b3adccf8bf41bab7bc4766f}{F\+O\+R\+M\+A\+T\+\_\+\+T\+E\+X\+T\+U\+R\+E\+\_\+2D}} = 10
\item 
static final int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a13339c0857a1ceb08fb8a10bda802067}{F\+O\+R\+M\+A\+T\+\_\+\+T\+E\+X\+T\+U\+R\+E\+\_\+\+O\+ES}} = 11
\item 
static final int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_acf529612b8fe659001be97cf8ca21350}{F\+O\+R\+M\+A\+T\+\_\+\+I420}} = 1
\item 
static final int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_afef29a62263720bf2a8f102c23c485ab}{F\+O\+R\+M\+A\+T\+\_\+\+B\+G\+RA}} = 2
\item 
static final int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a64efbeeb27e19353d082cf113ea349fd}{F\+O\+R\+M\+A\+T\+\_\+\+N\+V21}} = 3
\item 
static final int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a48359dd124684dafea34545b2358e79e}{F\+O\+R\+M\+A\+T\+\_\+\+R\+G\+BA}} = 4
\item 
static final int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_afd27281c62556dc35778e3c96921bfd3}{F\+O\+R\+M\+A\+T\+\_\+\+I422}} = 16
\item 
static final int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a6d811756114e1f87c26c032e72045643}{B\+U\+F\+F\+E\+R\+\_\+\+T\+Y\+P\+E\+\_\+\+N\+O\+NE}} = -\/1
\item 
static final int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_abb0db072d3df78a0c7f171e50fd8995c}{B\+U\+F\+F\+E\+R\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+U\+F\+F\+ER}} = 1
\item 
static final int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a2a5a506f783250b1d0094c8fac870772}{B\+U\+F\+F\+E\+R\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+R\+R\+AY}} = 2
\item 
static final int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a689d8648a1d207844cf2fd29fdfb85df}{B\+U\+F\+F\+E\+R\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+X\+T\+U\+RE}} = 3
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame}{Agora\+Video\+Frame}} class, which defines the format of the external video source. 

\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_adaf4ebb6c89932fb666a9be51308645f}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_adaf4ebb6c89932fb666a9be51308645f}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!FORMAT\_NONE@{FORMAT\_NONE}}
\index{FORMAT\_NONE@{FORMAT\_NONE}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{FORMAT\_NONE}{FORMAT\_NONE}}
{\footnotesize\ttfamily final int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+F\+O\+R\+M\+A\+T\+\_\+\+N\+O\+NE = -\/1\hspace{0.3cm}{\ttfamily [static]}}

-\/1\+: No video format. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a07412b747b3adccf8bf41bab7bc4766f}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a07412b747b3adccf8bf41bab7bc4766f}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!FORMAT\_TEXTURE\_2D@{FORMAT\_TEXTURE\_2D}}
\index{FORMAT\_TEXTURE\_2D@{FORMAT\_TEXTURE\_2D}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{FORMAT\_TEXTURE\_2D}{FORMAT\_TEXTURE\_2D}}
{\footnotesize\ttfamily final int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+F\+O\+R\+M\+A\+T\+\_\+\+T\+E\+X\+T\+U\+R\+E\+\_\+2D = 10\hspace{0.3cm}{\ttfamily [static]}}

10\+: The video format is T\+E\+X\+T\+U\+R\+E\+\_\+2D. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a13339c0857a1ceb08fb8a10bda802067}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a13339c0857a1ceb08fb8a10bda802067}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!FORMAT\_TEXTURE\_OES@{FORMAT\_TEXTURE\_OES}}
\index{FORMAT\_TEXTURE\_OES@{FORMAT\_TEXTURE\_OES}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{FORMAT\_TEXTURE\_OES}{FORMAT\_TEXTURE\_OES}}
{\footnotesize\ttfamily final int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+F\+O\+R\+M\+A\+T\+\_\+\+T\+E\+X\+T\+U\+R\+E\+\_\+\+O\+ES = 11\hspace{0.3cm}{\ttfamily [static]}}

11\+: The video format is T\+E\+X\+T\+U\+R\+E\+\_\+\+O\+ES. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_acf529612b8fe659001be97cf8ca21350}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_acf529612b8fe659001be97cf8ca21350}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!FORMAT\_I420@{FORMAT\_I420}}
\index{FORMAT\_I420@{FORMAT\_I420}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{FORMAT\_I420}{FORMAT\_I420}}
{\footnotesize\ttfamily final int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+F\+O\+R\+M\+A\+T\+\_\+\+I420 = 1\hspace{0.3cm}{\ttfamily [static]}}

1\+: The video format is I420. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_afef29a62263720bf2a8f102c23c485ab}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_afef29a62263720bf2a8f102c23c485ab}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!FORMAT\_BGRA@{FORMAT\_BGRA}}
\index{FORMAT\_BGRA@{FORMAT\_BGRA}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{FORMAT\_BGRA}{FORMAT\_BGRA}}
{\footnotesize\ttfamily final int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+F\+O\+R\+M\+A\+T\+\_\+\+B\+G\+RA = 2\hspace{0.3cm}{\ttfamily [static]}}

2\+: The video format is B\+G\+RA. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a64efbeeb27e19353d082cf113ea349fd}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a64efbeeb27e19353d082cf113ea349fd}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!FORMAT\_NV21@{FORMAT\_NV21}}
\index{FORMAT\_NV21@{FORMAT\_NV21}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{FORMAT\_NV21}{FORMAT\_NV21}}
{\footnotesize\ttfamily final int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+F\+O\+R\+M\+A\+T\+\_\+\+N\+V21 = 3\hspace{0.3cm}{\ttfamily [static]}}

3\+: The video format is N\+V21. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a48359dd124684dafea34545b2358e79e}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a48359dd124684dafea34545b2358e79e}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!FORMAT\_RGBA@{FORMAT\_RGBA}}
\index{FORMAT\_RGBA@{FORMAT\_RGBA}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{FORMAT\_RGBA}{FORMAT\_RGBA}}
{\footnotesize\ttfamily final int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+F\+O\+R\+M\+A\+T\+\_\+\+R\+G\+BA = 4\hspace{0.3cm}{\ttfamily [static]}}

4\+: The video format is R\+G\+BA. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_afd27281c62556dc35778e3c96921bfd3}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_afd27281c62556dc35778e3c96921bfd3}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!FORMAT\_I422@{FORMAT\_I422}}
\index{FORMAT\_I422@{FORMAT\_I422}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{FORMAT\_I422}{FORMAT\_I422}}
{\footnotesize\ttfamily final int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+F\+O\+R\+M\+A\+T\+\_\+\+I422 = 16\hspace{0.3cm}{\ttfamily [static]}}

16\+: Video frame in the format of I422. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a6d811756114e1f87c26c032e72045643}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a6d811756114e1f87c26c032e72045643}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!BUFFER\_TYPE\_NONE@{BUFFER\_TYPE\_NONE}}
\index{BUFFER\_TYPE\_NONE@{BUFFER\_TYPE\_NONE}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{BUFFER\_TYPE\_NONE}{BUFFER\_TYPE\_NONE}}
{\footnotesize\ttfamily final int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+B\+U\+F\+F\+E\+R\+\_\+\+T\+Y\+P\+E\+\_\+\+N\+O\+NE = -\/1\hspace{0.3cm}{\ttfamily [static]}}

-\/1\+: No buffer type. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_abb0db072d3df78a0c7f171e50fd8995c}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_abb0db072d3df78a0c7f171e50fd8995c}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!BUFFER\_TYPE\_BUFFER@{BUFFER\_TYPE\_BUFFER}}
\index{BUFFER\_TYPE\_BUFFER@{BUFFER\_TYPE\_BUFFER}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{BUFFER\_TYPE\_BUFFER}{BUFFER\_TYPE\_BUFFER}}
{\footnotesize\ttfamily final int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+B\+U\+F\+F\+E\+R\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+U\+F\+F\+ER = 1\hspace{0.3cm}{\ttfamily [static]}}

1\+: The buffer type is buffer. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a2a5a506f783250b1d0094c8fac870772}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a2a5a506f783250b1d0094c8fac870772}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!BUFFER\_TYPE\_ARRAY@{BUFFER\_TYPE\_ARRAY}}
\index{BUFFER\_TYPE\_ARRAY@{BUFFER\_TYPE\_ARRAY}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{BUFFER\_TYPE\_ARRAY}{BUFFER\_TYPE\_ARRAY}}
{\footnotesize\ttfamily final int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+B\+U\+F\+F\+E\+R\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+R\+R\+AY = 2\hspace{0.3cm}{\ttfamily [static]}}

2\+: The buffer type is array. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a689d8648a1d207844cf2fd29fdfb85df}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a689d8648a1d207844cf2fd29fdfb85df}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!BUFFER\_TYPE\_TEXTURE@{BUFFER\_TYPE\_TEXTURE}}
\index{BUFFER\_TYPE\_TEXTURE@{BUFFER\_TYPE\_TEXTURE}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{BUFFER\_TYPE\_TEXTURE}{BUFFER\_TYPE\_TEXTURE}}
{\footnotesize\ttfamily final int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+B\+U\+F\+F\+E\+R\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+X\+T\+U\+RE = 3\hspace{0.3cm}{\ttfamily [static]}}

3\+: The buffer type is texture. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_ad1eeaf6635c1e27474c61a09043646e7}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_ad1eeaf6635c1e27474c61a09043646e7}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!format@{format}}
\index{format@{format}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{format}{format}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+format}

Format of the incoming video frame, which must be specified as one of the following\+: 
\begin{DoxyItemize}
\item 10\+: (Default) \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a07412b747b3adccf8bf41bab7bc4766f}{G\+L\+\_\+\+T\+E\+X\+T\+U\+R\+E\+\_\+2D}} 
\item 11\+: \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a13339c0857a1ceb08fb8a10bda802067}{O\+ES}}, typically from the camera 
\item 1\+: \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_acf529612b8fe659001be97cf8ca21350}{I420}} 
\item 3\+: \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a64efbeeb27e19353d082cf113ea349fd}{N\+V21}} 
\item 4\+: \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a48359dd124684dafea34545b2358e79e}{R\+G\+BA}} 
\end{DoxyItemize}\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a2f5794bff46747acccedc8c052d653a7}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a2f5794bff46747acccedc8c052d653a7}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!timeStamp@{timeStamp}}
\index{timeStamp@{timeStamp}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{timeStamp}{timeStamp}}
{\footnotesize\ttfamily long io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+time\+Stamp}

The timestamp (ms) of this frame. \begin{DoxyNote}{Note}
Ensure that you set the correct timestamp, or it may cause frame dropping. 
\end{DoxyNote}
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_aab7d403079697ecc47095305039b9892}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_aab7d403079697ecc47095305039b9892}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!stride@{stride}}
\index{stride@{stride}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{stride}{stride}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+stride}

The stride of this frame, which means the number of pixels between two consecutive rows. \begin{DoxyNote}{Note}

\begin{DoxyItemize}
\item Set this member is in pixel, not byte.
\item If the video format is texture, set this member as the texture width. 
\end{DoxyItemize}
\end{DoxyNote}
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a531a6023f54cc6dc14ec234ad90ab4ab}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a531a6023f54cc6dc14ec234ad90ab4ab}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!height@{height}}
\index{height@{height}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{height}{height}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+height}

The height of this frame. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_ae4ee35ba0fc568dc1c1d137fcd48ef21}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_ae4ee35ba0fc568dc1c1d137fcd48ef21}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!textureID@{textureID}}
\index{textureID@{textureID}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{textureID}{textureID}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+texture\+ID}

The ID of the texture. \begin{DoxyNote}{Note}
Applies to Android texture only. 
\end{DoxyNote}
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a6ef6a43349c9eb697db4d425ee796b25}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a6ef6a43349c9eb697db4d425ee796b25}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!syncMode@{syncMode}}
\index{syncMode@{syncMode}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{syncMode}{syncMode}}
{\footnotesize\ttfamily boolean io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+sync\+Mode}

Determines whether to enable the sync mode, which means that the S\+DK waits while the texture is being processed. \begin{DoxyNote}{Note}
Applies to Android texture only. 
\end{DoxyNote}
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a51706d8ccb5e312faa32bb91cf03b4d7}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a51706d8ccb5e312faa32bb91cf03b4d7}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!transform@{transform}}
\index{transform@{transform}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{transform}{transform}}
{\footnotesize\ttfamily float \mbox{[}$\,$\mbox{]} io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+transform}

The extra transform for the texture. \begin{DoxyNote}{Note}
Applies to Android texture only. 
\end{DoxyNote}
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a1d63c2d3ce900356aa3aae0e2125dec7}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a1d63c2d3ce900356aa3aae0e2125dec7}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!eglContext10@{eglContext10}}
\index{eglContext10@{eglContext10}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{eglContext10}{eglContext10}}
{\footnotesize\ttfamily javax.\+microedition.\+khronos.\+egl.\+E\+G\+L\+Context io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+egl\+Context10}

E\+G\+L\+Context10. \begin{DoxyNote}{Note}
Applies to Android texture only. 
\end{DoxyNote}
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a45688af3eefeb3814cd0f218a0a1fae6}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a45688af3eefeb3814cd0f218a0a1fae6}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!eglContext14@{eglContext14}}
\index{eglContext14@{eglContext14}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{eglContext14}{eglContext14}}
{\footnotesize\ttfamily android.\+opengl.\+E\+G\+L\+Context io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+egl\+Context14}

E\+G\+L\+Context14. \begin{DoxyNote}{Note}
Applies to Android texture only. 
\end{DoxyNote}
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a9c91c2df165c2e820799106572adf17c}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a9c91c2df165c2e820799106572adf17c}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!buf@{buf}}
\index{buf@{buf}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{buf}{buf}}
{\footnotesize\ttfamily byte \mbox{[}$\,$\mbox{]} io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+buf}

The buffer of this frame. \begin{DoxyNote}{Note}
Applies to non-\/texture frames. 
\end{DoxyNote}
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_afd0c12cf9227e3e1fe1c74312e4eb7f8}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_afd0c12cf9227e3e1fe1c74312e4eb7f8}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!cropLeft@{cropLeft}}
\index{cropLeft@{cropLeft}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{cropLeft}{cropLeft}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+crop\+Left}

The number of pixels to crop from the left. Typically, set it as 0. \begin{DoxyNote}{Note}
Applies to non-\/texture frames. 
\end{DoxyNote}
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_afe0cb05cda64dd999bfe275d4c1802a8}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_afe0cb05cda64dd999bfe275d4c1802a8}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!cropTop@{cropTop}}
\index{cropTop@{cropTop}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{cropTop}{cropTop}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+crop\+Top}

The number of pixels to crop from the top. Typically, set it as 0. \begin{DoxyNote}{Note}
Applies to non-\/texture frames. 
\end{DoxyNote}
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a95b485b7c5ad6805a3639cfd4f9b1832}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a95b485b7c5ad6805a3639cfd4f9b1832}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!cropRight@{cropRight}}
\index{cropRight@{cropRight}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{cropRight}{cropRight}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+crop\+Right}

The number of pixels to crop from the right. Typically, set it as the value of （stride -\/ width）. \begin{DoxyNote}{Note}
Applies to non-\/texture frames. 
\end{DoxyNote}
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_afb095bcd000c6b1bf450c55f48ace77d}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_afb095bcd000c6b1bf450c55f48ace77d}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!cropBottom@{cropBottom}}
\index{cropBottom@{cropBottom}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{cropBottom}{cropBottom}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+crop\+Bottom}

The number of pixels to crop from the bottom. Typically, set it as 0. \begin{DoxyNote}{Note}
Applies to non-\/texture frames. 
\end{DoxyNote}
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a5449f5d14015699470898fd55127a261}\label{classio_1_1agora_1_1rtc2_1_1video_1_1_agora_video_frame_a5449f5d14015699470898fd55127a261}} 
\index{io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}!rotation@{rotation}}
\index{rotation@{rotation}!io.agora.rtc2.video.AgoraVideoFrame@{io.agora.rtc2.video.AgoraVideoFrame}}
\doxysubsubsection{\texorpdfstring{rotation}{rotation}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+video.\+Agora\+Video\+Frame.\+rotation}

The rotation information (clockwise) of this frame. Set it as 0, 90, 180, or 270. 