aboutsummaryrefslogtreecommitdiffstats
path: root/codecs
diff options
context:
space:
mode:
Diffstat (limited to 'codecs')
-rw-r--r--codecs/codec_zap.c35
1 files changed, 18 insertions, 17 deletions
diff --git a/codecs/codec_zap.c b/codecs/codec_zap.c
index ee7214613..01d9a1ed1 100644
--- a/codecs/codec_zap.c
+++ b/codecs/codec_zap.c
@@ -87,7 +87,6 @@ struct pvt {
int lasttotalms;
#endif
struct zt_transcode_header *hdr;
- struct ast_frame f;
};
static char *handle_cli_transcoder_show(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
@@ -160,13 +159,14 @@ static struct ast_frame *zap_frameout(struct ast_trans_pvt *pvt)
if (ztp->fake == 2) {
ztp->fake = 1;
- ztp->f.frametype = AST_FRAME_VOICE;
- ztp->f.subclass = 0;
- ztp->f.samples = 160;
- ztp->f.data = NULL;
- ztp->f.offset = 0;
- ztp->f.datalen = 0;
- ztp->f.mallocd = 0;
+ pvt->f.frametype = AST_FRAME_VOICE;
+ pvt->f.subclass = 0;
+ pvt->f.samples = 160;
+ pvt->f.data = NULL;
+ pvt->f.offset = 0;
+ pvt->f.datalen = 0;
+ pvt->f.mallocd = 0;
+ ast_set_flag(&pvt->f, AST_FRFLAG_FROM_TRANSLATOR);
pvt->samples = 0;
} else if (ztp->fake == 1) {
return NULL;
@@ -179,14 +179,15 @@ static struct ast_frame *zap_frameout(struct ast_trans_pvt *pvt)
ztp->lasttotalms = ztp->totalms;
}
#endif
- ztp->f.frametype = AST_FRAME_VOICE;
- ztp->f.subclass = hdr->dstfmt;
- ztp->f.samples = hdr->dstsamples;
- ztp->f.data = hdr->dstdata + hdr->dstoffset;
- ztp->f.offset = hdr->dstoffset;
- ztp->f.datalen = hdr->dstlen;
- ztp->f.mallocd = 0;
- pvt->samples -= ztp->f.samples;
+ pvt->f.frametype = AST_FRAME_VOICE;
+ pvt->f.subclass = hdr->dstfmt;
+ pvt->f.samples = hdr->dstsamples;
+ pvt->f.data = hdr->dstdata + hdr->dstoffset;
+ pvt->f.offset = hdr->dstoffset;
+ pvt->f.datalen = hdr->dstlen;
+ pvt->f.mallocd = 0;
+ ast_set_flag(&pvt->f, AST_FRFLAG_FROM_TRANSLATOR);
+ pvt->samples -= pvt->f.samples;
hdr->dstlen = 0;
} else {
@@ -200,7 +201,7 @@ static struct ast_frame *zap_frameout(struct ast_trans_pvt *pvt)
}
}
- return &ztp->f;
+ return &pvt->f;
}
static void zap_destroy(struct ast_trans_pvt *pvt)