\hypertarget{nnstreamer__plugin__api__impl_8c}{}\doxysection{nnstreamer/nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.c File Reference}
\label{nnstreamer__plugin__api__impl_8c}\index{nnstreamer/nnstreamer\_plugin\_api\_impl.c@{nnstreamer/nnstreamer\_plugin\_api\_impl.c}}


Common data for N\+N\+Streamer, the G\+Streamer plugin for neural networks.  


{\ttfamily \#include $<$nnstreamer\+\_\+util.\+h$>$}\newline
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$tensor\+\_\+common.\+h$>$}\newline
Include dependency graph for nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structGstTensorExtraInfo}{Gst\+Tensor\+Extra\+Info}}
\begin{DoxyCompactList}\small\item\em Data structure to describe a \char`\"{}extra\char`\"{} tensor data. This represents the information of the N\+N\+S\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+S\+I\+Z\+E\+\_\+\+L\+I\+M\+I\+T-\/th memory block for tensor stream. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structgst__tensor__aggregation__data__s}{gst\+\_\+tensor\+\_\+aggregation\+\_\+data\+\_\+s}}
\begin{DoxyCompactList}\small\item\em Internal struct to handle aggregation data in hash table. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a53ee08494fade446d082aadf38628db4}{N\+N\+S\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+R\+A\+N\+K\+\_\+\+L\+I\+M\+I\+T\+\_\+\+P\+R\+EV}}~(4)
\begin{DoxyCompactList}\small\item\em The old rank of tensor. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_ad37ec91fb3cab641f265fc819ff9b8c5}{N\+N\+S\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+E\+X\+T\+R\+A\+\_\+\+M\+A\+G\+IC}}~0xf00dc0de
\item 
\#define \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_ae10be174d3d5b6b5bbf3295055c6132d}{A\+G\+G\+R\+E\+G\+A\+T\+I\+O\+N\+\_\+\+D\+E\+F\+A\+U\+L\+T\+\_\+\+K\+EY}}~0x\+C0\+F\+F\+E\+EU
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static gboolean \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a40b524d2621ca89446b4e869c81f4267}{gst\+\_\+memory\+\_\+map\+\_\+is\+\_\+extra\+\_\+tensor}} (Gst\+Map\+Info $\ast$map)
\begin{DoxyCompactList}\small\item\em Check if given memory has extra tensors. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a0c7569e4accba4e483dade69e27896f9}{gst\+\_\+tensor\+\_\+extra\+\_\+info\+\_\+init}} (\mbox{\hyperlink{structGstTensorExtraInfo}{Gst\+Tensor\+Extra\+Info}} $\ast$extra, gsize reserved\+\_\+size)
\begin{DoxyCompactList}\small\item\em Initialize \mbox{\hyperlink{structGstTensorExtraInfo}{Gst\+Tensor\+Extra\+Info}} structure with given {\itshape memory}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{tensor__common_8h_a913f607a6cefbdd4fd00f5b3deff6537}{tensor\+\_\+time\+\_\+sync\+\_\+mode}} \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_aa9aa55e0fdfc8726d9a3a8c64830b271}{gst\+\_\+tensor\+\_\+time\+\_\+sync\+\_\+get\+\_\+mode}} (const gchar $\ast$str)
\begin{DoxyCompactList}\small\item\em Get the corresponding mode from the string value. \end{DoxyCompactList}\item 
const gchar $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a386be3ccf469c0090f9a51bf911e2172}{gst\+\_\+tensor\+\_\+time\+\_\+sync\+\_\+get\+\_\+mode\+\_\+string}} (\mbox{\hyperlink{tensor__common_8h_a913f607a6cefbdd4fd00f5b3deff6537}{tensor\+\_\+time\+\_\+sync\+\_\+mode}} mode)
\begin{DoxyCompactList}\small\item\em Get the time-\/sync mode string. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_ad53e232ff2dbe2af5d2e21ab81276d56}{gst\+\_\+tensor\+\_\+time\+\_\+sync\+\_\+set\+\_\+option\+\_\+data}} (\mbox{\hyperlink{tensor__common_8h_a88e575b2e6ee5d254fcec6bcac73c76e}{tensor\+\_\+time\+\_\+sync\+\_\+data}} $\ast$sync)
\begin{DoxyCompactList}\small\item\em Setup time sync option. \end{DoxyCompactList}\item 
static gboolean \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a8c0c07406c01dedec900689bb0691347}{\+\_\+gst\+\_\+tensor\+\_\+time\+\_\+sync\+\_\+is\+\_\+eos}} (Gst\+Collect\+Pads $\ast$collect, \mbox{\hyperlink{tensor__common_8h_a88e575b2e6ee5d254fcec6bcac73c76e}{tensor\+\_\+time\+\_\+sync\+\_\+data}} $\ast$sync, guint empty)
\begin{DoxyCompactList}\small\item\em Internal function to detect E\+OS using the number of empty pads. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_ac2e54159e49436c16c82af6732e18d14}{gst\+\_\+tensor\+\_\+time\+\_\+sync\+\_\+get\+\_\+current\+\_\+time}} (Gst\+Collect\+Pads $\ast$collect, \mbox{\hyperlink{tensor__common_8h_a88e575b2e6ee5d254fcec6bcac73c76e}{tensor\+\_\+time\+\_\+sync\+\_\+data}} $\ast$sync, Gst\+Clock\+Time $\ast$current\+\_\+time, Gst\+Buffer $\ast$tensors\+\_\+buf)
\begin{DoxyCompactList}\small\item\em A function call to decide current timestamp among collected pads based on P\+TS. It will decide current timestamp according to sync option. Gst\+Meta is also copied with same sync mode. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a16bbdb4f08da198527c0a14d634ceb4a}{gst\+\_\+tensor\+\_\+time\+\_\+sync\+\_\+flush}} (Gst\+Collect\+Pads $\ast$collect)
\begin{DoxyCompactList}\small\item\em A function to be called while processing a flushing event. It should clear old buffer and reset pad data. \end{DoxyCompactList}\item 
static gboolean \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a8dcf482fd11665fcf9e274e8671e31df}{\+\_\+gst\+\_\+tensor\+\_\+time\+\_\+sync\+\_\+buffer\+\_\+update}} (Gst\+Collect\+Pads $\ast$collect, Gst\+Collect\+Data $\ast$\mbox{\hyperlink{gsttensor__if_8c_a3c9cc8d6e8da85fef51da4c7115b97f6}{data}}, Gst\+Clock\+Time current, Gst\+Clock\+Time base, \mbox{\hyperlink{tensor__common_8h_a88e575b2e6ee5d254fcec6bcac73c76e}{tensor\+\_\+time\+\_\+sync\+\_\+data}} $\ast$sync)
\begin{DoxyCompactList}\small\item\em Internal function to update buffer in pad data based on the sync mode. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_ad1907af6d000f03e56565ef1aebcc00b}{gst\+\_\+tensor\+\_\+time\+\_\+sync\+\_\+buffer\+\_\+from\+\_\+collectpad}} (Gst\+Collect\+Pads $\ast$collect, \mbox{\hyperlink{tensor__common_8h_a88e575b2e6ee5d254fcec6bcac73c76e}{tensor\+\_\+time\+\_\+sync\+\_\+data}} $\ast$sync, Gst\+Clock\+Time current\+\_\+time, Gst\+Buffer $\ast$tensors\+\_\+buf, \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$configs, gboolean $\ast$is\+\_\+eos)
\begin{DoxyCompactList}\small\item\em A function call to make tensors from collected pads. It decide which buffer is going to be used according to sync option. \end{DoxyCompactList}\item 
Gst\+Buffer $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a54f7006af0c8207c9b478412b69626db}{gst\+\_\+tensor\+\_\+buffer\+\_\+from\+\_\+config}} (Gst\+Buffer $\ast$in, \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$config)
\begin{DoxyCompactList}\small\item\em Configure gst-\/buffer with tensors information. N\+N\+Streamer handles single memory chunk as single tensor. If incoming buffer has invalid memories, separate it and generate new gst-\/buffer using tensors information. Note that this function always takes the ownership of input buffer. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a99b19fc8704eeae3c482ba48da9b60ec}{gst\+\_\+tensor\+\_\+aggregation\+\_\+free\+\_\+data}} (gpointer \mbox{\hyperlink{gsttensor__if_8c_a3c9cc8d6e8da85fef51da4c7115b97f6}{data}})
\begin{DoxyCompactList}\small\item\em Internal function to free aggregation data. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{structgst__tensor__aggregation__data__s}{gst\+\_\+tensor\+\_\+aggregation\+\_\+data\+\_\+s}} $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_af62a0248f71ca43ecdb50c42ff8772fb}{gst\+\_\+tensor\+\_\+aggregation\+\_\+add\+\_\+data}} (G\+Hash\+Table $\ast$table, const guint32 key)
\begin{DoxyCompactList}\small\item\em Internal function to add new aggregation data. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{structgst__tensor__aggregation__data__s}{gst\+\_\+tensor\+\_\+aggregation\+\_\+data\+\_\+s}} $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a27fb8782713c02a2484925128bcd6cba}{gst\+\_\+tensor\+\_\+aggregation\+\_\+get\+\_\+data}} (G\+Hash\+Table $\ast$table, const guint32 key)
\begin{DoxyCompactList}\small\item\em Internal function to get aggregation data. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a70a09d428f504ed85911d994b2d38e1b}{gst\+\_\+tensor\+\_\+aggregation\+\_\+clear\+\_\+internal}} (gpointer key, gpointer value, gpointer user\+\_\+data)
\begin{DoxyCompactList}\small\item\em Internal function to remove all buffers from aggregation data. \end{DoxyCompactList}\item 
G\+Hash\+Table $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_aa0f17e8b5359dd284168bc8c2011dbce}{gst\+\_\+tensor\+\_\+aggregation\+\_\+init}} (void)
\begin{DoxyCompactList}\small\item\em Gets new hash table for tensor aggregation. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a67910d61e16ccbeb2b701d8d064f43af}{gst\+\_\+tensor\+\_\+aggregation\+\_\+clear}} (G\+Hash\+Table $\ast$table, const guint32 key)
\begin{DoxyCompactList}\small\item\em Clears buffers from adapter. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a5c097d371af81a03986f4f3246234fa0}{gst\+\_\+tensor\+\_\+aggregation\+\_\+clear\+\_\+all}} (G\+Hash\+Table $\ast$table)
\begin{DoxyCompactList}\small\item\em Clears buffers from all adapters in hash table. \end{DoxyCompactList}\item 
Gst\+Adapter $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a303119dad38d6d8ce1e6dc21dc2b54b4}{gst\+\_\+tensor\+\_\+aggregation\+\_\+get\+\_\+adapter}} (G\+Hash\+Table $\ast$table, const guint32 key)
\begin{DoxyCompactList}\small\item\em Gets adapter from hash table. \end{DoxyCompactList}\item 
static gboolean \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a08637fb25713ca968e6abee2faf21b00}{\+\_\+append\+\_\+prev\+\_\+caps}} (const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$config)
\begin{DoxyCompactList}\small\item\em Internal function to check tensor dimensions to append old caps for backward compatibility (rank 4). \end{DoxyCompactList}\item 
static Gst\+Caps $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_ae8184256490a5888e9a2c2498a5882e1}{\+\_\+get\+\_\+tensor\+\_\+caps}} (const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$config)
\begin{DoxyCompactList}\small\item\em Internal function to get caps for single tensor from config. \end{DoxyCompactList}\item 
static Gst\+Caps $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a9a451d254ed1d3317b837e1148b674b5}{\+\_\+get\+\_\+tensors\+\_\+caps}} (const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$config)
\begin{DoxyCompactList}\small\item\em Internal function to get caps for multi tensors from config. \end{DoxyCompactList}\item 
static Gst\+Caps $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a92e99a029f987af6230ef647a79a8d47}{\+\_\+get\+\_\+flexible\+\_\+caps}} (const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$config)
\begin{DoxyCompactList}\small\item\em Internal function to get caps for flexible tensor from config. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_aec0aa9639b95b8c1d1ece5a3cd0cd941}{gst\+\_\+structure\+\_\+is\+\_\+tensor\+\_\+stream}} (const Gst\+Structure $\ast$structure)
\begin{DoxyCompactList}\small\item\em Check given mimetype is tensor stream. \end{DoxyCompactList}\item 
\mbox{\hyperlink{tensor__typedef_8h_a179b411a3defbc62047b1f892ff41f82}{media\+\_\+type}} \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a22e1832db83a77fc3e1261832b81eeab}{gst\+\_\+structure\+\_\+get\+\_\+media\+\_\+type}} (const Gst\+Structure $\ast$structure)
\begin{DoxyCompactList}\small\item\em Get media type from structure. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_ab434de2dadd23fa441063535f59d67b3}{gst\+\_\+tensors\+\_\+config\+\_\+from\+\_\+peer}} (Gst\+Pad $\ast$pad, \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$config, gboolean $\ast$is\+\_\+fixed)
\begin{DoxyCompactList}\small\item\em Parse caps from peer pad and set tensors config. \end{DoxyCompactList}\item 
static gboolean \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_ae4c1b27fa315401ccd6c8250ccd313b4}{\+\_\+is\+\_\+structure\+\_\+dimension\+\_\+same}} (Gst\+Structure $\ast$st1, Gst\+Structure $\ast$st2, const gchar $\ast$fieldname)
\begin{DoxyCompactList}\small\item\em Check whether two structures have the same dimension. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_ac4cf6313e3edfd681f9e8faf004283d1}{gst\+\_\+tensor\+\_\+caps\+\_\+update\+\_\+dimension}} (Gst\+Caps $\ast$caps, Gst\+Caps $\ast$filter)
\begin{DoxyCompactList}\small\item\em Update caps dimensions for negotiation. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_aa7b91407076cfa7e2efb89132a6a7095}{gst\+\_\+tensor\+\_\+caps\+\_\+can\+\_\+intersect}} (Gst\+Caps $\ast$caps1, Gst\+Caps $\ast$caps2)
\begin{DoxyCompactList}\small\item\em Try intersecting @caps1 and @caps2 for tensor stream. \end{DoxyCompactList}\item 
Gst\+Caps $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_ab23cc571aa1b9cf9c3a5a45839c43443}{gst\+\_\+tensor\+\_\+pad\+\_\+caps\+\_\+from\+\_\+config}} (Gst\+Pad $\ast$pad, const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$config)
\begin{DoxyCompactList}\small\item\em Get pad caps from tensors config and caps of the peer connected to the pad. \end{DoxyCompactList}\item 
Gst\+Caps $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a2d8353ac248e4c5eaa656221e00710bb}{gst\+\_\+tensor\+\_\+pad\+\_\+possible\+\_\+caps\+\_\+from\+\_\+config}} (Gst\+Pad $\ast$pad, const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$config)
\begin{DoxyCompactList}\small\item\em Get all possible caps from tensors config. Unlike \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_ab23cc571aa1b9cf9c3a5a45839c43443}{gst\+\_\+tensor\+\_\+pad\+\_\+caps\+\_\+from\+\_\+config()}}, this function does not check peer caps. \end{DoxyCompactList}\item 
\mbox{\hyperlink{tensor__typedef_8h_a8f63561cff18618282cb7e0dd1f8ac96}{tensor\+\_\+format}} \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a459532128566b3e6099bff9c566edf71}{gst\+\_\+tensor\+\_\+pad\+\_\+get\+\_\+format}} (Gst\+Pad $\ast$pad)
\begin{DoxyCompactList}\small\item\em Get tensor format of current pad caps. \end{DoxyCompactList}\item 
Gst\+Caps $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a9f23bbb17703a58381b57195414104bf}{gst\+\_\+tensors\+\_\+caps\+\_\+from\+\_\+config}} (const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$config)
\begin{DoxyCompactList}\small\item\em Get caps from tensors config (for other/tensors) \end{DoxyCompactList}\item 
Gst\+Caps $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_ac43fbf5a603c4a59a0415d0b92ca9f2a}{gst\+\_\+tensor\+\_\+caps\+\_\+from\+\_\+config}} (const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$config)
\begin{DoxyCompactList}\small\item\em Get tensor caps from tensors config. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a768ee5a05c44e256255f3f173619eb81}{gst\+\_\+tensors\+\_\+config\+\_\+from\+\_\+structure}} (\mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$config, const Gst\+Structure $\ast$structure)
\begin{DoxyCompactList}\small\item\em Parse structure and set tensors config (for other/tensors) \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_aef52ebe5b36b43902af4dd571c8261f9}{gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+parse\+\_\+memory}} (\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$meta, Gst\+Memory $\ast$mem)
\begin{DoxyCompactList}\small\item\em Parse memory and fill the tensor meta. \end{DoxyCompactList}\item 
Gst\+Memory $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_ae43f2299e53ab20acea3be49146568db}{gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+append\+\_\+header}} (\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$meta, Gst\+Memory $\ast$mem)
\begin{DoxyCompactList}\small\item\em Append header to memory. \end{DoxyCompactList}\item 
Gst\+Memory $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a5f0f497aaa22224549933f551356a053}{gst\+\_\+tensor\+\_\+buffer\+\_\+get\+\_\+nth\+\_\+memory}} (Gst\+Buffer $\ast$buffer, const guint index)
\begin{DoxyCompactList}\small\item\em Get the nth Gst\+Memory from given {\itshape buffer}. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_aff0563ef38ca0af551a0774414566129}{gst\+\_\+tensor\+\_\+buffer\+\_\+append\+\_\+memory}} (Gst\+Buffer $\ast$buffer, Gst\+Memory $\ast$memory, const \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$info)
\begin{DoxyCompactList}\small\item\em Append {\itshape memory} to given {\itshape buffer}. \end{DoxyCompactList}\item 
guint \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a43da922a793d680d9c2b3c8fed4e2dac}{gst\+\_\+tensor\+\_\+buffer\+\_\+get\+\_\+count}} (Gst\+Buffer $\ast$buffer)
\begin{DoxyCompactList}\small\item\em Get the number of tensors in the buffer. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_acba281b5875bbb40146bbf90a90c4734}{set\+\_\+property\+\_\+value}} (G\+Value $\ast$prop\+\_\+value, const G\+Param\+Spec $\ast$param\+\_\+spec, const gchar $\ast$property\+\_\+value)
\begin{DoxyCompactList}\small\item\em Sets the value of a property based on the specified property value and G\+Param\+Spec. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a474f4499274fb0856c809a59e154df96}{gst\+\_\+tensor\+\_\+parse\+\_\+config\+\_\+file}} (const gchar $\ast$config\+\_\+path, const G\+Object $\ast$object)
\begin{DoxyCompactList}\small\item\em Parses a configuration file and sets the corresponding properties on a G\+Object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static const gchar $\ast$ \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_a3d3535b52a80e2b69edae71bfa297088}{gst\+\_\+tensor\+\_\+time\+\_\+sync\+\_\+mode\+\_\+string}} \mbox{[}$\,$\mbox{]}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Common data for N\+N\+Streamer, the G\+Streamer plugin for neural networks. 

