\hypertarget{nnstreamer__watchdog_8c}{}\doxysection{nnstreamer/nnstreamer\+\_\+watchdog.c File Reference}
\label{nnstreamer__watchdog_8c}\index{nnstreamer/nnstreamer\_watchdog.c@{nnstreamer/nnstreamer\_watchdog.c}}


N\+N\+Streamer watchdog to manage the schedule in the element.  


{\ttfamily \#include $<$nnstreamer\+\_\+log.\+h$>$}\newline
{\ttfamily \#include \char`\"{}nnstreamer\+\_\+watchdog.\+h\char`\"{}}\newline
Include dependency graph for nnstreamer\+\_\+watchdog.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=334pt]{nnstreamer__watchdog_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct__NnstWatchdog}{\+\_\+\+Nnst\+Watchdog}}
\begin{DoxyCompactList}\small\item\em Structure for N\+N\+Streamer watchdog. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \mbox{\hyperlink{struct__NnstWatchdog}{\+\_\+\+Nnst\+Watchdog}} \mbox{\hyperlink{nnstreamer__watchdog_8c_a5e2d021e00f6cc9e268300d73661f494}{Nnst\+Watchdog}}
\begin{DoxyCompactList}\small\item\em Structure for N\+N\+Streamer watchdog. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static gboolean \mbox{\hyperlink{nnstreamer__watchdog_8c_af751d18d3bbbf960296492b5096349a2}{\+\_\+loop\+\_\+running\+\_\+cb}} (\mbox{\hyperlink{nnstreamer__watchdog_8c_a5e2d021e00f6cc9e268300d73661f494}{Nnst\+Watchdog}} $\ast$watchdog)
\begin{DoxyCompactList}\small\item\em Called when loop is running. \end{DoxyCompactList}\item 
static gpointer \mbox{\hyperlink{nnstreamer__watchdog_8c_a6079e0c57e6a8dd232dbfc002991dc9f}{\+\_\+nnstreamer\+\_\+watchdog\+\_\+thread}} (gpointer ptr)
\begin{DoxyCompactList}\small\item\em Watchdog thread. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__watchdog_8c_a9bccb7ae97f112a729233406c19c0616}{nnstreamer\+\_\+watchdog\+\_\+create}} (\mbox{\hyperlink{nnstreamer__watchdog_8h_aea4b73c9f1b6c2e45c4ca8e088882a92}{nns\+\_\+watchdog\+\_\+h}} $\ast$watchdog\+\_\+h)
\begin{DoxyCompactList}\small\item\em Create nnstreamer watchdog. Recommended using watchdog handle with proper lock (e.\+g., G\+S\+T\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+L\+O\+C\+K()) \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__watchdog_8c_a92dae1dbf3547ade74446bdc695b047a}{nnstreamer\+\_\+watchdog\+\_\+destroy}} (\mbox{\hyperlink{nnstreamer__watchdog_8h_aea4b73c9f1b6c2e45c4ca8e088882a92}{nns\+\_\+watchdog\+\_\+h}} watchdog\+\_\+h)
\begin{DoxyCompactList}\small\item\em Destroy watchdog source. Recommended using watchdog handle with proper lock (e.\+g., G\+S\+T\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+L\+O\+C\+K()) \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__watchdog_8c_acf11cf36b12d7879d4f028546914a8a4}{nnstreamer\+\_\+watchdog\+\_\+release}} (\mbox{\hyperlink{nnstreamer__watchdog_8h_aea4b73c9f1b6c2e45c4ca8e088882a92}{nns\+\_\+watchdog\+\_\+h}} watchdog\+\_\+h)
\begin{DoxyCompactList}\small\item\em Release watchdog source. Recommended using watchdog handle with proper lock (e.\+g., G\+S\+T\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+L\+O\+C\+K()) \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__watchdog_8c_a5addaf053f050bbbcd68b189b423b881}{nnstreamer\+\_\+watchdog\+\_\+feed}} (\mbox{\hyperlink{nnstreamer__watchdog_8h_aea4b73c9f1b6c2e45c4ca8e088882a92}{nns\+\_\+watchdog\+\_\+h}} watchdog\+\_\+h, G\+Source\+Func func, guint interval, void $\ast$user\+\_\+data)
\begin{DoxyCompactList}\small\item\em Set watchdog timeout. Recommended using watchdog handle with proper lock (e.\+g., G\+S\+T\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+L\+O\+C\+K()) \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
N\+N\+Streamer watchdog to manage the schedule in the element. 

N\+N\+Streamer watchdog Copyright (C) 2024 Gichan Jang \href{mailto:gichan2.jang@samsung.com}{\texttt{ gichan2.\+jang@samsung.\+com}}

