Merged revisions 224932 via svnmerge from

https://origsvn.digium.com/svn/asterisk/trunk

................
  r224932 | russell | 2009-10-20 22:09:04 -0500 (Tue, 20 Oct 2009) | 12 lines
  
  Merged revisions 224931 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r224931 | russell | 2009-10-20 21:59:54 -0500 (Tue, 20 Oct 2009) | 5 lines
    
    Isolate frames returned from a DSP instance or codec translator.
    
    The reasoning for these changes are the same as what I wrote in the commit
    message for rev 222878.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@224933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Russell Bryant
2009-10-21 03:15:06 +00:00
parent 0f2eec5ab0
commit ffe8346471
7 changed files with 11 additions and 115 deletions

View File

@@ -235,10 +235,9 @@ static struct ast_frame *dahdi_encoder_frameout(struct ast_trans_pvt *pvt)
pvt->f.offset = 0;
pvt->f.datalen = 0;
pvt->f.mallocd = 0;
ast_set_flag(&pvt->f, AST_FRFLAG_FROM_TRANSLATOR);
pvt->samples = 0;
return &pvt->f;
return ast_frisolate(&pvt->f);
} else if (1 == dahdip->fake) {
dahdip->fake = 0;
@@ -263,11 +262,10 @@ static struct ast_frame *dahdi_encoder_frameout(struct ast_trans_pvt *pvt)
pvt->f.offset = AST_FRIENDLY_OFFSET;
pvt->f.src = pvt->t->name;
pvt->f.data = pvt->outbuf;
ast_set_flag(&pvt->f, AST_FRFLAG_FROM_TRANSLATOR);
pvt->samples = 0;
pvt->datalen = 0;
return &pvt->f;
return ast_frisolate(&pvt->f);
}
/* Shouldn't get here... */
@@ -310,9 +308,8 @@ static struct ast_frame *dahdi_decoder_frameout(struct ast_trans_pvt *pvt)
pvt->f.offset = 0;
pvt->f.datalen = 0;
pvt->f.mallocd = 0;
ast_set_flag(&pvt->f, AST_FRFLAG_FROM_TRANSLATOR);
pvt->samples = 0;
return &pvt->f;
return ast_frisolate(&pvt->f);
} else if (1 == dahdip->fake) {
pvt->samples = 0;
dahdip->fake = 0;
@@ -349,10 +346,9 @@ static struct ast_frame *dahdi_decoder_frameout(struct ast_trans_pvt *pvt)
pvt->f.src = pvt->t->name;
pvt->f.data = pvt->outbuf;
pvt->f.samples = dahdip->required_samples;
ast_set_flag(&pvt->f, AST_FRFLAG_FROM_TRANSLATOR);
pvt->samples = 0;
return &pvt->f;
return ast_frisolate(&pvt->f);
}
/* Shouldn't get here... */