|
|
|
@ -3770,6 +3770,10 @@ void ast_bridge_set_single_src_video_mode(struct ast_bridge *bridge, struct ast_
|
|
|
|
|
cleanup_video_mode(bridge);
|
|
|
|
|
bridge->softmix.video_mode.mode = AST_BRIDGE_VIDEO_MODE_SINGLE_SRC;
|
|
|
|
|
bridge->softmix.video_mode.mode_data.single_src_data.chan_vsrc = ast_channel_ref(video_src_chan);
|
|
|
|
|
ast_verb(5, "Video source in bridge '%s' (%s) is now '%s' (%s)\n",
|
|
|
|
|
bridge->name, bridge->uniqueid,
|
|
|
|
|
ast_channel_name(video_src_chan),
|
|
|
|
|
ast_channel_uniqueid(video_src_chan));
|
|
|
|
|
ast_test_suite_event_notify("BRIDGE_VIDEO_MODE", "Message: video mode set to single source\r\nVideo Mode: %u\r\nVideo Channel: %s",
|
|
|
|
|
bridge->softmix.video_mode.mode, ast_channel_name(video_src_chan));
|
|
|
|
|
ast_indicate(video_src_chan, AST_CONTROL_VIDUPDATE);
|
|
|
|
@ -3810,6 +3814,10 @@ void ast_bridge_update_talker_src_video_mode(struct ast_bridge *bridge, struct a
|
|
|
|
|
}
|
|
|
|
|
data->chan_vsrc = ast_channel_ref(chan);
|
|
|
|
|
data->average_talking_energy = talker_energy;
|
|
|
|
|
ast_verb(5, "Video source in bridge '%s' (%s) is now '%s' (%s)\n",
|
|
|
|
|
bridge->name, bridge->uniqueid,
|
|
|
|
|
ast_channel_name(data->chan_vsrc),
|
|
|
|
|
ast_channel_uniqueid(data->chan_vsrc));
|
|
|
|
|
ast_test_suite_event_notify("BRIDGE_VIDEO_SRC", "Message: video source updated\r\nVideo Channel: %s", ast_channel_name(data->chan_vsrc));
|
|
|
|
|
ast_indicate(data->chan_vsrc, AST_CONTROL_VIDUPDATE);
|
|
|
|
|
} else if ((data->average_talking_energy < talker_energy) && !is_keyframe) {
|
|
|
|
@ -3817,6 +3825,10 @@ void ast_bridge_update_talker_src_video_mode(struct ast_bridge *bridge, struct a
|
|
|
|
|
} else if (!data->chan_vsrc && is_keyframe) {
|
|
|
|
|
data->chan_vsrc = ast_channel_ref(chan);
|
|
|
|
|
data->average_talking_energy = talker_energy;
|
|
|
|
|
ast_verb(5, "Video source in bridge '%s' (%s) is now '%s' (%s)\n",
|
|
|
|
|
bridge->name, bridge->uniqueid,
|
|
|
|
|
ast_channel_name(data->chan_vsrc),
|
|
|
|
|
ast_channel_uniqueid(data->chan_vsrc));
|
|
|
|
|
ast_test_suite_event_notify("BRIDGE_VIDEO_SRC", "Message: video source updated\r\nVideo Channel: %s", ast_channel_name(data->chan_vsrc));
|
|
|
|
|
ast_indicate(chan, AST_CONTROL_VIDUPDATE);
|
|
|
|
|
} else if (!data->chan_old_vsrc && is_keyframe) {
|
|
|
|
|