summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bridges/bridge_softmix.c15
-rw-r--r--include/asterisk/bridge.h1
-rw-r--r--main/bridge.c6
-rw-r--r--main/features.c1
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);
}