\hypertarget{structagora_1_1media_1_1base_1_1_video_frame}{}\doxysection{agora\+::media\+::base\+::Video\+Frame Struct Reference}
\label{structagora_1_1media_1_1base_1_1_video_frame}\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}


Configurations of the video frame.  




{\ttfamily \#include $<$Agora\+Media\+Base.\+h$>$}

\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
V\+I\+D\+E\+O\+\_\+\+P\+I\+X\+E\+L\+\_\+\+F\+O\+R\+M\+AT \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_a6169ab36387da0393ccded09537bc192}{type}}
\item 
int \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_af2a46d461743b8963afdc6364847f132}{width}}
\item 
int \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_ae46cfa9be45689655f95a873c6160ee0}{height}}
\item 
int \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_ace4696b077b02bb29920c665f41727f7}{y\+Stride}}
\item 
int \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_a1b0323a19dbf8520771b2ad3ecf41d54}{u\+Stride}}
\item 
int \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_a61cdb19ceecb291edc8bc92c280a2b31}{v\+Stride}}
\item 
uint8\+\_\+t $\ast$ \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_ac6a40f331e3df3ca3cdb0fec738d9eb4}{y\+Buffer}}
\item 
uint8\+\_\+t $\ast$ \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_af402b28334e4ed778166c31f89891727}{u\+Buffer}}
\item 
uint8\+\_\+t $\ast$ \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_aaef3ff5d9e4e9379d150714e52bf6e98}{v\+Buffer}}
\item 
int \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_a43355876e9500ea4b3f2e805b73494dd}{rotation}}
\item 
int64\+\_\+t \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_af55fb911029c93dd2f408608c9736a66}{render\+Time\+Ms}}
\item 
int \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_aa28a65ccc77e5674717aa5c0e310c234}{avsync\+\_\+type}}
\item 
uint8\+\_\+t $\ast$ \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_abe8407355a76057a47a13fd3047075fe}{metadata\+\_\+buffer}}
\item 
int \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_ab4fd0d4279509b6913c52e2739e6be60}{metadata\+\_\+size}}
\item 
void $\ast$ \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_ac88b98ccd3d13d1afaa675af778a1295}{shared\+Context}}
\item 
int \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_abafb77f77ce854609bb797f7c86aebcd}{texture\+Id}}
\item 
void $\ast$ \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_aab0bc93133113aee8564bfbb740e6d50}{d3d11\+Texture2d}}
\item 
float \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_a684096507a85c3fb76a7962d2dd2cb36}{matrix}} \mbox{[}16\mbox{]}
\item 
uint8\+\_\+t $\ast$ \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_a9cb7fec804d4a4cd073b108d021eb325}{alpha\+Buffer}}
\item 
A\+L\+P\+H\+A\+\_\+\+S\+T\+I\+T\+C\+H\+\_\+\+M\+O\+DE \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_af987f0aab1e602dbb64ef5e7eb4f6130}{alpha\+Stitch\+Mode}}
\item 
void $\ast$ \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_ab85193b0cd24b40ddbc4989c9a1bc0a5}{pixel\+Buffer}}
\item 
\mbox{\hyperlink{classagora_1_1media_1_1base_1_1_i_video_frame_meta_info}{I\+Video\+Frame\+Meta\+Info}} $\ast$ \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_af3d4bf399b28999c4ff169c8c06d2d69}{meta\+Info}}
\item 
\mbox{\hyperlink{structagora_1_1media_1_1base_1_1_hdr10_metadata_info}{Hdr10\+Metadata\+Info}} \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_a587de977db5bae54485be5473dc770ca}{hdr10\+Metadata\+Info}}
\item 
\mbox{\hyperlink{structagora_1_1media_1_1base_1_1_color_space}{Color\+Space}} \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_video_frame_a2a52d4272bfb7efcef4cfdccda8bae46}{color\+Space}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Configurations of the video frame. 

Note that the buffer provides a pointer to a pointer. This interface cannot modify the pointer of the buffer, but it can modify the content of the buffer. 

\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_a6169ab36387da0393ccded09537bc192}\label{structagora_1_1media_1_1base_1_1_video_frame_a6169ab36387da0393ccded09537bc192}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!type@{type}}
\index{type@{type}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{type}{type}}
{\footnotesize\ttfamily V\+I\+D\+E\+O\+\_\+\+P\+I\+X\+E\+L\+\_\+\+F\+O\+R\+M\+AT agora\+::media\+::base\+::\+Video\+Frame\+::type}

The pixel format. See {\ttfamily V\+I\+D\+E\+O\+\_\+\+P\+I\+X\+E\+L\+\_\+\+F\+O\+R\+M\+AT}. \mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_af2a46d461743b8963afdc6364847f132}\label{structagora_1_1media_1_1base_1_1_video_frame_af2a46d461743b8963afdc6364847f132}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!width@{width}}
\index{width@{width}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{width}{width}}
{\footnotesize\ttfamily int agora\+::media\+::base\+::\+Video\+Frame\+::width}

