allow uuid_break to interrupt one or all in a delimited string of files the same as several individual files

This commit is contained in:
Anthony Minessale 2010-06-04 10:15:04 -05:00
parent fcb78c07a5
commit eba05c3c01
2 changed files with 8 additions and 4 deletions

View File

@ -2729,14 +2729,14 @@ SWITCH_STANDARD_API(break_function)
if (switch_channel_test_flag(channel, CF_BROADCAST)) {
switch_channel_stop_broadcast(channel);
} else {
switch_channel_set_flag(channel, CF_BREAK);
switch_channel_set_flag_value(channel, CF_BREAK, all ? 2 : 1);
}
if (qchannel) {
if (switch_channel_test_flag(qchannel, CF_BROADCAST)) {
switch_channel_stop_broadcast(qchannel);
} else {
switch_channel_set_flag(qchannel, CF_BREAK);
switch_channel_set_flag_value(qchannel, CF_BREAK, all ? 2 : 1);
}
}

View File

@ -1195,14 +1195,18 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_play_file(switch_core_session_t *sess
for (;;) {
int do_speed = 1;
int last_speed = -1;
int f;
if (!switch_channel_ready(channel)) {
status = SWITCH_STATUS_FALSE;
break;
}
if (switch_channel_test_flag(channel, CF_BREAK)) {
if ((f = switch_channel_test_flag(channel, CF_BREAK))) {
switch_channel_clear_flag(channel, CF_BREAK);
if (f == 2) {
done = 1;
}
status = SWITCH_STATUS_BREAK;
break;
}