]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
fix recording in stereo conferences
authorAnthony Minessale <anthm@freeswitch.org>
Fri, 20 Jun 2014 18:53:16 +0000 (23:53 +0500)
committerAnthony Minessale <anthm@freeswitch.org>
Fri, 20 Jun 2014 18:53:22 +0000 (23:53 +0500)
src/mod/applications/mod_conference/mod_conference.c

index 728ea1746227f55c15e7e5a90d2575423ef659ac..1721a6d7b6b470da50c6901859f27aafe3bb3341 100644 (file)
@@ -4685,7 +4685,7 @@ static void *SWITCH_THREAD_FUNC conference_record_thread_run(switch_thread_t *th
                        //low_count = 0;
 
                        if ((rlen = (uint32_t) switch_buffer_read(member->mux_buffer, data_buf, data_buf_len))) {
-                               len = (switch_size_t) rlen / sizeof(int16_t);
+                               len = (switch_size_t) rlen / sizeof(int16_t) / conference->channels;
                                no_data = 0;
                        }
                        switch_mutex_unlock(member->audio_out_mutex);
@@ -4723,7 +4723,7 @@ static void *SWITCH_THREAD_FUNC conference_record_thread_run(switch_thread_t *th
        while(!no_data) {
                switch_mutex_lock(member->audio_out_mutex);
                if ((rlen = (uint32_t) switch_buffer_read(member->mux_buffer, data_buf, data_buf_len))) {
-                       len = (switch_size_t) rlen / sizeof(int16_t);
+                       len = (switch_size_t) rlen / sizeof(int16_t)/ conference->channels;
                        switch_core_file_write(&fh, data_buf, &len);
                } else {
                        no_data = 1;