From e0287faa91febaa212005ac45f74a85b959638bb Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 4 Mar 2010 23:28:06 +0000 Subject: [PATCH] MODAPP-402 git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16908 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- .../mod_conference/mod_conference.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index 79617c441f..c85e6b6ef0 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -2389,13 +2389,18 @@ static void conference_loop_output(conference_member_t *member) use_buffer = member->mux_buffer; low_count = 0; if ((write_frame.datalen = (uint32_t) switch_buffer_read(use_buffer, write_frame.data, bytes))) { - if (write_frame.datalen && switch_test_flag(member, MFLAG_CAN_HEAR)) { - write_frame.samples = write_frame.datalen / 2; - - /* Check for output volume adjustments */ - if (member->volume_out_level) { - switch_change_sln_volume(write_frame.data, write_frame.samples, member->volume_out_level); - } + if (write_frame.datalen) { + write_frame.samples = write_frame.datalen / 2; + + if( !switch_test_flag(member, MFLAG_CAN_HEAR)) { + memset(write_frame.data, 255, write_frame.datalen); + } + else { + /* Check for output volume adjustments */ + if (member->volume_out_level) { + switch_change_sln_volume(write_frame.data, write_frame.samples, member->volume_out_level); + } + } write_frame.timestamp = timer.samplecount; if (member->fnode) { member_add_file_data(member, write_frame.data, write_frame.datalen);