N\+N\+Streamer Common Header\textquotesingle{}s Contents (pipeline extension) Copyright (C) 2020 Myung\+Joo Ham \href{mailto:myungjoo.ham@samsung.com}{\texttt{ myungjoo.\+ham@samsung.\+com}}

\begin{DoxyDate}{Date}
14 Apr 2020 
\end{DoxyDate}
\begin{DoxySeeAlso}{See also}
\href{https://github.com/nnstreamer/nnstreamer}{\texttt{ https\+://github.\+com/nnstreamer/nnstreamer}} 
\end{DoxySeeAlso}
\begin{DoxyAuthor}{Author}
Myung\+Joo Ham \href{mailto:myungjoo.ham@samsung.com}{\texttt{ myungjoo.\+ham@samsung.\+com}} 
\end{DoxyAuthor}
\begin{DoxyRefDesc}{Bug}
\item[\mbox{\hyperlink{bug__bug000092}{Bug}}]No known bugs except for N\+YI items\end{DoxyRefDesc}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_ae10be174d3d5b6b5bbf3295055c6132d}\label{nnstreamer__plugin__api__impl_8c_ae10be174d3d5b6b5bbf3295055c6132d}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!AGGREGATION\_DEFAULT\_KEY@{AGGREGATION\_DEFAULT\_KEY}}
\index{AGGREGATION\_DEFAULT\_KEY@{AGGREGATION\_DEFAULT\_KEY}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{AGGREGATION\_DEFAULT\_KEY}{AGGREGATION\_DEFAULT\_KEY}}
{\footnotesize\ttfamily \#define A\+G\+G\+R\+E\+G\+A\+T\+I\+O\+N\+\_\+\+D\+E\+F\+A\+U\+L\+T\+\_\+\+K\+EY~0x\+C0\+F\+F\+E\+EU}



Definition at line 662 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_ad37ec91fb3cab641f265fc819ff9b8c5}\label{nnstreamer__plugin__api__impl_8c_ad37ec91fb3cab641f265fc819ff9b8c5}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!NNS\_TENSOR\_EXTRA\_MAGIC@{NNS\_TENSOR\_EXTRA\_MAGIC}}
\index{NNS\_TENSOR\_EXTRA\_MAGIC@{NNS\_TENSOR\_EXTRA\_MAGIC}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{NNS\_TENSOR\_EXTRA\_MAGIC}{NNS\_TENSOR\_EXTRA\_MAGIC}}
{\footnotesize\ttfamily \#define N\+N\+S\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+E\+X\+T\+R\+A\+\_\+\+M\+A\+G\+IC~0xf00dc0de}



Definition at line 33 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a53ee08494fade446d082aadf38628db4}\label{nnstreamer__plugin__api__impl_8c_a53ee08494fade446d082aadf38628db4}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!NNS\_TENSOR\_RANK\_LIMIT\_PREV@{NNS\_TENSOR\_RANK\_LIMIT\_PREV}}
\index{NNS\_TENSOR\_RANK\_LIMIT\_PREV@{NNS\_TENSOR\_RANK\_LIMIT\_PREV}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{NNS\_TENSOR\_RANK\_LIMIT\_PREV}{NNS\_TENSOR\_RANK\_LIMIT\_PREV}}
{\footnotesize\ttfamily \#define N\+N\+S\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+R\+A\+N\+K\+\_\+\+L\+I\+M\+I\+T\+\_\+\+P\+R\+EV~(4)}



The old rank of tensor. 



Definition at line 31 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a08637fb25713ca968e6abee2faf21b00}\label{nnstreamer__plugin__api__impl_8c_a08637fb25713ca968e6abee2faf21b00}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!\_append\_prev\_caps@{\_append\_prev\_caps}}
\index{\_append\_prev\_caps@{\_append\_prev\_caps}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{\_append\_prev\_caps()}{\_append\_prev\_caps()}}
{\footnotesize\ttfamily static gboolean \+\_\+append\+\_\+prev\+\_\+caps (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{config }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Internal function to check tensor dimensions to append old caps for backward compatibility (rank 4). 



Definition at line 809 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a08637fb25713ca968e6abee2faf21b00_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a08637fb25713ca968e6abee2faf21b00_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a92e99a029f987af6230ef647a79a8d47}\label{nnstreamer__plugin__api__impl_8c_a92e99a029f987af6230ef647a79a8d47}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!\_get\_flexible\_caps@{\_get\_flexible\_caps}}
\index{\_get\_flexible\_caps@{\_get\_flexible\_caps}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{\_get\_flexible\_caps()}{\_get\_flexible\_caps()}}
{\footnotesize\ttfamily static Gst\+Caps$\ast$ \+\_\+get\+\_\+flexible\+\_\+caps (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{config }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Internal function to get caps for flexible tensor from config. 



Definition at line 964 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a92e99a029f987af6230ef647a79a8d47_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_ae8184256490a5888e9a2c2498a5882e1}\label{nnstreamer__plugin__api__impl_8c_ae8184256490a5888e9a2c2498a5882e1}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!\_get\_tensor\_caps@{\_get\_tensor\_caps}}
\index{\_get\_tensor\_caps@{\_get\_tensor\_caps}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{\_get\_tensor\_caps()}{\_get\_tensor\_caps()}}
{\footnotesize\ttfamily static Gst\+Caps$\ast$ \+\_\+get\+\_\+tensor\+\_\+caps (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{config }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Internal function to get caps for single tensor from config. 



Definition at line 839 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_ae8184256490a5888e9a2c2498a5882e1_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_ae8184256490a5888e9a2c2498a5882e1_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a9a451d254ed1d3317b837e1148b674b5}\label{nnstreamer__plugin__api__impl_8c_a9a451d254ed1d3317b837e1148b674b5}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!\_get\_tensors\_caps@{\_get\_tensors\_caps}}
\index{\_get\_tensors\_caps@{\_get\_tensors\_caps}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{\_get\_tensors\_caps()}{\_get\_tensors\_caps()}}
{\footnotesize\ttfamily static Gst\+Caps$\ast$ \+\_\+get\+\_\+tensors\+\_\+caps (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{config }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Internal function to get caps for multi tensors from config. 



Definition at line 904 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a9a451d254ed1d3317b837e1148b674b5_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a9a451d254ed1d3317b837e1148b674b5_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a8dcf482fd11665fcf9e274e8671e31df}\label{nnstreamer__plugin__api__impl_8c_a8dcf482fd11665fcf9e274e8671e31df}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!\_gst\_tensor\_time\_sync\_buffer\_update@{\_gst\_tensor\_time\_sync\_buffer\_update}}
\index{\_gst\_tensor\_time\_sync\_buffer\_update@{\_gst\_tensor\_time\_sync\_buffer\_update}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{\_gst\_tensor\_time\_sync\_buffer\_update()}{\_gst\_tensor\_time\_sync\_buffer\_update()}}
{\footnotesize\ttfamily static gboolean \+\_\+gst\+\_\+tensor\+\_\+time\+\_\+sync\+\_\+buffer\+\_\+update (\begin{DoxyParamCaption}\item[{Gst\+Collect\+Pads $\ast$}]{collect,  }\item[{Gst\+Collect\+Data $\ast$}]{data,  }\item[{Gst\+Clock\+Time}]{current,  }\item[{Gst\+Clock\+Time}]{base,  }\item[{\mbox{\hyperlink{tensor__common_8h_a88e575b2e6ee5d254fcec6bcac73c76e}{tensor\+\_\+time\+\_\+sync\+\_\+data}} $\ast$}]{sync }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Internal function to update buffer in pad data based on the sync mode. 



Definition at line 287 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a8dcf482fd11665fcf9e274e8671e31df_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a8c0c07406c01dedec900689bb0691347}\label{nnstreamer__plugin__api__impl_8c_a8c0c07406c01dedec900689bb0691347}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!\_gst\_tensor\_time\_sync\_is\_eos@{\_gst\_tensor\_time\_sync\_is\_eos}}
\index{\_gst\_tensor\_time\_sync\_is\_eos@{\_gst\_tensor\_time\_sync\_is\_eos}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{\_gst\_tensor\_time\_sync\_is\_eos()}{\_gst\_tensor\_time\_sync\_is\_eos()}}
{\footnotesize\ttfamily static gboolean \+\_\+gst\+\_\+tensor\+\_\+time\+\_\+sync\+\_\+is\+\_\+eos (\begin{DoxyParamCaption}\item[{Gst\+Collect\+Pads $\ast$}]{collect,  }\item[{\mbox{\hyperlink{tensor__common_8h_a88e575b2e6ee5d254fcec6bcac73c76e}{tensor\+\_\+time\+\_\+sync\+\_\+data}} $\ast$}]{sync,  }\item[{guint}]{empty }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Internal function to detect E\+OS using the number of empty pads. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em collect} & Collect pad. \\
\hline
\mbox{\texttt{ in}}  & {\em sync} & Synchronization option. \\
\hline
\mbox{\texttt{ in}}  & {\em empty} & The number of empty pads (pad has no buffer). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if E\+OS. 
\end{DoxyReturn}


Definition at line 175 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a8c0c07406c01dedec900689bb0691347_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_ae4c1b27fa315401ccd6c8250ccd313b4}\label{nnstreamer__plugin__api__impl_8c_ae4c1b27fa315401ccd6c8250ccd313b4}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!\_is\_structure\_dimension\_same@{\_is\_structure\_dimension\_same}}
\index{\_is\_structure\_dimension\_same@{\_is\_structure\_dimension\_same}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{\_is\_structure\_dimension\_same()}{\_is\_structure\_dimension\_same()}}
{\footnotesize\ttfamily static gboolean \+\_\+is\+\_\+structure\+\_\+dimension\+\_\+same (\begin{DoxyParamCaption}\item[{Gst\+Structure $\ast$}]{st1,  }\item[{Gst\+Structure $\ast$}]{st2,  }\item[{const gchar $\ast$}]{fieldname }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Check whether two structures have the same dimension. 



Definition at line 1072 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_ae4c1b27fa315401ccd6c8250ccd313b4_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_ae4c1b27fa315401ccd6c8250ccd313b4_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a40b524d2621ca89446b4e869c81f4267}\label{nnstreamer__plugin__api__impl_8c_a40b524d2621ca89446b4e869c81f4267}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_memory\_map\_is\_extra\_tensor@{gst\_memory\_map\_is\_extra\_tensor}}
\index{gst\_memory\_map\_is\_extra\_tensor@{gst\_memory\_map\_is\_extra\_tensor}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_memory\_map\_is\_extra\_tensor()}{gst\_memory\_map\_is\_extra\_tensor()}}
{\footnotesize\ttfamily static gboolean gst\+\_\+memory\+\_\+map\+\_\+is\+\_\+extra\+\_\+tensor (\begin{DoxyParamCaption}\item[{Gst\+Map\+Info $\ast$}]{map }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Check if given memory has extra tensors. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em map} & Gst\+Map\+Info of Gst\+Memory to be checked. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if @map has extra tensors, otherwise F\+A\+L\+SE. 
\end{DoxyReturn}


Definition at line 54 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a40b524d2621ca89446b4e869c81f4267_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a22e1832db83a77fc3e1261832b81eeab}\label{nnstreamer__plugin__api__impl_8c_a22e1832db83a77fc3e1261832b81eeab}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_structure\_get\_media\_type@{gst\_structure\_get\_media\_type}}
\index{gst\_structure\_get\_media\_type@{gst\_structure\_get\_media\_type}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_structure\_get\_media\_type()}{gst\_structure\_get\_media\_type()}}
{\footnotesize\ttfamily \mbox{\hyperlink{tensor__typedef_8h_a179b411a3defbc62047b1f892ff41f82}{media\+\_\+type}} gst\+\_\+structure\+\_\+get\+\_\+media\+\_\+type (\begin{DoxyParamCaption}\item[{const Gst\+Structure $\ast$}]{structure }\end{DoxyParamCaption})}



