diff options
-rw-r--r-- | bridges/bridge_softmix.c | 15 | ||||
-rw-r--r-- | include/asterisk/bridge.h | 1 | ||||
-rw-r--r-- | main/bridge.c | 6 | ||||
-rw-r--r-- | main/features.c | 1 |
4 files changed, 18 insertions, 5 deletions
diff --git a/bridges/bridge_softmix.c b/bridges/bridge_softmix.c index 4e4adcb22..e5835f732 100644 --- a/bridges/bridge_softmix.c +++ b/bridges/bridge_softmix.c @@ -594,8 +594,10 @@ static void softmix_bridge_write_voice(struct ast_bridge *bridge, struct ast_bri */ static int softmix_bridge_write_control(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel, struct ast_frame *frame) { -/* BUGBUG need to look at channel roles to determine what to do with control frame. */ - /*! \todo BUGBUG softmix_bridge_write_control() not written */ + /* + * XXX Softmix needs to use channel roles to determine what to + * do with control frames. + */ return 0; } @@ -622,6 +624,11 @@ static int softmix_bridge_write(struct ast_bridge *bridge, struct ast_bridge_cha return 0; } + /* + * XXX Softmix needs to use channel roles to determine who gets + * what frame. Possible roles: announcer, recorder, agent, + * supervisor. + */ switch (frame->frametype) { case AST_FRAME_NULL: /* "Accept" the frame and discard it. */ @@ -820,6 +827,10 @@ static int softmix_mixing_loop(struct ast_bridge *bridge) goto softmix_cleanup; } + /* + * XXX Softmix needs to use channel roles to determine who gets + * what audio mixed. + */ while (!softmix_data->stop && bridge->num_active) { struct ast_bridge_channel *bridge_channel; int timeout = -1; diff --git a/include/asterisk/bridge.h b/include/asterisk/bridge.h index 3bcb1131a..973490769 100644 --- a/include/asterisk/bridge.h +++ b/include/asterisk/bridge.h @@ -733,7 +733,6 @@ enum ast_bridge_optimization ast_bridges_allow_optimization(struct ast_bridge *c * \retval -1 on error. * * \note This API call is meant for internal bridging operations. - * \note BUGBUG This may get moved. */ int ast_bridge_queue_action(struct ast_bridge *bridge, struct ast_frame *action); diff --git a/main/bridge.c b/main/bridge.c index b53079552..fc86c31f8 100644 --- a/main/bridge.c +++ b/main/bridge.c @@ -2682,7 +2682,11 @@ void ast_bridge_technology_suspend(struct ast_bridge_technology *technology) void ast_bridge_technology_unsuspend(struct ast_bridge_technology *technology) { -/* BUGBUG unsuspending a bridge technology probably needs to prod all existing bridges to see if they should start using it. */ + /* + * XXX We may want the act of unsuspending a bridge technology + * to prod all existing bridges to see if they should start + * using it. + */ technology->suspended = 0; } diff --git a/main/features.c b/main/features.c index 85dd41302..7c53451fa 100644 --- a/main/features.c +++ b/main/features.c @@ -1068,7 +1068,6 @@ int ast_bridge_call(struct ast_channel *chan, struct ast_channel *peer, struct a ast_bridge_features_cleanup(&chan_features); -/* BUGBUG this is used by Dial and FollowMe for CDR information. By Queue for Queue stats like CDRs. */ if (res && config->end_bridge_callback) { config->end_bridge_callback(config->end_bridge_callback_data); } |