mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-03 03:20:57 +00:00
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
This commit is contained in:
@@ -716,6 +716,24 @@ int ast_ari_validate_bridge_merged(struct ast_json *json);
|
||||
*/
|
||||
ari_validator ast_ari_validate_bridge_merged_fn(void);
|
||||
|
||||
/*!
|
||||
* \brief Validator for BridgeVideoSourceChanged.
|
||||
*
|
||||
* Notification that the source of video in a bridge has changed.
|
||||
*
|
||||
* \param json JSON object to validate.
|
||||
* \returns True (non-zero) if valid.
|
||||
* \returns False (zero) if invalid.
|
||||
*/
|
||||
int ast_ari_validate_bridge_video_source_changed(struct ast_json *json);
|
||||
|
||||
/*!
|
||||
* \brief Function pointer to ast_ari_validate_bridge_video_source_changed().
|
||||
*
|
||||
* See \ref ast_ari_model_validators.h for more details.
|
||||
*/
|
||||
ari_validator ast_ari_validate_bridge_video_source_changed_fn(void);
|
||||
|
||||
/*!
|
||||
* \brief Validator for ChannelCallerId.
|
||||
*
|
||||
@@ -1452,6 +1470,8 @@ ari_validator ast_ari_validate_application_fn(void);
|
||||
* - id: string (required)
|
||||
* - name: string (required)
|
||||
* - technology: string (required)
|
||||
* - video_mode: string
|
||||
* - video_source_id: string
|
||||
* LiveRecording
|
||||
* - cause: string
|
||||
* - duration: int
|
||||
@@ -1543,6 +1563,13 @@ ari_validator ast_ari_validate_application_fn(void);
|
||||
* - timestamp: Date
|
||||
* - bridge: Bridge (required)
|
||||
* - bridge_from: Bridge (required)
|
||||
* BridgeVideoSourceChanged
|
||||
* - asterisk_id: string
|
||||
* - type: string (required)
|
||||
* - application: string (required)
|
||||
* - timestamp: Date
|
||||
* - bridge: Bridge (required)
|
||||
* - old_video_source_id: string
|
||||
* ChannelCallerId
|
||||
* - asterisk_id: string
|
||||
* - type: string (required)
|
||||
|
Reference in New Issue
Block a user