Get media type from structure. 


\begin{DoxyParams}{Parameters}
{\em structure} & structure to be interpreted \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
corresponding media type (returns \+\_\+\+N\+N\+S\+\_\+\+M\+E\+D\+I\+A\+\_\+\+I\+N\+V\+A\+L\+ID for unsupported type) 
\end{DoxyReturn}


Definition at line 1001 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a22e1832db83a77fc3e1261832b81eeab_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a22e1832db83a77fc3e1261832b81eeab_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_aec0aa9639b95b8c1d1ece5a3cd0cd941}\label{nnstreamer__plugin__api__impl_8c_aec0aa9639b95b8c1d1ece5a3cd0cd941}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_structure\_is\_tensor\_stream@{gst\_structure\_is\_tensor\_stream}}
\index{gst\_structure\_is\_tensor\_stream@{gst\_structure\_is\_tensor\_stream}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_structure\_is\_tensor\_stream()}{gst\_structure\_is\_tensor\_stream()}}
{\footnotesize\ttfamily gboolean gst\+\_\+structure\+\_\+is\+\_\+tensor\+\_\+stream (\begin{DoxyParamCaption}\item[{const Gst\+Structure $\ast$}]{structure }\end{DoxyParamCaption})}



Check given mimetype is tensor stream. 


