summaryrefslogtreecommitdiff
path: root/include/asterisk/stasis_app.h
diff options
context:
space:
mode:
authorJonathan Rose <jrose@digium.com>2014-04-18 20:09:24 +0000
committerJonathan Rose <jrose@digium.com>2014-04-18 20:09:24 +0000
commitb9d7dfcc62c80d2b2827dd7b70701dfb21512c13 (patch)
tree5d564284aeb95084327ad944a2e358829e67ba6a /include/asterisk/stasis_app.h
parent06657c92e61340a9bc3e0d89fa676f93e6581ef1 (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.h33
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 {