Merged revisions 228409 via svnmerge from
authorJoshua Colp <jcolp@digium.com>
Fri, 6 Nov 2009 16:42:23 +0000 (16:42 +0000)
committerJoshua Colp <jcolp@digium.com>
Fri, 6 Nov 2009 16:42:23 +0000 (16:42 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r228409 | file | 2009-11-06 12:41:20 -0400 (Fri, 06 Nov 2009) | 7 lines

  Fix a bug caused by a partially invalid frame (from the jitterbuffer) passing through the Asterisk core.

  (closes issue #15560)
  Reported by: jvandal
  (closes issue #15709)
  Reported by: covici
........

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

main/abstract_jb.c

index 7ebbb62..dd159c1 100644 (file)
@@ -386,7 +386,7 @@ static void jb_get_and_deliver(struct ast_channel *chan)
        struct ast_jb *jb = &chan->jb;
        const struct ast_jb_impl *jbimpl = jb->impl;
        void *jbobj = jb->jbobj;
-       struct ast_frame *f, finterp;
+       struct ast_frame *f, finterp = { .frametype = AST_FRAME_VOICE, };
        long now;
        int interpolation_len, res;
 
@@ -415,13 +415,9 @@ static void jb_get_and_deliver(struct ast_channel *chan)
                case JB_IMPL_INTERP:
                        /* interpolate a frame */
                        f = &finterp;
-                       f->frametype = AST_FRAME_VOICE;
                        f->subclass.codec = jb->last_format;
-                       f->datalen  = 0;
                        f->samples  = interpolation_len * 8;
-                       f->mallocd  = 0;
                        f->src  = "JB interpolation";
-                       f->data.ptr  = NULL;
                        f->delivery = ast_tvadd(jb->timebase, ast_samp2tv(jb->next, 1000));
                        f->offset = AST_FRIENDLY_OFFSET;
                        /* deliver the interpolated frame */