Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _ASTERISK_MONITOR_H
00024 #define _ASTERISK_MONITOR_H
00025
00026 #include "asterisk/channel.h"
00027
00028 enum AST_MONITORING_STATE {
00029 AST_MONITOR_RUNNING,
00030 AST_MONITOR_PAUSED
00031 };
00032
00033
00034 #define X_REC_IN 1
00035 #define X_REC_OUT 2
00036 #define X_JOIN 4
00037
00038
00039 struct ast_channel_monitor {
00040 struct ast_filestream *read_stream;
00041 struct ast_filestream *write_stream;
00042 char read_filename[FILENAME_MAX];
00043 char write_filename[FILENAME_MAX];
00044 char filename_base[FILENAME_MAX];
00045 int filename_changed;
00046 char *format;
00047 int joinfiles;
00048 enum AST_MONITORING_STATE state;
00049 int (*stop)(struct ast_channel *chan, int need_lock);
00050 };
00051
00052
00053 int ast_monitor_start(struct ast_channel *chan, const char
00054 *format_spec, const char *fname_base, int need_lock, int stream_action)
00055 attribute_weak;
00056
00057
00058 int ast_monitor_stop(struct ast_channel *chan, int need_lock)
00059 attribute_weak;
00060
00061
00062 int ast_monitor_change_fname(struct ast_channel *chan, const char *fname_base,
00063 int need_lock) attribute_weak;
00064
00065 void ast_monitor_setjoinfiles(struct ast_channel *chan, int turnon)
00066 attribute_weak;
00067
00068
00069 int ast_monitor_pause(struct ast_channel *chan) attribute_weak;
00070
00071
00072 int ast_monitor_unpause(struct ast_channel *chan) attribute_weak;
00073
00074 #endif