*/
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;
}
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. */
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;
* \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);
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;
}
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);
}