]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add mod_avmd for win
authorJeff Lenk <jeff@jefflenk.com>
Wed, 26 May 2010 18:30:29 +0000 (13:30 -0500)
committerJeff Lenk <jeff@jefflenk.com>
Wed, 26 May 2010 18:30:29 +0000 (13:30 -0500)
Freeswitch.2008.sln
src/mod/applications/mod_avmd/buffer.h
src/mod/applications/mod_avmd/fast_acosf.c
src/mod/applications/mod_avmd/goertzel.h
src/mod/applications/mod_avmd/mod_avmd.2008.vcproj [new file with mode: 0644]
src/mod/applications/mod_avmd/mod_avmd.c
src/mod/applications/mod_avmd/sma_buf.h

index 2126cb215286b0ef71c72b0c7304db914b815202..56ceda78df15fe6867310bf057a13ebc2f815227 100644 (file)
@@ -947,7 +947,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_opal", "src\mod\endpoin
                {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}\r
        EndProjectSection\r
 EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_skinny", "src\mod\endpoints\mod_skinny\mod_skinny_2008.vcproj", "{CC1DD008-9406-448d-A0AD-33C3186CFADB}"\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_skinny", "src\mod\endpoints\mod_skinny\mod_skinny_2008.vcproj", "{CC1DD008-9406-448D-A0AD-33C3186CFADB}"\r
        ProjectSection(ProjectDependencies) = postProject\r
                {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}\r
        EndProjectSection\r
@@ -1098,6 +1098,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_silk", "src\mod\codecs\
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Silk_FIX", "libs\silk\src\Silk_FIX.2008.vcproj", "{56B91D01-9150-4BBF-AFA1-5B68AB991B76}"\r
 EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_avmd", "src\mod\applications\mod_avmd\mod_avmd.2008.vcproj", "{990BAA76-89D3-4E38-8479-C7B28784EFC8}"\r
+       ProjectSection(ProjectDependencies) = postProject\r
+               {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}\r
+       EndProjectSection\r
+EndProject\r
 Global\r
        GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
                All|Win32 = All|Win32\r
@@ -2399,13 +2404,12 @@ Global
                {05C9FB27-480E-4D53-B3B7-6338E2526666}.Debug|x64.ActiveCfg = Debug|Win32\r
                {05C9FB27-480E-4D53-B3B7-6338E2526666}.Release|Win32.ActiveCfg = Release|Win32\r
                {05C9FB27-480E-4D53-B3B7-6338E2526666}.Release|x64.ActiveCfg = Release|Win32\r
-               {CC1DD008-9406-448d-A0AD-33C3186CFADB}.All|Win32.ActiveCfg = Release|Win32\r
-               {CC1DD008-9406-448d-A0AD-33C3186CFADB}.All|Win32.Build.0 = Release|Win32\r
-               {CC1DD008-9406-448d-A0AD-33C3186CFADB}.All|x64.ActiveCfg = Release|Win32\r
-               {CC1DD008-9406-448d-A0AD-33C3186CFADB}.Debug|Win32.ActiveCfg = Debug|Win32\r
-               {CC1DD008-9406-448d-A0AD-33C3186CFADB}.Debug|x64.ActiveCfg = Debug|Win32\r
-               {CC1DD008-9406-448d-A0AD-33C3186CFADB}.Release|Win32.ActiveCfg = Release|Win32\r
-               {CC1DD008-9406-448d-A0AD-33C3186CFADB}.Release|x64.ActiveCfg = Release|Win32\r
+               {CC1DD008-9406-448D-A0AD-33C3186CFADB}.All|Win32.ActiveCfg = Release|Win32\r
+               {CC1DD008-9406-448D-A0AD-33C3186CFADB}.All|x64.ActiveCfg = Release|Win32\r
+               {CC1DD008-9406-448D-A0AD-33C3186CFADB}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {CC1DD008-9406-448D-A0AD-33C3186CFADB}.Debug|x64.ActiveCfg = Debug|Win32\r
+               {CC1DD008-9406-448D-A0AD-33C3186CFADB}.Release|Win32.ActiveCfg = Release|Win32\r
+               {CC1DD008-9406-448D-A0AD-33C3186CFADB}.Release|x64.ActiveCfg = Release|Win32\r
                {DEE932AB-5911-4700-9EEB-8C7090A0A330}.All|Win32.ActiveCfg = All|Win32\r
                {DEE932AB-5911-4700-9EEB-8C7090A0A330}.All|Win32.Build.0 = All|Win32\r
                {DEE932AB-5911-4700-9EEB-8C7090A0A330}.All|x64.ActiveCfg = All|Win32\r
