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.1@224935 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Russell Bryant
2009-10-21 03:17:44 +00:00
parent e88e6c5f6b
commit a3784591a1
7 changed files with 8 additions and 109 deletions

View File

@@ -239,10 +239,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;
@@ -267,11 +266,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.ptr = pvt->outbuf.c;
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... */
@@ -314,9 +312,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;
@@ -353,10 +350,9 @@ static struct ast_frame *dahdi_decoder_frameout(struct ast_trans_pvt *pvt)
pvt->f.src = pvt->t->name;
pvt->f.data.ptr = pvt->outbuf.c;
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... */