The width of the video, in pixels. \mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_ae46cfa9be45689655f95a873c6160ee0}\label{structagora_1_1media_1_1base_1_1_video_frame_ae46cfa9be45689655f95a873c6160ee0}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!height@{height}}
\index{height@{height}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{height}{height}}
{\footnotesize\ttfamily int agora\+::media\+::base\+::\+Video\+Frame\+::height}

The height of the video, in pixels. \mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_ace4696b077b02bb29920c665f41727f7}\label{structagora_1_1media_1_1base_1_1_video_frame_ace4696b077b02bb29920c665f41727f7}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!yStride@{yStride}}
\index{yStride@{yStride}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{yStride}{yStride}}
{\footnotesize\ttfamily int agora\+::media\+::base\+::\+Video\+Frame\+::y\+Stride}

For Y\+UV data, the line span of the Y buffer; for R\+G\+BA data, the total data length. \begin{DoxyNote}{Note}
When dealing with video data, it is necessary to process the offset between each line of pixel data based on this parameter, otherwise it may result in image distortion. 
\end{DoxyNote}
\mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_a1b0323a19dbf8520771b2ad3ecf41d54}\label{structagora_1_1media_1_1base_1_1_video_frame_a1b0323a19dbf8520771b2ad3ecf41d54}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!uStride@{uStride}}
\index{uStride@{uStride}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{uStride}{uStride}}
{\footnotesize\ttfamily int agora\+::media\+::base\+::\+Video\+Frame\+::u\+Stride}

For Y\+UV data, the line span of the U buffer; for R\+G\+BA data, the value is 0. \begin{DoxyNote}{Note}
When dealing with video data, it is necessary to process the offset between each line of pixel data based on this parameter, otherwise it may result in image distortion. 
\end{DoxyNote}
\mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_a61cdb19ceecb291edc8bc92c280a2b31}\label{structagora_1_1media_1_1base_1_1_video_frame_a61cdb19ceecb291edc8bc92c280a2b31}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!vStride@{vStride}}
\index{vStride@{vStride}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{vStride}{vStride}}
{\footnotesize\ttfamily int agora\+::media\+::base\+::\+Video\+Frame\+::v\+Stride}

For Y\+UV data, the line span of the V buffer; for R\+G\+BA data, the value is 0. \begin{DoxyNote}{Note}
When dealing with video data, it is necessary to process the offset between each line of pixel data based on this parameter, otherwise it may result in image distortion. 
\end{DoxyNote}
\mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_ac6a40f331e3df3ca3cdb0fec738d9eb4}\label{structagora_1_1media_1_1base_1_1_video_frame_ac6a40f331e3df3ca3cdb0fec738d9eb4}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!yBuffer@{yBuffer}}
\index{yBuffer@{yBuffer}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{yBuffer}{yBuffer}}
{\footnotesize\ttfamily uint8\+\_\+t$\ast$ agora\+::media\+::base\+::\+Video\+Frame\+::y\+Buffer}

For Y\+UV data, the pointer to the Y buffer; for R\+G\+BA data, the data buffer. \mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_af402b28334e4ed778166c31f89891727}\label{structagora_1_1media_1_1base_1_1_video_frame_af402b28334e4ed778166c31f89891727}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!uBuffer@{uBuffer}}
\index{uBuffer@{uBuffer}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{uBuffer}{uBuffer}}
{\footnotesize\ttfamily uint8\+\_\+t$\ast$ agora\+::media\+::base\+::\+Video\+Frame\+::u\+Buffer}

For Y\+UV data, the pointer to the U buffer; for R\+G\+BA data, the value is 0. \mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_aaef3ff5d9e4e9379d150714e52bf6e98}\label{structagora_1_1media_1_1base_1_1_video_frame_aaef3ff5d9e4e9379d150714e52bf6e98}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!vBuffer@{vBuffer}}
\index{vBuffer@{vBuffer}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{vBuffer}{vBuffer}}
{\footnotesize\ttfamily uint8\+\_\+t$\ast$ agora\+::media\+::base\+::\+Video\+Frame\+::v\+Buffer}

For Y\+UV data, the pointer to the V buffer; for R\+G\+BA data, the value is 0. \mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_a43355876e9500ea4b3f2e805b73494dd}\label{structagora_1_1media_1_1base_1_1_video_frame_a43355876e9500ea4b3f2e805b73494dd}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!rotation@{rotation}}
\index{rotation@{rotation}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{rotation}{rotation}}
{\footnotesize\ttfamily int agora\+::media\+::base\+::\+Video\+Frame\+::rotation}

