MediaProcessors
procs.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017, 2018 Rafael Antoniello
3  *
4  * This file is part of MediaProcessors.
5  *
6  * MediaProcessors is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU Lesser General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * MediaProcessors is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public License
17  * along with MediaProcessors. If not, see <http://www.gnu.org/licenses/>.
18  */
19 
26 #ifndef MEDIAPROCESSORSS_SRC_PROCS_H_
27 #define MEDIAPROCESSORSS_SRC_PROCS_H_
28 
29 #include <sys/types.h>
30 #include <inttypes.h>
31 #include <stdarg.h>
32 
33 /* Forward declarations */
34 typedef struct log_ctx_s log_ctx_t;
35 typedef struct procs_ctx_s procs_ctx_t;
36 typedef struct proc_frame_ctx_s proc_frame_ctx_t;
37 
38 /* **** Prototypes **** */
39 
47 int procs_module_open(log_ctx_t *log_ctx);
48 
53 void procs_module_close();
54 
124 int procs_module_opt(const char *tag, ...);
125 
151 procs_ctx_t* procs_open(log_ctx_t *log_ctx, size_t max_procs_num,
152  const char *prefix_name, const char *procs_href);
153 
161 void procs_close(procs_ctx_t **ref_procs_ctx);
162 
259 int procs_opt(procs_ctx_t *procs_ctx, const char *tag, ...);
260 
277 int procs_send_frame(procs_ctx_t *procs_ctx, int proc_id,
278  const proc_frame_ctx_t *proc_frame_ctx);
279 
296 int procs_recv_frame(procs_ctx_t *procs_ctx, int proc_id,
297  proc_frame_ctx_t **ref_proc_frame_ctx);
298 
299 #endif /* MEDIAPROCESSORSS_SRC_PROCS_H_ */
void procs_module_close()
Definition: procs.c:273
void procs_close(procs_ctx_t **ref_procs_ctx)
Definition: procs.c:417
procs_ctx_t * procs_open(log_ctx_t *log_ctx, size_t max_procs_num, const char *prefix_name, const char *procs_href)
Definition: procs.c:336
int procs_recv_frame(procs_ctx_t *procs_ctx, int proc_id, proc_frame_ctx_t **ref_proc_frame_ctx)
Definition: procs.c:545
int procs_module_opt(const char *tag,...)
Definition: procs.c:294
int procs_send_frame(procs_ctx_t *procs_ctx, int proc_id, const proc_frame_ctx_t *proc_frame_ctx)
Definition: procs.c:504
Definition: log.c:102
int procs_module_open(log_ctx_t *log_ctx)
Definition: procs.c:244
int procs_opt(procs_ctx_t *procs_ctx, const char *tag,...)
Definition: procs.c:474