\begin{DoxyParams}{Parameters}
{\em structure} & structure to be interpreted \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if mimetype is tensor stream 
\end{DoxyReturn}


Definition at line 984 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_aec0aa9639b95b8c1d1ece5a3cd0cd941_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_af62a0248f71ca43ecdb50c42ff8772fb}\label{nnstreamer__plugin__api__impl_8c_af62a0248f71ca43ecdb50c42ff8772fb}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_aggregation\_add\_data@{gst\_tensor\_aggregation\_add\_data}}
\index{gst\_tensor\_aggregation\_add\_data@{gst\_tensor\_aggregation\_add\_data}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_aggregation\_add\_data()}{gst\_tensor\_aggregation\_add\_data()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{structgst__tensor__aggregation__data__s}{gst\+\_\+tensor\+\_\+aggregation\+\_\+data\+\_\+s}}$\ast$ gst\+\_\+tensor\+\_\+aggregation\+\_\+add\+\_\+data (\begin{DoxyParamCaption}\item[{G\+Hash\+Table $\ast$}]{table,  }\item[{const guint32}]{key }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Internal function to add new aggregation data. 



Definition at line 685 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_af62a0248f71ca43ecdb50c42ff8772fb_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a67910d61e16ccbeb2b701d8d064f43af}\label{nnstreamer__plugin__api__impl_8c_a67910d61e16ccbeb2b701d8d064f43af}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_aggregation\_clear@{gst\_tensor\_aggregation\_clear}}
\index{gst\_tensor\_aggregation\_clear@{gst\_tensor\_aggregation\_clear}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_aggregation\_clear()}{gst\_tensor\_aggregation\_clear()}}
{\footnotesize\ttfamily void gst\+\_\+tensor\+\_\+aggregation\+\_\+clear (\begin{DoxyParamCaption}\item[{G\+Hash\+Table $\ast$}]{table,  }\item[{const guint32}]{key }\end{DoxyParamCaption})}



Clears buffers from adapter. 


\begin{DoxyParams}{Parameters}
{\em table} & a hash table instance initialized with \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_aa0f17e8b5359dd284168bc8c2011dbce}{gst\+\_\+tensor\+\_\+aggregation\+\_\+init()}} \\
\hline
{\em key} & the key to look up (set null to get default adapter) \\
\hline
\end{DoxyParams}


Definition at line 763 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a67910d61e16ccbeb2b701d8d064f43af_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a5c097d371af81a03986f4f3246234fa0}\label{nnstreamer__plugin__api__impl_8c_a5c097d371af81a03986f4f3246234fa0}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_aggregation\_clear\_all@{gst\_tensor\_aggregation\_clear\_all}}
\index{gst\_tensor\_aggregation\_clear\_all@{gst\_tensor\_aggregation\_clear\_all}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_aggregation\_clear\_all()}{gst\_tensor\_aggregation\_clear\_all()}}
{\footnotesize\ttfamily void gst\+\_\+tensor\+\_\+aggregation\+\_\+clear\+\_\+all (\begin{DoxyParamCaption}\item[{G\+Hash\+Table $\ast$}]{table }\end{DoxyParamCaption})}



Clears buffers from all adapters in hash table. 


\begin{DoxyParams}{Parameters}
{\em table} & a hash table instance initialized with \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_aa0f17e8b5359dd284168bc8c2011dbce}{gst\+\_\+tensor\+\_\+aggregation\+\_\+init()}} \\
\hline
\end{DoxyParams}


