]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix the fix for chanspy option o
authorJeff Peeler <jpeeler@digium.com>
Thu, 5 Nov 2009 21:23:06 +0000 (21:23 +0000)
committerJeff Peeler <jpeeler@digium.com>
Thu, 5 Nov 2009 21:23:06 +0000 (21:23 +0000)
In 224178, I assumed the uploaded patch was correct as it had received positive
feedback. The flags were being checked in the incorrect location. Upon testing
the fix this time it was also found that the flags from the dialplan weren't
being copied to the chanspy_translation_helper.

(closes issue #16167)
Reported by: marhbere

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

apps/app_chanspy.c

index 3f0944fc904ceec95d6efe31eead5a6b1afd9241..b7b25c6b6d567c00e38c62fdd479044aed914219 100644 (file)
@@ -435,7 +435,7 @@ static int spy_generate(struct ast_channel *chan, void *data, int len, int sampl
                return -1;
        }
 
-       if (ast_test_flag(chan, OPTION_READONLY)) {
+       if (ast_test_flag(&csth->spy_audiohook, OPTION_READONLY)) {
                /* Option 'o' was set, so don't mix channel audio */
                f = ast_audiohook_read_frame(&csth->spy_audiohook, samples, AST_AUDIOHOOK_DIRECTION_READ, AST_FORMAT_SLINEAR);
        } else {
@@ -535,6 +535,7 @@ static int channel_spy(struct ast_channel *chan, struct ast_autochan *spyee_auto
                        spyer_name, name);
 
        memset(&csth, 0, sizeof(csth));
+       ast_copy_flags(&csth.spy_audiohook, flags, AST_FLAGS_ALL);
 
        ast_audiohook_init(&csth.spy_audiohook, AST_AUDIOHOOK_TYPE_SPY, "ChanSpy");