The clockwise rotation of the video frame before rendering. Supported values include 0, 90, 180, and 270 degrees. \mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_af55fb911029c93dd2f408608c9736a66}\label{structagora_1_1media_1_1base_1_1_video_frame_af55fb911029c93dd2f408608c9736a66}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!renderTimeMs@{renderTimeMs}}
\index{renderTimeMs@{renderTimeMs}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{renderTimeMs}{renderTimeMs}}
{\footnotesize\ttfamily int64\+\_\+t agora\+::media\+::base\+::\+Video\+Frame\+::render\+Time\+Ms}

The Unix timestamp (ms) when the video frame is rendered. This timestamp can be used to guide the rendering of the video frame. This parameter is required. \mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_aa28a65ccc77e5674717aa5c0e310c234}\label{structagora_1_1media_1_1base_1_1_video_frame_aa28a65ccc77e5674717aa5c0e310c234}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!avsync\_type@{avsync\_type}}
\index{avsync\_type@{avsync\_type}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{avsync\_type}{avsync\_type}}
{\footnotesize\ttfamily int agora\+::media\+::base\+::\+Video\+Frame\+::avsync\+\_\+type}

Reserved for future use. \mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_abe8407355a76057a47a13fd3047075fe}\label{structagora_1_1media_1_1base_1_1_video_frame_abe8407355a76057a47a13fd3047075fe}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!metadata\_buffer@{metadata\_buffer}}
\index{metadata\_buffer@{metadata\_buffer}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{metadata\_buffer}{metadata\_buffer}}
{\footnotesize\ttfamily uint8\+\_\+t$\ast$ agora\+::media\+::base\+::\+Video\+Frame\+::metadata\+\_\+buffer}

The Meta\+Data buffer. The default value is {\ttfamily N\+U\+LL}. \begin{DoxyNote}{Note}
This buffer is only guaranteed to be valid during the current callback. If you need to use it asynchronously or after the callback returns, make a copy first. 
\end{DoxyNote}
\mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_ab4fd0d4279509b6913c52e2739e6be60}\label{structagora_1_1media_1_1base_1_1_video_frame_ab4fd0d4279509b6913c52e2739e6be60}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!metadata\_size@{metadata\_size}}
\index{metadata\_size@{metadata\_size}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{metadata\_size}{metadata\_size}}
{\footnotesize\ttfamily int agora\+::media\+::base\+::\+Video\+Frame\+::metadata\+\_\+size}

The Meta\+Data size. The default value is {\ttfamily 0}. \begin{DoxyNote}{Note}
This size is only meaningful while {\ttfamily metadata\+\_\+buffer} is valid during the current callback. 
\end{DoxyNote}
\mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_ac88b98ccd3d13d1afaa675af778a1295}\label{structagora_1_1media_1_1base_1_1_video_frame_ac88b98ccd3d13d1afaa675af778a1295}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!sharedContext@{sharedContext}}
\index{sharedContext@{sharedContext}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{sharedContext}{sharedContext}}
{\footnotesize\ttfamily void$\ast$ agora\+::media\+::base\+::\+Video\+Frame\+::shared\+Context}

This parameter only applies to video data in Texture format. E\+GL Context. \mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_abafb77f77ce854609bb797f7c86aebcd}\label{structagora_1_1media_1_1base_1_1_video_frame_abafb77f77ce854609bb797f7c86aebcd}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!textureId@{textureId}}
\index{textureId@{textureId}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{textureId}{textureId}}
{\footnotesize\ttfamily int agora\+::media\+::base\+::\+Video\+Frame\+::texture\+Id}

This parameter only applies to video data in Texture format. Texture ID. \mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_aab0bc93133113aee8564bfbb740e6d50}\label{structagora_1_1media_1_1base_1_1_video_frame_aab0bc93133113aee8564bfbb740e6d50}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!d3d11Texture2d@{d3d11Texture2d}}
\index{d3d11Texture2d@{d3d11Texture2d}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{d3d11Texture2d}{d3d11Texture2d}}
{\footnotesize\ttfamily void$\ast$ agora\+::media\+::base\+::\+Video\+Frame\+::d3d11\+Texture2d}

This parameter only applies to video data in Windows Texture format. It represents a pointer to an object of type{\ttfamily I\+D3\+D11\+Texture2D}, which is used by a video frame. \mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_a684096507a85c3fb76a7962d2dd2cb36}\label{structagora_1_1media_1_1base_1_1_video_frame_a684096507a85c3fb76a7962d2dd2cb36}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!matrix@{matrix}}
\index{matrix@{matrix}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{matrix}{matrix}}
{\footnotesize\ttfamily float agora\+::media\+::base\+::\+Video\+Frame\+::matrix\mbox{[}16\mbox{]}}