Definition at line 778 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a5c097d371af81a03986f4f3246234fa0_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a5c097d371af81a03986f4f3246234fa0_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a70a09d428f504ed85911d994b2d38e1b}\label{nnstreamer__plugin__api__impl_8c_a70a09d428f504ed85911d994b2d38e1b}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_aggregation\_clear\_internal@{gst\_tensor\_aggregation\_clear\_internal}}
\index{gst\_tensor\_aggregation\_clear\_internal@{gst\_tensor\_aggregation\_clear\_internal}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_aggregation\_clear\_internal()}{gst\_tensor\_aggregation\_clear\_internal()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+aggregation\+\_\+clear\+\_\+internal (\begin{DoxyParamCaption}\item[{gpointer}]{key,  }\item[{gpointer}]{value,  }\item[{gpointer}]{user\+\_\+data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Internal function to remove all buffers from aggregation data. 



Definition at line 718 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a70a09d428f504ed85911d994b2d38e1b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a99b19fc8704eeae3c482ba48da9b60ec}\label{nnstreamer__plugin__api__impl_8c_a99b19fc8704eeae3c482ba48da9b60ec}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_aggregation\_free\_data@{gst\_tensor\_aggregation\_free\_data}}
\index{gst\_tensor\_aggregation\_free\_data@{gst\_tensor\_aggregation\_free\_data}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_aggregation\_free\_data()}{gst\_tensor\_aggregation\_free\_data()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+aggregation\+\_\+free\+\_\+data (\begin{DoxyParamCaption}\item[{gpointer}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Internal function to free aggregation data. 



Definition at line 668 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=294pt]{nnstreamer__plugin__api__impl_8c_a99b19fc8704eeae3c482ba48da9b60ec_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a99b19fc8704eeae3c482ba48da9b60ec_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a303119dad38d6d8ce1e6dc21dc2b54b4}\label{nnstreamer__plugin__api__impl_8c_a303119dad38d6d8ce1e6dc21dc2b54b4}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_aggregation\_get\_adapter@{gst\_tensor\_aggregation\_get\_adapter}}
\index{gst\_tensor\_aggregation\_get\_adapter@{gst\_tensor\_aggregation\_get\_adapter}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_aggregation\_get\_adapter()}{gst\_tensor\_aggregation\_get\_adapter()}}
{\footnotesize\ttfamily Gst\+Adapter$\ast$ gst\+\_\+tensor\+\_\+aggregation\+\_\+get\+\_\+adapter (\begin{DoxyParamCaption}\item[{G\+Hash\+Table $\ast$}]{table,  }\item[{const guint32}]{key }\end{DoxyParamCaption})}



Gets adapter from hash table. 


\begin{DoxyParams}{Parameters}
{\em table} & a hash table instance initialized with \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_aa0f17e8b5359dd284168bc8c2011dbce}{gst\+\_\+tensor\+\_\+aggregation\+\_\+init()}} \\
\hline
{\em key} & the key to look up (set null to get default adapter) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
gst-\/adapter instance. DO N\+OT release this instance. 
\end{DoxyReturn}


Definition at line 790 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a303119dad38d6d8ce1e6dc21dc2b54b4_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a303119dad38d6d8ce1e6dc21dc2b54b4_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a27fb8782713c02a2484925128bcd6cba}\label{nnstreamer__plugin__api__impl_8c_a27fb8782713c02a2484925128bcd6cba}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_aggregation\_get\_data@{gst\_tensor\_aggregation\_get\_data}}
\index{gst\_tensor\_aggregation\_get\_data@{gst\_tensor\_aggregation\_get\_data}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_aggregation\_get\_data()}{gst\_tensor\_aggregation\_get\_data()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{structgst__tensor__aggregation__data__s}{gst\+\_\+tensor\+\_\+aggregation\+\_\+data\+\_\+s}}$\ast$ gst\+\_\+tensor\+\_\+aggregation\+\_\+get\+\_\+data (\begin{DoxyParamCaption}\item[{G\+Hash\+Table $\ast$}]{table,  }\item[{const guint32}]{key }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Internal function to get aggregation data. 



Definition at line 706 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a27fb8782713c02a2484925128bcd6cba_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_aa0f17e8b5359dd284168bc8c2011dbce}\label{nnstreamer__plugin__api__impl_8c_aa0f17e8b5359dd284168bc8c2011dbce}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_aggregation\_init@{gst\_tensor\_aggregation\_init}}
\index{gst\_tensor\_aggregation\_init@{gst\_tensor\_aggregation\_init}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_aggregation\_init()}{gst\_tensor\_aggregation\_init()}}
{\footnotesize\ttfamily G\+Hash\+Table$\ast$ gst\+\_\+tensor\+\_\+aggregation\+\_\+init (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Gets new hash table for tensor aggregation. 

\begin{DoxyReturn}{Returns}
Newly allocated hash table, caller should release this using g\+\_\+hash\+\_\+table\+\_\+destroy(). 
\end{DoxyReturn}
Add default adapter (for the case if buffer has no specific id). If gst-\/buffer has tensor-\/meta which includes client-\/id, e.\+g., aggregation frames from multiple clients on query-\/server pipeline, nnstreamer element should parse meta and request adapter with this id. However, on normal pipeline, gst-\/buffer does not contain tensor-\/meta, then the element may request adapter with null key string.

Definition at line 737 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_aa0f17e8b5359dd284168bc8c2011dbce_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_aa0f17e8b5359dd284168bc8c2011dbce_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_aff0563ef38ca0af551a0774414566129}\label{nnstreamer__plugin__api__impl_8c_aff0563ef38ca0af551a0774414566129}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_buffer\_append\_memory@{gst\_tensor\_buffer\_append\_memory}}
\index{gst\_tensor\_buffer\_append\_memory@{gst\_tensor\_buffer\_append\_memory}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_buffer\_append\_memory()}{gst\_tensor\_buffer\_append\_memory()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+buffer\+\_\+append\+\_\+memory (\begin{DoxyParamCaption}\item[{Gst\+Buffer $\ast$}]{buffer,  }\item[{Gst\+Memory $\ast$}]{memory,  }\item[{const \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} $\ast$}]{info }\end{DoxyParamCaption})}



Append {\itshape memory} to given {\itshape buffer}. 


\begin{DoxyParams}[1]{Parameters}
 & {\em \mbox{[}in/out\mbox{]}} & buffer Gst\+Buffer to be appended. \\
\hline
\mbox{\texttt{ in}}  & {\em memory} & Gst\+Memory to append. This function takes ownership of this, even if it returns failure. \\
\hline
\mbox{\texttt{ in}}  & {\em info} & \mbox{\hyperlink{structGstTensorInfo}{Gst\+Tensor\+Info}} of given {\itshape memory}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if successfully appended, otherwise F\+A\+L\+SE. 
\end{DoxyReturn}
Free the name string, cause it does not freed by gstreamer. \begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000050}{Todo}}]Make custom gst\+\_\+allocator later? \end{DoxyRefDesc}


Definition at line 1666 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_aff0563ef38ca0af551a0774414566129_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_aff0563ef38ca0af551a0774414566129_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a54f7006af0c8207c9b478412b69626db}\label{nnstreamer__plugin__api__impl_8c_a54f7006af0c8207c9b478412b69626db}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_buffer\_from\_config@{gst\_tensor\_buffer\_from\_config}}
\index{gst\_tensor\_buffer\_from\_config@{gst\_tensor\_buffer\_from\_config}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_buffer\_from\_config()}{gst\_tensor\_buffer\_from\_config()}}
{\footnotesize\ttfamily Gst\+Buffer$\ast$ gst\+\_\+tensor\+\_\+buffer\+\_\+from\+\_\+config (\begin{DoxyParamCaption}\item[{Gst\+Buffer $\ast$}]{in,  }\item[{\mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{config }\end{DoxyParamCaption})}



Configure gst-\/buffer with tensors information. N\+N\+Streamer handles single memory chunk as single tensor. If incoming buffer has invalid memories, separate it and generate new gst-\/buffer using tensors information. Note that this function always takes the ownership of input buffer. 


\begin{DoxyParams}{Parameters}
{\em in} & input buffer \\
\hline
{\em config} & tensors config structure \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Newly allocated buffer. Null if failed. Caller should unref the buffer using gst\+\_\+buffer\+\_\+unref(). 
\end{DoxyReturn}


Definition at line 535 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a54f7006af0c8207c9b478412b69626db_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a54f7006af0c8207c9b478412b69626db_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a43da922a793d680d9c2b3c8fed4e2dac}\label{nnstreamer__plugin__api__impl_8c_a43da922a793d680d9c2b3c8fed4e2dac}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_buffer\_get\_count@{gst\_tensor\_buffer\_get\_count}}
\index{gst\_tensor\_buffer\_get\_count@{gst\_tensor\_buffer\_get\_count}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_buffer\_get\_count()}{gst\_tensor\_buffer\_get\_count()}}
{\footnotesize\ttfamily guint gst\+\_\+tensor\+\_\+buffer\+\_\+get\+\_\+count (\begin{DoxyParamCaption}\item[{Gst\+Buffer $\ast$}]{buffer }\end{DoxyParamCaption})}



Get the number of tensors in the buffer. 



Definition at line 1813 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a43da922a793d680d9c2b3c8fed4e2dac_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a43da922a793d680d9c2b3c8fed4e2dac_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a5f0f497aaa22224549933f551356a053}\label{nnstreamer__plugin__api__impl_8c_a5f0f497aaa22224549933f551356a053}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_buffer\_get\_nth\_memory@{gst\_tensor\_buffer\_get\_nth\_memory}}
\index{gst\_tensor\_buffer\_get\_nth\_memory@{gst\_tensor\_buffer\_get\_nth\_memory}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_buffer\_get\_nth\_memory()}{gst\_tensor\_buffer\_get\_nth\_memory()}}
{\footnotesize\ttfamily Gst\+Memory$\ast$ gst\+\_\+tensor\+\_\+buffer\+\_\+get\+\_\+nth\+\_\+memory (\begin{DoxyParamCaption}\item[{Gst\+Buffer $\ast$}]{buffer,  }\item[{const guint}]{index }\end{DoxyParamCaption})}



Get the nth Gst\+Memory from given {\itshape buffer}. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em buffer} & Gst\+Buffer to be parsed. \\
\hline
\mbox{\texttt{ in}}  & {\em index} & Index of Gst\+Memory to be returned. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Gst\+Memory if found, otherwise N\+U\+LL (Caller should free returned memory using gst\+\_\+memory\+\_\+unref()). 
\end{DoxyReturn}


