2 * GPAC - Multimedia Framework C SDK
\r
4 * Copyright (c) Jean Le Feuvre 2000-2005
\r
5 * All rights reserved
\r
7 * This file is part of GPAC / modules interfaces
\r
9 * GPAC is free software; you can redistribute it and/or modify
\r
10 * it under the terms of the GNU Lesser General Public License as published by
\r
11 * the Free Software Foundation; either version 2, or (at your option)
\r
12 * any later version.
\r
14 * GPAC is distributed in the hope that it will be useful,
\r
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\r
17 * GNU Lesser General Public License for more details.
\r
19 * You should have received a copy of the GNU Lesser General Public
\r
20 * License along with this library; see the file COPYING. If not, write to
\r
21 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
\r
26 #ifndef _GF_MODULE_TERM_EXT_H_
\r
27 #define _GF_MODULE_TERM_EXT_H_
\r
33 #include <gpac/terminal.h>
\r
35 /*interface name and version for Terminal Extensions services*/
\r
36 #define GF_TERM_EXT_INTERFACE GF_4CC('G','T','E', 0x01)
\r
38 typedef struct _term_ext GF_TermExt;
\r
43 /*start terminal extension. If 0 is returned, the module will be unloaded*/
\r
44 GF_TERM_EXT_START = 1,
\r
45 /*stop terminal extension*/
\r
47 /*process extension - the GF_TERM_EXT_CAP_NOT_THREADED capability MUST be set*/
\r
48 GF_TERM_EXT_PROCESS,
\r
53 /*signal the extension is to be called on regular basis (once per simulation tick). This MUST be set during
\r
54 the GF_TERM_EXT_START command and cannot be changed at run-time*/
\r
55 GF_TERM_EXT_CAP_NOT_THREADED = 1<<1,
\r
61 /* interface declaration*/
\r
62 GF_DECL_MODULE_INTERFACE
\r
64 /*caps of the module*/
\r
68 termext: pointer to the module
\r
69 term: pointer to GPAC terminal
\r
71 Bool (*process)(GF_TermExt *termext, GF_Terminal *term, u32 action);
\r
83 #endif /*#define _GF_MODULE_TERM_EXT_H_*/
\r