Merged revisions 225169 via svnmerge from
authorRussell Bryant <russell@russellbryant.com>
Wed, 21 Oct 2009 16:42:13 +0000 (16:42 +0000)
committerRussell Bryant <russell@russellbryant.com>
Wed, 21 Oct 2009 16:42:13 +0000 (16:42 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r225169 | russell | 2009-10-21 11:39:20 -0500 (Wed, 21 Oct 2009) | 2 lines

  Isolate the frame returned from ast_translate().
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225170 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/translate.c

index a4a9152..223b5d3 100644 (file)
@@ -295,7 +295,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;
@@ -364,7 +364,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 */