summaryrefslogtreecommitdiff
path: root/apps/confbridge
diff options
context:
space:
mode:
authorKevin Harwell <kharwell@digium.com>2013-02-19 15:41:37 +0000
committerKevin Harwell <kharwell@digium.com>2013-02-19 15:41:37 +0000
commit31b7426115f156d116f5b751f7c494be9c0558f7 (patch)
tree32be7549bf835a7a8cff09449cad0a06cdb0e461 /apps/confbridge
parent0d553eece8c126d8db50a0913496f44e7a424175 (diff)
Added Confbridge record_file_append option.
Currently, if one starts, stops, and then starts a recording again for a conference the recorded data is appended to the file originally created on the first record start. An option record_file_append has been added that defaults to "yes", but when set to "no" will force creation of a new file between every record start/stop. (issue AST-1088) Reported by: John Bigelow Review: http://reviewboard.digium.internal/r/374/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@381729 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps/confbridge')
-rw-r--r--apps/confbridge/conf_config_parser.c5
-rw-r--r--apps/confbridge/include/confbridge.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/apps/confbridge/conf_config_parser.c b/apps/confbridge/conf_config_parser.c
index 6c5ea0bb8..ecb989f7b 100644
--- a/apps/confbridge/conf_config_parser.c
+++ b/apps/confbridge/conf_config_parser.c
@@ -1330,6 +1330,10 @@ static char *handle_cli_confbridge_show_bridge_profile(struct ast_cli_entry *e,
b_profile.flags & BRIDGE_OPT_RECORD_CONFERENCE ?
"yes" : "no");
+ ast_cli(a->fd,"Record File Append: %s\n",
+ b_profile.flags & BRIDGE_OPT_RECORD_FILE_APPEND ?
+ "yes" : "no");
+
ast_cli(a->fd,"Record File: %s\n",
ast_strlen_zero(b_profile.rec_file) ? "Auto Generated" :
b_profile.rec_file);
@@ -1788,6 +1792,7 @@ int conf_load_config(int reload)
aco_option_register_custom(&cfg_info, "mixing_interval", ACO_EXACT, bridge_types, "20", mix_interval_handler, 0);
aco_option_register(&cfg_info, "record_conference", ACO_EXACT, bridge_types, "no", OPT_BOOLFLAG_T, 1, FLDSET(struct bridge_profile, flags), BRIDGE_OPT_RECORD_CONFERENCE);
aco_option_register_custom(&cfg_info, "video_mode", ACO_EXACT, bridge_types, NULL, video_mode_handler, 0);
+ aco_option_register(&cfg_info, "record_file_append", ACO_EXACT, bridge_types, "yes", OPT_BOOLFLAG_T, 1, FLDSET(struct bridge_profile, flags), BRIDGE_OPT_RECORD_FILE_APPEND);
aco_option_register(&cfg_info, "max_members", ACO_EXACT, bridge_types, "0", OPT_UINT_T, 0, FLDSET(struct bridge_profile, max_members));
aco_option_register(&cfg_info, "record_file", ACO_EXACT, bridge_types, NULL, OPT_CHAR_ARRAY_T, 0, CHARFLDSET(struct bridge_profile, rec_file));
aco_option_register_custom(&cfg_info, "^sound_", ACO_REGEX, bridge_types, NULL, sound_option_handler, 0);
diff --git a/apps/confbridge/include/confbridge.h b/apps/confbridge/include/confbridge.h
index 059262065..54d429a28 100644
--- a/apps/confbridge/include/confbridge.h
+++ b/apps/confbridge/include/confbridge.h
@@ -65,6 +65,7 @@ enum bridge_profile_flags {
BRIDGE_OPT_VIDEO_SRC_LAST_MARKED = (1 << 1), /*!< Set if conference should feed video of last marked user to all participants. */
BRIDGE_OPT_VIDEO_SRC_FIRST_MARKED = (1 << 2), /*!< Set if conference should feed video of first marked user to all participants. */
BRIDGE_OPT_VIDEO_SRC_FOLLOW_TALKER = (1 << 3), /*!< Set if conference set the video feed to follow the loudest talker. */
+ BRIDGE_OPT_RECORD_FILE_APPEND = (1 << 4), /*!< Set if the record file should be appended to between start/stops. */
};
enum conf_menu_action_id {