提交 dc1a0acd authored 作者: Anthony Minessale's avatar Anthony Minessale

up

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13070 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 696bf57c
......@@ -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);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论