SHA256
1
0
forked from pool/alsa-utils
alsa-utils/0001-bat-Avoid-local-signal.h-file.patch
Takashi Iwai 79b57fb3f0 Accepting request 343191 from home:tiwai:branches:multimedia:libs
- Update to alsa-utils 1.1.0:
  including all previous fixes, update of topology tool, addition
  of BAT (Basic Audio Tool)
- Split bat subpackage containing BAT
- Fix build of bat with old gcc & glibc on SLE11
  0001-bat-Avoid-local-signal.h-file.patch
  0002-bat-Don-t-pass-incompatible-function-pointers-to-pth.patch
- Dropped patches:
  0001-amixer-Don-t-set-only-the-first-item-in-sset_enum.patch
  0002-amixer-expand-local-storage-for-item-name-according-.patch
  0003-alsa-info-Don-t-try-update-when-wget-isn-t-available.patch
  0004-aplay-Fix-type-for-signal-flag.patch
  0005-aplay-Fix-uninterruptible-aplay.patch
  0006-alsactl-terminate-readlink-result-string.patch
  0007-speaker-test-Add-option-to-specify-signal-scale.patch
  0008-topology-Add-command-line-topology-tool-to-build-top.patch
  0009-alsactl-Add-path-condition-to-alsa-store-and-alsa-re.patch
  0010-speaker-test-fix-option-ordering.patch
  0011-arecord-Remove-only-regular-files.patch
  0012-aplay-fix-VU-meter-for-S24_LE-etc-formats.patch
  0013-alsactl-Manage-both-save-and-restore-in-a-single-uni.patch

OBS-URL: https://build.opensuse.org/request/show/343191
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa-utils?expand=0&rev=126
2015-11-09 13:55:57 +00:00

136 lines
4.6 KiB
Diff

From 3bf8e79c3bfee3ca14277aad3d9c406dfc053bbf Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Mon, 9 Nov 2015 14:04:11 +0100
Subject: [PATCH 1/2] bat: Avoid local signal.h file
The local header file named as "signal.h" causes mysterious compile
error when built with an old glibc.
signal.h:27: error: conflicting types for 'sin_generator_init'
./signal.h:27: error: previous declaration of 'sin_generator_init' was here
signal.h:28: error: conflicting types for 'sin_generator_next_sample'
./signal.h:28: error: previous declaration of 'sin_generator_next_sample' was here
....
This turned out to be the conflict of signal.h; namely, pthread.h that
is included before our local signal.h also includes "pthread.h".
Since our local "signal.h" has a higher priority, it gets loaded
instead of the expected pthread's one. Then we load it again, and it
screws up.
Although it's basically a bug of pthread, it's anyway not good to have
a header file conflicting with the standard header file. So, let's
name it more explicitly as specific to BAT, bat-signal.h, for avoiding
such a conflict.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
bat/Makefile.am | 2 +-
bat/alsa.c | 2 +-
bat/bat-signal.h | 30 ++++++++++++++++++++++++++++++
bat/signal.h | 30 ------------------------------
4 files changed, 32 insertions(+), 32 deletions(-)
create mode 100644 bat/bat-signal.h
delete mode 100644 bat/signal.h
diff --git a/bat/Makefile.am b/bat/Makefile.am
index 842ae6bb8fc7..f0dc5abbbe46 100644
--- a/bat/Makefile.am
+++ b/bat/Makefile.am
@@ -13,7 +13,7 @@ bat_SOURCES = \
noinst_HEADERS = \
common.h \
- signal.h \
+ bat-signal.h \
alsa.h \
convert.h \
analyze.h
diff --git a/bat/alsa.c b/bat/alsa.c
index 582c60482975..d31a633cf857 100644
--- a/bat/alsa.c
+++ b/bat/alsa.c
@@ -27,7 +27,7 @@
#include "common.h"
#include "alsa.h"
-#include "signal.h"
+#include "bat-signal.h"
struct pcm_container {
snd_pcm_t *handle;
diff --git a/bat/bat-signal.h b/bat/bat-signal.h
new file mode 100644
index 000000000000..a2955176e820
--- /dev/null
+++ b/bat/bat-signal.h
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2015 Caleb Crome
+ * Copyright (C) 2013-2015 Intel Corporation
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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.
+ *
+ */
+
+/*
+ * Here's a generic sine wave generator that will work indefinitely
+ * for any frequency.
+ *
+ * Note: the state & phasor are stored as doubles (and updated as
+ * doubles) because after a million samples the magnitude drifts a
+ * bit. If we really need floats, it can be done with periodic
+ * renormalization of the state_real+state_imag magnitudes.
+ */
+
+int sin_generator_init(struct sin_generator *, float, float, float);
+float sin_generator_next_sample(struct sin_generator *);
+void sin_generator_vfill(struct sin_generator *, float *, int);
+int generate_sine_wave(struct bat *, int, void *);
diff --git a/bat/signal.h b/bat/signal.h
deleted file mode 100644
index a2955176e820..000000000000
--- a/bat/signal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (C) 2015 Caleb Crome
- * Copyright (C) 2013-2015 Intel Corporation
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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.
- *
- */
-
-/*
- * Here's a generic sine wave generator that will work indefinitely
- * for any frequency.
- *
- * Note: the state & phasor are stored as doubles (and updated as
- * doubles) because after a million samples the magnitude drifts a
- * bit. If we really need floats, it can be done with periodic
- * renormalization of the state_real+state_imag magnitudes.
- */
-
-int sin_generator_init(struct sin_generator *, float, float, float);
-float sin_generator_next_sample(struct sin_generator *);
-void sin_generator_vfill(struct sin_generator *, float *, int);
-int generate_sine_wave(struct bat *, int, void *);
--
2.6.2