diff options
author | Matthew Nicholson <mnicholson@digium.com> | 2011-05-09 14:11:57 +0000 |
---|---|---|
committer | Matthew Nicholson <mnicholson@digium.com> | 2011-05-09 14:11:57 +0000 |
commit | 5b77bb50602e86af0cae197d9043a9fe49bc7b94 (patch) | |
tree | f230f6fe0f1c3d2862442f2dbc379a7131898f67 /main | |
parent | 229e066dcbd8419db16ea5fe1a1804fb96e63cb4 (diff) |
Merged revisions 318142 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r318142 | mnicholson | 2011-05-09 09:09:38 -0500 (Mon, 09 May 2011) | 9 lines
Make indicate/control frames WRITE events on framehooks. Also, if a framehook
returns a non-control frame, don't forward it to the channel.
(closes issue #19251)
Reported by: irroot
Patches:
(modified) framehook_indicate.patch2 uploaded by irroot (license 52)
Tested by: irroot
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318143 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main')
-rw-r--r-- | main/channel.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/main/channel.c b/main/channel.c index 37e547914..35fdea7d4 100644 --- a/main/channel.c +++ b/main/channel.c @@ -4323,7 +4323,9 @@ int ast_indicate_data(struct ast_channel *chan, int _condition, awesome_frame = ast_frdup(&frame); /* who knows what we will get back! the anticipation is killing me. */ - if (!(awesome_frame = ast_framehook_list_read_event(chan->framehooks, awesome_frame))) { + if (!(awesome_frame = ast_framehook_list_write_event(chan->framehooks, awesome_frame)) + || awesome_frame->frametype != AST_FRAME_CONTROL) { + res = 0; goto indicate_cleanup; } |