\hypertarget{gsttensor__demux_8c}{}\doxysection{nnstreamer/elements/gsttensor\+\_\+demux.c File Reference}
\label{gsttensor__demux_8c}\index{nnstreamer/elements/gsttensor\_demux.c@{nnstreamer/elements/gsttensor\_demux.c}}


G\+Streamer plugin to demux tensors (as a filter for other general neural network filters)  


{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$gst/gst.\+h$>$}\newline
{\ttfamily \#include $<$glib.\+h$>$}\newline
{\ttfamily \#include $<$nnstreamer\+\_\+util.\+h$>$}\newline
{\ttfamily \#include \char`\"{}gsttensor\+\_\+demux.\+h\char`\"{}}\newline
Include dependency graph for gsttensor\+\_\+demux.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{gsttensor__demux_8c_adef911caed7c65a1643062817f4a59d7}{G\+S\+T\+\_\+\+C\+A\+T\+\_\+\+D\+E\+F\+A\+U\+LT}}~gst\+\_\+tensor\+\_\+demux\+\_\+debug
\item 
\#define \mbox{\hyperlink{gsttensor__demux_8c_a1aea57c760ef86227c7d643ba0dfe7eb}{C\+A\+P\+S\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+S\+I\+NK}}~\mbox{\hyperlink{tensor__typedef_8h_a23fa98afadf9e35f428d8d56b739b233}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+S\+\_\+\+C\+A\+P\+\_\+\+M\+A\+KE}} (\char`\"{}\{ static, flexible \}\char`\"{})
\begin{DoxyCompactList}\small\item\em Default caps string for sink pad. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{gsttensor__demux_8c_a58483b5a41c0807f991d9502abb42141}{C\+A\+P\+S\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+S\+RC}}~\mbox{\hyperlink{tensor__typedef_8h_a284951c7aec77ea34d1c0279d5a5b4a0}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+C\+A\+P\+\_\+\+D\+E\+F\+A\+U\+LT}} \char`\"{};\char`\"{} \mbox{\hyperlink{tensor__typedef_8h_a23fa98afadf9e35f428d8d56b739b233}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+S\+\_\+\+C\+A\+P\+\_\+\+M\+A\+KE}} (\char`\"{}\{ static, flexible \}\char`\"{})
\begin{DoxyCompactList}\small\item\em Default caps string for src pad. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{gsttensor__demux_8c_af7b87a6130a9cb0dd81f7afe043f962f}{gst\+\_\+tensor\+\_\+demux\+\_\+parent\+\_\+class}}~parent\+\_\+class
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \{ \mbox{\hyperlink{gsttensor__demux_8c_a6b7b47dd702d9e331586d485013fd1eaac37dda0da1a44e10c0504afeeb863f3c}{P\+R\+O\+P\+\_\+0}}, 
\mbox{\hyperlink{gsttensor__demux_8c_a6b7b47dd702d9e331586d485013fd1eaa707b785966c328fb5a6088b7879c7bb5}{P\+R\+O\+P\+\_\+\+S\+I\+L\+E\+NT}}, 
\mbox{\hyperlink{gsttensor__demux_8c_a6b7b47dd702d9e331586d485013fd1eaa7559f61ab3fabe3a391ab4d6f3ee1393}{P\+R\+O\+P\+\_\+\+T\+E\+N\+S\+O\+R\+P\+I\+CK}}
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{gsttensor__demux_8c_a3c14c1488e21558a6007e8125ef30926}{G\+S\+T\+\_\+\+D\+E\+B\+U\+G\+\_\+\+C\+A\+T\+E\+G\+O\+R\+Y\+\_\+\+S\+T\+A\+T\+IC}} (gst\+\_\+tensor\+\_\+demux\+\_\+debug)
\item 
static Gst\+Flow\+Return \mbox{\hyperlink{gsttensor__demux_8c_aad33bfb75bbc06fe0092d203b3c8110b}{gst\+\_\+tensor\+\_\+demux\+\_\+chain}} (Gst\+Pad $\ast$pad, Gst\+Object $\ast$parent, Gst\+Buffer $\ast$buf)
\begin{DoxyCompactList}\small\item\em chain function for sink (gst element vmethod) \end{DoxyCompactList}\item 
static gboolean \mbox{\hyperlink{gsttensor__demux_8c_a9a639fa70dd1a4d4e2a7782f63a787fe}{gst\+\_\+tensor\+\_\+demux\+\_\+event}} (Gst\+Pad $\ast$pad, Gst\+Object $\ast$parent, Gst\+Event $\ast$event)
\begin{DoxyCompactList}\small\item\em event function for sink (gst element vmethod) \end{DoxyCompactList}\item 
static Gst\+State\+Change\+Return \mbox{\hyperlink{gsttensor__demux_8c_a77158ffd6f931974ee160557236d155f}{gst\+\_\+tensor\+\_\+demux\+\_\+change\+\_\+state}} (Gst\+Element $\ast$element, Gst\+State\+Change transition)
\begin{DoxyCompactList}\small\item\em change state (gst element vmethod) \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{gsttensor__demux_8c_ae464d963de2274233798612a0225b82b}{gst\+\_\+tensor\+\_\+demux\+\_\+set\+\_\+property}} (G\+Object $\ast$object, guint prop\+\_\+id, const G\+Value $\ast$value, G\+Param\+Spec $\ast$pspec)
\begin{DoxyCompactList}\small\item\em Get property (gst element vmethod) \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{gsttensor__demux_8c_abdcd82cfcb548a806f89a5b90575ed99}{gst\+\_\+tensor\+\_\+demux\+\_\+get\+\_\+property}} (G\+Object $\ast$object, guint prop\+\_\+id, G\+Value $\ast$value, G\+Param\+Spec $\ast$pspec)
\begin{DoxyCompactList}\small\item\em Get property (gst element vmethod) \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{gsttensor__demux_8c_a1a3dc310959c4411c89216238b59f09b}{gst\+\_\+tensor\+\_\+demux\+\_\+dispose}} (G\+Object $\ast$object)
\begin{DoxyCompactList}\small\item\em dispose function for tensor demux (gst element vmethod) \end{DoxyCompactList}\item 
\mbox{\hyperlink{gsttensor__demux_8c_acba8291debd1032ae92af0e05540db7d}{G\+\_\+\+D\+E\+F\+I\+N\+E\+\_\+\+T\+Y\+PE}} (\mbox{\hyperlink{gsttensor__demux_8h_a87ffada34efaa0d8effb91663ca55343}{Gst\+Tensor\+Demux}}, gst\+\_\+tensor\+\_\+demux, G\+S\+T\+\_\+\+T\+Y\+P\+E\+\_\+\+E\+L\+E\+M\+E\+NT)
\item 
static void \mbox{\hyperlink{gsttensor__demux_8c_a037f522db8ba339832d23af28e60e261}{gst\+\_\+tensor\+\_\+demux\+\_\+class\+\_\+init}} (\mbox{\hyperlink{gsttensor__demux_8h_af256ff88a78e510b2b6575ca99e6ec75}{Gst\+Tensor\+Demux\+Class}} $\ast$klass)
\begin{DoxyCompactList}\small\item\em initialize the tensor\+\_\+demux\textquotesingle{}s class \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{gsttensor__demux_8c_adc043ba22bef14590059b47059018e2e}{gst\+\_\+tensor\+\_\+demux\+\_\+init}} (\mbox{\hyperlink{gsttensor__demux_8h_a87ffada34efaa0d8effb91663ca55343}{Gst\+Tensor\+Demux}} $\ast$tensor\+\_\+demux)
\begin{DoxyCompactList}\small\item\em initialize the new element instantiate pads and add them to element set pad callback functions initialize instance structure \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{gsttensor__demux_8c_a2f1467d370f6c45e178692c5e5d3dda7}{gst\+\_\+tensor\+\_\+demux\+\_\+remove\+\_\+src\+\_\+pads}} (\mbox{\hyperlink{gsttensor__demux_8h_a87ffada34efaa0d8effb91663ca55343}{Gst\+Tensor\+Demux}} $\ast$tensor\+\_\+demux)
\begin{DoxyCompactList}\small\item\em function to remove srcpad list \end{DoxyCompactList}\item 
static gboolean \mbox{\hyperlink{gsttensor__demux_8c_a01c1b88a0b7ddc471e698e91e75fee64}{gst\+\_\+tensor\+\_\+demux\+\_\+parse\+\_\+caps}} (\mbox{\hyperlink{gsttensor__demux_8h_a87ffada34efaa0d8effb91663ca55343}{Gst\+Tensor\+Demux}} $\ast$tensor\+\_\+demux, Gst\+Caps $\ast$caps)
\begin{DoxyCompactList}\small\item\em Parse caps and configure tensors info. \end{DoxyCompactList}\item 
static gboolean \mbox{\hyperlink{gsttensor__demux_8c_abb0eba6d11b1b92bdf863dab4a4a765f}{gst\+\_\+tensor\+\_\+demux\+\_\+get\+\_\+tensor\+\_\+config}} (\mbox{\hyperlink{gsttensor__demux_8h_a87ffada34efaa0d8effb91663ca55343}{Gst\+Tensor\+Demux}} $\ast$tensor\+\_\+demux, \mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$config, const guint nth, const guint total)
\begin{DoxyCompactList}\small\item\em Get tensor config info from configured tensors. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{structGstTensorPad}{Gst\+Tensor\+Pad}} $\ast$ \mbox{\hyperlink{gsttensor__demux_8c_a5ec5184a9e28b18e2513b536b13e2144}{gst\+\_\+tensor\+\_\+demux\+\_\+get\+\_\+tensor\+\_\+pad}} (\mbox{\hyperlink{gsttensor__demux_8h_a87ffada34efaa0d8effb91663ca55343}{Gst\+Tensor\+Demux}} $\ast$tensor\+\_\+demux, gboolean $\ast$created, const guint nth, const guint total)
\begin{DoxyCompactList}\small\item\em Checking if the source pad is created and if not, create Tensor\+Pad. \end{DoxyCompactList}\item 
static Gst\+Flow\+Return \mbox{\hyperlink{gsttensor__demux_8c_a59cb6c67bd216551a6de4f11b0fa55e3}{gst\+\_\+tensor\+\_\+demux\+\_\+combine\+\_\+flows}} (\mbox{\hyperlink{gsttensor__demux_8h_a87ffada34efaa0d8effb91663ca55343}{Gst\+Tensor\+Demux}} $\ast$tensor\+\_\+demux, \mbox{\hyperlink{structGstTensorPad}{Gst\+Tensor\+Pad}} $\ast$pad, Gst\+Flow\+Return ret)
\begin{DoxyCompactList}\small\item\em Check the status among sources in demux. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static Gst\+Static\+Pad\+Template \mbox{\hyperlink{gsttensor__demux_8c_afbf911046550270596f220799448cee9}{src\+\_\+templ}}
\begin{DoxyCompactList}\small\item\em the capabilities of the inputs and outputs. describe the real formats here. \end{DoxyCompactList}\item 
static Gst\+Static\+Pad\+Template \mbox{\hyperlink{gsttensor__demux_8c_a6f085740fbbe4ba6b942bd8af554501b}{sink\+\_\+templ}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
G\+Streamer plugin to demux tensors (as a filter for other general neural network filters) 

G\+Streamer Copyright (C) 2005 Thomas Vander Stichele \href{mailto:thomas@apestaart.org}{\texttt{ thomas@apestaart.\+org}} Copyright (C) 2005 Ronald S. Bultje \href{mailto:rbultje@ronald.bitfreak.net}{\texttt{ rbultje@ronald.\+bitfreak.\+net}} Copyright (C) 2018 Jijoong Moon \href{mailto:jijoong.moon@samsung.com}{\texttt{ jijoong.\+moon@samsung.\+com}}

This library is free software; you can redistribute it and/or modify it under the terms of the G\+NU Library General Public License as published by the Free Software Foundation; version 2.\+1 of the License.

This library is distributed in the hope that it will be useful, but W\+I\+T\+H\+O\+UT A\+NY W\+A\+R\+R\+A\+N\+TY; without even the implied warranty of M\+E\+R\+C\+H\+A\+N\+T\+A\+B\+I\+L\+I\+TY or F\+I\+T\+N\+E\+SS F\+OR A P\+A\+R\+T\+I\+C\+U\+L\+AR P\+U\+R\+P\+O\+SE. See the G\+NU Library General Public License for more details.

\begin{DoxyDate}{Date}
03 July 2018 
\end{DoxyDate}
\begin{DoxySeeAlso}{See also}
\href{https://github.com/nnstreamer/nnstreamer}{\texttt{ https\+://github.\+com/nnstreamer/nnstreamer}} 
\end{DoxySeeAlso}
\begin{DoxyAuthor}{Author}
Jijoong Moon \href{mailto:jijoong.moon@samsung.com}{\texttt{ jijoong.\+moon@samsung.\+com}} 
\end{DoxyAuthor}
\begin{DoxyRefDesc}{Bug}
\item[\mbox{\hyperlink{bug__bug000038}{Bug}}]No known bugs except for N\+YI items\end{DoxyRefDesc}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{gsttensor__demux_8c_a1aea57c760ef86227c7d643ba0dfe7eb}\label{gsttensor__demux_8c_a1aea57c760ef86227c7d643ba0dfe7eb}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!CAPS\_STRING\_SINK@{CAPS\_STRING\_SINK}}
\index{CAPS\_STRING\_SINK@{CAPS\_STRING\_SINK}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{CAPS\_STRING\_SINK}{CAPS\_STRING\_SINK}}
{\footnotesize\ttfamily \#define C\+A\+P\+S\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+S\+I\+NK~\mbox{\hyperlink{tensor__typedef_8h_a23fa98afadf9e35f428d8d56b739b233}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+S\+\_\+\+C\+A\+P\+\_\+\+M\+A\+KE}} (\char`\"{}\{ static, flexible \}\char`\"{})}



Default caps string for sink pad. 



Definition at line 78 of file gsttensor\+\_\+demux.\+c.

\mbox{\Hypertarget{gsttensor__demux_8c_a58483b5a41c0807f991d9502abb42141}\label{gsttensor__demux_8c_a58483b5a41c0807f991d9502abb42141}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!CAPS\_STRING\_SRC@{CAPS\_STRING\_SRC}}
\index{CAPS\_STRING\_SRC@{CAPS\_STRING\_SRC}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{CAPS\_STRING\_SRC}{CAPS\_STRING\_SRC}}
{\footnotesize\ttfamily \#define C\+A\+P\+S\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+S\+RC~\mbox{\hyperlink{tensor__typedef_8h_a284951c7aec77ea34d1c0279d5a5b4a0}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+\_\+\+C\+A\+P\+\_\+\+D\+E\+F\+A\+U\+LT}} \char`\"{};\char`\"{} \mbox{\hyperlink{tensor__typedef_8h_a23fa98afadf9e35f428d8d56b739b233}{G\+S\+T\+\_\+\+T\+E\+N\+S\+O\+R\+S\+\_\+\+C\+A\+P\+\_\+\+M\+A\+KE}} (\char`\"{}\{ static, flexible \}\char`\"{})}



Default caps string for src pad. 



Definition at line 83 of file gsttensor\+\_\+demux.\+c.

\mbox{\Hypertarget{gsttensor__demux_8c_adef911caed7c65a1643062817f4a59d7}\label{gsttensor__demux_8c_adef911caed7c65a1643062817f4a59d7}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!GST\_CAT\_DEFAULT@{GST\_CAT\_DEFAULT}}
\index{GST\_CAT\_DEFAULT@{GST\_CAT\_DEFAULT}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{GST\_CAT\_DEFAULT}{GST\_CAT\_DEFAULT}}
{\footnotesize\ttfamily \#define G\+S\+T\+\_\+\+C\+A\+T\+\_\+\+D\+E\+F\+A\+U\+LT~gst\+\_\+tensor\+\_\+demux\+\_\+debug}



Definition at line 73 of file gsttensor\+\_\+demux.\+c.

\mbox{\Hypertarget{gsttensor__demux_8c_af7b87a6130a9cb0dd81f7afe043f962f}\label{gsttensor__demux_8c_af7b87a6130a9cb0dd81f7afe043f962f}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!gst\_tensor\_demux\_parent\_class@{gst\_tensor\_demux\_parent\_class}}
\index{gst\_tensor\_demux\_parent\_class@{gst\_tensor\_demux\_parent\_class}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_demux\_parent\_class}{gst\_tensor\_demux\_parent\_class}}
{\footnotesize\ttfamily \#define gst\+\_\+tensor\+\_\+demux\+\_\+parent\+\_\+class~parent\+\_\+class}



Definition at line 119 of file gsttensor\+\_\+demux.\+c.



\doxysubsection{Enumeration Type Documentation}
\mbox{\Hypertarget{gsttensor__demux_8c_a6b7b47dd702d9e331586d485013fd1ea}\label{gsttensor__demux_8c_a6b7b47dd702d9e331586d485013fd1ea}} 
\doxysubsubsection{\texorpdfstring{anonymous enum}{anonymous enum}}
{\footnotesize\ttfamily anonymous enum}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{PROP\_0@{PROP\_0}!gsttensor\_demux.c@{gsttensor\_demux.c}}\index{gsttensor\_demux.c@{gsttensor\_demux.c}!PROP\_0@{PROP\_0}}}\mbox{\Hypertarget{gsttensor__demux_8c_a6b7b47dd702d9e331586d485013fd1eaac37dda0da1a44e10c0504afeeb863f3c}\label{gsttensor__demux_8c_a6b7b47dd702d9e331586d485013fd1eaac37dda0da1a44e10c0504afeeb863f3c}} 
P\+R\+O\+P\+\_\+0&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PROP\_SILENT@{PROP\_SILENT}!gsttensor\_demux.c@{gsttensor\_demux.c}}\index{gsttensor\_demux.c@{gsttensor\_demux.c}!PROP\_SILENT@{PROP\_SILENT}}}\mbox{\Hypertarget{gsttensor__demux_8c_a6b7b47dd702d9e331586d485013fd1eaa707b785966c328fb5a6088b7879c7bb5}\label{gsttensor__demux_8c_a6b7b47dd702d9e331586d485013fd1eaa707b785966c328fb5a6088b7879c7bb5}} 
P\+R\+O\+P\+\_\+\+S\+I\+L\+E\+NT&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PROP\_TENSORPICK@{PROP\_TENSORPICK}!gsttensor\_demux.c@{gsttensor\_demux.c}}\index{gsttensor\_demux.c@{gsttensor\_demux.c}!PROP\_TENSORPICK@{PROP\_TENSORPICK}}}\mbox{\Hypertarget{gsttensor__demux_8c_a6b7b47dd702d9e331586d485013fd1eaa7559f61ab3fabe3a391ab4d6f3ee1393}\label{gsttensor__demux_8c_a6b7b47dd702d9e331586d485013fd1eaa7559f61ab3fabe3a391ab4d6f3ee1393}} 
P\+R\+O\+P\+\_\+\+T\+E\+N\+S\+O\+R\+P\+I\+CK&\\
\hline

