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_scheduler.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_scheduler.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
17
*/
18
19
#ifndef MPF_SCHEDULER_H
20
#define MPF_SCHEDULER_H
21
22
/**
23
* @file mpf_scheduler.h
24
* @brief MPF Scheduler (High Resolution Clock for Media Processing and Timer)
25
*/
26
27
#include "
mpf_types.h
"
28
29
APT_BEGIN_EXTERN_C
30
31
/** Prototype of scheduler callback */
32
typedef
void (*
mpf_scheduler_proc_f
)(
mpf_scheduler_t
*scheduler,
void
*obj);
33
34
/** Create scheduler */
35
MPF_DECLARE
(
mpf_scheduler_t
*)
mpf_scheduler_create
(apr_pool_t *pool);
36
37
/** Destroy scheduler */
38
MPF_DECLARE
(
void
)
mpf_scheduler_destroy
(
mpf_scheduler_t
*scheduler);
39
40
/** Set media processing clock */
41
MPF_DECLARE
(
apt_bool_t
)
mpf_scheduler_media_clock_set
(
42
mpf_scheduler_t
*scheduler,
43
unsigned
long
resolution,
44
mpf_scheduler_proc_f
proc,
45
void
*obj);
46
47
/** Set timer clock */
48
MPF_DECLARE
(
apt_bool_t
)
mpf_scheduler_timer_clock_set
(
49
mpf_scheduler_t
*scheduler,
50
unsigned
long
resolution,
51
mpf_scheduler_proc_f
proc,
52
void
*obj);
53
54
/** Set scheduler rate (n times faster than real-time) */
55
MPF_DECLARE
(
apt_bool_t
)
mpf_scheduler_rate_set
(
56
mpf_scheduler_t
*scheduler,
57
unsigned
long
rate);
58
59
/** Start scheduler */
60
MPF_DECLARE
(
apt_bool_t
)
mpf_scheduler_start
(
mpf_scheduler_t
*scheduler);
61
62
/** Stop scheduler */
63
MPF_DECLARE
(
apt_bool_t
)
mpf_scheduler_stop
(
mpf_scheduler_t
*scheduler);
64
65
66
APT_END_EXTERN_C
67
68
#endif
/* MPF_SCHEDULER_H */
Generated on Mon Feb 2 2015 19:41:38 for UniMRCP by
1.8.3.1