\hypertarget{group___mmal_metadata}{}\section{List of pre-\/defined metadata types}
\label{group___mmal_metadata}\index{List of pre-\/defined metadata types@{List of pre-\/defined metadata types}}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct_m_m_a_l___m_e_t_a_t_d_a_t_a___t}{M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+T\+D\+A\+T\+A\+\_\+\+T}
\item 
struct \hyperlink{struct_m_m_a_l___m_e_t_a_t_d_a_t_a___h_e_l_l_o___w_o_r_l_d___t}{M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+T\+D\+A\+T\+A\+\_\+\+H\+E\+L\+L\+O\+\_\+\+W\+O\+R\+L\+D\+\_\+\+T}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \hyperlink{struct_m_m_a_l___m_e_t_a_t_d_a_t_a___t}{M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+T\+D\+A\+T\+A\+\_\+\+T} \hyperlink{group___mmal_metadata_gaa0efa4f60de6f632d4c4a9d72d7ccc4e}{M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+T}
\item 
typedef struct \hyperlink{struct_m_m_a_l___m_e_t_a_t_d_a_t_a___h_e_l_l_o___w_o_r_l_d___t}{M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+T\+D\+A\+T\+A\+\_\+\+H\+E\+L\+L\+O\+\_\+\+W\+O\+R\+L\+D\+\_\+\+T} \hyperlink{group___mmal_metadata_ga0bcfbbef2a8b1fb015754ea3439ce384}{M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+H\+E\+L\+L\+O\+\_\+\+W\+O\+R\+L\+D\+\_\+\+T}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group___mmal_metadata_gaa0efa4f60de6f632d4c4a9d72d7ccc4e}{M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+T} $\ast$ \hyperlink{group___mmal_metadata_gacabbdd0bcb54ac08f5516863c521f36e}{mmal\+\_\+metadata\+\_\+get} (\hyperlink{struct_m_m_a_l___b_u_f_f_e_r___h_e_a_d_e_r___t}{M\+M\+A\+L\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+H\+E\+A\+D\+E\+R\+\_\+\+T} $\ast$header, uint32\+\_\+t id)
\item 
\hyperlink{group___mmal_types_ga5ac87230bd615d2b154a9d5899bc37fd}{M\+M\+A\+L\+\_\+\+S\+T\+A\+T\+U\+S\+\_\+\+T} \hyperlink{group___mmal_metadata_ga071c6b9633c2578f7d70f7a2bc5f2900}{mmal\+\_\+metadata\+\_\+set} (\hyperlink{struct_m_m_a_l___b_u_f_f_e_r___h_e_a_d_e_r___t}{M\+M\+A\+L\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+H\+E\+A\+D\+E\+R\+\_\+\+T} $\ast$header, \hyperlink{group___mmal_metadata_gaa0efa4f60de6f632d4c4a9d72d7ccc4e}{M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+T} $\ast$metadata)
\end{DoxyCompactItemize}
\subsection*{Pre-\/defined metadata Four\+C\+Cs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group___mmal_metadata_ga243293663dfee2223dc6896fd2e453b9}{}\#define {\bfseries M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+H\+E\+L\+L\+O\+\_\+\+W\+O\+R\+L\+D}~M\+M\+A\+L\+\_\+\+F\+O\+U\+R\+C\+C(\textquotesingle{}H\textquotesingle{},\textquotesingle{}E\textquotesingle{},\textquotesingle{}L\textquotesingle{},\textquotesingle{}O\textquotesingle{})\label{group___mmal_metadata_ga243293663dfee2223dc6896fd2e453b9}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
This defines a list of standard metadata types. Components can still define proprietary metadata types by using their own Four\+C\+C and defining their own metadata structures. 

