mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-28 15:11:12 +00:00
Once an audiohook is attached to a channel, we continue to transcode all of the
frames, even after all of the hooks are detached. This patch short-cicuits us out before we transcode unnecessarily. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@349144 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -621,6 +621,12 @@ static struct ast_frame *audio_audiohook_write_list(struct ast_channel *chan, st
|
||||
struct ast_audiohook *audiohook = NULL;
|
||||
int samples = frame->samples;
|
||||
|
||||
/* Don't translate our frame if we aren't going to bother to use it */
|
||||
if (AST_LIST_EMPTY(&audiohook_list->spy_list)
|
||||
&& AST_LIST_EMPTY(&audiohook_list->whisper_list)
|
||||
&& AST_LIST_EMPTY(&audiohook_list->manipulate_list))
|
||||
return end_frame;
|
||||
|
||||
/* ---Part_1. translate start_frame to SLINEAR if necessary. */
|
||||
/* If the frame coming in is not signed linear we have to send it through the in_translate path */
|
||||
if (frame->subclass.codec != AST_FORMAT_SLINEAR) {
|
||||
|
||||
Reference in New Issue
Block a user