From: Russell Bryant Date: Wed, 21 Oct 2009 16:39:20 +0000 (+0000) Subject: Isolate the frame returned from ast_translate(). X-Git-Tag: 1.4.27-rc3~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=758ed8d4373f071fdeef7483f43b15dac4c56655;p=thirdparty%2Fasterisk.git Isolate the frame returned from ast_translate(). git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@225169 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/translate.c b/main/translate.c index a928470bf3..9ee2f664f5 100644 --- a/main/translate.c +++ b/main/translate.c @@ -301,7 +301,7 @@ struct ast_trans_pvt *ast_translator_build_path(int dest, int source) struct ast_frame *ast_translate(struct ast_trans_pvt *path, struct ast_frame *f, int consume) { struct ast_trans_pvt *p = path; - struct ast_frame *out = f; + struct ast_frame *out = f, *ret; struct timeval delivery; int has_timing_info; long ts; @@ -370,7 +370,11 @@ struct ast_frame *ast_translate(struct ast_trans_pvt *path, struct ast_frame *f, /* Invalidate prediction if we're entering a silence period */ if (out->frametype == AST_FRAME_CNG) path->nextout = ast_tv(0, 0); - return out; + + ret = ast_frisolate(out); + ast_frfree(out); + + return ret; } /*! \brief compute the cost of a single translation step */