diff options
author | Jonathan Rose <jrose@digium.com> | 2014-04-18 20:09:24 +0000 |
---|---|---|
committer | Jonathan Rose <jrose@digium.com> | 2014-04-18 20:09:24 +0000 |
commit | b9d7dfcc62c80d2b2827dd7b70701dfb21512c13 (patch) | |
tree | 5d564284aeb95084327ad944a2e358829e67ba6a /include/asterisk/stasis_app.h | |
parent | 06657c92e61340a9bc3e0d89fa676f93e6581ef1 (diff) |
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
Diffstat (limited to 'include/asterisk/stasis_app.h')
-rw-r--r-- | include/asterisk/stasis_app.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/include/asterisk/stasis_app.h b/include/asterisk/stasis_app.h index 8430cf330..02c67fdca 100644 --- a/include/asterisk/stasis_app.h +++ b/include/asterisk/stasis_app.h @@ -375,6 +375,15 @@ void stasis_app_control_execute_until_exhausted( struct stasis_app_control *control); /*! + * \brief Check if a control is marked as done + * \since 12.2.0 + * + * \param control Which control object is being evaluated + */ +int stasis_app_control_is_done( + struct stasis_app_control *control); + +/*! * \brief Returns the uniqueid of the channel associated with this control * * \param control Control object. @@ -638,6 +647,30 @@ int stasis_app_bridge_moh_stop( struct ast_bridge *bridge); /*! + * \brief Finds an existing ARI playback channel in a bridge + * + * \param bridge Bridge we want to find the playback channel for + * + * \return NULL if the playback channel can not be found for any reason. + * \return Pointer to the ;1 end of the playback channel chain. + */ +struct ast_channel *stasis_app_bridge_playback_channel_find( + struct ast_bridge *bridge); + +/*! + * \brief Adds a channel to the list of ARI playback channels for bridges. + * + * \param bridge Bridge we are adding the playback channel for + * \param chan Channel being added as a playback channel (must be ;1) + * + * \retval -1 failed to add channel for any reason + * \retval 0 on success + */ +int stasis_app_bridge_playback_channel_add(struct ast_bridge *bridge, + struct ast_channel *chan, + struct stasis_app_control *control); + +/*! * \brief Result codes used when adding/removing channels to/from bridges. */ enum stasis_app_control_channel_result { |