\subsection{Typedef Documentation}
\hypertarget{group___mmal_metadata_ga0bcfbbef2a8b1fb015754ea3439ce384}{}\index{List of pre-\/defined metadata types@{List of pre-\/defined metadata types}!M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+H\+E\+L\+L\+O\+\_\+\+W\+O\+R\+L\+D\+\_\+\+T@{M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+H\+E\+L\+L\+O\+\_\+\+W\+O\+R\+L\+D\+\_\+\+T}}
\index{M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+H\+E\+L\+L\+O\+\_\+\+W\+O\+R\+L\+D\+\_\+\+T@{M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+H\+E\+L\+L\+O\+\_\+\+W\+O\+R\+L\+D\+\_\+\+T}!List of pre-\/defined metadata types@{List of pre-\/defined metadata types}}
\subsubsection[{M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+H\+E\+L\+L\+O\+\_\+\+W\+O\+R\+L\+D\+\_\+\+T}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+T\+D\+A\+T\+A\+\_\+\+H\+E\+L\+L\+O\+\_\+\+W\+O\+R\+L\+D\+\_\+\+T}  {\bf M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+H\+E\+L\+L\+O\+\_\+\+W\+O\+R\+L\+D\+\_\+\+T}}\label{group___mmal_metadata_ga0bcfbbef2a8b1fb015754ea3439ce384}
Hello World metadata. \hypertarget{group___mmal_metadata_gaa0efa4f60de6f632d4c4a9d72d7ccc4e}{}\index{List of pre-\/defined metadata types@{List of pre-\/defined metadata types}!M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+T@{M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+T}}
\index{M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+T@{M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+T}!List of pre-\/defined metadata types@{List of pre-\/defined metadata types}}
\subsubsection[{M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+T}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+T\+D\+A\+T\+A\+\_\+\+T}  {\bf M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+T}}\label{group___mmal_metadata_gaa0efa4f60de6f632d4c4a9d72d7ccc4e}
Generic metadata type. All metadata structures need to begin with these fields. 

\subsection{Function Documentation}
\hypertarget{group___mmal_metadata_gacabbdd0bcb54ac08f5516863c521f36e}{}\index{List of pre-\/defined metadata types@{List of pre-\/defined metadata types}!mmal\+\_\+metadata\+\_\+get@{mmal\+\_\+metadata\+\_\+get}}
\index{mmal\+\_\+metadata\+\_\+get@{mmal\+\_\+metadata\+\_\+get}!List of pre-\/defined metadata types@{List of pre-\/defined metadata types}}
\subsubsection[{mmal\+\_\+metadata\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+T}$\ast$ mmal\+\_\+metadata\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf M\+M\+A\+L\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+H\+E\+A\+D\+E\+R\+\_\+\+T} $\ast$}]{header, }
\item[{uint32\+\_\+t}]{id}
\end{DoxyParamCaption}
)}\label{group___mmal_metadata_gacabbdd0bcb54ac08f5516863c521f36e}
Get metadata item from buffer header. This will search through all the metadata in the buffer header and return a pointer to the first instance of the requested metadata id.


\begin{DoxyParams}{Parameters}
{\em header} & buffer header containing the metadata \\
\hline
{\em id} & requested metadata id\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Pointer to metadata requested or N\+U\+L\+L if not found. 
\end{DoxyReturn}
\hypertarget{group___mmal_metadata_ga071c6b9633c2578f7d70f7a2bc5f2900}{}\index{List of pre-\/defined metadata types@{List of pre-\/defined metadata types}!mmal\+\_\+metadata\+\_\+set@{mmal\+\_\+metadata\+\_\+set}}
\index{mmal\+\_\+metadata\+\_\+set@{mmal\+\_\+metadata\+\_\+set}!List of pre-\/defined metadata types@{List of pre-\/defined metadata types}}
\subsubsection[{mmal\+\_\+metadata\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf M\+M\+A\+L\+\_\+\+S\+T\+A\+T\+U\+S\+\_\+\+T} mmal\+\_\+metadata\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf M\+M\+A\+L\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+H\+E\+A\+D\+E\+R\+\_\+\+T} $\ast$}]{header, }
\item[{{\bf M\+M\+A\+L\+\_\+\+M\+E\+T\+A\+D\+A\+T\+A\+\_\+\+T} $\ast$}]{metadata}
\end{DoxyParamCaption}
)}\label{group___mmal_metadata_ga071c6b9633c2578f7d70f7a2bc5f2900}
Set metadata item in buffer header. This will store the metadata item into the buffer header. This operation can fail if not enough memory is available in the data section of the buffer header.


\begin{DoxyParams}{Parameters}
{\em header} & buffer header to store the metadata into \\
\hline
{\em metadata} & metadata item to store in buffer header\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
M\+M\+A\+L\+\_\+\+S\+U\+C\+C\+E\+S\+S on success or M\+M\+A\+L\+\_\+\+E\+N\+O\+M\+E\+M if not enough memory is available for storing the metadata 
\end{DoxyReturn}