\end{DoxyEnumFields}


Definition at line 85 of file gsttensor\+\_\+demux.\+c.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{gsttensor__demux_8c_acba8291debd1032ae92af0e05540db7d}\label{gsttensor__demux_8c_acba8291debd1032ae92af0e05540db7d}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!G\_DEFINE\_TYPE@{G\_DEFINE\_TYPE}}
\index{G\_DEFINE\_TYPE@{G\_DEFINE\_TYPE}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{G\_DEFINE\_TYPE()}{G\_DEFINE\_TYPE()}}
{\footnotesize\ttfamily G\+\_\+\+D\+E\+F\+I\+N\+E\+\_\+\+T\+Y\+PE (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__demux_8h_a87ffada34efaa0d8effb91663ca55343}{Gst\+Tensor\+Demux}}}]{,  }\item[{gst\+\_\+tensor\+\_\+demux}]{,  }\item[{G\+S\+T\+\_\+\+T\+Y\+P\+E\+\_\+\+E\+L\+E\+M\+E\+NT}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{gsttensor__demux_8c_a3c14c1488e21558a6007e8125ef30926}\label{gsttensor__demux_8c_a3c14c1488e21558a6007e8125ef30926}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!GST\_DEBUG\_CATEGORY\_STATIC@{GST\_DEBUG\_CATEGORY\_STATIC}}
\index{GST\_DEBUG\_CATEGORY\_STATIC@{GST\_DEBUG\_CATEGORY\_STATIC}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{GST\_DEBUG\_CATEGORY\_STATIC()}{GST\_DEBUG\_CATEGORY\_STATIC()}}
{\footnotesize\ttfamily G\+S\+T\+\_\+\+D\+E\+B\+U\+G\+\_\+\+C\+A\+T\+E\+G\+O\+R\+Y\+\_\+\+S\+T\+A\+T\+IC (\begin{DoxyParamCaption}\item[{gst\+\_\+tensor\+\_\+demux\+\_\+debug}]{ }\end{DoxyParamCaption})}