\begin{DoxyDate}{Date}
30 Oct 2024 
\end{DoxyDate}
\begin{DoxySeeAlso}{See also}
\href{https://github.com/nnstreamer/nnstreamer}{\texttt{ https\+://github.\+com/nnstreamer/nnstreamer}} 
\end{DoxySeeAlso}
\begin{DoxyAuthor}{Author}
Gichan Jang \href{mailto:gichan2.jang@samsung.com}{\texttt{ gichan2.\+jang@samsung.\+com}} 
\end{DoxyAuthor}
\begin{DoxyRefDesc}{Bug}
\item[\mbox{\hyperlink{bug__bug000096}{Bug}}]No known bugs except for N\+YI items \end{DoxyRefDesc}


\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{nnstreamer__watchdog_8c_a5e2d021e00f6cc9e268300d73661f494}\label{nnstreamer__watchdog_8c_a5e2d021e00f6cc9e268300d73661f494}} 
\index{nnstreamer\_watchdog.c@{nnstreamer\_watchdog.c}!NnstWatchdog@{NnstWatchdog}}
\index{NnstWatchdog@{NnstWatchdog}!nnstreamer\_watchdog.c@{nnstreamer\_watchdog.c}}
\doxysubsubsection{\texorpdfstring{NnstWatchdog}{NnstWatchdog}}
{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{struct__NnstWatchdog}{\+\_\+\+Nnst\+Watchdog}} \mbox{\hyperlink{nnstreamer__watchdog_8c_a5e2d021e00f6cc9e268300d73661f494}{Nnst\+Watchdog}}}



Structure for N\+N\+Streamer watchdog. 



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{nnstreamer__watchdog_8c_af751d18d3bbbf960296492b5096349a2}\label{nnstreamer__watchdog_8c_af751d18d3bbbf960296492b5096349a2}} 
\index{nnstreamer\_watchdog.c@{nnstreamer\_watchdog.c}!\_loop\_running\_cb@{\_loop\_running\_cb}}
\index{\_loop\_running\_cb@{\_loop\_running\_cb}!nnstreamer\_watchdog.c@{nnstreamer\_watchdog.c}}
\doxysubsubsection{\texorpdfstring{\_loop\_running\_cb()}{\_loop\_running\_cb()}}
{\footnotesize\ttfamily static gboolean \+\_\+loop\+\_\+running\+\_\+cb (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{nnstreamer__watchdog_8c_a5e2d021e00f6cc9e268300d73661f494}{Nnst\+Watchdog}} $\ast$}]{watchdog }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Called when loop is running. 



Definition at line 35 of file nnstreamer\+\_\+watchdog.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__watchdog_8c_af751d18d3bbbf960296492b5096349a2_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__watchdog_8c_a6079e0c57e6a8dd232dbfc002991dc9f}\label{nnstreamer__watchdog_8c_a6079e0c57e6a8dd232dbfc002991dc9f}} 
\index{nnstreamer\_watchdog.c@{nnstreamer\_watchdog.c}!\_nnstreamer\_watchdog\_thread@{\_nnstreamer\_watchdog\_thread}}
\index{\_nnstreamer\_watchdog\_thread@{\_nnstreamer\_watchdog\_thread}!nnstreamer\_watchdog.c@{nnstreamer\_watchdog.c}}
\doxysubsubsection{\texorpdfstring{\_nnstreamer\_watchdog\_thread()}{\_nnstreamer\_watchdog\_thread()}}
{\footnotesize\ttfamily static gpointer \+\_\+nnstreamer\+\_\+watchdog\+\_\+thread (\begin{DoxyParamCaption}\item[{gpointer}]{ptr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Watchdog thread. 



Definition at line 48 of file nnstreamer\+\_\+watchdog.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=348pt]{nnstreamer__watchdog_8c_a6079e0c57e6a8dd232dbfc002991dc9f_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__watchdog_8c_a6079e0c57e6a8dd232dbfc002991dc9f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__watchdog_8c_a9bccb7ae97f112a729233406c19c0616}\label{nnstreamer__watchdog_8c_a9bccb7ae97f112a729233406c19c0616}} 
\index{nnstreamer\_watchdog.c@{nnstreamer\_watchdog.c}!nnstreamer\_watchdog\_create@{nnstreamer\_watchdog\_create}}
\index{nnstreamer\_watchdog\_create@{nnstreamer\_watchdog\_create}!nnstreamer\_watchdog.c@{nnstreamer\_watchdog.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_watchdog\_create()}{nnstreamer\_watchdog\_create()}}
{\footnotesize\ttfamily gboolean nnstreamer\+\_\+watchdog\+\_\+create (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{nnstreamer__watchdog_8h_aea4b73c9f1b6c2e45c4ca8e088882a92}{nns\+\_\+watchdog\+\_\+h}} $\ast$}]{watchdog\+\_\+h }\end{DoxyParamCaption})}



