From fb3eb97568c1f6a8398650e9b9fcda7d8be60f0b Mon Sep 17 00:00:00 2001
From: Anthony Minessale <anthm@freeswitch.org>
Date: Tue, 21 May 2013 10:03:22 -0500
Subject: [PATCH] FS-5242

---
 src/mod/languages/mod_spidermonkey/mod_spidermonkey.c | 6 +++---
 src/switch_ivr.c                                      | 4 ++--
 src/switch_ivr_play_say.c                             | 8 ++++----
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c b/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c
index 434c412cbf..552c2c45f0 100644
--- a/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c
+++ b/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c
@@ -1300,14 +1300,14 @@ static switch_status_t js_stream_input_callback(switch_core_session_t *session,
 						step = 1000;
 					}
 					if (step > 0) {
-						samps = step * (fh->samplerate / 1000);
+						samps = step * (fh->native_rate / 1000);
 						switch_core_file_seek(fh, &pos, samps, SEEK_CUR);
 					} else {
-						samps = abs(step) * (fh->samplerate / 1000);
+						samps = abs(step) * (fh->native_rate / 1000);
 						switch_core_file_seek(fh, &pos, fh->pos - samps, SEEK_SET);
 					}
 				} else {
-					samps = atoi(p) * (fh->samplerate / 1000);
+					samps = atoi(p) * (fh->native_rate / 1000);
 					switch_core_file_seek(fh, &pos, samps, SEEK_SET);
 				}
 			}
diff --git a/src/switch_ivr.c b/src/switch_ivr.c
index 81acf5afc5..046b8f0130 100644
--- a/src/switch_ivr.c
+++ b/src/switch_ivr.c
@@ -3384,7 +3384,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_process_fh(switch_core_session_t *ses
 						step = 1000;
 					}
 
-					samps = step * (fhp->samplerate / 1000);
+					samps = step * (fhp->native_rate / 1000);
 					target = (int32_t)fhp->pos + samps;
 
 					if (target < 0) {
@@ -3395,7 +3395,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_process_fh(switch_core_session_t *ses
 					switch_core_file_seek(fhp, &pos, target, SEEK_SET);
 
 				} else {
-					samps = switch_atoui(p) * (fhp->samplerate / 1000);
+					samps = switch_atoui(p) * (fhp->native_rate / 1000);
 					switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "seek to position %d\n", samps);
 					switch_core_file_seek(fhp, &pos, samps, SEEK_SET);
 				}
diff --git a/src/switch_ivr_play_say.c b/src/switch_ivr_play_say.c
index 3ce8b6bc72..b632302f86 100644
--- a/src/switch_ivr_play_say.c
+++ b/src/switch_ivr_play_say.c
@@ -797,8 +797,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_record_file(switch_core_session_t *se
 	}
 
 	if (read_impl.actual_samples_per_second) {
-		switch_channel_set_variable_printf(channel, "record_seconds", "%d", fh->samples_out / fh->samplerate);
-		switch_channel_set_variable_printf(channel, "record_ms", "%d", fh->samples_out / (fh->samplerate/ 1000));
+		switch_channel_set_variable_printf(channel, "record_seconds", "%d", fh->samples_out / fh->native_rate);
+		switch_channel_set_variable_printf(channel, "record_ms", "%d", fh->samples_out / (fh->native_rate/ 1000));
 
 	}
 
@@ -1693,8 +1693,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_play_file(switch_core_session_t *sess
 		switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "done playing file %s\n", file);
 
 		if (read_impl.samples_per_second) {
-			switch_channel_set_variable_printf(channel, "playback_seconds", "%d", fh->samples_in / fh->samplerate);
-			switch_channel_set_variable_printf(channel, "playback_ms", "%d", fh->samples_in / fh->samplerate);
+			switch_channel_set_variable_printf(channel, "playback_seconds", "%d", fh->samples_in / fh->native_rate);
+			switch_channel_set_variable_printf(channel, "playback_ms", "%d", fh->samples_in / fh->native_rate);
 		}
 		switch_channel_set_variable_printf(channel, "playback_samples", "%d", fh->samples_in);