diff options
Diffstat (limited to 'formats/format_sln.c')
-rw-r--r-- | formats/format_sln.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/formats/format_sln.c b/formats/format_sln.c index 6ad8c386e..80d348400 100644 --- a/formats/format_sln.c +++ b/formats/format_sln.c @@ -54,6 +54,12 @@ static struct ast_frame *generic_read(struct ast_filestream *s, int *whennext, u static int slinear_write(struct ast_filestream *fs, struct ast_frame *f) { int res; + + /* Don't try to write an interpolated frame */ + if (f->datalen == 0) { + return 0; + } + if ((res = fwrite(f->data.ptr, 1, f->datalen, fs->f)) != f->datalen) { ast_log(LOG_WARNING, "Bad write (%d/%d): %s\n", res, f->datalen, strerror(errno)); return -1; |