summaryrefslogtreecommitdiff
path: root/formats/format_sln.c
diff options
context:
space:
mode:
Diffstat (limited to 'formats/format_sln.c')
-rw-r--r--formats/format_sln.c6
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;