From: Lennart Poettering Date: Sat, 25 Aug 2007 23:32:37 +0000 (+0000) Subject: enable -ffast-math for gcc X-Git-Tag: 1.0_branch~2762^2~1^2~250 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=89fcd51b7b458d7c541a0f08cfffcc67df73acf6;p=profile%2Fivi%2Fpulseaudio.git enable -ffast-math for gcc git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1720 fefdeb5f-60dc-0310-8127-8f9354f1896f --- diff --git a/configure.ac b/configure.ac index d998330..718ebbf 100644 --- a/configure.ac +++ b/configure.ac @@ -93,7 +93,7 @@ if test "x$GCC" = "xyes" ; then # We use gnu99 instead of c99 because many have interpreted the standard # in a way that int64_t isn't defined on non-64 bit platforms. - DESIRED_FLAGS="-std=gnu99 -Wall -W -Wextra -pedantic -pipe -Wformat -Wold-style-definition -Wdeclaration-after-statement -Wfloat-equal -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wpointer-arith -Wcast-align -Wwrite-strings -Winline -Wno-unused-parameter" + DESIRED_FLAGS="-std=gnu99 -Wall -W -Wextra -pedantic -pipe -Wformat -Wold-style-definition -Wdeclaration-after-statement -Wfloat-equal -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wpointer-arith -Wcast-align -Wwrite-strings -Winline -Wno-unused-parameter -ffast-math" for flag in $DESIRED_FLAGS ; do AC_MSG_CHECKING([whether $CC accepts $flag]) diff --git a/src/pulsecore/resampler.c b/src/pulsecore/resampler.c index dd379b8..c1af401 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; }