git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@107 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
0ce22f5ac7
commit
d79ff1c66e
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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"
|
||||
>
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue