From 34cf3b9069b4b73f04bb946b28e0c28b9d982f67 Mon Sep 17 00:00:00 2001 From: Brian West Date: Tue, 11 Nov 2014 07:45:50 -0600 Subject: [PATCH] FS-6980 #resolve don't crash when using native recording on recordstop --- src/switch_ivr_async.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/switch_ivr_async.c b/src/switch_ivr_async.c index dcea776c83..1b209ae196 100644 --- a/src/switch_ivr_async.c +++ b/src/switch_ivr_async.c @@ -1088,17 +1088,17 @@ static void send_record_stop_event(switch_channel_t *channel, switch_codec_imple { switch_event_t *event; - if (read_impl->actual_samples_per_second) { - switch_channel_set_variable_printf(channel, "record_seconds", "%d", rh->fh->samples_out / read_impl->actual_samples_per_second); - switch_channel_set_variable_printf(channel, "record_ms", "%d", rh->fh->samples_out / (read_impl->actual_samples_per_second / 1000)); + if (rh->fh) { + switch_channel_set_variable_printf(channel, "record_samples", "%d", rh->fh->samples_out); + if (read_impl->actual_samples_per_second) { + switch_channel_set_variable_printf(channel, "record_seconds", "%d", rh->fh->samples_out / read_impl->actual_samples_per_second); + switch_channel_set_variable_printf(channel, "record_ms", "%d", rh->fh->samples_out / (read_impl->actual_samples_per_second / 1000)); + } } - if (!zstr(rh->completion_cause)) { switch_channel_set_variable_printf(channel, "record_completion_cause", "%s", rh->completion_cause); } - switch_channel_set_variable_printf(channel, "record_samples", "%d", rh->fh->samples_out); - if (switch_event_create(&event, SWITCH_EVENT_RECORD_STOP) == SWITCH_STATUS_SUCCESS) { switch_channel_event_set_data(channel, event); switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Record-File-Path", rh->file);