Merged revisions 142927 via svnmerge from
authorJeff Peeler <jpeeler@digium.com>
Fri, 12 Sep 2008 22:24:13 +0000 (22:24 +0000)
committerJeff Peeler <jpeeler@digium.com>
Fri, 12 Sep 2008 22:24:13 +0000 (22:24 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r142927 | jpeeler | 2008-09-12 17:22:28 -0500 (Fri, 12 Sep 2008) | 6 lines

(closes issue #12965)
Reported by: rlsutton2

Prevents local channels from playing MOH at each other which was causing ast_generic_bridge to loop much faster.

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@142929 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_local.c

index b2ca3cf..7e2eaee 100644 (file)
@@ -203,6 +203,10 @@ static int local_queue_frame(struct local_pvt *p, int isoutbound, struct ast_fra
        /* Recalculate outbound channel */
        other = isoutbound ? p->owner : p->chan;
 
+       /* do not queue frame if generator is on both local channels */
+       if (us && us->generator && other->generator)
+               return 0;
+
        /* Set glare detection */
        ast_set_flag(p, LOCAL_GLARE_DETECT);
        if (ast_test_flag(p, LOCAL_CANCEL_QUEUE)) {