diff --git a/libs/libteletone/libteletone.vcproj b/libs/libteletone/libteletone.vcproj
new file mode 100644
index 0000000000..52159a6bb7
--- /dev/null
+++ b/libs/libteletone/libteletone.vcproj
@@ -0,0 +1,187 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/libs/libteletone/src/libteletone.h b/libs/libteletone/src/libteletone.h
index d206ae6047..5d4e76b26e 100644
--- a/libs/libteletone/src/libteletone.h
+++ b/libs/libteletone/src/libteletone.h
@@ -53,6 +53,14 @@ typedef struct {
teletone_process_t freqs[TELETONE_MAX_TONES];
} teletone_tone_map_t;
+#if !defined(M_PI)
+/* C99 systems may not define M_PI */
+#define M_PI 3.14159265358979323846264338327
+#endif
+
+#ifdef _MSC_VER
+#define int16_t __int16
+#endif
#include
#include
diff --git a/libs/libteletone/src/libteletone_detect.c b/libs/libteletone/src/libteletone_detect.c
index 148c7aa70f..628cd905e4 100644
--- a/libs/libteletone/src/libteletone_detect.c
+++ b/libs/libteletone/src/libteletone_detect.c
@@ -51,7 +51,9 @@
* detriment.
*/
#include
+#ifndef _MSC_VER
#include
+#endif
#include
#include
#include
diff --git a/libs/libteletone/src/libteletone_generate.c b/libs/libteletone/src/libteletone_generate.c
index 7bbc89e9d8..d66336c0fd 100644
--- a/libs/libteletone/src/libteletone_generate.c
+++ b/libs/libteletone/src/libteletone_generate.c
@@ -161,7 +161,7 @@ int teletone_mux_tones(teletone_generation_session_t *ts, teletone_tone_map_t *m
for (i = 0; i < freqlen; i++) {
sample += ((teletone_process_t) 2 * (ts->volume > 0 ? ts->volume : 1) * cos(tones[i] * ts->samples * period));
}
- ts->buffer[ts->samples] = sample;
+ ts->buffer[ts->samples] = (teletone_audio_t)sample;
for (c = 1; c < ts->channels; c++) {
ts->buffer[ts->samples+1] = ts->buffer[ts->samples];
diff --git a/libs/libteletone/src/libteletone_generate.h b/libs/libteletone/src/libteletone_generate.h
index 3ccab1cb0c..e47ca5387e 100644
--- a/libs/libteletone/src/libteletone_generate.h
+++ b/libs/libteletone/src/libteletone_generate.h
@@ -38,7 +38,9 @@ extern "C" {
#include
#include
#include
+#ifndef _MSC_VER
#include
+#endif
#include
#include
#include
diff --git a/w32/vsnet/Freeswitch.sln b/w32/vsnet/Freeswitch.sln
index b908c5422d..48061c5ad2 100644
--- a/w32/vsnet/Freeswitch.sln
+++ b/w32/vsnet/Freeswitch.sln
@@ -145,6 +145,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_event_multicast", "..\.
{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
EndProjectSection
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libteletone", "..\..\libs\libteletone\libteletone.vcproj", "{89385C74-5860-4174-9CAF-A39E7C48909C}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -253,6 +255,10 @@ Global
{784113EF-44D9-4949-835D-7065D3C7AD08}.Debug|Win32.Build.0 = Debug|Win32
{784113EF-44D9-4949-835D-7065D3C7AD08}.Release|Win32.ActiveCfg = Release|Win32
{784113EF-44D9-4949-835D-7065D3C7AD08}.Release|Win32.Build.0 = Release|Win32
+ {89385C74-5860-4174-9CAF-A39E7C48909C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {89385C74-5860-4174-9CAF-A39E7C48909C}.Debug|Win32.Build.0 = Debug|Win32
+ {89385C74-5860-4174-9CAF-A39E7C48909C}.Release|Win32.ActiveCfg = Release|Win32
+ {89385C74-5860-4174-9CAF-A39E7C48909C}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE