mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
Merge changes from timing branch
- Convert chan_iax2 to use the timing API - Convert usage of timing in the core to use the timing API instead of using DAHDI directly - Make a change to the timing API to add the set_rate() function - change the timing core to use a rwlock - merge a timing implementation, res_timing_dahdi Basic testing was successful using res_timing_dahdi git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1423,9 +1423,17 @@ int ast_autoservice_start(struct ast_channel *chan);
|
||||
*/
|
||||
int ast_autoservice_stop(struct ast_channel *chan);
|
||||
|
||||
/* If built with dahdi optimizations, force a scheduled expiration on the
|
||||
timer fd, at which point we call the callback function / data */
|
||||
int ast_settimeout(struct ast_channel *c, int samples, int (*func)(const void *data), void *data);
|
||||
/*!
|
||||
* \brief Enable or disable timer ticks for a channel
|
||||
*
|
||||
* \arg rate number of timer ticks per second
|
||||
*
|
||||
* If timers are supported, force a scheduled expiration on the
|
||||
* timer fd, at which point we call the callback function / data
|
||||
*
|
||||
* Call this function with a rate of 0 to turn off the timer ticks
|
||||
*/
|
||||
int ast_settimeout(struct ast_channel *c, unsigned int rate, int (*func)(const void *data), void *data);
|
||||
|
||||
/*! \brief Transfer a channel (if supported). Returns -1 on error, 0 if not supported
|
||||
and 1 if supported and requested
|
||||
|
@@ -65,8 +65,9 @@ enum ast_timing_event {
|
||||
* public API calls.
|
||||
*/
|
||||
struct ast_timing_functions {
|
||||
int (*timer_open)(unsigned int rate);
|
||||
int (*timer_open)(void);
|
||||
void (*timer_close)(int handle);
|
||||
int (*timer_set_rate)(int handle, unsigned int rate);
|
||||
void (*timer_ack)(int handle, unsigned int quantity);
|
||||
int (*timer_enable_continuous)(int handle);
|
||||
int (*timer_disable_continuous)(int handle);
|
||||
@@ -97,12 +98,10 @@ void ast_uninstall_timing_functions(void *handle);
|
||||
/*!
|
||||
* \brief Open a timing fd
|
||||
*
|
||||
* \arg rate number of timer ticks per second
|
||||
*
|
||||
* \retval -1 error, with errno set
|
||||
* \retval >=0 success
|
||||
*/
|
||||
int ast_timer_open(unsigned int rate);
|
||||
int ast_timer_open(void);
|
||||
|
||||
/*!
|
||||
* \brief Close an opened timing handle
|
||||
@@ -113,6 +112,21 @@ int ast_timer_open(unsigned int rate);
|
||||
*/
|
||||
void ast_timer_close(int handle);
|
||||
|
||||
/*!
|
||||
* \brief Set the timing tick rate
|
||||
*
|
||||
* \arg handle timing fd returned from timer_open()
|
||||
* \arg rate ticks per second, 0 turns the ticks off if needed
|
||||
*
|
||||
* Use this function if you want the timing fd to show input at a certain
|
||||
* rate. The other alternative use of a timing fd, is using the continuous
|
||||
* mode.
|
||||
*
|
||||
* \retval -1 error, with errno set
|
||||
* \retval 0 success
|
||||
*/
|
||||
int ast_timer_set_rate(int handle, unsigned int rate);
|
||||
|
||||
/*!
|
||||
* \brief Acknowledge a timer event
|
||||
*
|
||||
|
Reference in New Issue
Block a user