[pulseaudio-discuss] [PATCH v2 01/14] core: Add pa_cpu_init() / cpu.c

Peter Meerwald pmeerw at pmeerw.net
Wed Sep 10 07:40:02 PDT 2014


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



More information about the pulseaudio-discuss mailing list