\hypertarget{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_module_position}{}\doxysection{io.\+agora.\+rtc2.\+Constants.\+Video\+Module\+Position Enum Reference}
\label{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_module_position}\index{io.agora.rtc2.Constants.VideoModulePosition@{io.agora.rtc2.Constants.VideoModulePosition}}


The frame position of the video observer.  


\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_module_position_a9ee5577b588af27fcdd4c0ce4eb3dfb0}\label{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_module_position_a9ee5577b588af27fcdd4c0ce4eb3dfb0}} 
static int {\bfseries get\+Value} (\mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_module_position}{Video\+Module\+Position}} position)
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_module_position_a2e5753013fef9c2df22da90cb9b87150}{V\+I\+D\+E\+O\+\_\+\+M\+O\+D\+U\+L\+E\+\_\+\+P\+O\+S\+I\+T\+I\+O\+N\+\_\+\+P\+O\+S\+T\+\_\+\+C\+A\+P\+T\+U\+R\+ER}} =(1)
\item 
\mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_module_position_a961dd7f727243e69ced0b6a0517b4102}{V\+I\+D\+E\+O\+\_\+\+M\+O\+D\+U\+L\+E\+\_\+\+P\+O\+S\+I\+T\+I\+O\+N\+\_\+\+P\+R\+E\+\_\+\+R\+E\+N\+D\+E\+R\+ER}} =(1 $<$$<$ 1)
\item 
\mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_module_position_a334854a79084d3b0ba5c1e52f9e8e7d0}{V\+I\+D\+E\+O\+\_\+\+M\+O\+D\+U\+L\+E\+\_\+\+P\+O\+S\+I\+T\+I\+O\+N\+\_\+\+P\+R\+E\+\_\+\+E\+N\+C\+O\+D\+ER}} =(1 $<$$<$ 2)
\item 
\mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_module_position_a3341490e8fddebb707c0e7daddf09b7f}{V\+I\+D\+E\+O\+\_\+\+M\+O\+D\+U\+L\+E\+\_\+\+P\+O\+S\+I\+T\+I\+O\+N\+\_\+\+P\+O\+S\+T\+\_\+\+C\+A\+P\+T\+U\+R\+E\+R\+\_\+\+O\+R\+I\+G\+IN}} =(1 $<$$<$ 3)
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The frame position of the video observer. 

\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_module_position_a2e5753013fef9c2df22da90cb9b87150}\label{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_module_position_a2e5753013fef9c2df22da90cb9b87150}} 
\index{io.agora.rtc2.Constants.VideoModulePosition@{io.agora.rtc2.Constants.VideoModulePosition}!VIDEO\_MODULE\_POSITION\_POST\_CAPTURER@{VIDEO\_MODULE\_POSITION\_POST\_CAPTURER}}
\index{VIDEO\_MODULE\_POSITION\_POST\_CAPTURER@{VIDEO\_MODULE\_POSITION\_POST\_CAPTURER}!io.agora.rtc2.Constants.VideoModulePosition@{io.agora.rtc2.Constants.VideoModulePosition}}
\doxysubsubsection{\texorpdfstring{VIDEO\_MODULE\_POSITION\_POST\_CAPTURER}{VIDEO\_MODULE\_POSITION\_POST\_CAPTURER}}
{\footnotesize\ttfamily io.\+agora.\+rtc2.\+Constants.\+Video\+Module\+Position.\+V\+I\+D\+E\+O\+\_\+\+M\+O\+D\+U\+L\+E\+\_\+\+P\+O\+S\+I\+T\+I\+O\+N\+\_\+\+P\+O\+S\+T\+\_\+\+C\+A\+P\+T\+U\+R\+ER =(1)}

1\+: The location of the locally collected video data after preprocessing corresponds to the {\ttfamily on\+Capture\+Video\+Frame} callback. The observed video here has the effect of video pre-\/processing, which can be verified by enabling image enhancement, virtual background, or watermark. \mbox{\Hypertarget{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_module_position_a961dd7f727243e69ced0b6a0517b4102}\label{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_module_position_a961dd7f727243e69ced0b6a0517b4102}} 
\index{io.agora.rtc2.Constants.VideoModulePosition@{io.agora.rtc2.Constants.VideoModulePosition}!VIDEO\_MODULE\_POSITION\_PRE\_RENDERER@{VIDEO\_MODULE\_POSITION\_PRE\_RENDERER}}
\index{VIDEO\_MODULE\_POSITION\_PRE\_RENDERER@{VIDEO\_MODULE\_POSITION\_PRE\_RENDERER}!io.agora.rtc2.Constants.VideoModulePosition@{io.agora.rtc2.Constants.VideoModulePosition}}
\doxysubsubsection{\texorpdfstring{VIDEO\_MODULE\_POSITION\_PRE\_RENDERER}{VIDEO\_MODULE\_POSITION\_PRE\_RENDERER}}
{\footnotesize\ttfamily io.\+agora.\+rtc2.\+Constants.\+Video\+Module\+Position.\+V\+I\+D\+E\+O\+\_\+\+M\+O\+D\+U\+L\+E\+\_\+\+P\+O\+S\+I\+T\+I\+O\+N\+\_\+\+P\+R\+E\+\_\+\+R\+E\+N\+D\+E\+R\+ER =(1 $<$$<$ 1)}

