diff options
author | Lennart Poettering <lennart@poettering.net> | 2007-08-25 23:32:37 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2007-08-25 23:32:37 +0000 |
commit | 89fcd51b7b458d7c541a0f08cfffcc67df73acf6 (patch) | |
tree | fa2f52f44acb2e7080ee1e75eb27a4efea342c25 /src/pulsecore/resampler.c | |
parent | f82067f6de5ecabf7c0e062b6a376651e5e829f5 (diff) |
enable -ffast-math for gcc
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1720 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/pulsecore/resampler.c')
-rw-r--r-- | src/pulsecore/resampler.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/pulsecore/resampler.c b/src/pulsecore/resampler.c index dd379b8a..c1af401c 100644 --- a/src/pulsecore/resampler.c +++ b/src/pulsecore/resampler.c @@ -741,13 +741,14 @@ static void speex_update_rates(pa_resampler *r) { static void speex_free(pa_resampler *r) { pa_assert(r); - if (r->speex.state) { - if (r->resample_method >= PA_RESAMPLER_SPEEX_FIXED_BASE && r->resample_method <= PA_RESAMPLER_SPEEX_FIXED_MAX) - paspfx_resampler_destroy(r->speex.state); - else { - pa_assert(r->resample_method >= PA_RESAMPLER_SPEEX_FLOAT_BASE && r->resample_method <= PA_RESAMPLER_SPEEX_FLOAT_MAX); - paspfl_resampler_destroy(r->speex.state); - } + if (!r->speex.state) + return; + + if (r->resample_method >= PA_RESAMPLER_SPEEX_FIXED_BASE && r->resample_method <= PA_RESAMPLER_SPEEX_FIXED_MAX) + paspfx_resampler_destroy(r->speex.state); + else { + pa_assert(r->resample_method >= PA_RESAMPLER_SPEEX_FLOAT_BASE && r->resample_method <= PA_RESAMPLER_SPEEX_FLOAT_MAX); + paspfl_resampler_destroy(r->speex.state); } } @@ -761,20 +762,24 @@ static int speex_init(pa_resampler *r) { if (r->resample_method >= PA_RESAMPLER_SPEEX_FIXED_BASE && r->resample_method <= PA_RESAMPLER_SPEEX_FIXED_MAX) { q = r->resample_method - PA_RESAMPLER_SPEEX_FIXED_BASE; - r->impl_resample = speex_resample_int; + pa_log_info("Choosing speex quality setting %i.", q); + if (!(r->speex.state = paspfx_resampler_init(r->o_ss.channels, r->i_ss.rate, r->o_ss.rate, q, &err))) return -1; + r->impl_resample = speex_resample_int; } else { pa_assert(r->resample_method >= PA_RESAMPLER_SPEEX_FLOAT_BASE && r->resample_method <= PA_RESAMPLER_SPEEX_FLOAT_MAX); q = r->resample_method - PA_RESAMPLER_SPEEX_FLOAT_BASE; - r->impl_resample = speex_resample_float; + pa_log_info("Choosing speex quality setting %i.", q); + if (!(r->speex.state = paspfl_resampler_init(r->o_ss.channels, r->i_ss.rate, r->o_ss.rate, q, &err))) return -1; + + r->impl_resample = speex_resample_float; } - return 0; } |