S\+E\+C\+T\+I\+ON\+:element-\/tensor\+\_\+demux

A Demuxer that demux tensors stream to tensor(s) stream for NN frameworks. The output is always in the format of other/tensor or other/tensors.

$<$refsect2$>$ $<$title$>$Example launch line$<$/title$>$ $\vert$\mbox{[} gst-\/launch-\/1.\+0 tensor\+\_\+mux name=mux ! tensor\+\_\+demux name=demux \textbackslash{} filesrc location=testcase01\+\_\+\+R\+G\+B\+\_\+100x100.\+png ! pngdec ! videoscale ! imagefreeze ! videoconvert ! video/x-\/raw,format=R\+GB,width=100,height=100,framerate=0/1 ! tensor\+\_\+converter ! mux.\+sink\+\_\+0 \textbackslash{} filesrc location=testcase01\+\_\+\+R\+G\+B\+\_\+100x100.\+png ! pngdec ! videoscale ! imagefreeze ! videoconvert ! video/x-\/raw,format=R\+GB,width=100,height=100,framerate=0/1 ! tensor\+\_\+converter ! mux.\+sink\+\_\+1 \textbackslash{} filesrc location=testcase01\+\_\+\+R\+G\+B\+\_\+100x100.\+png ! pngdec ! videoscale ! imagefreeze ! videoconvert ! video/x-\/raw,format=R\+GB,width=100,height=100,framerate=0/1 ! tensor\+\_\+converter ! mux.\+sink\+\_\+2 \textbackslash{} demux.\+src\+\_\+0 ! queue ! filesink location=demux00.\+log \textbackslash{} demux.\+src\+\_\+1 ! queue ! filesink location=demux01.\+log \textbackslash{} demux.\+src\+\_\+2 ! queue ! filesink location=demux02.\+log \mbox{]}$\vert$