@@ -2761,6 +2765,17 @@ Global
                {56B91D01-9150-4BBF-AFA1-5B68AB991B76}.Release|Win32.Build.0 = Release|Win32\r
                {56B91D01-9150-4BBF-AFA1-5B68AB991B76}.Release|x64.ActiveCfg = Release|x64\r
                {56B91D01-9150-4BBF-AFA1-5B68AB991B76}.Release|x64.Build.0 = Release|x64\r
+               {990BAA76-89D3-4E38-8479-C7B28784EFC8}.All|Win32.ActiveCfg = Release|Win32\r
+               {990BAA76-89D3-4E38-8479-C7B28784EFC8}.All|Win32.Build.0 = Release|Win32\r
+               {990BAA76-89D3-4E38-8479-C7B28784EFC8}.All|x64.ActiveCfg = Release|Win32\r
+               {990BAA76-89D3-4E38-8479-C7B28784EFC8}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {990BAA76-89D3-4E38-8479-C7B28784EFC8}.Debug|Win32.Build.0 = Debug|Win32\r
+               {990BAA76-89D3-4E38-8479-C7B28784EFC8}.Debug|x64.ActiveCfg = Debug|x64\r
+               {990BAA76-89D3-4E38-8479-C7B28784EFC8}.Debug|x64.Build.0 = Debug|x64\r
+               {990BAA76-89D3-4E38-8479-C7B28784EFC8}.Release|Win32.ActiveCfg = Release|Win32\r
+               {990BAA76-89D3-4E38-8479-C7B28784EFC8}.Release|Win32.Build.0 = Release|Win32\r
+               {990BAA76-89D3-4E38-8479-C7B28784EFC8}.Release|x64.ActiveCfg = Release|x64\r
+               {990BAA76-89D3-4E38-8479-C7B28784EFC8}.Release|x64.Build.0 = Release|x64\r
        EndGlobalSection\r
        GlobalSection(SolutionProperties) = preSolution\r
                HideSolutionNode = FALSE\r
@@ -2782,7 +2797,7 @@ Global
                {0DF3ABD0-DDC0-4265-B778-07C66780979B} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}\r
                {B3F424EC-3D8F-417C-B244-3919D5E1A577} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}\r
                {05C9FB27-480E-4D53-B3B7-6338E2526666} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}\r
-               {CC1DD008-9406-448d-A0AD-33C3186CFADB} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}\r
+               {CC1DD008-9406-448D-A0AD-33C3186CFADB} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}\r
                {C6E78A4C-DB1E-47F4-9B63-4DC27D86343F} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}\r
                {30A5B29C-983E-4580-9FD0-D647CCDCC7EB} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}\r
                {B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}\r
@@ -2804,6 +2819,7 @@ Global
                {3C977801-FE88-48F2-83D3-FA2EBFF6688E} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}\r
                {432DB165-1EB2-4781-A9C0-71E62610B20A} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}\r
                {EF300386-A8DF-4372-B6D8-FB9BFFCA9AED} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}\r
