From 025e65a0cdbcaed2272c5496115741584acfbe16 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 23 Jul 2014 01:04:35 +0500 Subject: [PATCH] fix resampler issue caused by refactoring impacting audio quality of resampled calls in the conference --- src/mod/applications/mod_conference/mod_conference.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index 7242f03557..14df48212a 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -4512,9 +4512,9 @@ static void *SWITCH_THREAD_FUNC conference_loop_input(switch_thread_t *thread, v int16_t *bptr = (int16_t *) read_frame->data; int len = (int) read_frame->datalen; - switch_resample_process(read_resampler, bptr, len / 2 / member->conference->channels); - memcpy(member->resample_out, read_resampler->to, read_resampler->to_len * 2 * member->conference->channels); - len = read_resampler->to_len * 2 * member->conference->channels; + switch_resample_process(read_resampler, bptr, len / 2 / member->read_impl.number_of_channels); + memcpy(member->resample_out, read_resampler->to, read_resampler->to_len * 2 * member->read_impl.number_of_channels); + len = read_resampler->to_len * 2 * member->read_impl.number_of_channels; datalen = len; data = member->resample_out; } else { @@ -8942,7 +8942,7 @@ static int setup_media(conference_member_t *member, conference_obj_t *conference if (read_impl.actual_samples_per_second != conference->rate) { if (switch_resample_create(&member->read_resampler, read_impl.actual_samples_per_second, - conference->rate, member->frame_size, SWITCH_RESAMPLE_QUALITY, conference->channels) != SWITCH_STATUS_SUCCESS) { + conference->rate, member->frame_size, SWITCH_RESAMPLE_QUALITY, read_impl.number_of_channels) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(member->session), SWITCH_LOG_CRIT, "Unable to create resampler!\n"); goto done; }