\hypertarget{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper}{}\doxysection{io.\+agora.\+mediaplayer.\+gl.\+Player\+Texture\+Helper Class Reference}
\label{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper}\index{io.agora.mediaplayer.gl.PlayerTextureHelper@{io.agora.mediaplayer.gl.PlayerTextureHelper}}
Inheritance diagram for io.\+agora.\+mediaplayer.\+gl.\+Player\+Texture\+Helper\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_ad552f3a53e250a8f43f28929932bc5bc}\label{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_ad552f3a53e250a8f43f28929932bc5bc}} 
void {\bfseries on\+Frame\+Available} (Surface\+Texture surface\+Texture)
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a06834c12a7815de7d4ebd4518a39ea18}\label{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a06834c12a7815de7d4ebd4518a39ea18}} 
long {\bfseries get\+Egl\+Context\+Handler} ()
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a5017cf4c01968f7f52b944039176c069}\label{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a5017cf4c01968f7f52b944039176c069}} 
Surface {\bfseries get\+Render\+Gl\+Surface} ()
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_ace55697781f6c37e3f5bda2ed37a10ce}\label{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_ace55697781f6c37e3f5bda2ed37a10ce}} 
void {\bfseries set\+Texture\+Size} (final int width, final int height)
\item 
void \mbox{\hyperlink{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a45e2a179c958379e5bf2aa060931aa24}{dispose}} ()
\item 
\mbox{\hyperlink{classio_1_1agora_1_1base_1_1_video_frame}{Video\+Frame}} \mbox{\hyperlink{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a4d13413140a25ab57ec6d0ff80816bbf}{get\+Available\+Texture\+Info}} (int wait\+Time)
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a307f4408e9849304423f55b2aef762ce}\label{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a307f4408e9849304423f55b2aef762ce}} 
\mbox{\hyperlink{classio_1_1agora_1_1base_1_1_video_frame}{Video\+Frame}} {\bfseries get\+Fake\+Texture\+Info} ()
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a23b6fafd99d6e966bab0a0c85d44114d}\label{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a23b6fafd99d6e966bab0a0c85d44114d}} 
void {\bfseries release\+Rendered\+Texture\+Info} (\mbox{\hyperlink{classio_1_1agora_1_1base_1_1_video_frame}{Video\+Frame}} info)
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a515d724e9569383c6ae1577b60399ea3}\label{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a515d724e9569383c6ae1577b60399ea3}} 
void {\bfseries reset\+Texture\+Buffer\+Queue} ()
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a69962f2f1217fe58b9ddb69111df629a}\label{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a69962f2f1217fe58b9ddb69111df629a}} 
Video\+Frame.\+Texture\+Buffer {\bfseries texture\+Copy} (final Video\+Frame.\+Texture\+Buffer texture\+Buffer)
\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper}{Player\+Texture\+Helper}} \mbox{\hyperlink{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a74c123f6248b591316c739440e17d5d0}{create}} ()
\end{DoxyCompactItemize}
\doxysubsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a18ed84d436697e409ebbf8fb3281e514}\label{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a18ed84d436697e409ebbf8fb3281e514}} 
static final float\mbox{[}$\,$\mbox{]} {\bfseries I\+D\+E\+N\+T\+I\+T\+Y\+\_\+\+M\+A\+T\+R\+IX}
\end{DoxyCompactItemize}
\doxysubsection*{Static Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_ab63e2f4d14dfbaad662149b98d984eb3}\label{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_ab63e2f4d14dfbaad662149b98d984eb3}} 
static final int {\bfseries M\+A\+X\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+C\+NT} = 10
\end{DoxyCompactItemize}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a74c123f6248b591316c739440e17d5d0}\label{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a74c123f6248b591316c739440e17d5d0}} 
\index{io.agora.mediaplayer.gl.PlayerTextureHelper@{io.agora.mediaplayer.gl.PlayerTextureHelper}!create@{create}}
\index{create@{create}!io.agora.mediaplayer.gl.PlayerTextureHelper@{io.agora.mediaplayer.gl.PlayerTextureHelper}}
\doxysubsubsection{\texorpdfstring{create()}{create()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper}{Player\+Texture\+Helper}} io.\+agora.\+mediaplayer.\+gl.\+Player\+Texture\+Helper.\+create (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

Construct a new Surface\+Texture\+Helper\+Test sharing Open\+GL resources with $\vert$shared\+Context$\vert$. A dedicated thread and handler is created for handling the Surface\+Texture. May return null if E\+GL fails to initialize a pixel buffer surface and make it current. \mbox{\Hypertarget{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a45e2a179c958379e5bf2aa060931aa24}\label{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a45e2a179c958379e5bf2aa060931aa24}} 
\index{io.agora.mediaplayer.gl.PlayerTextureHelper@{io.agora.mediaplayer.gl.PlayerTextureHelper}!dispose@{dispose}}
\index{dispose@{dispose}!io.agora.mediaplayer.gl.PlayerTextureHelper@{io.agora.mediaplayer.gl.PlayerTextureHelper}}
\doxysubsubsection{\texorpdfstring{dispose()}{dispose()}}
{\footnotesize\ttfamily void io.\+agora.\+mediaplayer.\+gl.\+Player\+Texture\+Helper.\+dispose (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Call disconnect() to stop receiving frames. Open\+GL resources are released and the handler is stopped when the texture frame has been released. You are guaranteed to not receive any more on\+Frame() after this function returns. 

Implements \mbox{\hyperlink{interfaceio_1_1agora_1_1mediaplayer_1_1_i_player_texture_helper}{io.\+agora.\+mediaplayer.\+I\+Player\+Texture\+Helper}}.

\mbox{\Hypertarget{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a4d13413140a25ab57ec6d0ff80816bbf}\label{classio_1_1agora_1_1mediaplayer_1_1gl_1_1_player_texture_helper_a4d13413140a25ab57ec6d0ff80816bbf}} 
\index{io.agora.mediaplayer.gl.PlayerTextureHelper@{io.agora.mediaplayer.gl.PlayerTextureHelper}!getAvailableTextureInfo@{getAvailableTextureInfo}}
\index{getAvailableTextureInfo@{getAvailableTextureInfo}!io.agora.mediaplayer.gl.PlayerTextureHelper@{io.agora.mediaplayer.gl.PlayerTextureHelper}}
\doxysubsubsection{\texorpdfstring{getAvailableTextureInfo()}{getAvailableTextureInfo()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classio_1_1agora_1_1base_1_1_video_frame}{Video\+Frame}} io.\+agora.\+mediaplayer.\+gl.\+Player\+Texture\+Helper.\+get\+Available\+Texture\+Info (\begin{DoxyParamCaption}\item[{int}]{wait\+Time }\end{DoxyParamCaption})}

wait for most wait\+Time time; 

Implements \mbox{\hyperlink{interfaceio_1_1agora_1_1mediaplayer_1_1_i_player_texture_helper}{io.\+agora.\+mediaplayer.\+I\+Player\+Texture\+Helper}}.

