diff --git a/src/mod/mod_bridgecall/mod_bridgecall.c b/src/mod/mod_bridgecall/mod_bridgecall.c index 0ddcdc8e8b..e24ad29ca8 100644 --- a/src/mod/mod_bridgecall/mod_bridgecall.c +++ b/src/mod/mod_bridgecall/mod_bridgecall.c @@ -214,7 +214,7 @@ static void audio_bridge_function(switch_core_session *session, char *data) if (state > CS_RING) { break; } - switch_yield(100); + switch_yield(1000); } time(&start); @@ -222,7 +222,7 @@ static void audio_bridge_function(switch_core_session *session, char *data) switch_channel_get_state(peer_channel) == CS_TRANSMIT && !switch_channel_test_flag(peer_channel, CF_ANSWERED) && ((time(NULL) - start) < timelimit)) { - switch_yield(100); + switch_yield(20000); } if (switch_channel_test_flag(peer_channel, CF_ANSWERED)) { @@ -233,7 +233,7 @@ static void audio_bridge_function(switch_core_session *session, char *data) other_audio_thread.running = -1; /* wait for the other audio thread */ while (other_audio_thread.running) { - switch_yield(100); + switch_yield(1000); } } diff --git a/src/mod/mod_codec_g729/mod_codec_g729.c b/src/mod/mod_codec_g729/mod_codec_g729.c index b441ac9880..4e82cbab30 100644 --- a/src/mod/mod_codec_g729/mod_codec_g729.c +++ b/src/mod/mod_codec_g729/mod_codec_g729.c @@ -35,14 +35,12 @@ static const char modname[] = "mod_codec_g729"; struct g729_context { - struct dec_state *decoder_object; - struct cod_state *encoder_object; + struct dec_state decoder_object; + struct cod_state encoder_object; }; static switch_status switch_g729_init(switch_codec *codec, switch_codec_flag flags, const struct switch_codec_settings *codec_settings) { - struct dec_state *decoder_object = NULL; - struct cod_state *encoder_object = NULL; struct g729_context *context = NULL; int encoding, decoding; @@ -52,20 +50,14 @@ static switch_status switch_g729_init(switch_codec *codec, switch_codec_flag fla if (!(encoding || decoding) || (!(context = switch_core_alloc(codec->memory_pool, sizeof(*context))))) { return SWITCH_STATUS_FALSE; } else { - if ((encoding) && (!(encoder_object = switch_core_alloc(codec->memory_pool, sizeof(*encoder_object))))) { - return SWITCH_STATUS_FALSE; + memset(context, 0, sizeof(*context)); + if (encoding) { + g729_init_coder(&context->encoder_object, 0); } - if ((decoding) && (!(decoder_object = switch_core_alloc(codec->memory_pool, sizeof(*decoder_object))))) { - return SWITCH_STATUS_FALSE; + if (decoding) { + g729_init_decoder(&context->decoder_object); } - if (encoder_object) { - g729_init_coder(encoder_object, 0); - } - if (decoder_object) { - g729_init_decoder(decoder_object); - } - context->decoder_object = decoder_object; - context->encoder_object = encoder_object; + codec->private = context; return SWITCH_STATUS_SUCCESS; @@ -88,7 +80,6 @@ static switch_status switch_g729_encode(switch_codec *codec, unsigned int *flag) { struct g729_context *context = codec->private; - struct cod_state *encoder_object = context->encoder_object; short *dbuf; unsigned char *ebuf; int cbret = 0; @@ -102,7 +93,7 @@ static switch_status switch_g729_encode(switch_codec *codec, if (decoded_data_len < (size_t)codec->implementation->samples_per_frame*2 || *encoded_data_len < (size_t)codec->implementation->encoded_bytes_per_frame) return SWITCH_STATUS_FALSE; - g729_coder(encoder_object, (short *) dbuf, ebuf, &cbret); + g729_coder(&context->encoder_object, (short *) dbuf, ebuf, &cbret); *encoded_data_len = (codec->implementation->encoded_bytes_per_frame / 2); @@ -119,7 +110,6 @@ static switch_status switch_g729_decode(switch_codec *codec, unsigned int *flag) { struct g729_context *context = codec->private; - struct dec_state *decoder_object = context->decoder_object; short *dbuf; unsigned char *ebuf; @@ -136,7 +126,7 @@ static switch_status switch_g729_decode(switch_codec *codec, memset(dbuf, 0, codec->implementation->bytes_per_frame); *decoded_data_len = codec->implementation->bytes_per_frame; } else { - g729_decoder(decoder_object, decoded_data, (void *) encoded_data, (int)encoded_data_len); + g729_decoder(&context->decoder_object, decoded_data, (void *) encoded_data, (int)encoded_data_len); *decoded_data_len = codec->implementation->bytes_per_frame; } diff --git a/src/mod/mod_codec_g729/mod_codec_g729.vcproj b/src/mod/mod_codec_g729/mod_codec_g729.vcproj index 618de67774..7a3753002c 100644 --- a/src/mod/mod_codec_g729/mod_codec_g729.vcproj +++ b/src/mod/mod_codec_g729/mod_codec_g729.vcproj @@ -3,7 +3,7 @@ ProjectType="Visual C++" Version="8.00" Name="mod_codec_g729" - ProjectGUID="{B1FE4613-3F4B-4DAF-9714-2472BF8F56AE}" + ProjectGUID="{1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}" RootNamespace="mod_codec_g729" Keyword="Win32Proj" > diff --git a/src/mod/mod_iaxchan/mod_iaxchan.c b/src/mod/mod_iaxchan/mod_iaxchan.c index daa1d68640..6f91ffd1b9 100644 --- a/src/mod/mod_iaxchan/mod_iaxchan.c +++ b/src/mod/mod_iaxchan/mod_iaxchan.c @@ -792,7 +792,7 @@ SWITCH_MOD_DECLARE(switch_status) switch_module_runtime(void) /* Wait for an event.*/ if (!(iaxevent = iax_get_event(0))) { - switch_yield(100); + switch_yield(1000); } else { struct private_object *tech_pvt = iax_get_private(iaxevent->session); diff --git a/w32/vsnet/Freeswitch.sln b/w32/vsnet/Freeswitch.sln index d05e4df04f..39d45b6ab2 100644 --- a/w32/vsnet/Freeswitch.sln +++ b/w32/vsnet/Freeswitch.sln @@ -58,60 +58,134 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_PortAudio", "mod_PortAu {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_codec_g729", "..\..\src\mod\mod_codec_g729\mod_codec_g729.vcproj", "{1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}" + ProjectSection(ProjectDependencies) = postProject + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {0D5359EA-E6EB-485A-BB0D-455888E0761A} = {0D5359EA-E6EB-485A-BB0D-455888E0761A} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libg729", "..\..\libs\libg729\libg729.vcproj", "{0D5359EA-E6EB-485A-BB0D-455888E0761A}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug DLL|Win32 = Debug DLL|Win32 Debug|Win32 = Debug|Win32 + Release DLL|Win32 = Release DLL|Win32 Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Debug DLL|Win32.ActiveCfg = Debug|Win32 + {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Debug DLL|Win32.Build.0 = Debug|Win32 {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Debug|Win32.ActiveCfg = Debug|Win32 {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Debug|Win32.Build.0 = Debug|Win32 + {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Release DLL|Win32.ActiveCfg = Release|Win32 + {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Release DLL|Win32.Build.0 = Release|Win32 {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Release|Win32.ActiveCfg = Release|Win32 {1AF3A893-F7BE-43DD-B697-8AB2397C0D67}.Release|Win32.Build.0 = Release|Win32 + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Debug DLL|Win32.ActiveCfg = Debug|Win32 + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Debug DLL|Win32.Build.0 = Debug|Win32 {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Debug|Win32.ActiveCfg = Debug|Win32 {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Debug|Win32.Build.0 = Debug|Win32 + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Release DLL|Win32.ActiveCfg = Release|Win32 + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Release DLL|Win32.Build.0 = Release|Win32 {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Release|Win32.ActiveCfg = Release|Win32 {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}.Release|Win32.Build.0 = Release|Win32 + {E1794405-29D4-466D-9BE3-DD2344C2A663}.Debug DLL|Win32.ActiveCfg = Debug|Win32 + {E1794405-29D4-466D-9BE3-DD2344C2A663}.Debug DLL|Win32.Build.0 = Debug|Win32 {E1794405-29D4-466D-9BE3-DD2344C2A663}.Debug|Win32.ActiveCfg = Debug|Win32 {E1794405-29D4-466D-9BE3-DD2344C2A663}.Debug|Win32.Build.0 = Debug|Win32 + {E1794405-29D4-466D-9BE3-DD2344C2A663}.Release DLL|Win32.ActiveCfg = Release|Win32 + {E1794405-29D4-466D-9BE3-DD2344C2A663}.Release DLL|Win32.Build.0 = Release|Win32 {E1794405-29D4-466D-9BE3-DD2344C2A663}.Release|Win32.ActiveCfg = Release|Win32 {E1794405-29D4-466D-9BE3-DD2344C2A663}.Release|Win32.Build.0 = Release|Win32 + {DCC13474-28DF-47CA-A8EB-72F8CE9A78C5}.Debug DLL|Win32.ActiveCfg = Debug|Win32 + {DCC13474-28DF-47CA-A8EB-72F8CE9A78C5}.Debug DLL|Win32.Build.0 = Debug|Win32 {DCC13474-28DF-47CA-A8EB-72F8CE9A78C5}.Debug|Win32.ActiveCfg = Debug|Win32 {DCC13474-28DF-47CA-A8EB-72F8CE9A78C5}.Debug|Win32.Build.0 = Debug|Win32 + {DCC13474-28DF-47CA-A8EB-72F8CE9A78C5}.Release DLL|Win32.ActiveCfg = Release|Win32 + {DCC13474-28DF-47CA-A8EB-72F8CE9A78C5}.Release DLL|Win32.Build.0 = Release|Win32 {DCC13474-28DF-47CA-A8EB-72F8CE9A78C5}.Release|Win32.ActiveCfg = Release|Win32 {DCC13474-28DF-47CA-A8EB-72F8CE9A78C5}.Release|Win32.Build.0 = Release|Win32 + {2988EB83-785F-45D4-8731-8E1E4345177E}.Debug DLL|Win32.ActiveCfg = Debug|Win32 + {2988EB83-785F-45D4-8731-8E1E4345177E}.Debug DLL|Win32.Build.0 = Debug|Win32 {2988EB83-785F-45D4-8731-8E1E4345177E}.Debug|Win32.ActiveCfg = Debug|Win32 {2988EB83-785F-45D4-8731-8E1E4345177E}.Debug|Win32.Build.0 = Debug|Win32 + {2988EB83-785F-45D4-8731-8E1E4345177E}.Release DLL|Win32.ActiveCfg = Release|Win32 + {2988EB83-785F-45D4-8731-8E1E4345177E}.Release DLL|Win32.Build.0 = Release|Win32 {2988EB83-785F-45D4-8731-8E1E4345177E}.Release|Win32.ActiveCfg = Release|Win32 {2988EB83-785F-45D4-8731-8E1E4345177E}.Release|Win32.Build.0 = Release|Win32 + {45DF84ED-D24A-4FF6-B5B0-0A9A5FDB9552}.Debug DLL|Win32.ActiveCfg = Debug|Win32 + {45DF84ED-D24A-4FF6-B5B0-0A9A5FDB9552}.Debug DLL|Win32.Build.0 = Debug|Win32 {45DF84ED-D24A-4FF6-B5B0-0A9A5FDB9552}.Debug|Win32.ActiveCfg = Debug|Win32 {45DF84ED-D24A-4FF6-B5B0-0A9A5FDB9552}.Debug|Win32.Build.0 = Debug|Win32 + {45DF84ED-D24A-4FF6-B5B0-0A9A5FDB9552}.Release DLL|Win32.ActiveCfg = Release|Win32 + {45DF84ED-D24A-4FF6-B5B0-0A9A5FDB9552}.Release DLL|Win32.Build.0 = Release|Win32 {45DF84ED-D24A-4FF6-B5B0-0A9A5FDB9552}.Release|Win32.ActiveCfg = Release|Win32 {45DF84ED-D24A-4FF6-B5B0-0A9A5FDB9552}.Release|Win32.Build.0 = Release|Win32 + {B1FE4613-3F4B-4DAF-9714-2472BF8F56AE}.Debug DLL|Win32.ActiveCfg = Debug|Win32 + {B1FE4613-3F4B-4DAF-9714-2472BF8F56AE}.Debug DLL|Win32.Build.0 = Debug|Win32 {B1FE4613-3F4B-4DAF-9714-2472BF8F56AE}.Debug|Win32.ActiveCfg = Debug|Win32 {B1FE4613-3F4B-4DAF-9714-2472BF8F56AE}.Debug|Win32.Build.0 = Debug|Win32 + {B1FE4613-3F4B-4DAF-9714-2472BF8F56AE}.Release DLL|Win32.ActiveCfg = Release|Win32 + {B1FE4613-3F4B-4DAF-9714-2472BF8F56AE}.Release DLL|Win32.Build.0 = Release|Win32 {B1FE4613-3F4B-4DAF-9714-2472BF8F56AE}.Release|Win32.ActiveCfg = Release|Win32 {B1FE4613-3F4B-4DAF-9714-2472BF8F56AE}.Release|Win32.Build.0 = Release|Win32 + {78100236-7CEA-4948-96CC-E8ED3160329C}.Debug DLL|Win32.ActiveCfg = Debug|Win32 + {78100236-7CEA-4948-96CC-E8ED3160329C}.Debug DLL|Win32.Build.0 = Debug|Win32 {78100236-7CEA-4948-96CC-E8ED3160329C}.Debug|Win32.ActiveCfg = Debug|Win32 {78100236-7CEA-4948-96CC-E8ED3160329C}.Debug|Win32.Build.0 = Debug|Win32 + {78100236-7CEA-4948-96CC-E8ED3160329C}.Release DLL|Win32.ActiveCfg = Release|Win32 + {78100236-7CEA-4948-96CC-E8ED3160329C}.Release DLL|Win32.Build.0 = Release|Win32 {78100236-7CEA-4948-96CC-E8ED3160329C}.Release|Win32.ActiveCfg = Release|Win32 {78100236-7CEA-4948-96CC-E8ED3160329C}.Release|Win32.Build.0 = Release|Win32 + {5844AFE1-AA3E-4BDB-A9EF-119AEF19DF88}.Debug DLL|Win32.ActiveCfg = Debug|Win32 + {5844AFE1-AA3E-4BDB-A9EF-119AEF19DF88}.Debug DLL|Win32.Build.0 = Debug|Win32 {5844AFE1-AA3E-4BDB-A9EF-119AEF19DF88}.Debug|Win32.ActiveCfg = Debug|Win32 {5844AFE1-AA3E-4BDB-A9EF-119AEF19DF88}.Debug|Win32.Build.0 = Debug|Win32 + {5844AFE1-AA3E-4BDB-A9EF-119AEF19DF88}.Release DLL|Win32.ActiveCfg = Release|Win32 + {5844AFE1-AA3E-4BDB-A9EF-119AEF19DF88}.Release DLL|Win32.Build.0 = Release|Win32 {5844AFE1-AA3E-4BDB-A9EF-119AEF19DF88}.Release|Win32.ActiveCfg = Release|Win32 {5844AFE1-AA3E-4BDB-A9EF-119AEF19DF88}.Release|Win32.Build.0 = Release|Win32 + {FE3540C5-3303-46E0-A69E-D92F775687F1}.Debug DLL|Win32.ActiveCfg = Debug|Win32 + {FE3540C5-3303-46E0-A69E-D92F775687F1}.Debug DLL|Win32.Build.0 = Debug|Win32 {FE3540C5-3303-46E0-A69E-D92F775687F1}.Debug|Win32.ActiveCfg = Debug|Win32 {FE3540C5-3303-46E0-A69E-D92F775687F1}.Debug|Win32.Build.0 = Debug|Win32 + {FE3540C5-3303-46E0-A69E-D92F775687F1}.Release DLL|Win32.ActiveCfg = Release|Win32 + {FE3540C5-3303-46E0-A69E-D92F775687F1}.Release DLL|Win32.Build.0 = Release|Win32 {FE3540C5-3303-46E0-A69E-D92F775687F1}.Release|Win32.ActiveCfg = Release|Win32 {FE3540C5-3303-46E0-A69E-D92F775687F1}.Release|Win32.Build.0 = Release|Win32 + {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Debug DLL|Win32.ActiveCfg = Debug|Win32 + {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Debug DLL|Win32.Build.0 = Debug|Win32 {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Debug|Win32.ActiveCfg = Debug|Win32 {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Debug|Win32.Build.0 = Debug|Win32 + {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Release DLL|Win32.ActiveCfg = Release|Win32 + {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Release DLL|Win32.Build.0 = Release|Win32 {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Release|Win32.ActiveCfg = Release|Win32 {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Release|Win32.Build.0 = Release|Win32 + {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Debug DLL|Win32.ActiveCfg = Debug|Win32 + {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Debug DLL|Win32.Build.0 = Debug|Win32 {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Debug|Win32.ActiveCfg = Debug|Win32 {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Debug|Win32.Build.0 = Debug|Win32 + {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Release DLL|Win32.ActiveCfg = Release|Win32 + {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Release DLL|Win32.Build.0 = Release|Win32 {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Release|Win32.ActiveCfg = Release|Win32 {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Release|Win32.Build.0 = Release|Win32 + {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Debug DLL|Win32.ActiveCfg = Debug|Win32 + {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Debug DLL|Win32.Build.0 = Debug|Win32 + {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Debug|Win32.ActiveCfg = Debug|Win32 + {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Debug|Win32.Build.0 = Debug|Win32 + {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Release DLL|Win32.ActiveCfg = Release|Win32 + {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Release DLL|Win32.Build.0 = Release|Win32 + {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Release|Win32.ActiveCfg = Release|Win32 + {1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}.Release|Win32.Build.0 = Release|Win32 + {0D5359EA-E6EB-485A-BB0D-455888E0761A}.Debug DLL|Win32.ActiveCfg = Debug DLL|Win32 + {0D5359EA-E6EB-485A-BB0D-455888E0761A}.Debug DLL|Win32.Build.0 = Debug DLL|Win32 + {0D5359EA-E6EB-485A-BB0D-455888E0761A}.Debug|Win32.ActiveCfg = Debug|Win32 + {0D5359EA-E6EB-485A-BB0D-455888E0761A}.Debug|Win32.Build.0 = Debug|Win32 + {0D5359EA-E6EB-485A-BB0D-455888E0761A}.Release DLL|Win32.ActiveCfg = Release DLL|Win32 + {0D5359EA-E6EB-485A-BB0D-455888E0761A}.Release DLL|Win32.Build.0 = Release DLL|Win32 + {0D5359EA-E6EB-485A-BB0D-455888E0761A}.Release|Win32.ActiveCfg = Release|Win32 + {0D5359EA-E6EB-485A-BB0D-455888E0761A}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE