summaryrefslogtreecommitdiffstats
path: root/pph/rate_speexrate.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2007-08-14 16:21:52 +0200
committerTakashi Iwai <tiwai@suse.de>2007-08-14 16:21:52 +0200
commit1ee7b56befc16d0940bd162f3ac9b6ae66e85f0b (patch)
tree065c9830aa3999292faee1954e74abe0bd4c8675 /pph/rate_speexrate.c
parentf875609b187837c4332246a55c8032db07aa76c0 (diff)
Update speex rate converter code
Take speex rate converter code from speex SVN tree, which includes the fix for the noises with simple conversion (signed / unsigned mismatch).
Diffstat (limited to 'pph/rate_speexrate.c')
-rw-r--r--pph/rate_speexrate.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/pph/rate_speexrate.c b/pph/rate_speexrate.c
index 9eb33b9..38244b6 100644
--- a/pph/rate_speexrate.c
+++ b/pph/rate_speexrate.c
@@ -77,12 +77,13 @@ static void pcm_src_free(void *obj)
static int pcm_src_init(void *obj, snd_pcm_rate_info_t *info)
{
struct rate_src *rate = obj;
+ int err;
if (! rate->st || rate->channels != info->channels) {
if (rate->st)
speex_resampler_destroy(rate->st);
rate->channels = info->channels;
- rate->st = speex_resampler_init_frac(rate->channels, info->in.period_size, info->out.period_size, info->in.rate, info->out.rate, rate->quality);
+ rate->st = speex_resampler_init_frac(rate->channels, info->in.period_size, info->out.period_size, info->in.rate, info->out.rate, rate->quality, &err);
if (! rate->st)
return -EINVAL;
}