2\+: The pre-\/renderer position , which corresponds to the video data in the {\ttfamily on\+Render\+Video\+Frame} callback. \mbox{\Hypertarget{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_module_position_a334854a79084d3b0ba5c1e52f9e8e7d0}\label{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_module_position_a334854a79084d3b0ba5c1e52f9e8e7d0}} 
\index{io.agora.rtc2.Constants.VideoModulePosition@{io.agora.rtc2.Constants.VideoModulePosition}!VIDEO\_MODULE\_POSITION\_PRE\_ENCODER@{VIDEO\_MODULE\_POSITION\_PRE\_ENCODER}}
\index{VIDEO\_MODULE\_POSITION\_PRE\_ENCODER@{VIDEO\_MODULE\_POSITION\_PRE\_ENCODER}!io.agora.rtc2.Constants.VideoModulePosition@{io.agora.rtc2.Constants.VideoModulePosition}}
\doxysubsubsection{\texorpdfstring{VIDEO\_MODULE\_POSITION\_PRE\_ENCODER}{VIDEO\_MODULE\_POSITION\_PRE\_ENCODER}}
{\footnotesize\ttfamily io.\+agora.\+rtc2.\+Constants.\+Video\+Module\+Position.\+V\+I\+D\+E\+O\+\_\+\+M\+O\+D\+U\+L\+E\+\_\+\+P\+O\+S\+I\+T\+I\+O\+N\+\_\+\+P\+R\+E\+\_\+\+E\+N\+C\+O\+D\+ER =(1 $<$$<$ 2)}

4\+: The pre-\/encoder position , which corresponds to the video data in the {\ttfamily on\+Pre\+Encode\+Video\+Frame} callback. The observed video here has the effects of video pre-\/processing and encoding pre-\/processing.
\begin{DoxyItemize}
\item To verify the pre-\/processing effects of the video, you can enable image enhancement, virtual background, or watermark.
\item To verify the pre-\/encoding processing effect, you can set a lower frame rate (for example, 5 fps). 
\end{DoxyItemize}\mbox{\Hypertarget{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_module_position_a3341490e8fddebb707c0e7daddf09b7f}\label{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_module_position_a3341490e8fddebb707c0e7daddf09b7f}} 
\index{io.agora.rtc2.Constants.VideoModulePosition@{io.agora.rtc2.Constants.VideoModulePosition}!VIDEO\_MODULE\_POSITION\_POST\_CAPTURER\_ORIGIN@{VIDEO\_MODULE\_POSITION\_POST\_CAPTURER\_ORIGIN}}
\index{VIDEO\_MODULE\_POSITION\_POST\_CAPTURER\_ORIGIN@{VIDEO\_MODULE\_POSITION\_POST\_CAPTURER\_ORIGIN}!io.agora.rtc2.Constants.VideoModulePosition@{io.agora.rtc2.Constants.VideoModulePosition}}
\doxysubsubsection{\texorpdfstring{VIDEO\_MODULE\_POSITION\_POST\_CAPTURER\_ORIGIN}{VIDEO\_MODULE\_POSITION\_POST\_CAPTURER\_ORIGIN}}
{\footnotesize\ttfamily io.\+agora.\+rtc2.\+Constants.\+Video\+Module\+Position.\+V\+I\+D\+E\+O\+\_\+\+M\+O\+D\+U\+L\+E\+\_\+\+P\+O\+S\+I\+T\+I\+O\+N\+\_\+\+P\+O\+S\+T\+\_\+\+C\+A\+P\+T\+U\+R\+E\+R\+\_\+\+O\+R\+I\+G\+IN =(1 $<$$<$ 3)}

8\+: The position after local video capture and before pre-\/processing. The observed video here does not have pre-\/processing effects, which can be verified by enabling image enhancement, virtual background, or watermarks. 