Definition at line 1586 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a5f0f497aaa22224549933f551356a053_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a5f0f497aaa22224549933f551356a053_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_aa7b91407076cfa7e2efb89132a6a7095}\label{nnstreamer__plugin__api__impl_8c_aa7b91407076cfa7e2efb89132a6a7095}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_caps\_can\_intersect@{gst\_tensor\_caps\_can\_intersect}}
\index{gst\_tensor\_caps\_can\_intersect@{gst\_tensor\_caps\_can\_intersect}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_caps\_can\_intersect()}{gst\_tensor\_caps\_can\_intersect()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+caps\+\_\+can\+\_\+intersect (\begin{DoxyParamCaption}\item[{Gst\+Caps $\ast$}]{caps1,  }\item[{Gst\+Caps $\ast$}]{caps2 }\end{DoxyParamCaption})}



Try intersecting @caps1 and @caps2 for tensor stream. 


\begin{DoxyParams}{Parameters}
{\em caps1} & a Gst\+Caps to intersect \\
\hline
{\em caps2} & a Gst\+Caps to intersect \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if intersection would be not empty. 
\end{DoxyReturn}


Definition at line 1142 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_aa7b91407076cfa7e2efb89132a6a7095_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_aa7b91407076cfa7e2efb89132a6a7095_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_ac43fbf5a603c4a59a0415d0b92ca9f2a}\label{nnstreamer__plugin__api__impl_8c_ac43fbf5a603c4a59a0415d0b92ca9f2a}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_caps\_from\_config@{gst\_tensor\_caps\_from\_config}}
\index{gst\_tensor\_caps\_from\_config@{gst\_tensor\_caps\_from\_config}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_caps\_from\_config()}{gst\_tensor\_caps\_from\_config()}}
{\footnotesize\ttfamily Gst\+Caps$\ast$ gst\+\_\+tensor\+\_\+caps\+\_\+from\+\_\+config (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{config }\end{DoxyParamCaption})}



Get tensor caps from tensors config. 

Get tensor caps from tensors config (for other/tensor)


\begin{DoxyParams}{Parameters}
{\em config} & tensors config info \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
caps for given config 
\end{DoxyReturn}


Definition at line 1395 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_ac43fbf5a603c4a59a0415d0b92ca9f2a_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_ac43fbf5a603c4a59a0415d0b92ca9f2a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_ac4cf6313e3edfd681f9e8faf004283d1}\label{nnstreamer__plugin__api__impl_8c_ac4cf6313e3edfd681f9e8faf004283d1}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_caps\_update\_dimension@{gst\_tensor\_caps\_update\_dimension}}
\index{gst\_tensor\_caps\_update\_dimension@{gst\_tensor\_caps\_update\_dimension}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_caps\_update\_dimension()}{gst\_tensor\_caps\_update\_dimension()}}
{\footnotesize\ttfamily void gst\+\_\+tensor\+\_\+caps\+\_\+update\+\_\+dimension (\begin{DoxyParamCaption}\item[{Gst\+Caps $\ast$}]{caps,  }\item[{Gst\+Caps $\ast$}]{filter }\end{DoxyParamCaption})}



Update caps dimensions for negotiation. 

Update caps dimension for negotiation.


\begin{DoxyParams}{Parameters}
{\em caps} & caps to compare and update \\
\hline
{\em filter} & caps to compare \\
\hline
\end{DoxyParams}


Definition at line 1093 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_ac4cf6313e3edfd681f9e8faf004283d1_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_ac4cf6313e3edfd681f9e8faf004283d1_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a0c7569e4accba4e483dade69e27896f9}\label{nnstreamer__plugin__api__impl_8c_a0c7569e4accba4e483dade69e27896f9}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_extra\_info\_init@{gst\_tensor\_extra\_info\_init}}
\index{gst\_tensor\_extra\_info\_init@{gst\_tensor\_extra\_info\_init}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_extra\_info\_init()}{gst\_tensor\_extra\_info\_init()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+extra\+\_\+info\+\_\+init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorExtraInfo}{Gst\+Tensor\+Extra\+Info}} $\ast$}]{extra,  }\item[{gsize}]{reserved\+\_\+size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Initialize \mbox{\hyperlink{structGstTensorExtraInfo}{Gst\+Tensor\+Extra\+Info}} structure with given {\itshape memory}. 


\begin{DoxyParams}[1]{Parameters}
 & {\em \mbox{[}in/out\mbox{]}} & extra \mbox{\hyperlink{structGstTensorExtraInfo}{Gst\+Tensor\+Extra\+Info}} to be initialized. \\
\hline
\mbox{\texttt{ in}}  & {\em reserved\+\_\+size} & The memory size of extra memory block. \\
\hline
\end{DoxyParams}


Definition at line 78 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a0c7569e4accba4e483dade69e27896f9_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a0c7569e4accba4e483dade69e27896f9_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_ae43f2299e53ab20acea3be49146568db}\label{nnstreamer__plugin__api__impl_8c_ae43f2299e53ab20acea3be49146568db}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_meta\_info\_append\_header@{gst\_tensor\_meta\_info\_append\_header}}
\index{gst\_tensor\_meta\_info\_append\_header@{gst\_tensor\_meta\_info\_append\_header}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_meta\_info\_append\_header()}{gst\_tensor\_meta\_info\_append\_header()}}
{\footnotesize\ttfamily Gst\+Memory$\ast$ gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+append\+\_\+header (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$}]{meta,  }\item[{Gst\+Memory $\ast$}]{mem }\end{DoxyParamCaption})}



Append header to memory. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em meta} & tensor meta structure \\
\hline
\mbox{\texttt{ in}}  & {\em mem} & pointer to Gst\+Memory \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Newly allocated Gst\+Memory (Caller should free returned memory using gst\+\_\+memory\+\_\+unref()) 
\end{DoxyReturn}


Definition at line 1544 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_ae43f2299e53ab20acea3be49146568db_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_ae43f2299e53ab20acea3be49146568db_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_aef52ebe5b36b43902af4dd571c8261f9}\label{nnstreamer__plugin__api__impl_8c_aef52ebe5b36b43902af4dd571c8261f9}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_meta\_info\_parse\_memory@{gst\_tensor\_meta\_info\_parse\_memory}}
\index{gst\_tensor\_meta\_info\_parse\_memory@{gst\_tensor\_meta\_info\_parse\_memory}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_meta\_info\_parse\_memory()}{gst\_tensor\_meta\_info\_parse\_memory()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+meta\+\_\+info\+\_\+parse\+\_\+memory (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorMetaInfo}{Gst\+Tensor\+Meta\+Info}} $\ast$}]{meta,  }\item[{Gst\+Memory $\ast$}]{mem }\end{DoxyParamCaption})}



Parse memory and fill the tensor meta. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em meta} & tensor meta structure to be filled \\
\hline
\mbox{\texttt{ in}}  & {\em mem} & pointer to Gst\+Memory to be parsed \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if successfully set the meta 
\end{DoxyReturn}


Definition at line 1509 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_aef52ebe5b36b43902af4dd571c8261f9_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_aef52ebe5b36b43902af4dd571c8261f9_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_ab23cc571aa1b9cf9c3a5a45839c43443}\label{nnstreamer__plugin__api__impl_8c_ab23cc571aa1b9cf9c3a5a45839c43443}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_pad\_caps\_from\_config@{gst\_tensor\_pad\_caps\_from\_config}}
\index{gst\_tensor\_pad\_caps\_from\_config@{gst\_tensor\_pad\_caps\_from\_config}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_pad\_caps\_from\_config()}{gst\_tensor\_pad\_caps\_from\_config()}}
{\footnotesize\ttfamily Gst\+Caps$\ast$ gst\+\_\+tensor\+\_\+pad\+\_\+caps\+\_\+from\+\_\+config (\begin{DoxyParamCaption}\item[{Gst\+Pad $\ast$}]{pad,  }\item[{const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{config }\end{DoxyParamCaption})}



Get pad caps from tensors config and caps of the peer connected to the pad. 


\begin{DoxyParams}{Parameters}
{\em pad} & Gst\+Pad to get possible caps \\
\hline
{\em config} & tensors config structure \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
caps for given config. Caller is responsible for unreffing the returned caps. 
\end{DoxyReturn}


Definition at line 1209 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_ab23cc571aa1b9cf9c3a5a45839c43443_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_ab23cc571aa1b9cf9c3a5a45839c43443_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a459532128566b3e6099bff9c566edf71}\label{nnstreamer__plugin__api__impl_8c_a459532128566b3e6099bff9c566edf71}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_pad\_get\_format@{gst\_tensor\_pad\_get\_format}}
\index{gst\_tensor\_pad\_get\_format@{gst\_tensor\_pad\_get\_format}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_pad\_get\_format()}{gst\_tensor\_pad\_get\_format()}}
{\footnotesize\ttfamily \mbox{\hyperlink{tensor__typedef_8h_a8f63561cff18618282cb7e0dd1f8ac96}{tensor\+\_\+format}} gst\+\_\+tensor\+\_\+pad\+\_\+get\+\_\+format (\begin{DoxyParamCaption}\item[{Gst\+Pad $\ast$}]{pad }\end{DoxyParamCaption})}



Get tensor format of current pad caps. 


\begin{DoxyParams}{Parameters}
{\em pad} & Gst\+Pad to check current caps. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The tensor\+\_\+format of current pad caps.
\end{DoxyReturn}
If pad does not have tensor caps return \+\_\+\+N\+N\+S\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+F\+O\+R\+M\+A\+T\+\_\+\+E\+ND 

