mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-09 22:45:49 +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:
@@ -701,6 +701,13 @@ static void sub_bridge_update_handler(void *data,
|
||||
json = simple_bridge_event("BridgeDestroyed", old_snapshot, tv);
|
||||
} else if (!old_snapshot) {
|
||||
json = simple_bridge_event("BridgeCreated", new_snapshot, tv);
|
||||
} else if (new_snapshot && old_snapshot
|
||||
&& strcmp(new_snapshot->video_source_id, old_snapshot->video_source_id)) {
|
||||
json = simple_bridge_event("BridgeVideoSourceChanged", new_snapshot, tv);
|
||||
if (json && !ast_strlen_zero(old_snapshot->video_source_id)) {
|
||||
ast_json_object_set(json, "old_video_source_id",
|
||||
ast_json_string_create(old_snapshot->video_source_id));
|
||||
}
|
||||
}
|
||||
|
||||
if (json) {
|
||||
|
Reference in New Issue
Block a user