UniMRCP
1.3.0
Main Page
Related Pages
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
libs
mpf
include
mpf_termination_factory.h
Go to the documentation of this file.
1
/*
2
* Copyright 2008-2014 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
* $Id: mpf_termination_factory.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
17
*/
18
19
#ifndef MPF_TERMINATION_FACTORY_H
20
#define MPF_TERMINATION_FACTORY_H
21
22
/**
23
* @file mpf_termination_factory.h
24
* @brief MPF Termination Factory
25
*/
26
27
#include "
mpf_types.h
"
28
29
APT_BEGIN_EXTERN_C
30
31
/** MPF termination factory */
32
struct
mpf_termination_factory_t
{
33
/** Virtual create */
34
mpf_termination_t
* (*create_termination)(
mpf_termination_factory_t
*factory,
void
*obj, apr_pool_t *pool);
35
/** Virtual assign engine */
36
apt_bool_t
(*
assign_engine
)(
mpf_termination_factory_t
*factory,
mpf_engine_t
*media_engine);
37
};
38
39
/**
40
* Assign media engine to termination factory.
41
* @param termination_factory the termination factory to assign media engine to
42
* @param media_engine the media engine to assign
43
*/
44
MPF_DECLARE
(
apt_bool_t
)
mpf_termination_factory_engine_assign
(
45
mpf_termination_factory_t
*termination_factory,
46
mpf_engine_t
*media_engine);
47
48
/**
49
* Create MPF termination from termination factory.
50
* @param termination_factory the termination factory to create termination from
51
* @param obj the external object associated with termination
52
* @param pool the pool to allocate memory from
53
*/
54
MPF_DECLARE
(
mpf_termination_t
*)
mpf_termination_create
(
55
mpf_termination_factory_t
*termination_factory,
56
void
*obj,
57
apr_pool_t *pool);
58
59
/**
60
* Create raw MPF termination.
61
* @param obj the external object associated with termination
62
* @param audio_stream the audio stream of the termination
63
* @param video_stream the video stream of the termination
64
* @param pool the pool to allocate memory from
65
*/
66
MPF_DECLARE
(
mpf_termination_t
*)
mpf_raw_termination_create
(
67
void
*obj,
68
mpf_audio_stream_t
*audio_stream,
69
mpf_video_stream_t
*video_stream,
70
apr_pool_t *pool);
71
72
/**
73
* Destroy MPF termination.
74
* @param termination the termination to destroy
75
*/
76
MPF_DECLARE
(
apt_bool_t
)
mpf_termination_destroy
(
mpf_termination_t
*termination);
77
78
/**
79
* Get termination name.
80
* @param termination the termination to get name of
81
*/
82
MPF_DECLARE
(const
char
*)
mpf_termination_name_get
(const
mpf_termination_t
*termination);
83
84
/**
85
* Get associated object.
86
* @param termination the termination to get object from
87
*/
88
MPF_DECLARE
(
void
*)
mpf_termination_object_get
(const
mpf_termination_t
*termination);
89
90
/**
91
* Get audio stream.
92
* @param termination the termination to get audio stream from
93
*/
94
MPF_DECLARE
(
mpf_audio_stream_t
*)
mpf_termination_audio_stream_get
(const
mpf_termination_t
*termination);
95
96
/**
97
* Get video stream.
98
* @param termination the termination to get video stream from
99
*/
100
MPF_DECLARE
(
mpf_video_stream_t
*)
mpf_termination_video_stream_get
(const
mpf_termination_t
*termination);
101
102
103
APT_END_EXTERN_C
104
105
#endif
/* MPF_TERMINATION_FACTORY_H */
Generated on Mon Feb 2 2015 19:41:38 for UniMRCP by
1.8.3.1