diff options
Diffstat (limited to 'main/bridge.c')
-rw-r--r-- | main/bridge.c | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/main/bridge.c b/main/bridge.c index 1109c4b76..2b347fd3f 100644 --- a/main/bridge.c +++ b/main/bridge.c @@ -3850,6 +3850,24 @@ void ast_bridge_set_video_update_discard(struct ast_bridge *bridge, unsigned int ast_bridge_unlock(bridge); } +void ast_bridge_set_remb_send_interval(struct ast_bridge *bridge, unsigned int remb_send_interval) +{ + ast_assert(bridge->softmix.video_mode.mode == AST_BRIDGE_VIDEO_MODE_SFU); + + ast_bridge_lock(bridge); + bridge->softmix.video_mode.mode_data.sfu_data.remb_send_interval = remb_send_interval; + ast_bridge_unlock(bridge); +} + +void ast_brige_set_remb_behavior(struct ast_bridge *bridge, enum ast_bridge_video_sfu_remb_behavior behavior) +{ + ast_assert(bridge->softmix.video_mode.mode == AST_BRIDGE_VIDEO_MODE_SFU); + + ast_bridge_lock(bridge); + bridge->softmix.video_mode.mode_data.sfu_data.remb_behavior = behavior; + ast_bridge_unlock(bridge); +} + void ast_bridge_update_talker_src_video_mode(struct ast_bridge *bridge, struct ast_channel *chan, int talker_energy, int is_keyframe) { struct ast_bridge_video_talker_src_data *data; @@ -4420,7 +4438,7 @@ static void set_transfer_variables_all(struct ast_channel *transferer, struct ao ao2_iterator_destroy(&iter); } -static struct ast_bridge *acquire_bridge(struct ast_channel *chan) +struct ast_bridge *ast_bridge_transfer_acquire_bridge(struct ast_channel *chan) { struct ast_bridge *bridge; @@ -4461,7 +4479,7 @@ enum ast_transfer_result ast_bridge_transfer_blind(int is_external, return AST_BRIDGE_TRANSFER_FAIL; } - bridge = acquire_bridge(transferer); + bridge = ast_bridge_transfer_acquire_bridge(transferer); if (!bridge) { transfer_result = AST_BRIDGE_TRANSFER_INVALID; goto publish; @@ -4708,8 +4726,8 @@ enum ast_transfer_result ast_bridge_transfer_attended(struct ast_channel *to_tra const char *app = NULL; int hangup_target = 0; - to_transferee_bridge = acquire_bridge(to_transferee); - to_target_bridge = acquire_bridge(to_transfer_target); + to_transferee_bridge = ast_bridge_transfer_acquire_bridge(to_transferee); + to_target_bridge = ast_bridge_transfer_acquire_bridge(to_transfer_target); transfer_msg = ast_attended_transfer_message_create(1, to_transferee, to_transferee_bridge, to_transfer_target, to_target_bridge, NULL, NULL); |