This commit is contained in:
Aron Podrigal 2025-01-17 16:41:40 +00:00 committed by GitHub
commit ecec9af148
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 11 additions and 1 deletions

View File

@ -903,6 +903,9 @@ switch_status_t conference_member_add(conference_obj_t *conference, conference_m
conference_utils_clear_flag(conference, CFLAG_WAIT_MOD);
}
if (conference_utils_test_flag(conference, CFLAG_RECORD_WAIT_MOD) && conference_utils_member_test_flag(member, MFLAG_MOD)) {
conference_utils_clear_flag(conference, CFLAG_RECORD_WAIT_MOD);
}
if (conference->count > 1) {
if (((conference->moh_sound || conference->tmp_moh_sound) && !conference_utils_test_flag(conference, CFLAG_WAIT_MOD)) ||
(conference_utils_test_flag(conference, CFLAG_WAIT_MOD) && !switch_true(switch_channel_get_variable(channel, "conference_permanent_wait_mod_moh")))) {

View File

@ -190,6 +190,8 @@ void conference_utils_set_cflags(const char *flags, conference_flag_t *f)
for (i = 0; i < argc && argv[i]; i++) {
if (!strcasecmp(argv[i], "wait-mod")) {
f[CFLAG_WAIT_MOD] = 1;
} else if (!strcasecmp(argv[i], "record-wait-mod")) {
f[CFLAG_RECORD_WAIT_MOD] = 1;
} else if (!strcasecmp(argv[i], "video-floor-only")) {
f[CFLAG_VID_FLOOR] = 1;
} else if (!strcasecmp(argv[i], "audio-always")) {

View File

@ -433,7 +433,7 @@ void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, void *ob
}
/* Start auto recording if there's the minimum number of required participants. */
if (conference->auto_record && !conference->auto_recording && (conference->count >= conference->min_recording_participants)) {
if (conference->auto_record && !conference->auto_recording && (conference->count >= conference->min_recording_participants) && !conference_utils_test_flag(conference, CFLAG_RECORD_WAIT_MOD)) {
conference->auto_recording++;
conference->record_count++;
imember = conference->members;
@ -1175,6 +1175,10 @@ void conference_xlist(conference_obj_t *conference, switch_xml_t x_conference, i
switch_xml_set_attr_d(x_conference, "wait_mod", "true");
}
if (conference_utils_test_flag(conference, CFLAG_RECORD_WAIT_MOD)) {
switch_xml_set_attr_d(x_conference, "record_wait_mod", "true");
}
if (conference_utils_test_flag(conference, CFLAG_AUDIO_ALWAYS)) {
switch_xml_set_attr_d(x_conference, "audio_always", "true");
}

View File

@ -258,6 +258,7 @@ typedef enum {
CFLAG_NO_MOH,
CFLAG_DED_VID_LAYER_AUDIO_FLOOR,
CFLAG_BREAKABLE,
CFLAG_RECORD_WAIT_MOD,
/////////////////////////////////
CFLAG_MAX
} conference_flag_t;