$\vert$\mbox{[} gst-\/launch-\/1.\+0 tensor\+\_\+mux name=mux ! tensor\+\_\+demux name=demux tensorpick=0,1\+:2,2+0 \textbackslash{} ... (tensor 0) ! mux.\+sink\+\_\+0 \textbackslash{} ... (tensor 1) ! mux.\+sink\+\_\+1 \textbackslash{} ... (tensor 2) ! mux.\+sink\+\_\+2 \textbackslash{} demux.\+src\+\_\+0 ! (tensor 0) ... demux.\+src\+\_\+1 ! (tensor 1,2) ... demux.\+src\+\_\+2 ! (tensor 2,0) ... \mbox{]}$\vert$

$<$/refsect2$>$ \mbox{\Hypertarget{gsttensor__demux_8c_aad33bfb75bbc06fe0092d203b3c8110b}\label{gsttensor__demux_8c_aad33bfb75bbc06fe0092d203b3c8110b}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!gst\_tensor\_demux\_chain@{gst\_tensor\_demux\_chain}}
\index{gst\_tensor\_demux\_chain@{gst\_tensor\_demux\_chain}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_demux\_chain()}{gst\_tensor\_demux\_chain()}}
{\footnotesize\ttfamily static Gst\+Flow\+Return gst\+\_\+tensor\+\_\+demux\+\_\+chain (\begin{DoxyParamCaption}\item[{Gst\+Pad $\ast$}]{pad,  }\item[{Gst\+Object $\ast$}]{parent,  }\item[{Gst\+Buffer $\ast$}]{buf }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



chain function for sink (gst element vmethod) 

The number of tensors in the buffer\+: The number of tensors from caps and gst-\/buffer should be same when incoming buffer is static tensor. If given buffer is flexible tensor, we cannot get exact number of tensors from config.

Definition at line 476 of file gsttensor\+\_\+demux.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_aad33bfb75bbc06fe0092d203b3c8110b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_aad33bfb75bbc06fe0092d203b3c8110b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__demux_8c_a77158ffd6f931974ee160557236d155f}\label{gsttensor__demux_8c_a77158ffd6f931974ee160557236d155f}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!gst\_tensor\_demux\_change\_state@{gst\_tensor\_demux\_change\_state}}
\index{gst\_tensor\_demux\_change\_state@{gst\_tensor\_demux\_change\_state}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_demux\_change\_state()}{gst\_tensor\_demux\_change\_state()}}
{\footnotesize\ttfamily static Gst\+State\+Change\+Return gst\+\_\+tensor\+\_\+demux\+\_\+change\+\_\+state (\begin{DoxyParamCaption}\item[{Gst\+Element $\ast$}]{element,  }\item[{Gst\+State\+Change}]{transition }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



change state (gst element vmethod) 



Definition at line 586 of file gsttensor\+\_\+demux.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_a77158ffd6f931974ee160557236d155f_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_a77158ffd6f931974ee160557236d155f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__demux_8c_a037f522db8ba339832d23af28e60e261}\label{gsttensor__demux_8c_a037f522db8ba339832d23af28e60e261}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!gst\_tensor\_demux\_class\_init@{gst\_tensor\_demux\_class\_init}}
\index{gst\_tensor\_demux\_class\_init@{gst\_tensor\_demux\_class\_init}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_demux\_class\_init()}{gst\_tensor\_demux\_class\_init()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+demux\+\_\+class\+\_\+init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__demux_8h_af256ff88a78e510b2b6575ca99e6ec75}{Gst\+Tensor\+Demux\+Class}} $\ast$}]{klass }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



