summaryrefslogtreecommitdiff
path: root/include/asterisk
diff options
context:
space:
mode:
authorMatt Jordan <mjordan@digium.com>2016-11-08 10:11:41 -0600
committerMatt Jordan <mjordan@digium.com>2016-11-14 17:03:09 -0500
commita72ef381135639c62d97b9f6b1964403c9c92b78 (patch)
tree0f452f795f624cf7d4580a901bc9ab70fb1cdef4 /include/asterisk
parentd1739bcf07502e5e59917818dfcf514b95a6c2e3 (diff)
res/ari/resource_bridges: Add the ability to manipulate the video source
In multi-party bridges, Asterisk currently supports two video modes: * Follow the talker, in which the speaker with the most energy is shown to all participants but the speaker, and the speaker sees the previous video source * Explicitly set video sources, in which all participants see a locked video source Prior to this patch, ARI had no ability to manipulate the video source. This isn't important for two-party bridges, in which Asterisk merely relays the video between the participants. However, in a multi-party bridge, it can be advantageous to allow an external application to manipulate the video source. This patch provides two new routes to accomplish this: (1) setVideoSource: POST /bridges/{bridgeId}/videoSource/{channelId} Sets a video source to an explicit channel (2) clearVideoSource: DELETE /bridges/{bridgeId}/videoSource Removes any explicit video source, and sets the video mode to talk detection ASTERISK-26595 #close Change-Id: I98e455d5bffc08ea5e8d6b84ccaf063c714e6621
Diffstat (limited to 'include/asterisk')
-rw-r--r--include/asterisk/bridge.h9
-rw-r--r--include/asterisk/stasis_bridges.h4
2 files changed, 13 insertions, 0 deletions
diff --git a/include/asterisk/bridge.h b/include/asterisk/bridge.h
index acea2f01f..61cecbdd6 100644
--- a/include/asterisk/bridge.h
+++ b/include/asterisk/bridge.h
@@ -903,6 +903,15 @@ int ast_bridge_is_video_src(struct ast_bridge *bridge, struct ast_channel *chan)
*/
void ast_bridge_remove_video_src(struct ast_bridge *bridge, struct ast_channel *chan);
+/*!
+ * \brief Converts an enum representation of a bridge video mode to string
+ *
+ * \param video_mode The video mode
+ *
+ * \retval A string representation of \c video_mode
+ */
+const char *ast_bridge_video_mode_to_string(enum ast_bridge_video_mode_type video_mode);
+
enum ast_transfer_result {
/*! The transfer completed successfully */
AST_BRIDGE_TRANSFER_SUCCESS,
diff --git a/include/asterisk/stasis_bridges.h b/include/asterisk/stasis_bridges.h
index d549e4620..05d356cc2 100644
--- a/include/asterisk/stasis_bridges.h
+++ b/include/asterisk/stasis_bridges.h
@@ -58,6 +58,10 @@ struct ast_bridge_snapshot {
unsigned int num_channels;
/*! Number of active channels in the bridge. */
unsigned int num_active;
+ /*! The video mode of the bridge */
+ enum ast_bridge_video_mode_type video_mode;
+ /*! Unique ID of the channel providing video, if one exists */
+ AST_STRING_FIELD_EXTENDED(video_source_id);
};
/*!