summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2004-02-16 15:05:21 +0000
committerMark Spencer <markster@digium.com>2004-02-16 15:05:21 +0000
commita1c6ac945db159a907def86187ef6b6a77446de0 (patch)
tree934d120da3812f244efef0486d48a8d90f6c9709
parent509e9a4d4e0d7bd4b6519a54eceeeacae8f27041 (diff)
Make sure smoother only creates frames with offsets (bug #1029)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rwxr-xr-xframe.c2
-rwxr-xr-xinclude/asterisk/frame.h8
2 files changed, 5 insertions, 5 deletions
diff --git a/frame.c b/frame.c
index 97fe683d5..06f714d0b 100755
--- a/frame.c
+++ b/frame.c
@@ -80,7 +80,7 @@ int ast_smoother_feed(struct ast_smoother *s, struct ast_frame *f)
ast_log(LOG_WARNING, "Out of smoother space\n");
return -1;
}
- if ((f->datalen == s->size) && !s->opt) {
+ if ((f->datalen == s->size) && !s->opt && (f->offset >= AST_MIN_OFFSET)) {
if (!s->len) {
/* Optimize by sending the frame we just got
on the next read, thus eliminating the douple
diff --git a/include/asterisk/frame.h b/include/asterisk/frame.h
index 95b1f6405..2b645b52a 100755
--- a/include/asterisk/frame.h
+++ b/include/asterisk/frame.h
@@ -90,10 +90,10 @@ struct ast_frame_chain {
};
#define AST_FRIENDLY_OFFSET 64 /*! It's polite for a a new frame to
- have at least this number of bytes
- of offset before your real frame data
- so that additional headers can be
- added. */
+ have this number of bytes for additional
+ headers. */
+#define AST_MIN_OFFSET 32 /*! Make sure we keep at least this much handy */
+
/*! Need the header be free'd? */
#define AST_MALLOCD_HDR (1 << 0)
/*! Need the data be free'd? */