Compare commits
3 Commits
ef093cf277
...
ecec9af148
Author | SHA1 | Date |
---|---|---|
Aron Podrigal | ecec9af148 | |
Aron Podrigal | 5cb74797fe | |
Aron Podrigal | 6deca50592 |
|
@ -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")))) {
|
||||
|
|
|
@ -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")) {
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -106,6 +106,22 @@ char * pgsql_handle_get_error(switch_pgsql_handle_t *handle)
|
|||
return err_str;
|
||||
}
|
||||
|
||||
void pgsql_handle_set_error_if_not_set(switch_pgsql_handle_t *handle, char **err)
|
||||
{
|
||||
char *err_str;
|
||||
|
||||
if (err && !(*err)) {
|
||||
err_str = pgsql_handle_get_error(handle);
|
||||
|
||||
if (zstr(err_str)) {
|
||||
switch_safe_free(err_str);
|
||||
err_str = strdup((char *)"SQL ERROR!");
|
||||
}
|
||||
|
||||
*err = err_str;
|
||||
}
|
||||
}
|
||||
|
||||
static int db_is_up(switch_pgsql_handle_t *handle)
|
||||
{
|
||||
int ret = 0;
|
||||
|
@ -553,8 +569,15 @@ switch_status_t pgsql_handle_exec_detailed(const char *file, const char *func, i
|
|||
goto error;
|
||||
}
|
||||
|
||||
return pgsql_finish_results(handle);
|
||||
if (pgsql_finish_results(handle) != SWITCH_STATUS_SUCCESS) {
|
||||
goto error;
|
||||
}
|
||||
|
||||
return SWITCH_STATUS_SUCCESS;
|
||||
|
||||
error:
|
||||
pgsql_handle_set_error_if_not_set(handle, err);
|
||||
|
||||
return SWITCH_STATUS_FALSE;
|
||||
}
|
||||
|
||||
|
@ -630,6 +653,7 @@ done:
|
|||
|
||||
pgsql_free_result(&result);
|
||||
if (pgsql_finish_results(handle) != SWITCH_STATUS_SUCCESS) {
|
||||
pgsql_handle_set_error_if_not_set(handle, err);
|
||||
sstatus = SWITCH_STATUS_FALSE;
|
||||
}
|
||||
|
||||
|
@ -638,6 +662,7 @@ done:
|
|||
error:
|
||||
|
||||
pgsql_free_result(&result);
|
||||
pgsql_handle_set_error_if_not_set(handle, err);
|
||||
|
||||
return SWITCH_STATUS_FALSE;
|
||||
}
|
||||
|
@ -1050,6 +1075,8 @@ switch_status_t pgsql_handle_callback_exec_detailed(const char *file, const char
|
|||
return SWITCH_STATUS_SUCCESS;
|
||||
error:
|
||||
|
||||
pgsql_handle_set_error_if_not_set(handle, err);
|
||||
|
||||
return SWITCH_STATUS_FALSE;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue