\hypertarget{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_i420_buffer}{}\doxysection{io.\+agora.\+base.\+Video\+Frame.\+I420\+Buffer Interface Reference}
\label{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_i420_buffer}\index{io.agora.base.VideoFrame.I420Buffer@{io.agora.base.VideoFrame.I420Buffer}}
Inheritance diagram for io.\+agora.\+base.\+Video\+Frame.\+I420\+Buffer\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4.000000cm]{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_i420_buffer}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
Byte\+Buffer \mbox{\hyperlink{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_i420_buffer_ad0ccc0ef12176ebf45f17028b13f1604}{get\+DataY}} ()
\item 
Byte\+Buffer \mbox{\hyperlink{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_i420_buffer_af5a94482a717bd790382a04ea57cda10}{get\+DataU}} ()
\item 
Byte\+Buffer \mbox{\hyperlink{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_i420_buffer_a6ff38aeb5c981dc03754a2b8ed1364a0}{get\+DataV}} ()
\item 
\mbox{\Hypertarget{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_i420_buffer_a6601ed9a0b0790bfa8b90bdfc47410c5}\label{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_i420_buffer_a6601ed9a0b0790bfa8b90bdfc47410c5}} 
int {\bfseries get\+StrideY} ()
\item 
\mbox{\Hypertarget{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_i420_buffer_a00ad22dddc915ea0c4b89fe66091248e}\label{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_i420_buffer_a00ad22dddc915ea0c4b89fe66091248e}} 
int {\bfseries get\+StrideU} ()
\item 
\mbox{\Hypertarget{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_i420_buffer_a31075a6ddc7ec005d8df3a30fbad58bc}\label{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_i420_buffer_a31075a6ddc7ec005d8df3a30fbad58bc}} 
int {\bfseries get\+StrideV} ()
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Interface for I420 buffers. 

\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_i420_buffer_ad0ccc0ef12176ebf45f17028b13f1604}\label{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_i420_buffer_ad0ccc0ef12176ebf45f17028b13f1604}} 
\index{io.agora.base.VideoFrame.I420Buffer@{io.agora.base.VideoFrame.I420Buffer}!getDataY@{getDataY}}
\index{getDataY@{getDataY}!io.agora.base.VideoFrame.I420Buffer@{io.agora.base.VideoFrame.I420Buffer}}
\doxysubsubsection{\texorpdfstring{getDataY()}{getDataY()}}
{\footnotesize\ttfamily Byte\+Buffer io.\+agora.\+base.\+Video\+Frame.\+I420\+Buffer.\+get\+DataY (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Returns a direct Byte\+Buffer containing Y-\/plane data. The buffer capacity is at least get\+Stride\+Y() $\ast$ \mbox{\hyperlink{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_buffer_a2a2b6e87e00209dd52a6dcee781d7014}{get\+Height()}} bytes. The position of the returned buffer is ignored and must be 0. Callers may mutate the Byte\+Buffer (eg. through relative-\/read operations), so implementations must return a new Byte\+Buffer or slice for each call. 

Implemented in \mbox{\hyperlink{classio_1_1agora_1_1base_1_1_java_i420_buffer_a81f5b1683a4e157f4ceb53e603424e65}{io.\+agora.\+base.\+Java\+I420\+Buffer}}.

\mbox{\Hypertarget{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_i420_buffer_af5a94482a717bd790382a04ea57cda10}\label{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_i420_buffer_af5a94482a717bd790382a04ea57cda10}} 
\index{io.agora.base.VideoFrame.I420Buffer@{io.agora.base.VideoFrame.I420Buffer}!getDataU@{getDataU}}
\index{getDataU@{getDataU}!io.agora.base.VideoFrame.I420Buffer@{io.agora.base.VideoFrame.I420Buffer}}
\doxysubsubsection{\texorpdfstring{getDataU()}{getDataU()}}
{\footnotesize\ttfamily Byte\+Buffer io.\+agora.\+base.\+Video\+Frame.\+I420\+Buffer.\+get\+DataU (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Returns a direct Byte\+Buffer containing U-\/plane data. The buffer capacity is at least get\+Stride\+U() $\ast$ ((\mbox{\hyperlink{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_buffer_a2a2b6e87e00209dd52a6dcee781d7014}{get\+Height()}} + 1) / 2) bytes. The position of the returned buffer is ignored and must be 0. Callers may mutate the Byte\+Buffer (eg. through relative-\/read operations), so implementations must return a new Byte\+Buffer or slice for each call. 

Implemented in \mbox{\hyperlink{classio_1_1agora_1_1base_1_1_java_i420_buffer_a97923da27ef31916a45b4557a1a5d6fe}{io.\+agora.\+base.\+Java\+I420\+Buffer}}.

\mbox{\Hypertarget{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_i420_buffer_a6ff38aeb5c981dc03754a2b8ed1364a0}\label{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_i420_buffer_a6ff38aeb5c981dc03754a2b8ed1364a0}} 
\index{io.agora.base.VideoFrame.I420Buffer@{io.agora.base.VideoFrame.I420Buffer}!getDataV@{getDataV}}
\index{getDataV@{getDataV}!io.agora.base.VideoFrame.I420Buffer@{io.agora.base.VideoFrame.I420Buffer}}
\doxysubsubsection{\texorpdfstring{getDataV()}{getDataV()}}
{\footnotesize\ttfamily Byte\+Buffer io.\+agora.\+base.\+Video\+Frame.\+I420\+Buffer.\+get\+DataV (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Returns a direct Byte\+Buffer containing V-\/plane data. The buffer capacity is at least get\+Stride\+V() $\ast$ ((\mbox{\hyperlink{interfaceio_1_1agora_1_1base_1_1_video_frame_1_1_buffer_a2a2b6e87e00209dd52a6dcee781d7014}{get\+Height()}} + 1) / 2) bytes. The position of the returned buffer is ignored and must be 0. Callers may mutate the Byte\+Buffer (eg. through relative-\/read operations), so implementations must return a new Byte\+Buffer or slice for each call. 

Implemented in \mbox{\hyperlink{classio_1_1agora_1_1base_1_1_java_i420_buffer_a24841137c925fa37c45a996e8a5860d0}{io.\+agora.\+base.\+Java\+I420\+Buffer}}.

