diff options
author | anthm <anthm@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-04-27 16:42:43 +0000 |
---|---|---|
committer | anthm <anthm@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-04-27 16:42:43 +0000 |
commit | 5897660860459018e08d2b3416a6087147515996 (patch) | |
tree | 3192ce907de41537f8a32ec8a6ce7b5e3a069f0f /channel.c | |
parent | 4ea8b09a2a0fdd5e73b1083bbef816eefd269a2a (diff) |
Bug Fix
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@2784 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channel.c')
-rwxr-xr-x | channel.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -2335,7 +2335,7 @@ static long tvdiff(struct timeval *now,struct timeval *then) { return (((now->tv_sec * 1000) + now->tv_usec / 1000) - ((then->tv_sec * 1000) + then->tv_usec / 1000)); } -static void bridge_playfile(struct ast_channel *chan,char *sound,int remain) { +static void bridge_playfile(struct ast_channel *chan,char *sound,int remain) { int res=0,min=0,sec=0; if(remain > 0) { @@ -2381,7 +2381,7 @@ int ast_channel_bridge(struct ast_channel *c0,struct ast_channel *c1,struct ast_ struct timeval start_time,precise_now; long elapsed_ms=0,time_left_ms=0; int playit=0,playitagain=1,first_time=1; - + flags = (config->allowdisconnect||config->allowredirect_out ? AST_BRIDGE_DTMF_CHANNEL_0 : 0) + (config->allowredirect_in ? AST_BRIDGE_DTMF_CHANNEL_1 : 0); @@ -2450,7 +2450,6 @@ int ast_channel_bridge(struct ast_channel *c0,struct ast_channel *c1,struct ast_ } } } - if(time_left_ms <= 0) { if(config->play_to_caller && config->end_sound){ bridge_playfile(c0,config->end_sound,0); @@ -2458,7 +2457,10 @@ int ast_channel_bridge(struct ast_channel *c0,struct ast_channel *c1,struct ast_ if(config->play_to_callee && config->end_sound){ bridge_playfile(c1,config->end_sound,0); - } + } + *fo = NULL; + if (who) *rc = who; + res = 0; break; } |