| Asterisk - The Open Source Telephony Project GIT-master-27fb039
    | 
loadable MixMonitor functionality More...
#include "asterisk.h"#include "asterisk/lock.h"#include "asterisk/logger.h"#include "asterisk/mixmonitor.h"#include "asterisk/utils.h"#include "asterisk/channel.h"
Go to the source code of this file.
| Functions | |
| int | ast_clear_mixmonitor_methods (void) | 
| Clear the MixMonitor virtual methods table. Use this to cleanup function pointers provided by a module that set. | |
| int | ast_set_mixmonitor_methods (struct ast_mixmonitor_methods *method_table) | 
| Setup MixMonitor virtual methods table. Use this to provide the MixMonitor functionality from a loadable module. | |
| int | ast_start_mixmonitor (struct ast_channel *chan, const char *filename, const char *options) | 
| Start a mixmonitor on a channel with the given parameters. | |
| int | ast_stop_mixmonitor (struct ast_channel *chan, const char *mixmon_id) | 
| Stop a mixmonitor on a channel with the given parameters. | |
| Variables | |
| static ast_rwlock_t | mixmonitor_lock = AST_RWLOCK_INIT_VALUE | 
| static struct ast_mixmonitor_methods | mixmonitor_methods | 
| static int | table_loaded = 0 | 
loadable MixMonitor functionality
Definition in file mixmonitor.c.
| int ast_clear_mixmonitor_methods | ( | void | ) | 
Clear the MixMonitor virtual methods table. Use this to cleanup function pointers provided by a module that set.
| 0 | if successful | 
| non-zero | on failure (occurs when methods aren't loaded) | 
Definition at line 59 of file mixmonitor.c.
References ast_log, lock, LOG_ERROR, mixmonitor_lock, mixmonitor_methods, SCOPED_WRLOCK, ast_mixmonitor_methods::start, and table_loaded.
Referenced by clear_mixmonitor_methods().
| int ast_set_mixmonitor_methods | ( | struct ast_mixmonitor_methods * | vmethod_table | ) | 
Setup MixMonitor virtual methods table. Use this to provide the MixMonitor functionality from a loadable module.
| vmethod_table | pointer to vmethod table providing mixmonitor functions | 
| 0 | if successful | 
| non-zero | on failure | 
Definition at line 43 of file mixmonitor.c.
References ast_log, lock, LOG_ERROR, mixmonitor_lock, mixmonitor_methods, SCOPED_WRLOCK, ast_mixmonitor_methods::start, and table_loaded.
Referenced by set_mixmonitor_methods().
| int ast_start_mixmonitor | ( | struct ast_channel * | chan, | 
| const char * | filename, | ||
| const char * | options | ||
| ) | 
Start a mixmonitor on a channel with the given parameters.
| chan | Which channel to apply the MixMonitor to | 
| filename | filename to use for the recording | 
| options | Optional arguments to be interpreted by the MixMonitor start function | 
| 0 | if successful | 
| non-zero | on failure | 
Definition at line 74 of file mixmonitor.c.
References ast_log, lock, LOG_ERROR, mixmonitor_lock, mixmonitor_methods, options, SCOPED_RDLOCK, and ast_mixmonitor_methods::start.
Referenced by setup_mixmonitor(), and start_automixmonitor().
| int ast_stop_mixmonitor | ( | struct ast_channel * | chan, | 
| const char * | mixmon_id | ||
| ) | 
Stop a mixmonitor on a channel with the given parameters.
| chan | Which channel to stop a MixMonitor on (may be NULL if mixmon_id is provided) | 
| mixmon_id | Which mixmon_id should be stopped (may be NULL if chan is provided) | 
| 0 | if successful | 
| non-zero | on failure | 
Definition at line 86 of file mixmonitor.c.
References ast_log, lock, LOG_ERROR, mixmonitor_lock, mixmonitor_methods, SCOPED_RDLOCK, ast_mixmonitor_methods::start, and ast_mixmonitor_methods::stop.
Referenced by stop_automixmonitor().
| 
 | static | 
Definition at line 38 of file mixmonitor.c.
Referenced by ast_clear_mixmonitor_methods(), ast_set_mixmonitor_methods(), ast_start_mixmonitor(), and ast_stop_mixmonitor().
| 
 | static | 
Definition at line 40 of file mixmonitor.c.
Referenced by ast_clear_mixmonitor_methods(), ast_set_mixmonitor_methods(), ast_start_mixmonitor(), ast_stop_mixmonitor(), and set_mixmonitor_methods().
| 
 | static | 
Definition at line 41 of file mixmonitor.c.
Referenced by ast_clear_mixmonitor_methods(), and ast_set_mixmonitor_methods().