]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add mod_spidermonkey to msvc build, tweak mod_spidermonkey warnings, fix tts interface.
authorMichael Jerris <mike@jerris.com>
Mon, 27 Feb 2006 04:01:38 +0000 (04:01 +0000)
committerMichael Jerris <mike@jerris.com>
Mon, 27 Feb 2006 04:01:38 +0000 (04:01 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@686 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/include/switch_core.h
src/include/switch_frame.h
src/include/switch_module_interfaces.h
src/mod/languages/mod_spidermonkey/mod_spidermonkey.c
src/mod/languages/mod_spidermonkey/mod_spidermonkey.vcproj [new file with mode: 0644]
src/switch_core.c
src/switch_ivr.c
w32/vsnet/Freeswitch.sln
w32/vsnet/GetLibs.vbs

index 86281717e94451d08b1d613aba0d43a6d27da02b..5db2487ac541610fd7b32295ce77a99bd523e9c2 100644 (file)
@@ -801,7 +801,7 @@ SWITCH_DECLARE(switch_status) switch_core_speech_interpret_asr(switch_speech_han
   \param flags flags in/out for fine tuning
   \return SWITCH_STATUS_SUCCESS with len adjusted to the bytes written if successful
 */
-SWITCH_DECLARE(switch_status) switch_core_speech_feed_tts(switch_speech_handle *sh, char *text, unsigned int *flags);
+SWITCH_DECLARE(switch_status) switch_core_speech_feed_tts(switch_speech_handle *sh, char *text, switch_speech_flag *flags);
 
 /*! 
   \brief Read rendered audio from the TTS module
@@ -816,14 +816,14 @@ SWITCH_DECLARE(switch_status) switch_core_speech_feed_tts(switch_speech_handle *
                                                                                                                  void *data,
                                                                                                                  unsigned int *datalen,
                                                                                                                  unsigned int *rate,
-                                                                                                                 unsigned int *flags);
+                                                                                                                 switch_speech_flag *flags);
 /*! 
   \brief Close an open speech handle
   \param sh the speech handle to close
   \param flags flags in/out for fine tuning
   \return SWITCH_STATUS_SUCCESS if the file handle was closed
 */
-SWITCH_DECLARE(switch_status) switch_core_speech_close(switch_speech_handle *sh, unsigned int *flags);
+SWITCH_DECLARE(switch_status) switch_core_speech_close(switch_speech_handle *sh, switch_speech_flag *flags);
 ///\}
 
 
index 303eefb299f00fd007187af58b8f0492f6bb99e2..d269cee927e6ad1b4be84187eb503e9956565906 100644 (file)
@@ -53,7 +53,7 @@ struct switch_frame {
        /*! the entire size of the buffer */
        size_t buflen;
        /*! the number of audio samples present (audio only) */
-       int samples;
+       size_t samples;
        /*! the rate of the frame */
        int rate;
 };
index 373ac2bfcd3fbd27afa4210d7d3cb338ccfdef33..e025e9d3fccd89582e2f9c370c2d77bc78f1c01a 100644 (file)
@@ -290,19 +290,19 @@ struct switch_speech_interface {
                                                                 int rate,
                                                                 unsigned int flags);
        /*! function to close the speech interface */
-       switch_status (*speech_close)(switch_speech_handle *, unsigned int *flags);
+       switch_status (*speech_close)(switch_speech_handle *, switch_speech_flag *flags);
        /*! function to feed audio to the ASR*/
        switch_status (*speech_feed_asr)(switch_speech_handle *sh, void *data, unsigned int *len, int rate, unsigned int *flags);
        /*! function to read text from the ASR*/
        switch_status (*speech_interpret_asr)(switch_speech_handle *sh, char *buf, unsigned int buflen, unsigned int *flags);
        /*! function to feed text to the TTS*/
-       switch_status (*speech_feed_tts)(switch_speech_handle *sh, char *text, unsigned int *flags);
+       switch_status (*speech_feed_tts)(switch_speech_handle *sh, char *text, switch_speech_flag *flags);
        /*! function to read audio from the TTS*/
        switch_status (*speech_read_tts)(switch_speech_handle *sh,
                                                                         void *data,
                                                                         unsigned int *datalen,
                                                                         unsigned int *rate,
-                                                                        unsigned int *flags);
+                                                                        switch_speech_flag *flags);
 
        const struct switch_speech_interface *next;
 };
