From: Joshua Colp Date: Mon, 20 Nov 2006 19:50:21 +0000 (+0000) Subject: Don't forget to byte swap if we are exiting the smoother feed early. (issue #8287... X-Git-Tag: 1.2.14~42 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=426bdb3b170db88a52215a991bc55b5d3cba5ead;p=thirdparty%2Fasterisk.git Don't forget to byte swap if we are exiting the smoother feed early. (issue #8287 reported by arturs) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@47859 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/frame.c b/frame.c index 27d82d665d..ddb61d6fbb 100644 --- a/frame.c +++ b/frame.c @@ -157,6 +157,8 @@ int __ast_smoother_feed(struct ast_smoother *s, struct ast_frame *f, int swap) /* Optimize by sending the frame we just got on the next read, thus eliminating the douple copy */ + if (swap) + ast_swapcopy_samples(f->data, f->data, f->samples); s->opt = f; return 0; } else { @@ -167,6 +169,8 @@ int __ast_smoother_feed(struct ast_smoother *s, struct ast_frame *f, int swap) we were unable to optimize because there was still some cruft left over. Lets just drop the cruft so we can move to a fully optimized path */ + if (swap) + ast_swapcopy_samples(f->data, f->data, f->samples); s->len = 0; s->opt = f; return 0;