initialize the tensor\+\_\+demux\textquotesingle{}s class 



Definition at line 127 of file gsttensor\+\_\+demux.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_a037f522db8ba339832d23af28e60e261_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__demux_8c_a59cb6c67bd216551a6de4f11b0fa55e3}\label{gsttensor__demux_8c_a59cb6c67bd216551a6de4f11b0fa55e3}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!gst\_tensor\_demux\_combine\_flows@{gst\_tensor\_demux\_combine\_flows}}
\index{gst\_tensor\_demux\_combine\_flows@{gst\_tensor\_demux\_combine\_flows}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_demux\_combine\_flows()}{gst\_tensor\_demux\_combine\_flows()}}
{\footnotesize\ttfamily static Gst\+Flow\+Return gst\+\_\+tensor\+\_\+demux\+\_\+combine\+\_\+flows (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__demux_8h_a87ffada34efaa0d8effb91663ca55343}{Gst\+Tensor\+Demux}} $\ast$}]{tensor\+\_\+demux,  }\item[{\mbox{\hyperlink{structGstTensorPad}{Gst\+Tensor\+Pad}} $\ast$}]{pad,  }\item[{Gst\+Flow\+Return}]{ret }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Check the status among sources in demux. 


\begin{DoxyParams}{Parameters}
{\em tensor\+\_\+demux} & Tensor\+Demux Object \\
\hline
{\em Tensor\+Pad} & Tensorpad \\
\hline
{\em ret} & return status of current pad \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
return status after check sources 
\end{DoxyReturn}


