From dce31f90ba3a61846e8b04250484a437e33d51e2 Mon Sep 17 00:00:00 2001 From: frahaase Date: Fri, 12 Aug 2016 18:22:58 +0200 Subject: [PATCH] Binaural synthesis (confbridge): On/off setting for binaural synthesis. Adds setting to confbridge.conf (binaural_active) that determines if binaural synthesis can be available in bridge_softmix. ASTERISK-26292 Change-Id: I59dfcb8e55fe1df4ef32045882fea5bb58fc71db --- apps/confbridge/conf_config_parser.c | 8 ++++++++ apps/confbridge/include/confbridge.h | 1 + 2 files changed, 9 insertions(+) diff --git a/apps/confbridge/conf_config_parser.c b/apps/confbridge/conf_config_parser.c index 69d6f69eaf..6f8510552b 100644 --- a/apps/confbridge/conf_config_parser.c +++ b/apps/confbridge/conf_config_parser.c @@ -284,6 +284,13 @@ ASTERISK_REGISTER_FILE() or 80. + + If true binaural conferencing with stereo audio is active + + Activates binaural mixing for a conference bridge. + Binaural features are disabled by default. + + Record the conference starting with the first active user's entrance and ending with the last active user's exit @@ -2172,6 +2179,7 @@ int conf_load_config(void) aco_option_register(&cfg_info, "jitterbuffer", ACO_EXACT, bridge_types, "no", OPT_BOOLFLAG_T, 1, FLDSET(struct bridge_profile, flags), USER_OPT_JITTERBUFFER); /* "auto" will fail to parse as a uint, but we use PARSE_DEFAULT to set the value to 0 in that case, which is the value that auto resolves to */ aco_option_register(&cfg_info, "internal_sample_rate", ACO_EXACT, bridge_types, "0", OPT_UINT_T, PARSE_DEFAULT, FLDSET(struct bridge_profile, internal_sample_rate), 0); + aco_option_register(&cfg_info, "binaural_active", ACO_EXACT, bridge_types, "no", OPT_BOOLFLAG_T, 1, FLDSET(struct bridge_profile, flags), BRIDGE_OPT_BINAURAL_ACTIVE); 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); diff --git a/apps/confbridge/include/confbridge.h b/apps/confbridge/include/confbridge.h index 93cac3a72f..f91f2dc89d 100644 --- a/apps/confbridge/include/confbridge.h +++ b/apps/confbridge/include/confbridge.h @@ -71,6 +71,7 @@ enum bridge_profile_flags { 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. */ BRIDGE_OPT_RECORD_FILE_TIMESTAMP = (1 << 5), /*< Set if the record file should have a timestamp appended */ + BRIDGE_OPT_BINAURAL_ACTIVE = (1 << 6), /*< Set if binaural convolution is activated */ }; enum conf_menu_action_id {