Definition at line 1343 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a459532128566b3e6099bff9c566edf71_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a2d8353ac248e4c5eaa656221e00710bb}\label{nnstreamer__plugin__api__impl_8c_a2d8353ac248e4c5eaa656221e00710bb}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_pad\_possible\_caps\_from\_config@{gst\_tensor\_pad\_possible\_caps\_from\_config}}
\index{gst\_tensor\_pad\_possible\_caps\_from\_config@{gst\_tensor\_pad\_possible\_caps\_from\_config}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_pad\_possible\_caps\_from\_config()}{gst\_tensor\_pad\_possible\_caps\_from\_config()}}
{\footnotesize\ttfamily Gst\+Caps$\ast$ gst\+\_\+tensor\+\_\+pad\+\_\+possible\+\_\+caps\+\_\+from\+\_\+config (\begin{DoxyParamCaption}\item[{Gst\+Pad $\ast$}]{pad,  }\item[{const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{config }\end{DoxyParamCaption})}



Get all possible caps from tensors config. Unlike \mbox{\hyperlink{nnstreamer__plugin__api__impl_8c_ab23cc571aa1b9cf9c3a5a45839c43443}{gst\+\_\+tensor\+\_\+pad\+\_\+caps\+\_\+from\+\_\+config()}}, this function does not check peer caps. 


\begin{DoxyParams}{Parameters}
{\em pad} & Gst\+Pad to get possible caps \\
\hline
{\em config} & tensors config structure \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
caps for given config. Caller is responsible for unreffing the returned caps. 
\end{DoxyReturn}


Definition at line 1286 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a2d8353ac248e4c5eaa656221e00710bb_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a2d8353ac248e4c5eaa656221e00710bb_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a474f4499274fb0856c809a59e154df96}\label{nnstreamer__plugin__api__impl_8c_a474f4499274fb0856c809a59e154df96}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_parse\_config\_file@{gst\_tensor\_parse\_config\_file}}
\index{gst\_tensor\_parse\_config\_file@{gst\_tensor\_parse\_config\_file}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_parse\_config\_file()}{gst\_tensor\_parse\_config\_file()}}
{\footnotesize\ttfamily void gst\+\_\+tensor\+\_\+parse\+\_\+config\+\_\+file (\begin{DoxyParamCaption}\item[{const gchar $\ast$}]{config\+\_\+path,  }\item[{const G\+Object $\ast$}]{object }\end{DoxyParamCaption})}



Parses a configuration file and sets the corresponding properties on a G\+Object. 

This function reads the contents of the configuration file located at the given path and sets the properties of the specified G\+Object based on the configuration data.


\begin{DoxyParams}{Parameters}
{\em config\+\_\+path} & The path to the configuration file. \\
\hline
{\em object} & The G\+Object on which to set the properties.\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
The responsibility of managing the memory of the G\+Object passed as a parameter lies outside this function. 
\end{DoxyNote}
Iterate over each line

Definition at line 1902 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a474f4499274fb0856c809a59e154df96_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a474f4499274fb0856c809a59e154df96_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_ad1907af6d000f03e56565ef1aebcc00b}\label{nnstreamer__plugin__api__impl_8c_ad1907af6d000f03e56565ef1aebcc00b}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_time\_sync\_buffer\_from\_collectpad@{gst\_tensor\_time\_sync\_buffer\_from\_collectpad}}
\index{gst\_tensor\_time\_sync\_buffer\_from\_collectpad@{gst\_tensor\_time\_sync\_buffer\_from\_collectpad}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_time\_sync\_buffer\_from\_collectpad()}{gst\_tensor\_time\_sync\_buffer\_from\_collectpad()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+time\+\_\+sync\+\_\+buffer\+\_\+from\+\_\+collectpad (\begin{DoxyParamCaption}\item[{Gst\+Collect\+Pads $\ast$}]{collect,  }\item[{\mbox{\hyperlink{tensor__common_8h_a88e575b2e6ee5d254fcec6bcac73c76e}{tensor\+\_\+time\+\_\+sync\+\_\+data}} $\ast$}]{sync,  }\item[{Gst\+Clock\+Time}]{current\+\_\+time,  }\item[{Gst\+Buffer $\ast$}]{tensors\+\_\+buf,  }\item[{\mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{configs,  }\item[{gboolean $\ast$}]{is\+\_\+eos }\end{DoxyParamCaption})}



A function call to make tensors from collected pads. It decide which buffer is going to be used according to sync option. 

A function call to make tensors from collected pads It decide which buffer is going to be used according to sync option.

\begin{DoxyReturn}{Returns}
True to push buffer. 
\end{DoxyReturn}
This would be an internal logic error. in\+\_\+configs should be already confirmed valid at the negotiation phase and this function should be called in a running pipeline. If new sync mode is enabled (e.\+g., handle output when a pad gets new buffer), this may cause unexpected exception.

These are internal logic error. If given inputs are incorrect, the negotiation should have been failed before this stage.

Definition at line 332 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_ad1907af6d000f03e56565ef1aebcc00b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_ad1907af6d000f03e56565ef1aebcc00b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a16bbdb4f08da198527c0a14d634ceb4a}\label{nnstreamer__plugin__api__impl_8c_a16bbdb4f08da198527c0a14d634ceb4a}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_time\_sync\_flush@{gst\_tensor\_time\_sync\_flush}}
\index{gst\_tensor\_time\_sync\_flush@{gst\_tensor\_time\_sync\_flush}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_time\_sync\_flush()}{gst\_tensor\_time\_sync\_flush()}}
{\footnotesize\ttfamily void gst\+\_\+tensor\+\_\+time\+\_\+sync\+\_\+flush (\begin{DoxyParamCaption}\item[{Gst\+Collect\+Pads $\ast$}]{collect }\end{DoxyParamCaption})}



A function to be called while processing a flushing event. It should clear old buffer and reset pad data. 


\begin{DoxyParams}{Parameters}
{\em collect} & Collect pad. \\
\hline
\end{DoxyParams}


Definition at line 263 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=268pt]{nnstreamer__plugin__api__impl_8c_a16bbdb4f08da198527c0a14d634ceb4a_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a16bbdb4f08da198527c0a14d634ceb4a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_ac2e54159e49436c16c82af6732e18d14}\label{nnstreamer__plugin__api__impl_8c_ac2e54159e49436c16c82af6732e18d14}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_time\_sync\_get\_current\_time@{gst\_tensor\_time\_sync\_get\_current\_time}}
\index{gst\_tensor\_time\_sync\_get\_current\_time@{gst\_tensor\_time\_sync\_get\_current\_time}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_time\_sync\_get\_current\_time()}{gst\_tensor\_time\_sync\_get\_current\_time()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+time\+\_\+sync\+\_\+get\+\_\+current\+\_\+time (\begin{DoxyParamCaption}\item[{Gst\+Collect\+Pads $\ast$}]{collect,  }\item[{\mbox{\hyperlink{tensor__common_8h_a88e575b2e6ee5d254fcec6bcac73c76e}{tensor\+\_\+time\+\_\+sync\+\_\+data}} $\ast$}]{sync,  }\item[{Gst\+Clock\+Time $\ast$}]{current\+\_\+time,  }\item[{Gst\+Buffer $\ast$}]{tensors\+\_\+buf }\end{DoxyParamCaption})}



A function call to decide current timestamp among collected pads based on P\+TS. It will decide current timestamp according to sync option. Gst\+Meta is also copied with same sync mode. 

\begin{DoxyReturn}{Returns}
True / False. If E\+OS, it return T\+R\+UE. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em collect} & Collect pad. \\
\hline
{\em sync} & Synchronization Option (N\+O\+S\+Y\+NC, S\+L\+O\+W\+E\+ST, B\+A\+S\+E\+P\+AD, E\+ND) \\
\hline
{\em current\+\_\+time} & Current time \\
\hline
{\em tensors\+\_\+buf} & Generated Gst\+Buffer for Collected Buffer \\
\hline
\end{DoxyParams}


Definition at line 203 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_ac2e54159e49436c16c82af6732e18d14_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_ac2e54159e49436c16c82af6732e18d14_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_aa9aa55e0fdfc8726d9a3a8c64830b271}\label{nnstreamer__plugin__api__impl_8c_aa9aa55e0fdfc8726d9a3a8c64830b271}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_time\_sync\_get\_mode@{gst\_tensor\_time\_sync\_get\_mode}}
\index{gst\_tensor\_time\_sync\_get\_mode@{gst\_tensor\_time\_sync\_get\_mode}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_time\_sync\_get\_mode()}{gst\_tensor\_time\_sync\_get\_mode()}}
{\footnotesize\ttfamily \mbox{\hyperlink{tensor__common_8h_a913f607a6cefbdd4fd00f5b3deff6537}{tensor\+\_\+time\+\_\+sync\+\_\+mode}} gst\+\_\+tensor\+\_\+time\+\_\+sync\+\_\+get\+\_\+mode (\begin{DoxyParamCaption}\item[{const gchar $\ast$}]{str }\end{DoxyParamCaption})}



Get the corresponding mode from the string value. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em str} & The string value for the mode. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Corresponding mode for the string. S\+Y\+N\+C\+\_\+\+E\+ND for errors. 
\end{DoxyReturn}


