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/branches/1.8@318142 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Matthew Nicholson
2011-05-09 14:09:38 +00:00
parent 6313aeb1fd
commit 9bfd90d329

View File

@@ -4268,7 +4268,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;
}