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
};
#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? */