aboutsummaryrefslogtreecommitdiffstats
path: root/main/slinfactory.c
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2006-09-26 20:09:41 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2006-09-26 20:09:41 +0000
commitae969b1ff0c6df8b8ee29b363d0c994150d6d506 (patch)
tree32c011fca5beb85f10a8bba5805eaff383a024c7 /main/slinfactory.c
parent601476c594d2784e432f9350ec5c01e73b3c3f95 (diff)
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: http://svn.digium.com/svn/asterisk/branches/1.4@43695 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/slinfactory.c')
-rw-r--r--main/slinfactory.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/main/slinfactory.c b/main/slinfactory.c
index 0520dbcef..a07798b7c 100644
--- a/main/slinfactory.c
+++ b/main/slinfactory.c
@@ -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;