git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@107 d0543943-73ff-0310-b7d9-9358b9ac24b2

This commit is contained in:
Anthony Minessale 2005-12-10 03:10:23 +00:00
parent 0ce22f5ac7
commit d79ff1c66e
5 changed files with 89 additions and 25 deletions

View File

@ -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);
}
}

View File

@ -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;
}

View File

@ -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"
>

View File

@ -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);

View File

@ -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