UniMRCP  1.7.0
mpf_engine_factory.h
1 /*
2  * Copyright 2008-2015 Arsen Chaloyan
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef MPF_ENGINE_FACTORY_H
18 #define MPF_ENGINE_FACTORY_H
19 
20 /**
21  * @file mpf_engine.h
22  * @brief Factory of Media Processing Engines
23  */
24 
25 #include "mpf_types.h"
26 
28 
29 /** Create factory of media engines. */
30 MPF_DECLARE(mpf_engine_factory_t*) mpf_engine_factory_create(apr_pool_t *pool);
31 
32 /** Add media engine to factory. */
33 MPF_DECLARE(apt_bool_t) mpf_engine_factory_engine_add(mpf_engine_factory_t *mpf_factory, mpf_engine_t *media_engine);
34 
35 /** Determine whether factory is empty. */
36 MPF_DECLARE(apt_bool_t) mpf_engine_factory_is_empty(const mpf_engine_factory_t *mpf_factory);
37 
38 /** Select next available media engine. */
39 MPF_DECLARE(mpf_engine_t*) mpf_engine_factory_engine_select(mpf_engine_factory_t *mpf_factory);
40 
41 /** Associate media engines with RTP termination factory. */
42 MPF_DECLARE(apt_bool_t) mpf_engine_factory_rtp_factory_assign(mpf_engine_factory_t *mpf_factory, mpf_termination_factory_t *rtp_factory);
43 
45 
46 #endif /* MPF_ENGINE_FACTORY_H */
#define APT_END_EXTERN_C
Definition: apt.h:38
int apt_bool_t
Definition: apt.h:57
struct mpf_engine_factory_t mpf_engine_factory_t
Definition: mpf_types.h:33
typedefAPT_BEGIN_EXTERN_C struct mpf_engine_t mpf_engine_t
Definition: mpf_types.h:30
#define MPF_DECLARE(type)
Definition: mpf.h:40
#define APT_BEGIN_EXTERN_C
Definition: apt.h:36
Definition: mpf_termination_factory.h:30
MPF Types Declarations.