This parameter only applies to video data in Texture format. Incoming 4 × 4 transformational matrix. The typical value is a unit matrix. \mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_a9cb7fec804d4a4cd073b108d021eb325}\label{structagora_1_1media_1_1base_1_1_video_frame_a9cb7fec804d4a4cd073b108d021eb325}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!alphaBuffer@{alphaBuffer}}
\index{alphaBuffer@{alphaBuffer}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{alphaBuffer}{alphaBuffer}}
{\footnotesize\ttfamily uint8\+\_\+t$\ast$ agora\+::media\+::base\+::\+Video\+Frame\+::alpha\+Buffer}

The alpha channel data output by using portrait segmentation algorithm. This data matches the size of the video frame, with each pixel value ranging from \mbox{[}0,255\mbox{]}, where 0 represents the background and 255 represents the foreground (portrait). By setting this parameter, you can render the video background into various effects, such as transparent, solid color, image, video, etc. \begin{DoxyNote}{Note}
Make sure that {\ttfamily alpha\+Buffer} is exactly the same size as the video frame (width × height), otherwise it may cause the app to crash. 
\end{DoxyNote}
\mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_af987f0aab1e602dbb64ef5e7eb4f6130}\label{structagora_1_1media_1_1base_1_1_video_frame_af987f0aab1e602dbb64ef5e7eb4f6130}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!alphaStitchMode@{alphaStitchMode}}
\index{alphaStitchMode@{alphaStitchMode}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{alphaStitchMode}{alphaStitchMode}}
{\footnotesize\ttfamily A\+L\+P\+H\+A\+\_\+\+S\+T\+I\+T\+C\+H\+\_\+\+M\+O\+DE agora\+::media\+::base\+::\+Video\+Frame\+::alpha\+Stitch\+Mode}

When the video frame contains alpha channel data, it represents the relative position of {\ttfamily alpha\+Buffer} and the video frame. See {\ttfamily A\+L\+P\+H\+A\+\_\+\+S\+T\+I\+T\+C\+H\+\_\+\+M\+O\+DE}. \mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_ab85193b0cd24b40ddbc4989c9a1bc0a5}\label{structagora_1_1media_1_1base_1_1_video_frame_ab85193b0cd24b40ddbc4989c9a1bc0a5}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!pixelBuffer@{pixelBuffer}}
\index{pixelBuffer@{pixelBuffer}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{pixelBuffer}{pixelBuffer}}
{\footnotesize\ttfamily void$\ast$ agora\+::media\+::base\+::\+Video\+Frame\+::pixel\+Buffer}

The type of C\+V\+Pixel\+Buffer\+Ref, for i\+OS and mac\+OS only. \mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_af3d4bf399b28999c4ff169c8c06d2d69}\label{structagora_1_1media_1_1base_1_1_video_frame_af3d4bf399b28999c4ff169c8c06d2d69}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!metaInfo@{metaInfo}}
\index{metaInfo@{metaInfo}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{metaInfo}{metaInfo}}
{\footnotesize\ttfamily \mbox{\hyperlink{classagora_1_1media_1_1base_1_1_i_video_frame_meta_info}{I\+Video\+Frame\+Meta\+Info}}$\ast$ agora\+::media\+::base\+::\+Video\+Frame\+::meta\+Info}

The meta information in the video frame. To use this parameter, contact {\ttfamily technical support}. \mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_a587de977db5bae54485be5473dc770ca}\label{structagora_1_1media_1_1base_1_1_video_frame_a587de977db5bae54485be5473dc770ca}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!hdr10MetadataInfo@{hdr10MetadataInfo}}
\index{hdr10MetadataInfo@{hdr10MetadataInfo}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{hdr10MetadataInfo}{hdr10MetadataInfo}}
{\footnotesize\ttfamily \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_hdr10_metadata_info}{Hdr10\+Metadata\+Info}} agora\+::media\+::base\+::\+Video\+Frame\+::hdr10\+Metadata\+Info}

metadata info used for hdr video data \mbox{\Hypertarget{structagora_1_1media_1_1base_1_1_video_frame_a2a52d4272bfb7efcef4cfdccda8bae46}\label{structagora_1_1media_1_1base_1_1_video_frame_a2a52d4272bfb7efcef4cfdccda8bae46}} 
\index{agora::media::base::VideoFrame@{agora::media::base::VideoFrame}!colorSpace@{colorSpace}}
\index{colorSpace@{colorSpace}!agora::media::base::VideoFrame@{agora::media::base::VideoFrame}}
\doxysubsubsection{\texorpdfstring{colorSpace}{colorSpace}}
{\footnotesize\ttfamily \mbox{\hyperlink{structagora_1_1media_1_1base_1_1_color_space}{Color\+Space}} agora\+::media\+::base\+::\+Video\+Frame\+::color\+Space}

By default, the color space properties of video frames will apply the Full Range and B\+T.\+709 standard configurations. 