Definition at line 453 of file gsttensor\+\_\+demux.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=299pt]{gsttensor__demux_8c_a59cb6c67bd216551a6de4f11b0fa55e3_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_a59cb6c67bd216551a6de4f11b0fa55e3_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__demux_8c_a1a3dc310959c4411c89216238b59f09b}\label{gsttensor__demux_8c_a1a3dc310959c4411c89216238b59f09b}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!gst\_tensor\_demux\_dispose@{gst\_tensor\_demux\_dispose}}
\index{gst\_tensor\_demux\_dispose@{gst\_tensor\_demux\_dispose}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_demux\_dispose()}{gst\_tensor\_demux\_dispose()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+demux\+\_\+dispose (\begin{DoxyParamCaption}\item[{G\+Object $\ast$}]{object }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



dispose function for tensor demux (gst element vmethod) 



Definition at line 219 of file gsttensor\+\_\+demux.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_a1a3dc310959c4411c89216238b59f09b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_a1a3dc310959c4411c89216238b59f09b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__demux_8c_a9a639fa70dd1a4d4e2a7782f63a787fe}\label{gsttensor__demux_8c_a9a639fa70dd1a4d4e2a7782f63a787fe}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!gst\_tensor\_demux\_event@{gst\_tensor\_demux\_event}}
\index{gst\_tensor\_demux\_event@{gst\_tensor\_demux\_event}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_demux\_event()}{gst\_tensor\_demux\_event()}}
{\footnotesize\ttfamily static gboolean gst\+\_\+tensor\+\_\+demux\+\_\+event (\begin{DoxyParamCaption}\item[{Gst\+Pad $\ast$}]{pad,  }\item[{Gst\+Object $\ast$}]{parent,  }\item[{Gst\+Event $\ast$}]{event }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



event function for sink (gst element vmethod) 



Definition at line 252 of file gsttensor\+\_\+demux.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_a9a639fa70dd1a4d4e2a7782f63a787fe_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_a9a639fa70dd1a4d4e2a7782f63a787fe_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__demux_8c_abdcd82cfcb548a806f89a5b90575ed99}\label{gsttensor__demux_8c_abdcd82cfcb548a806f89a5b90575ed99}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!gst\_tensor\_demux\_get\_property@{gst\_tensor\_demux\_get\_property}}
\index{gst\_tensor\_demux\_get\_property@{gst\_tensor\_demux\_get\_property}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_demux\_get\_property()}{gst\_tensor\_demux\_get\_property()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+demux\+\_\+get\+\_\+property (\begin{DoxyParamCaption}\item[{G\+Object $\ast$}]{object,  }\item[{guint}]{prop\+\_\+id,  }\item[{G\+Value $\ast$}]{value,  }\item[{G\+Param\+Spec $\ast$}]{pspec }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get property (gst element vmethod) 



Definition at line 652 of file gsttensor\+\_\+demux.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_abdcd82cfcb548a806f89a5b90575ed99_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__demux_8c_abb0eba6d11b1b92bdf863dab4a4a765f}\label{gsttensor__demux_8c_abb0eba6d11b1b92bdf863dab4a4a765f}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!gst\_tensor\_demux\_get\_tensor\_config@{gst\_tensor\_demux\_get\_tensor\_config}}
\index{gst\_tensor\_demux\_get\_tensor\_config@{gst\_tensor\_demux\_get\_tensor\_config}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_demux\_get\_tensor\_config()}{gst\_tensor\_demux\_get\_tensor\_config()}}
{\footnotesize\ttfamily static gboolean gst\+\_\+tensor\+\_\+demux\+\_\+get\+\_\+tensor\+\_\+config (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__demux_8h_a87ffada34efaa0d8effb91663ca55343}{Gst\+Tensor\+Demux}} $\ast$}]{tensor\+\_\+demux,  }\item[{\mbox{\hyperlink{structGstTensorsConfig}{Gst\+Tensors\+Config}} $\ast$}]{config,  }\item[{const guint}]{nth,  }\item[{const guint}]{total }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get tensor config info from configured tensors. 


