--- frame.c Tue Oct 26 11:41:39 2004 +++ .#frame.c.1.36 Tue Oct 26 11:38:08 2004 @@ -116,9 +116,12 @@ int ast_smoother_feed(struct ast_smoothe } else s->optimizablestream = 0; if (s->flags & AST_SMOOTHER_FLAG_G729) { + if (s->len % 10) { - ast_log(LOG_NOTICE, "Dropping extra frame of G.729 since we already have a VAD frame at the end\n" ); - return 0; + // ignore extra bytes, do not drop entire frame, it has our data.. + s->len = (s->len / 10) * 10; + //ast_log(LOG_NOTICE, "Dropping frame of G.729 since we already have a VAD frame at the end (%d)\n ", s->len); + //return 0; } } memcpy(s->data + s->len, f->data, f->datalen);