]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-6980 #resolve don't crash when using native recording on recordstop the redo
authorBrian West <brian@freeswitch.org>
Tue, 2 Dec 2014 16:51:48 +0000 (10:51 -0600)
committerBrian West <brian@freeswitch.org>
Tue, 2 Dec 2014 16:51:48 +0000 (10:51 -0600)
src/switch_ivr_async.c

index 4dad74c6f9257c1dbaae72fd675f5bdcc37397b6..da988323f5aa039b4b96bfbab47a1d7600d198a9 100644 (file)
@@ -1215,12 +1215,13 @@ static switch_bool_t record_callback(switch_media_bug_t *bug, void *user_data, s
                                        switch_file_remove(rh->file, switch_core_session_get_pool(session));
                                }
 
-                               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));
+                                       }
                                }
-                               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) {