summaryrefslogtreecommitdiff
path: root/bridges/bridge_native_rtp.c
diff options
context:
space:
mode:
authorJonathan Rose <jrose@digium.com>2013-06-11 22:21:36 +0000
committerJonathan Rose <jrose@digium.com>2013-06-11 22:21:36 +0000
commit723a84dbd98a63951bccdea6b71a0d6c1243ecbe (patch)
tree1fb35f5b6cb75f179996423224bc58020cc858b5 /bridges/bridge_native_rtp.c
parenta1f45147c97128bdbc733b5cfa44b53573cb4619 (diff)
bridge_native_rtp: Fix native bridge tech being incompatible when it should be.
When checking compatability for the native RTP bridge technology there is a race condition between clearing framehooks that are destroyed when leaving certain bridges with certain technologies (such as bridge_native_rtp) and joining bridges with the bridge_native_rtp technology. Yes, that means a channel in a native RTP bridge could move to another native RTP bridge and be considered incompatible with the new native RTP bridge causing it to revert to a simple bridge technology0. This fixes that bug by ignoring framehooks that have been marked for destruction when checking for compatibility with the bridge_native_rtp technology. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@391453 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'bridges/bridge_native_rtp.c')
-rw-r--r--bridges/bridge_native_rtp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/bridges/bridge_native_rtp.c b/bridges/bridge_native_rtp.c
index ce050c89e..3c8e57c93 100644
--- a/bridges/bridge_native_rtp.c
+++ b/bridges/bridge_native_rtp.c
@@ -87,7 +87,7 @@ static int native_rtp_bridge_capable(struct ast_channel *chan)
{
if (ast_channel_monitor(chan) || (ast_channel_audiohooks(chan) &&
!ast_audiohook_write_list_empty(ast_channel_audiohooks(chan))) ||
- !ast_framehook_list_is_empty(ast_channel_framehooks(chan))) {
+ !ast_framehook_list_contains_no_active(ast_channel_framehooks(chan))) {
return 0;
} else {
return 1;