git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13070 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2009-04-17 03:38:40 +00:00
parent 696bf57c1f
commit dc1a0acdaa
1 changed files with 18 additions and 14 deletions

View File

@ -217,7 +217,7 @@ int vgo(int i, switch_core_session_t *session)
int hangover = 40, hangunder = 15;
int talking = 0;
int energy_level = 500;
int done = 0;
switch_core_session_get_read_impl(session, &read_impl);
printf("%s", SWITCH_SEQ_CLEARSCR);
@ -245,15 +245,18 @@ int vgo(int i, switch_core_session_t *session)
for (x = COLS - 1; ; --x) {
if (!switch_channel_ready(channel)) {
break;
if (!done && !switch_channel_ready(channel)) {
done = 1;
}
status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
if (!done) {
status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
done = 1;
}
}
if (!done)
{
int16_t *fdata = (int16_t *) read_frame->data;
uint32_t samples = read_frame->datalen / sizeof(*fdata);
@ -261,6 +264,7 @@ int vgo(int i, switch_core_session_t *session)
double energy = 0;
int divisor = 0;
for (count = 0; count < samples; count++) {
energy += abs(fdata[j]);
j += read_impl.number_of_channels;
@ -296,11 +300,13 @@ int vgo(int i, switch_core_session_t *session)
}
}
}
}
if (!talking) {
x++;
continue;
if (!talking) {
x++;
continue;
}
} else {
usleep(20000);
}
if (LOGO == 0) {
@ -310,8 +316,6 @@ int vgo(int i, switch_core_session_t *session)
}
refresh();
/*
if (x == COLS / 4) {
sleep(2);