Create nnstreamer watchdog. Recommended using watchdog handle with proper lock (e.\+g., G\+S\+T\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+L\+O\+C\+K()) 



Definition at line 72 of file nnstreamer\+\_\+watchdog.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__watchdog_8c_a9bccb7ae97f112a729233406c19c0616_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__watchdog_8c_a9bccb7ae97f112a729233406c19c0616_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__watchdog_8c_a92dae1dbf3547ade74446bdc695b047a}\label{nnstreamer__watchdog_8c_a92dae1dbf3547ade74446bdc695b047a}} 
\index{nnstreamer\_watchdog.c@{nnstreamer\_watchdog.c}!nnstreamer\_watchdog\_destroy@{nnstreamer\_watchdog\_destroy}}
\index{nnstreamer\_watchdog\_destroy@{nnstreamer\_watchdog\_destroy}!nnstreamer\_watchdog.c@{nnstreamer\_watchdog.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_watchdog\_destroy()}{nnstreamer\_watchdog\_destroy()}}
{\footnotesize\ttfamily void nnstreamer\+\_\+watchdog\+\_\+destroy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{nnstreamer__watchdog_8h_aea4b73c9f1b6c2e45c4ca8e088882a92}{nns\+\_\+watchdog\+\_\+h}}}]{watchdog\+\_\+h }\end{DoxyParamCaption})}



Destroy watchdog source. Recommended using watchdog handle with proper lock (e.\+g., G\+S\+T\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+L\+O\+C\+K()) 

Destroy nnstreamer watchdog. Recommended using watchdog handle with proper lock (e.\+g., G\+S\+T\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+L\+O\+C\+K()) 

Definition at line 133 of file nnstreamer\+\_\+watchdog.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__watchdog_8c_a92dae1dbf3547ade74446bdc695b047a_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__watchdog_8c_a92dae1dbf3547ade74446bdc695b047a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__watchdog_8c_a5addaf053f050bbbcd68b189b423b881}\label{nnstreamer__watchdog_8c_a5addaf053f050bbbcd68b189b423b881}} 
\index{nnstreamer\_watchdog.c@{nnstreamer\_watchdog.c}!nnstreamer\_watchdog\_feed@{nnstreamer\_watchdog\_feed}}
\index{nnstreamer\_watchdog\_feed@{nnstreamer\_watchdog\_feed}!nnstreamer\_watchdog.c@{nnstreamer\_watchdog.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_watchdog\_feed()}{nnstreamer\_watchdog\_feed()}}
{\footnotesize\ttfamily gboolean nnstreamer\+\_\+watchdog\+\_\+feed (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{nnstreamer__watchdog_8h_aea4b73c9f1b6c2e45c4ca8e088882a92}{nns\+\_\+watchdog\+\_\+h}}}]{watchdog\+\_\+h,  }\item[{G\+Source\+Func}]{func,  }\item[{guint}]{interval,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}



Set watchdog timeout. Recommended using watchdog handle with proper lock (e.\+g., G\+S\+T\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+L\+O\+C\+K()) 



Definition at line 171 of file nnstreamer\+\_\+watchdog.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__watchdog_8c_a5addaf053f050bbbcd68b189b423b881_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__watchdog_8c_acf11cf36b12d7879d4f028546914a8a4}\label{nnstreamer__watchdog_8c_acf11cf36b12d7879d4f028546914a8a4}} 
\index{nnstreamer\_watchdog.c@{nnstreamer\_watchdog.c}!nnstreamer\_watchdog\_release@{nnstreamer\_watchdog\_release}}
\index{nnstreamer\_watchdog\_release@{nnstreamer\_watchdog\_release}!nnstreamer\_watchdog.c@{nnstreamer\_watchdog.c}}
\doxysubsubsection{\texorpdfstring{nnstreamer\_watchdog\_release()}{nnstreamer\_watchdog\_release()}}
{\footnotesize\ttfamily void nnstreamer\+\_\+watchdog\+\_\+release (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{nnstreamer__watchdog_8h_aea4b73c9f1b6c2e45c4ca8e088882a92}{nns\+\_\+watchdog\+\_\+h}}}]{watchdog\+\_\+h }\end{DoxyParamCaption})}



Release watchdog source. Recommended using watchdog handle with proper lock (e.\+g., G\+S\+T\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+L\+O\+C\+K()) 



Definition at line 157 of file nnstreamer\+\_\+watchdog.\+c.

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