\begin{DoxyParams}{Parameters}
{\em tensor\+\_\+demux} & \char`\"{}this\char`\"{} pointer \\
\hline
{\em config} & tensor config to be filled \\
\hline
{\em nth} & source ordering \\
\hline
{\em total} & number of tensors \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if successfully configured 
\end{DoxyReturn}


Definition at line 290 of file gsttensor\+\_\+demux.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_abb0eba6d11b1b92bdf863dab4a4a765f_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_abb0eba6d11b1b92bdf863dab4a4a765f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__demux_8c_a5ec5184a9e28b18e2513b536b13e2144}\label{gsttensor__demux_8c_a5ec5184a9e28b18e2513b536b13e2144}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!gst\_tensor\_demux\_get\_tensor\_pad@{gst\_tensor\_demux\_get\_tensor\_pad}}
\index{gst\_tensor\_demux\_get\_tensor\_pad@{gst\_tensor\_demux\_get\_tensor\_pad}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_demux\_get\_tensor\_pad()}{gst\_tensor\_demux\_get\_tensor\_pad()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{structGstTensorPad}{Gst\+Tensor\+Pad}}$\ast$ gst\+\_\+tensor\+\_\+demux\+\_\+get\+\_\+tensor\+\_\+pad (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__demux_8h_a87ffada34efaa0d8effb91663ca55343}{Gst\+Tensor\+Demux}} $\ast$}]{tensor\+\_\+demux,  }\item[{gboolean $\ast$}]{created,  }\item[{const guint}]{nth,  }\item[{const guint}]{total }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Checking if the source pad is created and if not, create Tensor\+Pad. 


\begin{DoxyParams}[1]{Parameters}
 & {\em tensor\+\_\+demux} & Tensor\+Demux Object \\
\hline
\mbox{\texttt{ out}}  & {\em created} & will be updated in this function \\
\hline
 & {\em nth} & source ordering \\
\hline
 & {\em total} & number of tensors \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Tensor\+Pad if pad is already created, then return created pad. If not return new pad after creation. 
\end{DoxyReturn}


Definition at line 349 of file gsttensor\+\_\+demux.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_a5ec5184a9e28b18e2513b536b13e2144_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_a5ec5184a9e28b18e2513b536b13e2144_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__demux_8c_adc043ba22bef14590059b47059018e2e}\label{gsttensor__demux_8c_adc043ba22bef14590059b47059018e2e}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!gst\_tensor\_demux\_init@{gst\_tensor\_demux\_init}}
\index{gst\_tensor\_demux\_init@{gst\_tensor\_demux\_init}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_demux\_init()}{gst\_tensor\_demux\_init()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+demux\+\_\+init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__demux_8h_a87ffada34efaa0d8effb91663ca55343}{Gst\+Tensor\+Demux}} $\ast$}]{tensor\+\_\+demux }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



initialize the new element instantiate pads and add them to element set pad callback functions initialize instance structure 



