diff --git a/src/switch_ivr_async.c b/src/switch_ivr_async.c index 1a0a341c9a..960a8d51cd 100644 --- a/src/switch_ivr_async.c +++ b/src/switch_ivr_async.c @@ -1583,10 +1583,12 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_record_session(switch_core_session_t } fh->channels = channels; - fh->pre_buffer_datalen = SWITCH_DEFAULT_FILE_BUFFER_LEN; - - + vval = switch_channel_get_variable(channel, "enable_file_write_buffering"); + if (!vval || switch_true(vval)) { + fh->pre_buffer_datalen = SWITCH_DEFAULT_FILE_BUFFER_LEN; + } + if (!switch_is_file_path(file)) { char *tfile = NULL; char *e;