git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@104 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
e59b65efa6
commit
b4e75a2743
|
@ -42,8 +42,8 @@ static const char modname[] = "mod_portaudio";
|
|||
static switch_memory_pool *module_pool;
|
||||
static int running = 1;
|
||||
|
||||
#define SAMPLE_TYPE paInt16
|
||||
typedef short SAMPLE;
|
||||
#define SAMPLE_TYPE paInt16
|
||||
typedef short SAMPLE;
|
||||
|
||||
typedef enum {
|
||||
TFLAG_IO = (1 << 0),
|
||||
|
@ -80,9 +80,9 @@ struct private_object {
|
|||
unsigned char databuf[1024];
|
||||
switch_core_session *session;
|
||||
switch_caller_profile *caller_profile;
|
||||
char call_id[50];
|
||||
PaError err;
|
||||
PABLIO_Stream *audio_in;
|
||||
char call_id[50];
|
||||
PaError err;
|
||||
PABLIO_Stream *audio_in;
|
||||
PABLIO_Stream *audio_out;
|
||||
int indev;
|
||||
int outdev;
|
||||
|
@ -189,8 +189,8 @@ static switch_status channel_on_hangup(switch_core_session *session)
|
|||
switch_core_codec_destroy(&tech_pvt->read_codec);
|
||||
switch_core_codec_destroy(&tech_pvt->write_codec);
|
||||
|
||||
CloseAudioStream(tech_pvt->audio_in);
|
||||
CloseAudioStream(tech_pvt->audio_out);
|
||||
CloseAudioStream(tech_pvt->audio_in);
|
||||
CloseAudioStream(tech_pvt->audio_out);
|
||||
|
||||
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "%s CHANNEL HANGUP\n", switch_channel_get_name(channel));
|
||||
|
||||
|
@ -328,13 +328,13 @@ static switch_status channel_read_frame(switch_core_session *session, switch_fra
|
|||
|
||||
tech_pvt = switch_core_session_get_private(session);
|
||||
assert(tech_pvt != NULL);
|
||||
|
||||
if ((t = ReadAudioStream(tech_pvt->audio_in, tech_pvt->read_frame.data, tech_pvt->read_codec.implementation->samples_per_frame))) {
|
||||
tech_pvt->read_frame.datalen = t * 2;
|
||||
tech_pvt->read_frame.samples = t;
|
||||
*frame = &tech_pvt->read_frame;
|
||||
return SWITCH_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
if ((t = ReadAudioStream(tech_pvt->audio_in, tech_pvt->read_frame.data, tech_pvt->read_codec.implementation->samples_per_frame))) {
|
||||
tech_pvt->read_frame.datalen = t * 2;
|
||||
tech_pvt->read_frame.samples = t;
|
||||
*frame = &tech_pvt->read_frame;
|
||||
return SWITCH_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
return SWITCH_STATUS_FALSE;
|
||||
|
|
|
@ -178,10 +178,13 @@ SWITCH_DECLARE(switch_status) switch_core_codec_init(switch_codec *codec, char *
|
|||
}
|
||||
|
||||
if (implementation) {
|
||||
switch_status status;
|
||||
codec->codec_interface = codec_interface;
|
||||
codec->implementation = implementation;
|
||||
codec->flags = flags;
|
||||
switch_core_new_memory_pool(&codec->memory_pool);
|
||||
if ((status = switch_core_new_memory_pool(&codec->memory_pool)) != SWITCH_STATUS_SUCCESS) {
|
||||
return status;
|
||||
}
|
||||
implementation->init(codec, flags, codec_settings);
|
||||
|
||||
return SWITCH_STATUS_SUCCESS;
|
||||
|
@ -258,7 +261,7 @@ SWITCH_DECLARE(switch_status) switch_core_codec_destroy(switch_codec *codec)
|
|||
SWITCH_DECLARE(switch_status) switch_core_timer_init(switch_timer *timer, char *timer_name, int interval, int samples)
|
||||
{
|
||||
switch_timer_interface *timer_interface;
|
||||
|
||||
switch_status status;
|
||||
memset(timer, 0, sizeof(*timer));
|
||||
if (!(timer_interface = loadable_module_get_timer_interface(timer_name))) {
|
||||
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "invalid timer %s!\n", timer_name);
|
||||
|
@ -269,7 +272,9 @@ SWITCH_DECLARE(switch_status) switch_core_timer_init(switch_timer *timer, char *
|
|||
timer->samples = samples;
|
||||
timer->samplecount = 0;
|
||||
timer->timer_interface = timer_interface;
|
||||
switch_core_new_memory_pool(&timer->memory_pool);
|
||||
if ((status = switch_core_new_memory_pool(&timer->memory_pool)) != SWITCH_STATUS_SUCCESS) {
|
||||
return status;
|
||||
}
|
||||
|
||||
timer->timer_interface->timer_init(timer);
|
||||
return SWITCH_STATUS_SUCCESS;
|
||||
|
|
Loading…
Reference in New Issue