Handle zero channels when allocating for resampler

When the number of channels was zero, we were calling malloc with a
size of zero.  While defined, this is unusual.  And since we're
initializing the speex resampler as though there were one channel in
this case, we should probably just allocate the space for it.
This commit is contained in:
Travis Cross 2014-08-22 01:59:11 +00:00
parent 164fa133dc
commit decc19ccd1

View File

@ -78,7 +78,7 @@ SWITCH_DECLARE(switch_status_t) switch_resample_perform_create(switch_audio_resa
resampler->factor = (lto_rate / lfrom_rate);
resampler->rfactor = (lfrom_rate / lto_rate);
resampler->to_size = resample_buffer(to_rate, from_rate, (uint32_t) to_size);
resampler->to = malloc(resampler->to_size * sizeof(int16_t) * channels);
resampler->to = malloc(resampler->to_size * sizeof(int16_t) * (channels ? channels : 1));
resampler->channels = channels;
return SWITCH_STATUS_SUCCESS;