[Freeswitch-svn] [commit] r11287 - freeswitch/trunk/src/mod/applications/mod_conference
FreeSWITCH SVN
anthm at freeswitch.org
Mon Jan 19 10:01:44 PST 2009
Author: anthm
Date: Mon Jan 19 12:01:44 2009
New Revision: 11287
Log:
MODAPP-200
Modified:
freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Mon Jan 19 12:01:44 2009
@@ -1536,10 +1536,8 @@
switch_channel_t *channel;
switch_status_t status;
switch_frame_t *read_frame = NULL;
-
- switch_codec_t *read_codec;
uint32_t hangover = 40, hangunder = 15, hangover_hits = 0, hangunder_hits = 0, energy_level = 0, diff_level = 400;
-
+ switch_codec_implementation_t read_impl = {0};
switch_assert(member != NULL);
@@ -1547,8 +1545,7 @@
channel = switch_core_session_get_channel(member->session);
- read_codec = switch_core_session_get_read_codec(member->session);
- switch_assert(read_codec != NULL);
+ switch_core_session_get_read_impl(member->session, &read_impl);
/* As long as we have a valid read, feed that data into an input buffer where the conference thread will take it
and mux it with any audio from other channels. */
@@ -1601,7 +1598,7 @@
data = read_frame->data;
- if (!(divisor = read_codec->implementation->actual_samples_per_second / 8000)) {
+ if (!(divisor = read_impl.actual_samples_per_second / 8000)) {
divisor = 1;
}
@@ -1610,7 +1607,7 @@
if ((samples = read_frame->datalen / sizeof(*data))) {
for (i = 0; i < samples; i++) {
energy += abs(data[j]);
- j += read_codec->implementation->number_of_channels;
+ j += read_impl.number_of_channels;
}
member->score = energy / (samples / divisor);
}
More information about the Freeswitch-svn
mailing list