+               {990BAA76-89D3-4E38-8479-C7B28784EFC8} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}\r
                {07113B25-D3AF-4E04-BA77-4CD1171F022C} = {C5F182F9-754A-4EC5-B50F-76ED02BE13F4}\r
                {A27CCA23-1541-4337-81A4-F0A6413078A0} = {C5F182F9-754A-4EC5-B50F-76ED02BE13F4}\r
                {E7BC026C-7CC5-45A3-BC7C-3B88EEF01F24} = {C5F182F9-754A-4EC5-B50F-76ED02BE13F4}\r
index cadf76d733304821b01e36dbfe5e993424fd7493..bb5b1b1d84569cf3b19ca4ceb9ef9dfb0e42cfaa 100644 (file)
@@ -3,6 +3,13 @@
 #include <stdlib.h>
 #include <assert.h>
 
+#ifndef INT16_MIN
+#define INT16_MIN              (-32767-1)
+#endif
+#ifndef INT16_MAX
+#define INT16_MAX              (32767)
+#endif
+
 #define BUFF_TYPE double
 
 typedef struct {
@@ -18,20 +25,20 @@ typedef struct {
 extern size_t next_power_of_2(size_t v);
 
 #define INC_POS(b) \
-    do{ \
+    { \
        (b)->pos++; \
        (b)->pos &= (b)->mask; \
        (b)->lpos++; \
        if((b)->backlog < (b)->buf_len) (b)->backlog++; \
-    }while(0)
+    }
 
 #define DEC_POS(b) \
-    do{ \
+    { \
        (b)->pos--; \
        (b)->pos &= (b)->mask; \
        (b)->lpos--; \
        if(((b)->backlog - 1) < (b)->backlog) (b)->backlog--; \
-    }while(0)
+    }
 
 #define GET_SAMPLE(b, i) ((b)->buf[(i) & (b)->mask])
 #define SET_SAMPLE(b, i, v) ((b)->buf[(i) & (b)->mask] = (v))
@@ -49,7 +56,7 @@ extern size_t next_power_of_2(size_t v);
     }while(0)
 
 #define INSERT_INT16_FRAME(b, f, l) \
-    do{ \
+    { \
        for((b)->i = 0; (b)->i < (l); (b)->i++){ \
            SET_SAMPLE( \
                (b), \
@@ -66,13 +73,13 @@ extern size_t next_power_of_2(size_t v);
        (b)->pos &= (b)->mask; \
        (b)->backlog += (l); \
        if((b)->backlog > (b)->buf_len) (b)->backlog = (b)->buf_len; \
-    }while(0)
+    }
 
 
 #define CALC_BUFF_LEN(fl, bl) (((fl) >= (bl))? next_power_of_2((fl) << 1): next_power_of_2((bl) << 1))
 
 #define INIT_CIRC_BUFFER(bf, bl, fl) \
-    do{ \
+    { \
        (bf)->buf_len = CALC_BUFF_LEN((fl), (bl)); \
        (bf)->mask = (bf)->buf_len - 1; \
        (bf)->buf = (BUFF_TYPE *)calloc((bf)->buf_len, sizeof(BUFF_TYPE)); \
@@ -80,7 +87,7 @@ extern size_t next_power_of_2(size_t v);
        (bf)->pos = 0; \
        (bf)->lpos = 0; \
        (bf)->backlog = 0; \
-    }while(0)
+    }
 
 #define DESTROY_CIRC_BUFFER(b) free((b)->buf)
 #define GET_BACKLOG_POS(b) ((b)->lpos - (b)->backlog)
index e19a41d75e2bd4c059ff3ddadc32143e39d981fd..8f6fd0df88d88b052a173a939aeea62d5fbb7aef 100644 (file)
@@ -1,14 +1,20 @@
 #include <stdio.h>
 #include <stdlib.h>
+#ifndef _MSC_VER
 #include <stdint.h>
+#endif
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
+#ifndef _MSC_VER
 #include <sys/mman.h>
+#endif
 #include <assert.h>
 #include <errno.h>
 #include <math.h>
+#ifndef _MSC_VER
 #include <unistd.h>
+#endif
 #include "fast_acosf.h"
 #include "options.h"
 
index 6e976662c0e539b7e9ca438b06f44c7b42f825ed..a735cf8ce317e3f058e7a976a0a59c83d2146f1d 100644 (file)
@@ -1,9 +1,16 @@
 #ifndef __GOERTZEL_H__
 #define __GOERTZEL_H__
 
+#ifndef _MSC_VER
 #include <stdint.h>
+#endif
 #include "buffer.h"
 
+#if !defined(M_PI)
+/* C99 systems may not define M_PI */
+#define M_PI 3.14159265358979323846264338327
+#endif
+
 extern double goertzel(circ_buffer_t *b, size_t pos, double f, size_t num);
 
 #endif
diff --git a/src/mod/applications/mod_avmd/mod_avmd.2008.vcproj b/src/mod/applications/mod_avmd/mod_avmd.2008.vcproj
new file mode 100644 (file)
index 0000000..6480f9b
--- /dev/null
@@ -0,0 +1,339 @@
+<?xml version="1.0" encoding="Windows-1252"?>\r
+<VisualStudioProject\r
+       ProjectType="Visual C++"\r
+       Version="9.00"\r
+       Name="mod_avmd"\r
+       ProjectGUID="{990BAA76-89D3-4E38-8479-C7B28784EFC8}"\r
+       RootNamespace="mod_avmd"\r
+       Keyword="Win32Proj"\r
+       TargetFrameworkVersion="131072"\r
+       >\r
+       <Platforms>\r
+               <Platform\r
+                       Name="Win32"\r
+               />\r
+               <Platform\r
+                       Name="x64"\r
+               />\r
+       </Platforms>\r
+       <ToolFiles>\r
+       </ToolFiles>\r
+       <Configurations>\r
+               <Configuration\r
+                       Name="Debug|Win32"\r
+                       ConfigurationType="2"\r
+                       InheritedPropertySheets="..\..\..\..\w32\module_debug.vsprops"\r
+                       CharacterSet="2"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               UsePrecompiledHeader="0"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               RandomizedBaseAddress="1"\r
+                               DataExecutionPrevention="0"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|Win32"\r
+                       ConfigurationType="2"\r
+                       InheritedPropertySheets="..\..\..\..\w32\module_release.vsprops"\r
+                       CharacterSet="2"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               UsePrecompiledHeader="0"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               RandomizedBaseAddress="1"\r
+                               DataExecutionPrevention="0"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Debug|x64"\r
+                       ConfigurationType="2"\r
+                       InheritedPropertySheets="..\..\..\..\w32\module_debug.vsprops"\r
+                       CharacterSet="2"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                               TargetEnvironment="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               UsePrecompiledHeader="0"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               OutputFile="$(SolutionDir)$(PlatformName)\$(ConfigurationName)/mod/$(ProjectName).dll"\r
+                               RandomizedBaseAddress="1"\r
+                               DataExecutionPrevention="0"\r
+                               TargetMachine="17"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|x64"\r
+                       ConfigurationType="2"\r
+                       InheritedPropertySheets="..\..\..\..\w32\module_release.vsprops"\r
+                       CharacterSet="2"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                               TargetEnvironment="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               UsePrecompiledHeader="0"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               OutputFile="$(SolutionDir)$(PlatformName)\$(ConfigurationName)/mod/$(ProjectName).dll"\r
+                               RandomizedBaseAddress="1"\r
+                               DataExecutionPrevention="0"\r
+                               TargetMachine="17"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+       </Configurations>\r
+       <References>\r
+       </References>\r
+       <Files>\r
+               <Filter\r
+                       Name="Header Files"\r
+                       >\r
+                       <File\r
+                               RelativePath=".\amplitude.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\buffer.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\desa2.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\fast_acosf.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\goertzel.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\options.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\psi.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\sma_buf.h"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+               <File\r
+                       RelativePath=".\amplitude.c"\r
+                       >\r
+               </File>\r
+               <File\r
+                       RelativePath=".\buffer.c"\r
+                       >\r
+               </File>\r
+               <File\r
+                       RelativePath=".\desa2.c"\r
+                       >\r
+               </File>\r
+               <File\r
+                       RelativePath=".\fast_acosf.c"\r
+                       >\r
+               </File>\r
+               <File\r
+                       RelativePath=".\goertzel.c"\r
+                       >\r
+               </File>\r
+               <File\r
+                       RelativePath=".\mod_avmd.c"\r
+                       >\r
+               </File>\r
+       </Files>\r
+       <Globals>\r
+       </Globals>\r
+</VisualStudioProject>\r
index 77a40de3376ed0e18a48ee7916e44c5f86bac971..74372a0c2de279adb1c06668fe84ba70d567d6f9 100644 (file)
@@ -535,8 +535,12 @@ static void avmd_process(avmd_session_t *session, switch_frame_t *frame)
             else if(s_rate >= 0.99 && avg_a > 0.04)    valid = 1;
             else if(s_rate == 1.00 && avg_a > 0.02)    valid = 1;
 
-            if(valid) APPEND_SMA_VAL(&session->sma_b, s_rate * avg_a);
-            else      APPEND_SMA_VAL(&session->sma_b, 0.0           );
+                       if(valid) {
+                               APPEND_SMA_VAL(&session->sma_b, s_rate * avg_a);
+                       }
+                       else {
+                               APPEND_SMA_VAL(&session->sma_b, 0.0           );
+                       }
 
                        /*! If sma is higher then 0 we have some kind of detection (increase this value to eliminate false positives ex: 0.01) */
             if(session->sma_b.sma > 0.00){
index e2baabc71e1de6a922fb84aa74e034d0ed791a33..7e404bf26b4851577c67fed684bf406f3ce4514e 100644 (file)
@@ -2,7 +2,9 @@
 #define __SMA_BUFFER_H__
 #include <stdio.h>
 #include <stdlib.h>
+#ifndef _MSC_VER
 #include <stdint.h>
+#endif
 #include <string.h>
 #include <assert.h>
 #include "buffer.h"
@@ -16,7 +18,7 @@ typedef struct {
 } sma_buffer_t;
 
 #define INIT_SMA_BUFFER(b, l, s) \
-    do{ \
+    { \
        (void)memset((b), 0, sizeof(sma_buffer_t)); \
        (b)->len = (l); \
        (b)->data = (BUFF_TYPE *)switch_core_session_alloc((s), sizeof(BUFF_TYPE) * (l)); \
@@ -25,31 +27,31 @@ typedef struct {
        (b)->sma = 0.0; \
        (b)->pos = 0; \
        (b)->lpos = 0; \
-    }while(0)
+    }
 
 #define GET_SMA_SAMPLE(b, p) ((b)->data[(p) % (b)->len])
 #define SET_SMA_SAMPLE(b, p, v) ((b)->data[(p) % (b)->len] = (v))
 #define GET_CURRENT_SMA_POS(b) ((b)->lpos)
 
 #define INC_SMA_POS(b) \
-    do { \
+    { \
        (b)->lpos++; \
        (b)->pos = (b)->lpos % (b)->len; \
-    }while(0)
+    }
 
 #define APPEND_SMA_VAL(b, v) \
-    do{ \
+    { \
        INC_SMA_POS(b); \
        (b)->sma -= ((b)->data[(b)->pos] / (BUFF_TYPE)(b)->len); \
        (b)->data[(b)->pos] = (v); \
        (b)->sma += ((b)->data[(b)->pos] / (BUFF_TYPE)(b)->len); \
-    }while(0)
+    }
 
 #define RESET_SMA_BUFFER(b) \
-    do{ \
+    { \
        (b)->sma = 0.0; \
        (void)memset((b)->data, 0, sizeof(BUFF_TYPE) * (b)->len); \
-    }while(0)
+    }
 
 /*
 #define DESTROY_SMA_BUFFER(b) \