move code dealing with CPU specific code path initialization from daemon/main.c to pulsecore/cpu.c Signed-off-by: Peter Meerwald <pmeerw at pmeerw.net> --- src/Makefile.am | 2 +- src/daemon/main.c | 13 ++----------- src/pulsecore/cpu.c | 33 +++++++++++++++++++++++++++++++++ src/pulsecore/cpu.h | 2 ++ 4 files changed, 38 insertions(+), 12 deletions(-) create mode 100644 src/pulsecore/cpu.c diff --git a/src/Makefile.am b/src/Makefile.am index 3ceaddc..40d8c04 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -906,7 +906,7 @@ libpulsecore_ at PA_MAJORMINOR@_la_SOURCES = \ pulsecore/rtpoll.c pulsecore/rtpoll.h \ pulsecore/stream-util.c pulsecore/stream-util.h \ pulsecore/mix.c pulsecore/mix.h \ - pulsecore/cpu.h \ + pulsecore/cpu.c pulsecore/cpu.h \ pulsecore/cpu-arm.c pulsecore/cpu-arm.h \ pulsecore/cpu-x86.c pulsecore/cpu-x86.h \ pulsecore/cpu-orc.c pulsecore/cpu-orc.h \ diff --git a/src/daemon/main.c b/src/daemon/main.c index 23fb660..4fd245a 100644 --- a/src/daemon/main.c +++ b/src/daemon/main.c @@ -86,9 +86,7 @@ #ifdef HAVE_DBUS #include <pulsecore/dbus-shared.h> #endif -#include <pulsecore/cpu-arm.h> -#include <pulsecore/cpu-x86.h> -#include <pulsecore/cpu-orc.h> +#include <pulsecore/cpu.h> #include "cmdline.h" #include "cpulimit.h" @@ -1022,14 +1020,7 @@ int main(int argc, char *argv[]) { c->server_type = conf->local_server_type; #endif - c->cpu_info.cpu_type = PA_CPU_UNDEFINED; - if (!getenv("PULSE_NO_SIMD")) { - if (pa_cpu_init_x86(&(c->cpu_info.flags.x86))) - c->cpu_info.cpu_type = PA_CPU_X86; - if (pa_cpu_init_arm(&(c->cpu_info.flags.arm))) - c->cpu_info.cpu_type = PA_CPU_ARM; - pa_cpu_init_orc(c->cpu_info); - } + pa_cpu_init(&c->cpu_info); pa_assert_se(pa_signal_init(pa_mainloop_get_api(mainloop)) == 0); pa_signal_new(SIGINT, signal_callback, c); diff --git a/src/pulsecore/cpu.c b/src/pulsecore/cpu.c new file mode 100644 index 0000000..542e86f --- /dev/null +++ b/src/pulsecore/cpu.c @@ -0,0 +1,33 @@ +/*** + This file is part of PulseAudio. + + Copyright 2014 Peter Meerwald <pmeerw at pmeerw.net> + + PulseAudio is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2.1 of the License, + or (at your option) any later version. + + PulseAudio is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. +***/ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include "cpu.h" +#include "cpu-orc.h" + +void pa_cpu_init(pa_cpu_info *cpu_info) { + cpu_info->cpu_type = PA_CPU_UNDEFINED; + if (!getenv("PULSE_NO_SIMD")) { + if (pa_cpu_init_x86(&cpu_info->flags.x86)) + cpu_info->cpu_type = PA_CPU_X86; + if (pa_cpu_init_arm(&cpu_info->flags.arm)) + cpu_info->cpu_type = PA_CPU_ARM; + pa_cpu_init_orc(*cpu_info); + } +} diff --git a/src/pulsecore/cpu.h b/src/pulsecore/cpu.h index 7fe6f0b..23262b5 100644 --- a/src/pulsecore/cpu.h +++ b/src/pulsecore/cpu.h @@ -42,4 +42,6 @@ struct pa_cpu_info { } flags; }; +void pa_cpu_init(pa_cpu_info *cpu_info); + #endif /* foocpuhfoo */ -- 1.9.1