From 5b77bb50602e86af0cae197d9043a9fe49bc7b94 Mon Sep 17 00:00:00 2001 From: Matthew Nicholson Date: Mon, 9 May 2011 14:11:57 +0000 Subject: 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 --- main/channel.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'main') 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; } -- cgit v1.2.3