[asterisk-commits] file: branch file/bridging r102372 - /team/file/bridging/bridges/bridge_simple.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Feb 4 17:15:53 CST 2008
Author: file
Date: Mon Feb 4 17:15:53 2008
New Revision: 102372
URL: http://svn.digium.com/view/asterisk?view=rev&rev=102372
Log:
Only write a frame out to the other channel if they are in the wait state.
Modified:
team/file/bridging/bridges/bridge_simple.c
Modified: team/file/bridging/bridges/bridge_simple.c
URL: http://svn.digium.com/view/asterisk/team/file/bridging/bridges/bridge_simple.c?view=diff&rev=102372&r1=102371&r2=102372
==============================================================================
--- team/file/bridging/bridges/bridge_simple.c (original)
+++ team/file/bridging/bridges/bridge_simple.c Mon Feb 4 17:15:53 2008
@@ -58,18 +58,19 @@
static enum ast_bridge_write_result simple_bridge_write(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel, struct ast_frame *frame)
{
- struct ast_channel *other = NULL;
+ struct ast_bridge_channel *other = NULL;
/* If this is the only channel in this bridge then immediately exit */
if (AST_LIST_FIRST(&bridge->channels) == AST_LIST_LAST(&bridge->channels))
return AST_BRIDGE_WRITE_FAILED;
/* Find the channel we actually want to write to */
- if (!(other = (AST_LIST_FIRST(&bridge->channels) == bridge_channel ? AST_LIST_LAST(&bridge->channels)->chan : AST_LIST_FIRST(&bridge->channels)->chan)))
+ if (!(other = (AST_LIST_FIRST(&bridge->channels) == bridge_channel ? AST_LIST_LAST(&bridge->channels) : AST_LIST_FIRST(&bridge->channels))))
return AST_BRIDGE_WRITE_FAILED;
- /* Write the frame out... don't worry about freeing it, the bridging core will take care of it */
- ast_write(other, frame);
+ /* Write the frame out if they are in the waiting state... don't worry about freeing it, the bridging core will take care of it */
+ if (other->state == AST_BRIDGE_CHANNEL_STATE_WAIT)
+ ast_write(other->chan, frame);
return AST_BRIDGE_WRITE_SUCCESS;
}
More information about the asterisk-commits
mailing list