diff options
Diffstat (limited to 'apps/app_record.c')
-rwxr-xr-x | apps/app_record.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/apps/app_record.c b/apps/app_record.c index 7c50a1d73..85310ea70 100755 --- a/apps/app_record.c +++ b/apps/app_record.c @@ -277,6 +277,7 @@ static int record_exec(struct ast_channel *chan, void *data) if (res) { ast_log(LOG_WARNING, "Problem writing frame\n"); + ast_frfree(f); break; } @@ -295,16 +296,15 @@ static int record_exec(struct ast_channel *chan, void *data) break; } } - } - if (f->frametype == AST_FRAME_VIDEO) { + } else if (f->frametype == AST_FRAME_VIDEO) { res = ast_writestream(s, f); if (res) { ast_log(LOG_WARNING, "Problem writing frame\n"); + ast_frfree(f); break; } - } - if ((f->frametype == AST_FRAME_DTMF) && + } else if ((f->frametype == AST_FRAME_DTMF) && (f->subclass == terminator)) { ast_frfree(f); break; |