]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
MODAPP-402
authorAnthony Minessale <anthony.minessale@gmail.com>
Thu, 4 Mar 2010 23:28:06 +0000 (23:28 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Thu, 4 Mar 2010 23:28:06 +0000 (23:28 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16908 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/applications/mod_conference/mod_conference.c

index 79617c441ff5eb1777be4fc7c382638c3fbede0a..c85e6b6ef0059dce48d616d30818c55ad8b23ae2 100644 (file)
@@ -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);