core: Add pa_cpu_init() / cpu.c

move code dealing with CPU specific code path initialization
from daemon/main.c to pulsecore/cpu.c

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
This commit is contained in:
Peter Meerwald 2014-09-10 15:23:11 +02:00
parent f508b34b8b
commit 380591eb18
4 changed files with 38 additions and 12 deletions

View file

@ -906,7 +906,7 @@ libpulsecore_@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 \

View file

@ -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);

33
src/pulsecore/cpu.c Normal file
View file

@ -0,0 +1,33 @@
/***
This file is part of PulseAudio.
Copyright 2014 Peter Meerwald <pmeerw@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);
}
}

View file

@ -42,4 +42,6 @@ struct pa_cpu_info {
} flags;
};
void pa_cpu_init(pa_cpu_info *cpu_info);
#endif /* foocpuhfoo */