Definition at line 175 of file gsttensor\+\_\+demux.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_adc043ba22bef14590059b47059018e2e_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__demux_8c_a01c1b88a0b7ddc471e698e91e75fee64}\label{gsttensor__demux_8c_a01c1b88a0b7ddc471e698e91e75fee64}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!gst\_tensor\_demux\_parse\_caps@{gst\_tensor\_demux\_parse\_caps}}
\index{gst\_tensor\_demux\_parse\_caps@{gst\_tensor\_demux\_parse\_caps}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_demux\_parse\_caps()}{gst\_tensor\_demux\_parse\_caps()}}
{\footnotesize\ttfamily static gboolean gst\+\_\+tensor\+\_\+demux\+\_\+parse\+\_\+caps (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__demux_8h_a87ffada34efaa0d8effb91663ca55343}{Gst\+Tensor\+Demux}} $\ast$}]{tensor\+\_\+demux,  }\item[{Gst\+Caps $\ast$}]{caps }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Parse caps and configure tensors info. 


\begin{DoxyParams}{Parameters}
{\em tensor\+\_\+demux} & Gst\+Tensor\+Demux object \\
\hline
{\em caps} & incoming capability \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+U\+E/\+F\+A\+L\+SE (if successfully configured, return T\+R\+UE) 
\end{DoxyReturn}


Definition at line 235 of file gsttensor\+\_\+demux.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_a01c1b88a0b7ddc471e698e91e75fee64_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_a01c1b88a0b7ddc471e698e91e75fee64_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__demux_8c_a2f1467d370f6c45e178692c5e5d3dda7}\label{gsttensor__demux_8c_a2f1467d370f6c45e178692c5e5d3dda7}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!gst\_tensor\_demux\_remove\_src\_pads@{gst\_tensor\_demux\_remove\_src\_pads}}
\index{gst\_tensor\_demux\_remove\_src\_pads@{gst\_tensor\_demux\_remove\_src\_pads}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_demux\_remove\_src\_pads()}{gst\_tensor\_demux\_remove\_src\_pads()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+demux\+\_\+remove\+\_\+src\+\_\+pads (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{gsttensor__demux_8h_a87ffada34efaa0d8effb91663ca55343}{Gst\+Tensor\+Demux}} $\ast$}]{tensor\+\_\+demux }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



function to remove srcpad list 



Definition at line 199 of file gsttensor\+\_\+demux.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_a2f1467d370f6c45e178692c5e5d3dda7_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{gsttensor__demux_8c_a2f1467d370f6c45e178692c5e5d3dda7_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{gsttensor__demux_8c_ae464d963de2274233798612a0225b82b}\label{gsttensor__demux_8c_ae464d963de2274233798612a0225b82b}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!gst\_tensor\_demux\_set\_property@{gst\_tensor\_demux\_set\_property}}
\index{gst\_tensor\_demux\_set\_property@{gst\_tensor\_demux\_set\_property}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{gst\_tensor\_demux\_set\_property()}{gst\_tensor\_demux\_set\_property()}}
{\footnotesize\ttfamily static void gst\+\_\+tensor\+\_\+demux\+\_\+set\+\_\+property (\begin{DoxyParamCaption}\item[{G\+Object $\ast$}]{object,  }\item[{guint}]{prop\+\_\+id,  }\item[{const G\+Value $\ast$}]{value,  }\item[{G\+Param\+Spec $\ast$}]{pspec }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get property (gst element vmethod) 



Definition at line 615 of file gsttensor\+\_\+demux.\+c.

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


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{gsttensor__demux_8c_a6f085740fbbe4ba6b942bd8af554501b}\label{gsttensor__demux_8c_a6f085740fbbe4ba6b942bd8af554501b}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!sink\_templ@{sink\_templ}}
\index{sink\_templ@{sink\_templ}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{sink\_templ}{sink\_templ}}
{\footnotesize\ttfamily Gst\+Static\+Pad\+Template sink\+\_\+templ\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= GST\_STATIC\_PAD\_TEMPLATE (\textcolor{stringliteral}{"sink"},}
\DoxyCodeLine{    GST\_PAD\_SINK,}
\DoxyCodeLine{    GST\_PAD\_ALWAYS,}
\DoxyCodeLine{}
\DoxyCodeLine{    )}

\end{DoxyCode}


Definition at line 102 of file gsttensor\+\_\+demux.\+c.

\mbox{\Hypertarget{gsttensor__demux_8c_afbf911046550270596f220799448cee9}\label{gsttensor__demux_8c_afbf911046550270596f220799448cee9}} 
\index{gsttensor\_demux.c@{gsttensor\_demux.c}!src\_templ@{src\_templ}}
\index{src\_templ@{src\_templ}!gsttensor\_demux.c@{gsttensor\_demux.c}}
\doxysubsubsection{\texorpdfstring{src\_templ}{src\_templ}}
{\footnotesize\ttfamily Gst\+Static\+Pad\+Template src\+\_\+templ\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= GST\_STATIC\_PAD\_TEMPLATE (\textcolor{stringliteral}{"src\_\%u"},}
\DoxyCodeLine{    GST\_PAD\_SRC,}
\DoxyCodeLine{    GST\_PAD\_SOMETIMES,}
\DoxyCodeLine{}
\DoxyCodeLine{    )}

\end{DoxyCode}


the capabilities of the inputs and outputs. describe the real formats here. 



Definition at line 96 of file gsttensor\+\_\+demux.\+c.

