ARI: Make bridges/{bridgeID}/play queue sound files

Previously multiple play actions against a bridge at one time would cause
the sounds to play simultaneously on the bridge. Now if a sound is already
playing, the play action will queue playback to occur after the completion
of other sounds currently on the queue.

(closes issue ASTERISK-22677)
Reported by: John Bigelow
Review: https://reviewboard.asterisk.org/r/3379/
........

Merged revisions 412639 from http://svn.asterisk.org/svn/asterisk/branches/12


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@412641 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Jonathan Rose
2014-04-18 20:09:24 +00:00
parent 06657c92e6
commit b9d7dfcc62
11 changed files with 677 additions and 68 deletions

View File

@@ -368,12 +368,22 @@ void stasis_app_control_clear_roles(struct stasis_app_control *control)
ast_channel_clear_bridge_roles(control->channel);
}
int control_command_count(struct stasis_app_control *control)
{
return ao2_container_count(control->command_queue);
}
int control_is_done(struct stasis_app_control *control)
{
/* Called from stasis_app_exec thread; no lock needed */
return control->is_done;
}
void control_mark_done(struct stasis_app_control *control)
{
control->is_done = 1;
}
struct stasis_app_control_continue_data {
char context[AST_MAX_CONTEXT];
char extension[AST_MAX_EXTENSION];