Slight overhaul of the whisper support. 1. We need to duplicate the frame from ast_translate 2. We need to ensure we always have signed linear coming in for signed linear combining. 3. We need to ensure we are always feeding signed linear out. 4. Properly store and restore write format when beeping on the channel we are whispering on. 5. Properly discontinue the stream on the channel for the beep. (issue #8019 reported by timkelly1980)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@43695 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Joshua Colp
2006-09-26 20:09:41 +00:00
parent 07e5f6c4b5
commit d95288fdf8
3 changed files with 95 additions and 65 deletions

View File

@@ -74,12 +74,7 @@ int ast_slinfactory_feed(struct ast_slinfactory *sf, struct ast_frame *f)
}
}
if (sf->trans)
frame = ast_translate(sf->trans, f, 0);
else
frame = ast_frdup(f);
if (!frame)
if (!(frame = ast_frdup( (sf->trans) ? ast_translate(sf->trans, f, 0) : f )))
return 0;
x = 0;