index 21774d05e30fa33c5bc491542f7116f068e2ce1d..a21867c9b56d28a154fe53286f7a939604509d6b 100644 (file)
 #include "jsscript.h"
 #include <switch.h>
 
+#ifdef _MSC_VER
+#pragma warning(disable: 4311)
+#endif
+
 static const char modname[] = "mod_spidermonkey";
 
 
@@ -91,12 +95,6 @@ static switch_status init_js(void)
        globals.gErrFile = NULL;
        globals.gOutFile = NULL;
        globals.gStackChunkSize = 8192;
-       if(0) {
-               js_error(NULL, NULL, NULL);
-               if(&global_class);
-
-       }
-
        globals.gStackBase = (jsuword)&globals.stackDummy;
        globals.gErrFile = stderr;
        globals.gOutFile = stdout;
@@ -230,11 +228,12 @@ static JSBool chan_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp
        int param = 0;
        JSBool res = JS_TRUE;
        switch_channel *channel;
+       char *name;
 
        channel = switch_core_session_get_channel(jc->session);
        assert(channel != NULL);
 
-       char *name = JS_GetStringBytes(JS_ValueToString(cx, id));
+       name = JS_GetStringBytes(JS_ValueToString(cx, id));
        /* numbers are our props anything else is a method */
        if (name[0] >= 48 && name[0] <= 57) {
                param = atoi(name);
@@ -303,11 +302,12 @@ static JSObject *new_jchan(JSContext *cx, JSObject *obj, switch_core_session *se
 
 static int eval_some_js(char *code, JSContext *cx, JSObject *obj, jsval *rval) {
        JSScript *script;
-       JS_ClearPendingException(cx);
        char *cptr;
        char path[512];
        int res = 0;
 
+       JS_ClearPendingException(cx);
+
        if (code[0] == '~') {
                cptr = code + 1;
                script = JS_CompileScript(cx, obj, cptr, strlen(cptr), "inline", 1);
diff --git a/src/mod/languages/mod_spidermonkey/mod_spidermonkey.vcproj b/src/mod/languages/mod_spidermonkey/mod_spidermonkey.vcproj
new file mode 100644 (file)
index 0000000..34c6111
--- /dev/null
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="Windows-1252"?>\r
+<VisualStudioProject\r
+       ProjectType="Visual C++"\r
+       Version="8.00"\r
+       Name="mod_spidermonkey"\r
+       ProjectGUID="{1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}"\r
+       RootNamespace="mod_spidermonkey"\r
+       Keyword="Win32Proj"\r
+       >\r
+       <Platforms>\r
+               <Platform\r
+                       Name="Win32"\r
+               />\r
+       </Platforms>\r
+       <ToolFiles>\r
+       </ToolFiles>\r
+       <Configurations>\r
+               <Configuration\r
+                       Name="Debug|Win32"\r
+                       OutputDirectory="Debug"\r
+                       IntermediateDirectory="Debug"\r
+                       ConfigurationType="2"\r
+                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"\r
+                       CharacterSet="2"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                               CommandLine="cscript /nologo $(InputDir)..\..\..\..\w32\vsnet\getlibs.vbs Mod_SpiderMonkey Debug"\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
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories="&quot;$(InputDir)..\..\..\include&quot;;&quot;$(InputDir)..\..\..\..\libs\include&quot;;&quot;$(InputDir)..\..\..\..\libs\js\src&quot;"\r
+                               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;MOD_EXPORTS;XP_WIN;DEBUG;_X86_=1;JSFILE;EXPORT_JS_API"\r
+                               MinimalRebuild="true"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               UsePrecompiledHeader="0"\r
+                               WarningLevel="4"\r
+                               WarnAsError="true"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="4"\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
+                               AdditionalDependencies="js32.lib"\r
+                               OutputFile="..\..\..\..\w32\vsnet\$(OutDir)/mod/mod_spidermonkey.dll"\r
+                               LinkIncremental="2"\r
+                               AdditionalLibraryDirectories="$(InputDir)..\..\..\..\libs\js\src\Debug"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="$(OutDir)/mod_spidermonkey.pdb"\r
+                               SubSystem="2"\r
+                               ImportLibrary="$(OutDir)/mod_spidermonkey.lib"\r
+                               TargetMachine="1"\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="VCWebDeploymentTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="Release"\r
+                       IntermediateDirectory="Release"\r
+                       ConfigurationType="2"\r
+                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"\r
+                       CharacterSet="2"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                               CommandLine="cscript /nologo $(InputDir)..\..\..\..\w32\vsnet\getlibs.vbs Mod_SpiderMonkey Release"\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
+                               AdditionalIncludeDirectories="&quot;$(InputDir)..\..\..\include&quot;;&quot;$(InputDir)..\..\..\..\libs\include&quot;;&quot;$(InputDir)..\..\..\..\libs\js\src&quot;"\r
+                               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;MOD_EXPORTS;XP_WIN;_X86_=1;JSFILE;EXPORT_JS_API"\r
+                               RuntimeLibrary="2"\r
+                               UsePrecompiledHeader="0"\r
+                               WarningLevel="4"\r
+                               WarnAsError="true"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="3"\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
+                               AdditionalDependencies="js32.lib"\r
+                               OutputFile="..\..\..\..\w32\vsnet\$(OutDir)/mod/mod_spidermonkey.dll"\r
+                               LinkIncremental="1"\r
+                               AdditionalLibraryDirectories="$(InputDir)..\..\..\..\libs\js\Release"\r
+                               GenerateDebugInformation="true"\r
+                               SubSystem="2"\r
+                               OptimizeReferences="2"\r
+                               EnableCOMDATFolding="2"\r
+                               LinkTimeCodeGeneration="1"\r
+                               ImportLibrary="$(OutDir)/mod_spidermonkey.lib"\r
+                               TargetMachine="1"\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="VCWebDeploymentTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+       </Configurations>\r
+       <References>\r
+       </References>\r
+       <Files>\r
+               <Filter\r
+                       Name="Source Files"\r
+                       Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
+                       UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"\r
+                       >\r
+                       <File\r
+                               RelativePath=".\mod_spidermonkey.c"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Header Files"\r
+                       Filter="h;hpp;hxx;hm;inl;inc;xsd"\r
+                       UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"\r
+                       >\r
+               </Filter>\r
+               <Filter\r
+                       Name="Resource Files"\r
+                       Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"\r
+                       UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"\r
+                       >\r
+               </Filter>\r
+       </Files>\r
+       <Globals>\r
+       </Globals>\r
+</VisualStudioProject>\r
index 45ab88f44ec56a836589f7f3fc878db838fec261..1aecfd3c3e2e9ba6b7a6b99e1afc4df0906e2ca5 100644 (file)
@@ -514,7 +514,7 @@ SWITCH_DECLARE(switch_status) switch_core_speech_interpret_asr(switch_speech_han
        return sh->speech_interface->speech_interpret_asr(sh, buf, buflen, flags);
 }
 
-SWITCH_DECLARE(switch_status) switch_core_speech_feed_tts(switch_speech_handle *sh, char *text, unsigned int *flags)
+SWITCH_DECLARE(switch_status) switch_core_speech_feed_tts(switch_speech_handle *sh, char *text, switch_speech_flag *flags)
 {
        assert(sh != NULL);
 
@@ -525,7 +525,7 @@ SWITCH_DECLARE(switch_status) switch_core_speech_read_tts(switch_speech_handle *
                                                                                                                  void *data,
                                                                                                                  unsigned int *datalen,
                                                                                                                  unsigned int *rate,
-                                                                                                                 unsigned int *flags)
+                                                                                                                 switch_speech_flag *flags)
 {
        assert(sh != NULL);
 
@@ -533,7 +533,7 @@ SWITCH_DECLARE(switch_status) switch_core_speech_read_tts(switch_speech_handle *
 }
 
 
-SWITCH_DECLARE(switch_status) switch_core_speech_close(switch_speech_handle *sh, unsigned int *flags)
+SWITCH_DECLARE(switch_status) switch_core_speech_close(switch_speech_handle *sh, switch_speech_flag *flags)
 {
        return sh->speech_interface->speech_close(sh, flags);
 }
index 04f23d5a1e61fc0c7f4fb6f8160ac42cfdce8ba6..e7dc6db7fcabd38a5636440fe79a48b7178046cd 100644 (file)
@@ -397,7 +397,7 @@ SWITCH_DECLARE(switch_status) switch_ivr_speak_text(switch_core_session *session
        char dtmf[128];
        int interval = 0, samples = 0;
        size_t len = 0;
-       unsigned int ilen = 0;
+       size_t ilen = 0;
        switch_frame write_frame;
        switch_timer timer;
        switch_core_thread_session thread_session;
index 48061c5ad2c171f8a8d0abc7414f99a82775d40a..469b068e1d0d10457af403c2d44a2e996e2b7f40 100644 (file)
@@ -147,6 +147,13 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_event_multicast", "..\.
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libteletone", "..\..\libs\libteletone\libteletone.vcproj", "{89385C74-5860-4174-9CAF-A39E7C48909C}"\r
 EndProject\r
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Languages", "Languages", "{0C808854-54D1-4230-BFF5-77B5FD905000}"\r
+EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_spidermonkey", "..\..\src\mod\languages\mod_spidermonkey\mod_spidermonkey.vcproj", "{1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}"\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
                Debug|Win32 = Debug|Win32\r
@@ -259,6 +266,10 @@ Global
                {89385C74-5860-4174-9CAF-A39E7C48909C}.Debug|Win32.Build.0 = Debug|Win32\r
                {89385C74-5860-4174-9CAF-A39E7C48909C}.Release|Win32.ActiveCfg = Release|Win32\r
                {89385C74-5860-4174-9CAF-A39E7C48909C}.Release|Win32.Build.0 = Release|Win32\r
+               {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Debug|Win32.Build.0 = Debug|Win32\r
+               {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Release|Win32.ActiveCfg = Release|Win32\r
+               {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Release|Win32.Build.0 = Release|Win32\r
        EndGlobalSection\r
        GlobalSection(SolutionProperties) = preSolution\r
                HideSolutionNode = FALSE\r
@@ -287,5 +298,6 @@ Global
                {DCC13474-28DF-47CA-A8EB-72F8CE9A78C5} = {2D57D093-3F8D-4729-AD9A-68E945C200A5}\r
                {1A1FF289-4FD6-4285-A422-D31DD67A4723} = {CBD81696-EFB4-4D2F-8451-1B8DAA86155A}\r
                {EC3E5C7F-EE09-47E2-80FE-546363D14A98} = {B8F5B47B-8568-46EB-B320-64C17D2A98BC}\r
+               {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} = {0C808854-54D1-4230-BFF5-77B5FD905000}\r
        EndGlobalSection\r
 EndGlobal\r
index 01f941eb464ef4cc45b3d2aeb5ced2e85dc851f8..2f457b0e9c69c567c5eb72eb72f7eaecd7957465 100644 (file)
@@ -26,7 +26,7 @@ BuildModrawaudio=False
 BuildModpcre=False\r
 BuildModldap=False\r
 BuildModzeroconf=False\r
-BuildSpiderMonkey=False\r
+BuildModSpiderMonkey=False\r
 quote=Chr(34)\r
 ScriptDir=Left(WScript.ScriptFullName,Len(WScript.ScriptFullName)-Len(WScript.ScriptName))\r
 \r
@@ -89,6 +89,8 @@ If objArgs.Count >=1 Then
                        BuildModldap=True\r
                Case "Mod_zeroconf"\r
                        BuildModzeroconf=True\r
+               Case "Mod_SpiderMonkey"\r
+                       BuildModSpiderMonkey=True\r
                Case Else\r
                        BuildCore=True\r
                        BuildModExosip=True\r
@@ -200,7 +202,7 @@ If BuildModldap Then
        BuildLibs_ldap BuildDebug, BuildRelease\r
 End If\r
 \r
-If BuildSpiderMonkey Then\r
+If BuildModSpiderMonkey Then\r
        BuildLibs_SpiderMonkey BuildDebug, BuildRelease\r
 End If\r
 \r