Definition at line 101 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=320pt]{nnstreamer__plugin__api__impl_8c_aa9aa55e0fdfc8726d9a3a8c64830b271_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_aa9aa55e0fdfc8726d9a3a8c64830b271_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a386be3ccf469c0090f9a51bf911e2172}\label{nnstreamer__plugin__api__impl_8c_a386be3ccf469c0090f9a51bf911e2172}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_time\_sync\_get\_mode\_string@{gst\_tensor\_time\_sync\_get\_mode\_string}}
\index{gst\_tensor\_time\_sync\_get\_mode\_string@{gst\_tensor\_time\_sync\_get\_mode\_string}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_time\_sync\_get\_mode\_string()}{gst\_tensor\_time\_sync\_get\_mode\_string()}}
{\footnotesize\ttfamily const gchar$\ast$ gst\+\_\+tensor\+\_\+time\+\_\+sync\+\_\+get\+\_\+mode\+\_\+string (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__common_8h_a913f607a6cefbdd4fd00f5b3deff6537}{tensor\+\_\+time\+\_\+sync\+\_\+mode}}}]{mode }\end{DoxyParamCaption})}



Get the time-\/sync mode string. 

\begin{DoxyReturn}{Returns}
Corresponding mode string. 
\end{DoxyReturn}


Definition at line 115 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a386be3ccf469c0090f9a51bf911e2172_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_ad53e232ff2dbe2af5d2e21ab81276d56}\label{nnstreamer__plugin__api__impl_8c_ad53e232ff2dbe2af5d2e21ab81276d56}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_time\_sync\_set\_option\_data@{gst\_tensor\_time\_sync\_set\_option\_data}}
\index{gst\_tensor\_time\_sync\_set\_option\_data@{gst\_tensor\_time\_sync\_set\_option\_data}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_time\_sync\_set\_option\_data()}{gst\_tensor\_time\_sync\_set\_option\_data()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensor\+\_\+time\+\_\+sync\+\_\+set\+\_\+option\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{tensor__common_8h_a88e575b2e6ee5d254fcec6bcac73c76e}{tensor\+\_\+time\+\_\+sync\+\_\+data}} $\ast$}]{sync }\end{DoxyParamCaption})}



Setup time sync option. 


\begin{DoxyParams}{Parameters}
{\em \mbox{[}in/out\mbox{]}} & filter \char`\"{}this\char`\"{} pointer. Sync mode \& option M\+U\+ST BE set already. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if successfully set the option. 
\end{DoxyReturn}


Definition at line 126 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_ad53e232ff2dbe2af5d2e21ab81276d56_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a9f23bbb17703a58381b57195414104bf}\label{nnstreamer__plugin__api__impl_8c_a9f23bbb17703a58381b57195414104bf}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensors\_caps\_from\_config@{gst\_tensors\_caps\_from\_config}}
\index{gst\_tensors\_caps\_from\_config@{gst\_tensors\_caps\_from\_config}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_caps\_from\_config()}{gst\_tensors\_caps\_from\_config()}}
{\footnotesize\ttfamily Gst\+Caps$\ast$ gst\+\_\+tensors\+\_\+caps\+\_\+from\+\_\+config (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{config }\end{DoxyParamCaption})}



Get caps from tensors config (for other/tensors) 


\begin{DoxyParams}{Parameters}
{\em config} & tensors config info \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
caps for given config 
\end{DoxyReturn}


Definition at line 1372 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a9f23bbb17703a58381b57195414104bf_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a9f23bbb17703a58381b57195414104bf_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_ab434de2dadd23fa441063535f59d67b3}\label{nnstreamer__plugin__api__impl_8c_ab434de2dadd23fa441063535f59d67b3}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensors\_config\_from\_peer@{gst\_tensors\_config\_from\_peer}}
\index{gst\_tensors\_config\_from\_peer@{gst\_tensors\_config\_from\_peer}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_config\_from\_peer()}{gst\_tensors\_config\_from\_peer()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensors\+\_\+config\+\_\+from\+\_\+peer (\begin{DoxyParamCaption}\item[{Gst\+Pad $\ast$}]{pad,  }\item[{\mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{config,  }\item[{gboolean $\ast$}]{is\+\_\+fixed }\end{DoxyParamCaption})}



Parse caps from peer pad and set tensors config. 


\begin{DoxyParams}{Parameters}
{\em pad} & Gst\+Pad to get the capabilities \\
\hline
{\em config} & tensors config structure to be filled \\
\hline
{\em is\+\_\+fixed} & flag to be updated when peer caps is fixed (not mandatory, do nothing when the param is null) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if successfully configured from peer 
\end{DoxyReturn}


Definition at line 1041 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_ab434de2dadd23fa441063535f59d67b3_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_ab434de2dadd23fa441063535f59d67b3_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a768ee5a05c44e256255f3f173619eb81}\label{nnstreamer__plugin__api__impl_8c_a768ee5a05c44e256255f3f173619eb81}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensors\_config\_from\_structure@{gst\_tensors\_config\_from\_structure}}
\index{gst\_tensors\_config\_from\_structure@{gst\_tensors\_config\_from\_structure}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensors\_config\_from\_structure()}{gst\_tensors\_config\_from\_structure()}}
{\footnotesize\ttfamily gboolean gst\+\_\+tensors\+\_\+config\+\_\+from\+\_\+structure (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{config,  }\item[{const Gst\+Structure $\ast$}]{structure }\end{DoxyParamCaption})}



Parse structure and set tensors config (for other/tensors) 


\begin{DoxyParams}{Parameters}
{\em config} & tensors config structure to be filled \\
\hline
{\em structure} & structure to be interpreted \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if no error 
\end{DoxyReturn}


Definition at line 1413 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_a768ee5a05c44e256255f3f173619eb81_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{nnstreamer__plugin__api__impl_8c_a768ee5a05c44e256255f3f173619eb81_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_acba281b5875bbb40146bbf90a90c4734}\label{nnstreamer__plugin__api__impl_8c_acba281b5875bbb40146bbf90a90c4734}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!set\_property\_value@{set\_property\_value}}
\index{set\_property\_value@{set\_property\_value}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{set\_property\_value()}{set\_property\_value()}}
{\footnotesize\ttfamily static void set\+\_\+property\+\_\+value (\begin{DoxyParamCaption}\item[{G\+Value $\ast$}]{prop\+\_\+value,  }\item[{const G\+Param\+Spec $\ast$}]{param\+\_\+spec,  }\item[{const gchar $\ast$}]{property\+\_\+value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Sets the value of a property based on the specified property value and G\+Param\+Spec. 


\begin{DoxyParams}{Parameters}
{\em prop\+\_\+value} & A pointer to the G\+Value where the property value will be set. \\
\hline
{\em param\+\_\+spec} & A pointer to the G\+Param\+Spec that describes the property. \\
\hline
{\em property\+\_\+value} & A string representing the value to be set for the property.\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
This A\+PI is intended to be used by gst\+\_\+tensor\+\_\+parse\+\_\+config\+\_\+file () 
\end{DoxyNote}
default is string

Definition at line 1862 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=334pt]{nnstreamer__plugin__api__impl_8c_acba281b5875bbb40146bbf90a90c4734_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__plugin__api__impl_8c_acba281b5875bbb40146bbf90a90c4734_icgraph}
\end{center}
\end{figure}


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{nnstreamer__plugin__api__impl_8c_a3d3535b52a80e2b69edae71bfa297088}\label{nnstreamer__plugin__api__impl_8c_a3d3535b52a80e2b69edae71bfa297088}} 
\index{nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}!gst\_tensor\_time\_sync\_mode\_string@{gst\_tensor\_time\_sync\_mode\_string}}
\index{gst\_tensor\_time\_sync\_mode\_string@{gst\_tensor\_time\_sync\_mode\_string}!nnstreamer\_plugin\_api\_impl.c@{nnstreamer\_plugin\_api\_impl.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_time\_sync\_mode\_string}{gst\_tensor\_time\_sync\_mode\_string}}
{\footnotesize\ttfamily const gchar$\ast$ gst\+\_\+tensor\+\_\+time\+\_\+sync\+\_\+mode\+\_\+string\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__common_8h_a913f607a6cefbdd4fd00f5b3deff6537ae361a9a0ced4f060011aa4967f8c3bcc}{SYNC\_NOSYNC}}] = \textcolor{stringliteral}{"nosync"},}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__common_8h_a913f607a6cefbdd4fd00f5b3deff6537a6d7d923a4078f0ffb3acd900313633b7}{SYNC\_SLOWEST}}] = \textcolor{stringliteral}{"slowest"},}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__common_8h_a913f607a6cefbdd4fd00f5b3deff6537a6e73667bb31b20194c36a38301f0f067}{SYNC\_BASEPAD}}] = \textcolor{stringliteral}{"basepad"},}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__common_8h_a913f607a6cefbdd4fd00f5b3deff6537a83adc7f2b55afcb0c84e9dac996ceb63}{SYNC\_REFRESH}}] = \textcolor{stringliteral}{"refresh"},}
\DoxyCodeLine{  [\mbox{\hyperlink{tensor__common_8h_a913f607a6cefbdd4fd00f5b3deff6537a6f459d09467e92d9fe46c5b21bb7c82c}{SYNC\_END}}] = NULL}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line 20 of file nnstreamer\+\_\+plugin\+\_\+api\+\_\+impl.\+c.

