Accepting request 72737 from multimedia:libs
- Backport alsa-lib fixes from upstream: 0001-Fix-alsa-lib-to-regard-3D-control-Depth-as-Playback-.patch 0002-alsa-lib-add-LaCie-Firewire-Speakers-Griffin-FireWav.patch 0003-alsa-lib-ucm-allow-values-to-be-read-from-devices.patch 0004-UCM-comment-fixes-and-fix-myvalue-initialization-fix.patch 0005-UCM-Fix-empty-get_list-initialize-returned-pointer-t.patch 0006-Conf-Fix-channels-of-ICE1712-to-10-12.patch 0007-UCM-Fix-LGPL-licence-how-to-receive-part-referred-GP.patch 0008-configure-Fail-when-the-user-attempts-to-compile-sha.patch 0009-Mark-Heaphone-Center-LFE-control-of-emu10k1-conf-as-.patch 0010-Fix-typo-in-comment-in-surround71.conf.patch 0011-test-latency-print-error-message-when-2-periods-per-.patch 0012-EMU10K1.conf-Don-t-lock-hook-controls.patch 0013-HDA-Intel.conf-Fix-low-mic-volume-due-to-pulseaudio-.patch 0014-alsa-lib-fixed-coverity-reported-issues-under-FORWAR.patch 0015-Fix-compile-warnings.patch 0016-Fix-printf-for-size_t.patch 0018-UCM-fix-memory-leak-when-executing-cset-commands.patch 0019-Specficy-subdevice-0-for-front-surround-of-HDA-Intel.patch 0020-emu10k1.conf-Fix-no-sound-problem-when-using-SB-Live.patch 0021-ctlparse-Respect-softfloat-configure-option.patch 0022-UCM-Fix-typo-in-error-message.patch 0023-UCM-Fix-deadlock-following-failed-get-_verb.patch - Fix the wrong path-name check in the previous fix (bnc#684542) OBS-URL: https://build.opensuse.org/request/show/72737 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/alsa?expand=0&rev=105
This commit is contained in:
commit
4856a11359
@ -0,0 +1,36 @@
|
||||
From 886adf664b958aa28ccc6b06c552764069293f83 Mon Sep 17 00:00:00 2001
|
||||
From: Raymond Yau <superquad.vortex2@gmail.com>
|
||||
Date: Sat, 26 Feb 2011 09:24:43 +0800
|
||||
Subject: [PATCH 01/23] Fix alsa-lib to regard 3D control - Depth as Playback
|
||||
Controls
|
||||
|
||||
This allow those mixer or recording application to find those controls which
|
||||
are really used for capturing.
|
||||
|
||||
Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
src/mixer/simple_none.c | 7 ++++++-
|
||||
1 files changed, 6 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/src/mixer/simple_none.c b/src/mixer/simple_none.c
|
||||
index 426f2d7..395e4d6 100644
|
||||
--- a/src/mixer/simple_none.c
|
||||
+++ b/src/mixer/simple_none.c
|
||||
@@ -937,7 +937,12 @@ static int base_len(const char *name, selem_ctl_type_t *type)
|
||||
*type = CTL_CAPTURE_ROUTE;
|
||||
return strlen(name);
|
||||
}
|
||||
-
|
||||
+ if (strstr(name, "3D Control") > 0) {
|
||||
+ if (strstr(name, "Depth") > 0) {
|
||||
+ *type = CTL_PLAYBACK_VOLUME;
|
||||
+ return strlen(name);
|
||||
+ }
|
||||
+ }
|
||||
return 0;
|
||||
}
|
||||
|
||||
--
|
||||
1.7.5.3
|
||||
|
122
0002-alsa-lib-add-LaCie-Firewire-Speakers-Griffin-FireWav.patch
Normal file
122
0002-alsa-lib-add-LaCie-Firewire-Speakers-Griffin-FireWav.patch
Normal file
@ -0,0 +1,122 @@
|
||||
From 8650c02ae21b620fbe8d5e90bf5639e5a4a3f401 Mon Sep 17 00:00:00 2001
|
||||
From: Clemens Ladisch <clemens@ladisch.de>
|
||||
Date: Tue, 15 Mar 2011 08:02:59 +0100
|
||||
Subject: [PATCH 02/23] alsa-lib: add LaCie Firewire Speakers/Griffin FireWave
|
||||
Surround driver
|
||||
|
||||
Add configuration files for the "default"/"front"/"surround51" devices
|
||||
of the FireWire driver.
|
||||
|
||||
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
|
||||
---
|
||||
src/conf/cards/FWSpeakers.conf | 26 ++++++++++++++++++++
|
||||
src/conf/cards/FireWave.conf | 50 ++++++++++++++++++++++++++++++++++++++++
|
||||
src/conf/cards/Makefile.am | 2 +
|
||||
3 files changed, 78 insertions(+), 0 deletions(-)
|
||||
create mode 100644 src/conf/cards/FWSpeakers.conf
|
||||
create mode 100644 src/conf/cards/FireWave.conf
|
||||
|
||||
diff --git a/src/conf/cards/FWSpeakers.conf b/src/conf/cards/FWSpeakers.conf
|
||||
new file mode 100644
|
||||
index 0000000..cd6fa60
|
||||
--- /dev/null
|
||||
+++ b/src/conf/cards/FWSpeakers.conf
|
||||
@@ -0,0 +1,26 @@
|
||||
+#
|
||||
+# Configuration for the LaCie Firewire speakers
|
||||
+#
|
||||
+
|
||||
+FWSpeakers.pcm.default {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ @func concat
|
||||
+ strings [ "dmix:" $CARD ",FORMAT=S32" ]
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+<confdir:pcm/front.conf>
|
||||
+
|
||||
+FWSpeakers.pcm.front.0 {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+}
|
||||
diff --git a/src/conf/cards/FireWave.conf b/src/conf/cards/FireWave.conf
|
||||
new file mode 100644
|
||||
index 0000000..63fb23d
|
||||
--- /dev/null
|
||||
+++ b/src/conf/cards/FireWave.conf
|
||||
@@ -0,0 +1,50 @@
|
||||
+#
|
||||
+# Configuration for the Griffin FireWave Surround
|
||||
+#
|
||||
+
|
||||
+FireWave.pcm.default {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ @func concat
|
||||
+ strings [ "dmix:" $CARD ",FORMAT=S32" ]
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+<confdir:pcm/front.conf>
|
||||
+
|
||||
+FireWave.pcm.front.0 {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+}
|
||||
+
|
||||
+<confdir:pcm/surround41.conf>
|
||||
+<confdir:pcm/surround50.conf>
|
||||
+<confdir:pcm/surround51.conf>
|
||||
+
|
||||
+FireWave.pcm.surround51.0 {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type route
|
||||
+ ttable [
|
||||
+ [ 1 0 0 0 0 0 ]
|
||||
+ [ 0 1 0 0 0 0 ]
|
||||
+ [ 0 0 0 0 1 0 ]
|
||||
+ [ 0 0 0 0 0 1 ]
|
||||
+ [ 0 0 1 0 0 0 ]
|
||||
+ [ 0 0 0 1 0 0 ]
|
||||
+ ]
|
||||
+ slave.pcm {
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am
|
||||
index 9da78f0..b7190e7 100644
|
||||
--- a/src/conf/cards/Makefile.am
|
||||
+++ b/src/conf/cards/Makefile.am
|
||||
@@ -25,6 +25,8 @@ cfg_files = aliases.conf \
|
||||
ENS1371.conf \
|
||||
ES1968.conf \
|
||||
FM801.conf \
|
||||
+ FWSpeakers.conf \
|
||||
+ FireWave.conf \
|
||||
GUS.conf \
|
||||
HDA-Intel.conf \
|
||||
ICE1712.conf \
|
||||
--
|
||||
1.7.5.3
|
||||
|
61
0003-alsa-lib-ucm-allow-values-to-be-read-from-devices.patch
Normal file
61
0003-alsa-lib-ucm-allow-values-to-be-read-from-devices.patch
Normal file
@ -0,0 +1,61 @@
|
||||
From ae0a44c628423d8eaec64d119511815d6884ab6b Mon Sep 17 00:00:00 2001
|
||||
From: Margarita Olaya <magi@slimlogic.co.uk>
|
||||
Date: Fri, 18 Mar 2011 11:26:22 -0600
|
||||
Subject: [PATCH 03/23] alsa-lib: ucm: allow values to be read from devices
|
||||
|
||||
This allows devices value to be read using the get_value().
|
||||
Also fix a little formatting.
|
||||
|
||||
Signed-off-by: Margarita Olaya Cabrera <magi@slimlogic.co.uk>
|
||||
Acked-by: Liam Girdwood <lrg@ti.com>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
src/ucm/main.c | 21 ++++++++++++++-------
|
||||
1 files changed, 14 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/src/ucm/main.c b/src/ucm/main.c
|
||||
index 42fd373..88f8bf6 100644
|
||||
--- a/src/ucm/main.c
|
||||
+++ b/src/ucm/main.c
|
||||
@@ -1059,24 +1059,31 @@ static int get_value3(const char **value,
|
||||
* \param uc_mgr Use case manager
|
||||
* \param identifier Value identifier (string)
|
||||
* \param value Returned value string
|
||||
- * \param modifier modifier name (string)
|
||||
+ * \param item Modifier or Device name (string)
|
||||
* \return Zero on success (value is filled), otherwise a negative error code
|
||||
*/
|
||||
static int get_value(snd_use_case_mgr_t *uc_mgr,
|
||||
- const char *identifier,
|
||||
- const char **value,
|
||||
- const char *modifier)
|
||||
+ const char *identifier,
|
||||
+ const char **value,
|
||||
+ const char *item)
|
||||
{
|
||||
- struct use_case_modifier *mod;
|
||||
+ struct use_case_modifier *mod;
|
||||
+ struct use_case_device *dev;
|
||||
int err;
|
||||
|
||||
- if (modifier != NULL) {
|
||||
- mod = find_modifier(uc_mgr, modifier);
|
||||
+ if (item != NULL) {
|
||||
+ mod = find_modifier(uc_mgr, item);
|
||||
if (mod != NULL) {
|
||||
err = get_value1(value, &mod->value_list, identifier);
|
||||
if (err >= 0 || err != -ENOENT)
|
||||
return err;
|
||||
}
|
||||
+ dev = find_device(uc_mgr->active_verb, item);
|
||||
+ if (dev != NULL) {
|
||||
+ err = get_value1(value, &dev->value_list, identifier);
|
||||
+ if (err >= 0 || err != -ENOENT)
|
||||
+ return err;
|
||||
+ }
|
||||
}
|
||||
err = get_value1(value, &uc_mgr->active_verb->value_list, identifier);
|
||||
if (err >= 0 || err != -ENOENT)
|
||||
--
|
||||
1.7.5.3
|
||||
|
114
0004-UCM-comment-fixes-and-fix-myvalue-initialization-fix.patch
Normal file
114
0004-UCM-comment-fixes-and-fix-myvalue-initialization-fix.patch
Normal file
@ -0,0 +1,114 @@
|
||||
From 60397387eff7d8492df59d7a63a303f98e61b391 Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Sat, 19 Mar 2011 00:54:43 +0100
|
||||
Subject: [PATCH 04/23] UCM: comment fixes and fix myvalue initialization fix
|
||||
in add_values()
|
||||
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
include/use-case.h | 49 +++++++++++++++++++++++++++++--------------------
|
||||
src/ucm/main.c | 1 +
|
||||
2 files changed, 30 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/include/use-case.h b/include/use-case.h
|
||||
index f577628..cb3176e 100644
|
||||
--- a/include/use-case.h
|
||||
+++ b/include/use-case.h
|
||||
@@ -80,9 +80,10 @@ extern "C" {
|
||||
*
|
||||
* o Query the supported use case verbs, devices and modifiers for the machine.
|
||||
* o Set and Get use case verbs, devices and modifiers for the machine.
|
||||
- * o Get the ALSA PCM playback and capture device PCMs for use case verb and
|
||||
+ * o Get the ALSA PCM playback and capture device PCMs for use case verb,
|
||||
+ * use case device and modifier.
|
||||
+ * o Get the TQ parameter for each use case verb, use case device and
|
||||
* modifier.
|
||||
- * o Get the TQ parameter for each use case verb and modifier.
|
||||
* o Get the ALSA master playback and capture volume/switch kcontrols
|
||||
* for each use case.
|
||||
*/
|
||||
@@ -111,7 +112,7 @@ extern "C" {
|
||||
* Use Case Device.
|
||||
*
|
||||
* Physical system devices the render and capture audio. Devices can be OR'ed
|
||||
- * together to support audio on similtanious devices.
|
||||
+ * together to support audio on simultaneous devices.
|
||||
*/
|
||||
#define SND_USE_CASE_DEV_NONE "None"
|
||||
#define SND_USE_CASE_DEV_SPEAKER "Speaker"
|
||||
@@ -135,13 +136,13 @@ extern "C" {
|
||||
* e.g. to record a voice call :-
|
||||
* 1. Set verb to SND_USE_CASE_VERB_VOICECALL (for voice call)
|
||||
* 2. Set modifier SND_USE_CASE_MOD_CAPTURE_VOICE when capture required.
|
||||
- * 3. Call snd_use_case_get("_pcm_/_cdevice") to get ALSA source PCM name
|
||||
+ * 3. Call snd_use_case_get("CapturePCM") to get ALSA source PCM name
|
||||
* with captured voice pcm data.
|
||||
*
|
||||
* e.g. to play a ring tone when listenin to MP3 Music :-
|
||||
* 1. Set verb to SND_USE_CASE_VERB_HIFI (for MP3 playback)
|
||||
* 2. Set modifier to SND_USE_CASE_MOD_PLAY_TONE when incoming call happens.
|
||||
- * 3. Call snd_use_case_get("_pcm_/_pdevice") to get ALSA PCM sink name for
|
||||
+ * 3. Call snd_use_case_get("PlaybackPCM") to get ALSA PCM sink name for
|
||||
* ringtone pcm data.
|
||||
*/
|
||||
#define SND_USE_CASE_MOD_CAPTURE_VOICE "Capture Voice"
|
||||
@@ -221,21 +222,29 @@ int snd_use_case_get_list(snd_use_case_mgr_t *uc_mgr,
|
||||
* deallocate this string.
|
||||
*
|
||||
* Known identifiers:
|
||||
- * NULL - return current card
|
||||
- * _verb - return current verb
|
||||
- * TQ[/<modifier>] - Tone Quality [for given modifier]
|
||||
- * PlaybackPCM[/<modifier>] - full PCM playback device name
|
||||
- * CapturePCM[/<modifier>] - full PCM capture device name
|
||||
- * PlaybackCTL[/<modifier>] - playback control device name
|
||||
- * PlaybackVolume[/<modifier>] - playback control volume ID string
|
||||
- * PlaybackSwitch[/<modifier>] - playback control switch ID string
|
||||
- * CaptureCTL[/<modifier>] - capture control device name
|
||||
- * CaptureVolume[/<modifier>] - capture control volume ID string
|
||||
- * CaptureSwitch[/<modifier>] - capture control switch ID string
|
||||
- * PlaybackMixer[/<modifier>] - name of playback mixer
|
||||
- * PlaybackMixerID[/<modifier>] - mixer playback ID
|
||||
- * CaptureMixer[/<modifier>] - name of capture mixer
|
||||
- * CaptureMixerID[/<modifier>] - mixer capture ID
|
||||
+ * NULL - return current card
|
||||
+ * _verb - return current verb
|
||||
+ *
|
||||
+ * <NAME>[/<modifier>|</device>]
|
||||
+ * - value identifier <NAME> for
|
||||
+ * given modifier or device
|
||||
+ * - Examples: "PlaybackPCM/Play Music",
|
||||
+ * "CapturePCM/SPDIF"
|
||||
+ *
|
||||
+ * Recommended names for values:
|
||||
+ * TQ - Tone Quality
|
||||
+ * PlaybackPCM - full PCM playback device name
|
||||
+ * CapturePCM - full PCM capture device name
|
||||
+ * PlaybackCTL - playback control device name
|
||||
+ * PlaybackVolume - playback control volume ID string
|
||||
+ * PlaybackSwitch - playback control switch ID string
|
||||
+ * CaptureCTL - capture control device name
|
||||
+ * CaptureVolume - capture control volume ID string
|
||||
+ * CaptureSwitch - capture control switch ID string
|
||||
+ * PlaybackMixer - name of playback mixer
|
||||
+ * PlaybackMixerID - mixer playback ID
|
||||
+ * CaptureMixer - name of capture mixer
|
||||
+ * CaptureMixerID - mixer capture ID
|
||||
*/
|
||||
int snd_use_case_get(snd_use_case_mgr_t *uc_mgr,
|
||||
const char *identifier,
|
||||
diff --git a/src/ucm/main.c b/src/ucm/main.c
|
||||
index 88f8bf6..5de8170 100644
|
||||
--- a/src/ucm/main.c
|
||||
+++ b/src/ucm/main.c
|
||||
@@ -858,6 +858,7 @@ static int add_values(struct list_head *list,
|
||||
val = malloc(sizeof(struct myvalue));
|
||||
if (val == NULL)
|
||||
return -ENOMEM;
|
||||
+ val->value = v->data;
|
||||
list_add_tail(&val->list, list);
|
||||
}
|
||||
}
|
||||
--
|
||||
1.7.5.3
|
||||
|
@ -0,0 +1,40 @@
|
||||
From f2912f5099e401cebacd33bd9da3d8318856e143 Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Sat, 19 Mar 2011 01:09:41 +0100
|
||||
Subject: [PATCH 05/23] UCM: Fix empty get_list - initialize returned pointer
|
||||
to NULL
|
||||
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
src/ucm/main.c | 6 ++++--
|
||||
1 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/ucm/main.c b/src/ucm/main.c
|
||||
index 5de8170..9b450f6 100644
|
||||
--- a/src/ucm/main.c
|
||||
+++ b/src/ucm/main.c
|
||||
@@ -75,8 +75,10 @@ static int alloc_str_list(struct list_head *list, int mult, char **result[])
|
||||
int cnt;
|
||||
|
||||
cnt = list_count(list) * mult;
|
||||
- if (cnt == 0)
|
||||
+ if (cnt == 0) {
|
||||
+ *result = NULL;
|
||||
return cnt;
|
||||
+ }
|
||||
res = calloc(mult, cnt * sizeof(char *));
|
||||
if (res == NULL)
|
||||
return -ENOMEM;
|
||||
@@ -912,8 +914,8 @@ static int get_value_list(snd_use_case_mgr_t *uc_mgr,
|
||||
goto __fail;
|
||||
}
|
||||
err = alloc_str_list(&mylist, 1, &res);
|
||||
- *list = (const char **)res;
|
||||
if (err >= 0) {
|
||||
+ *list = (const char **)res;
|
||||
list_for_each(pos, &mylist) {
|
||||
val = list_entry(pos, struct myvalue, list);
|
||||
*res = strdup(val->value);
|
||||
--
|
||||
1.7.5.3
|
||||
|
72
0006-Conf-Fix-channels-of-ICE1712-to-10-12.patch
Normal file
72
0006-Conf-Fix-channels-of-ICE1712-to-10-12.patch
Normal file
@ -0,0 +1,72 @@
|
||||
From d3906a93072171e5b5f4000d4a228af4eb8fa253 Mon Sep 17 00:00:00 2001
|
||||
From: David Henningsson <david.henningsson@canonical.com>
|
||||
Date: Mon, 28 Mar 2011 10:19:16 +0200
|
||||
Subject: [PATCH 06/23] Conf: Fix channels of ICE1712 to 10/12
|
||||
|
||||
The ICE1712 kernel driver accepts 10 playback channels and
|
||||
12 recording channels only. Therefore fix this channel count
|
||||
in alsa-lib.
|
||||
|
||||
BugLink: http://bugs.launchpad.net/bugs/178442
|
||||
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
src/conf/cards/ICE1712.conf | 28 ++++++++++++++++++++++------
|
||||
1 files changed, 22 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/conf/cards/ICE1712.conf b/src/conf/cards/ICE1712.conf
|
||||
index 01e50d2..f5b8add 100644
|
||||
--- a/src/conf/cards/ICE1712.conf
|
||||
+++ b/src/conf/cards/ICE1712.conf
|
||||
@@ -32,12 +32,26 @@ ICE1712.pcm.front.0 {
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
- type route
|
||||
- ttable.0.0 1
|
||||
- ttable.1.1 1
|
||||
- slave.pcm {
|
||||
- type hw
|
||||
- card $CARD
|
||||
+ type asym
|
||||
+ playback.pcm {
|
||||
+ type route
|
||||
+ ttable.0.0 1
|
||||
+ ttable.1.1 1
|
||||
+ slave.pcm {
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ }
|
||||
+ slave.channels 10
|
||||
+ }
|
||||
+ capture.pcm {
|
||||
+ type route
|
||||
+ ttable.0.0 1
|
||||
+ ttable.1.1 1
|
||||
+ slave.pcm {
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ }
|
||||
+ slave.channels 12
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,6 +71,7 @@ ICE1712.pcm.surround40.0 {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
+ slave.channels 10
|
||||
}
|
||||
|
||||
<confdir:pcm/surround41.conf>
|
||||
@@ -79,6 +94,7 @@ ICE1712.pcm.surround51.0 {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
+ slave.channels 10
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
--
|
||||
1.7.5.3
|
||||
|
@ -0,0 +1,85 @@
|
||||
From e419f63960a0c30c0263525b2db084b36c962d59 Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Mon, 28 Mar 2011 11:04:19 +0200
|
||||
Subject: [PATCH 07/23] UCM: Fix LGPL licence ("how to receive" part referred
|
||||
GPL instead LGPL)
|
||||
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
src/ucm/main.c | 6 +++---
|
||||
src/ucm/parser.c | 6 +++---
|
||||
src/ucm/ucm_local.h | 6 +++---
|
||||
src/ucm/utils.c | 6 +++---
|
||||
4 files changed, 12 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/src/ucm/main.c b/src/ucm/main.c
|
||||
index 9b450f6..86f29e3 100644
|
||||
--- a/src/ucm/main.c
|
||||
+++ b/src/ucm/main.c
|
||||
@@ -9,9 +9,9 @@
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
- * You should have received a copy of the GNU General Public License
|
||||
- * along with this program; if not, write to the Free Software
|
||||
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this library; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* Support for the verb/device/modifier core logic and API,
|
||||
* command line tool and file parser was kindly sponsored by
|
||||
diff --git a/src/ucm/parser.c b/src/ucm/parser.c
|
||||
index e8d2461..38fdba0 100644
|
||||
--- a/src/ucm/parser.c
|
||||
+++ b/src/ucm/parser.c
|
||||
@@ -9,9 +9,9 @@
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
- * You should have received a copy of the GNU General Public License
|
||||
- * along with this program; if not, write to the Free Software
|
||||
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this library; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* Support for the verb/device/modifier core logic and API,
|
||||
* command line tool and file parser was kindly sponsored by
|
||||
diff --git a/src/ucm/ucm_local.h b/src/ucm/ucm_local.h
|
||||
index 1b00ea2..2ceceaa 100644
|
||||
--- a/src/ucm/ucm_local.h
|
||||
+++ b/src/ucm/ucm_local.h
|
||||
@@ -9,9 +9,9 @@
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
- * You should have received a copy of the GNU General Public License
|
||||
- * along with this program; if not, write to the Free Software
|
||||
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this library; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* Support for the verb/device/modifier core logic and API,
|
||||
* command line tool and file parser was kindly sponsored by
|
||||
diff --git a/src/ucm/utils.c b/src/ucm/utils.c
|
||||
index 2def0b8..85549e1 100644
|
||||
--- a/src/ucm/utils.c
|
||||
+++ b/src/ucm/utils.c
|
||||
@@ -9,9 +9,9 @@
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
- * You should have received a copy of the GNU General Public License
|
||||
- * along with this program; if not, write to the Free Software
|
||||
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this library; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* Support for the verb/device/modifier core logic and API,
|
||||
* command line tool and file parser was kindly sponsored by
|
||||
--
|
||||
1.7.5.3
|
||||
|
@ -0,0 +1,38 @@
|
||||
From cd20fe3f4d93c06500f5a6afb70c61e51762a2a6 Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Wed, 30 Mar 2011 17:30:09 +0200
|
||||
Subject: [PATCH 08/23] configure: Fail when the user attempts to compile
|
||||
shared and static libs
|
||||
|
||||
There are some issues with libtool breaking the possibility to build both
|
||||
types of libraries in one shot. Compile libraries separately.
|
||||
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
configure.in | 10 ++++++++++
|
||||
1 files changed, 10 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/configure.in b/configure.in
|
||||
index e33e629..7ee0ccc 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -71,6 +71,16 @@ AC_SUBST(LIBTOOL_VERSION_INFO)
|
||||
|
||||
test "x$prefix" = xNONE && prefix=$ac_default_prefix
|
||||
|
||||
+dnl Do not build static and shared libraries together
|
||||
+if test "$enable_static" = "$enable_shared" -a "$enable_static" = "yes"; then
|
||||
+cat <<EOF
|
||||
+ Please, do not try to compile static and shared libraries together.
|
||||
+ See INSTALL file for more details (do not use --enable-shared=yes with
|
||||
+ --enable-static=yes).
|
||||
+EOF
|
||||
+ exit 1
|
||||
+fi
|
||||
+
|
||||
dnl ALSA configuration directory
|
||||
AC_ARG_WITH(configdir,
|
||||
AS_HELP_STRING([--with-configdir=dir],
|
||||
--
|
||||
1.7.5.3
|
||||
|
@ -0,0 +1,37 @@
|
||||
From 83059ee52570856ac41330ab70e5d7383a846cbb Mon Sep 17 00:00:00 2001
|
||||
From: Takashi Iwai <tiwai@suse.de>
|
||||
Date: Wed, 6 Apr 2011 08:34:56 +0200
|
||||
Subject: [PATCH 09/23] Mark Heaphone {Center|LFE} control of emu10k1 conf as
|
||||
optional
|
||||
|
||||
The controls referred in center_lfe definition in EMU10K1.conf should be
|
||||
marked as optional since some boards don't have these.
|
||||
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
src/conf/cards/EMU10K1.conf | 2 ++
|
||||
1 files changed, 2 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/src/conf/cards/EMU10K1.conf b/src/conf/cards/EMU10K1.conf
|
||||
index 7a7ebf5..956e163 100644
|
||||
--- a/src/conf/cards/EMU10K1.conf
|
||||
+++ b/src/conf/cards/EMU10K1.conf
|
||||
@@ -108,6 +108,7 @@ EMU10K1.pcm.center_lfe.0 {
|
||||
index 1
|
||||
preserve true
|
||||
# lock true
|
||||
+ optional true
|
||||
value true
|
||||
}
|
||||
{
|
||||
@@ -115,6 +116,7 @@ EMU10K1.pcm.center_lfe.0 {
|
||||
index 1
|
||||
preserve true
|
||||
# lock true
|
||||
+ optional true
|
||||
value true
|
||||
}
|
||||
# if you have a creative's digital receiver, you can get surround/center/lfe
|
||||
--
|
||||
1.7.5.3
|
||||
|
31
0010-Fix-typo-in-comment-in-surround71.conf.patch
Normal file
31
0010-Fix-typo-in-comment-in-surround71.conf.patch
Normal file
@ -0,0 +1,31 @@
|
||||
From 780f30ab1a104e4f2a72f4c7cc2ed3ed0e3725e8 Mon Sep 17 00:00:00 2001
|
||||
From: David Henningsson <david.henningsson@canonical.com>
|
||||
Date: Tue, 19 Apr 2011 08:05:08 +0200
|
||||
Subject: [PATCH 10/23] Fix typo in comment in surround71.conf
|
||||
|
||||
BugLink: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=591318
|
||||
Reported-by: Ariel <asdebian@dsgml.com>
|
||||
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
src/conf/pcm/surround71.conf | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/conf/pcm/surround71.conf b/src/conf/pcm/surround71.conf
|
||||
index eb2360b..076a97d 100644
|
||||
--- a/src/conf/pcm/surround71.conf
|
||||
+++ b/src/conf/pcm/surround71.conf
|
||||
@@ -7,8 +7,8 @@
|
||||
# chn3 - rear right
|
||||
# chn4 - center
|
||||
# chn5 - lfe
|
||||
-# chn7 - side left
|
||||
-# chn8 - side right
|
||||
+# chn6 - side left
|
||||
+# chn7 - side right
|
||||
#
|
||||
|
||||
pcm.!surround71 {
|
||||
--
|
||||
1.7.5.3
|
||||
|
@ -0,0 +1,57 @@
|
||||
From 7ed19bbc9a0150f1b3973de46aa4dfac6b9ed211 Mon Sep 17 00:00:00 2001
|
||||
From: Raymond Yau <superquad.vortex2@gmail.com>
|
||||
Date: Wed, 20 Apr 2011 16:18:50 +0800
|
||||
Subject: [PATCH 11/23] test/latency: print error message when 2 periods per
|
||||
buffer not supported
|
||||
|
||||
Print error message when playback/capture does not support 2 periods
|
||||
per buffer.
|
||||
|
||||
Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
test/latency.c | 18 +++++++++++++++---
|
||||
1 files changed, 15 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/test/latency.c b/test/latency.c
|
||||
index 03d65a2..e9bc6d8 100644
|
||||
--- a/test/latency.c
|
||||
+++ b/test/latency.c
|
||||
@@ -175,6 +175,7 @@ int setparams(snd_pcm_t *phandle, snd_pcm_t *chandle, int *bufsize)
|
||||
snd_pcm_sw_params_t *p_swparams, *c_swparams;
|
||||
snd_pcm_uframes_t p_size, c_size, p_psize, c_psize;
|
||||
unsigned int p_time, c_time;
|
||||
+ unsigned int val;
|
||||
|
||||
snd_pcm_hw_params_alloca(&p_params);
|
||||
snd_pcm_hw_params_alloca(&c_params);
|
||||
@@ -226,12 +227,23 @@ int setparams(snd_pcm_t *phandle, snd_pcm_t *chandle, int *bufsize)
|
||||
goto __again;
|
||||
|
||||
snd_pcm_hw_params_get_buffer_size(p_params, &p_size);
|
||||
- if (p_psize * 2 < p_size)
|
||||
+ if (p_psize * 2 < p_size) {
|
||||
+ snd_pcm_hw_params_get_periods_min(p_params, &val, NULL);
|
||||
+ if (val > 2) {
|
||||
+ printf("playback device does not support 2 periods per buffer\n");
|
||||
+ exit(0);
|
||||
+ }
|
||||
goto __again;
|
||||
+ }
|
||||
snd_pcm_hw_params_get_buffer_size(c_params, &c_size);
|
||||
- if (c_psize * 2 < c_size)
|
||||
+ if (c_psize * 2 < c_size) {
|
||||
+ snd_pcm_hw_params_get_periods_min(c_params, &val, NULL);
|
||||
+ if (val > 2 ) {
|
||||
+ printf("capture device does not support 2 periods per buffer\n");
|
||||
+ exit(0);
|
||||
+ }
|
||||
goto __again;
|
||||
-
|
||||
+ }
|
||||
if ((err = setparams_set(phandle, p_params, p_swparams, "playback")) < 0) {
|
||||
printf("Unable to set sw parameters for playback stream: %s\n", snd_strerror(err));
|
||||
exit(0);
|
||||
--
|
||||
1.7.5.3
|
||||
|
111
0012-EMU10K1.conf-Don-t-lock-hook-controls.patch
Normal file
111
0012-EMU10K1.conf-Don-t-lock-hook-controls.patch
Normal file
@ -0,0 +1,111 @@
|
||||
From 16f716eadd61be80b28839396105c020e401294c Mon Sep 17 00:00:00 2001
|
||||
From: Takashi Iwai <tiwai@suse.de>
|
||||
Date: Wed, 20 Apr 2011 14:32:06 +0200
|
||||
Subject: [PATCH 12/23] EMU10K1.conf: Don't lock hook controls
|
||||
|
||||
Locking the controls in hooks causes a BUSY error when multiple
|
||||
streams are opened, typically in PulseAudio. Better not to touch
|
||||
the locking in hooks in such a case.
|
||||
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
src/conf/cards/EMU10K1.conf | 20 ++++++++++----------
|
||||
1 files changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/conf/cards/EMU10K1.conf b/src/conf/cards/EMU10K1.conf
|
||||
index 956e163..b537864 100644
|
||||
--- a/src/conf/cards/EMU10K1.conf
|
||||
+++ b/src/conf/cards/EMU10K1.conf
|
||||
@@ -21,7 +21,7 @@ EMU10K1.pcm.front.0 {
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
- lock true
|
||||
+ # lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
|
||||
}
|
||||
@@ -29,7 +29,7 @@ EMU10K1.pcm.front.0 {
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
- lock true
|
||||
+ # lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
|
||||
}
|
||||
@@ -37,7 +37,7 @@ EMU10K1.pcm.front.0 {
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
- lock true
|
||||
+ # lock true
|
||||
optional true
|
||||
value [ 8 9 0 0 8 9 0 0 8 9 0 0 ]
|
||||
}
|
||||
@@ -45,7 +45,7 @@ EMU10K1.pcm.front.0 {
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
- lock true
|
||||
+ # lock true
|
||||
optional true
|
||||
value [ 8 9 0 0 8 9 0 0 8 9 0 0 ]
|
||||
}
|
||||
@@ -72,7 +72,7 @@ EMU10K1.pcm.rear.0 {
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
- lock true
|
||||
+ # lock true
|
||||
optional true
|
||||
value [ 0 0 255 255 0 0 255 0 0 0 0 255 ]
|
||||
}
|
||||
@@ -80,7 +80,7 @@ EMU10K1.pcm.rear.0 {
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
- lock true
|
||||
+ # lock true
|
||||
optional true
|
||||
value [ 0 0 255 255 0 0 255 0 0 0 0 255 ]
|
||||
}
|
||||
@@ -133,7 +133,7 @@ EMU10K1.pcm.center_lfe.0 {
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
- lock true
|
||||
+ # lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
|
||||
}
|
||||
@@ -141,7 +141,7 @@ EMU10K1.pcm.center_lfe.0 {
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
- lock true
|
||||
+ # lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
|
||||
}
|
||||
@@ -149,7 +149,7 @@ EMU10K1.pcm.center_lfe.0 {
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
- lock true
|
||||
+ # lock true
|
||||
optional true
|
||||
value [ 6 7 0 0 6 7 0 0 6 7 0 0 ]
|
||||
}
|
||||
@@ -157,7 +157,7 @@ EMU10K1.pcm.center_lfe.0 {
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
- lock true
|
||||
+ # lock true
|
||||
optional true
|
||||
value [ 6 7 0 0 6 7 0 0 6 7 0 0 ]
|
||||
}
|
||||
--
|
||||
1.7.5.3
|
||||
|
@ -0,0 +1,46 @@
|
||||
From 6bb36928b114e27dcfeeddceabc3241e0fe1d921 Mon Sep 17 00:00:00 2001
|
||||
From: Raymond Yau <superquad.vortex2@gmail.com>
|
||||
Date: Sun, 24 Apr 2011 11:56:44 +0800
|
||||
Subject: [PATCH 13/23] HDA-Intel.conf - Fix low mic volume due to pulseaudio
|
||||
using "front" device for playback and capture
|
||||
|
||||
Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
src/conf/cards/HDA-Intel.conf | 19 +++++++++++++------
|
||||
1 files changed, 13 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/conf/cards/HDA-Intel.conf b/src/conf/cards/HDA-Intel.conf
|
||||
index f7eecb4..bc82dbf 100644
|
||||
--- a/src/conf/cards/HDA-Intel.conf
|
||||
+++ b/src/conf/cards/HDA-Intel.conf
|
||||
@@ -9,13 +9,20 @@ HDA-Intel.pcm.front.0 {
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
- type softvol
|
||||
- slave.pcm {
|
||||
- type hw
|
||||
- card $CARD
|
||||
+ type asym
|
||||
+ playback.pcm {
|
||||
+ type softvol
|
||||
+ slave.pcm {
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ }
|
||||
+ control {
|
||||
+ name "PCM Playback Volume"
|
||||
+ card $CARD
|
||||
+ }
|
||||
}
|
||||
- control {
|
||||
- name "PCM Playback Volume"
|
||||
+ capture.pcm {
|
||||
+ type hw
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
--
|
||||
1.7.5.3
|
||||
|
120
0014-alsa-lib-fixed-coverity-reported-issues-under-FORWAR.patch
Normal file
120
0014-alsa-lib-fixed-coverity-reported-issues-under-FORWAR.patch
Normal file
@ -0,0 +1,120 @@
|
||||
From 808ce5deb3550e522a0c3087f1c851bdf87d3464 Mon Sep 17 00:00:00 2001
|
||||
From: Sudarshan Bisht <sudarshan.bisht@nokia.com>
|
||||
Date: Tue, 12 Apr 2011 13:09:45 +0300
|
||||
Subject: [PATCH 14/23] alsa-lib: fixed coverity reported issues under
|
||||
"FORWARD_NULL" checker.
|
||||
|
||||
Coverity Static Analysis helps developers find hard-to-spot,
|
||||
yet potentially crash-causing defects early in the development phase,
|
||||
reducing the cost,time, and risk of software errors.
|
||||
|
||||
This patch has fix for situations where variable can be NULL
|
||||
but not been checked beforehand
|
||||
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
modules/mixer/simple/sbasedl.c | 2 +-
|
||||
src/conf.c | 1 +
|
||||
src/hwdep/hwdep.c | 1 +
|
||||
src/pcm/pcm_hooks.c | 1 +
|
||||
src/pcm/pcm_simple.c | 2 +-
|
||||
src/rawmidi/rawmidi.c | 1 +
|
||||
src/rawmidi/rawmidi_virt.c | 8 +++++---
|
||||
7 files changed, 11 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/modules/mixer/simple/sbasedl.c b/modules/mixer/simple/sbasedl.c
|
||||
index 0137586..494802f 100644
|
||||
--- a/modules/mixer/simple/sbasedl.c
|
||||
+++ b/modules/mixer/simple/sbasedl.c
|
||||
@@ -99,7 +99,7 @@ int mixer_simple_basic_dlopen(snd_mixer_class_t *class,
|
||||
__error:
|
||||
if (initflag)
|
||||
free(priv);
|
||||
- if (h == NULL)
|
||||
+ if (h)
|
||||
snd_dlclose(h);
|
||||
free(xlib);
|
||||
return -ENXIO;
|
||||
diff --git a/src/conf.c b/src/conf.c
|
||||
index 8939d62..ddefff6 100644
|
||||
--- a/src/conf.c
|
||||
+++ b/src/conf.c
|
||||
@@ -3268,6 +3268,7 @@ static int snd_config_hooks_call(snd_config_t *root, snd_config_t *config, snd_c
|
||||
snd_config_iterator_t i, next;
|
||||
if (snd_config_get_type(func_conf) != SND_CONFIG_TYPE_COMPOUND) {
|
||||
SNDERR("Invalid type for func %s definition", str);
|
||||
+ err = -EINVAL;
|
||||
goto _err;
|
||||
}
|
||||
snd_config_for_each(i, next, func_conf) {
|
||||
diff --git a/src/hwdep/hwdep.c b/src/hwdep/hwdep.c
|
||||
index b882b35..5dc791c 100644
|
||||
--- a/src/hwdep/hwdep.c
|
||||
+++ b/src/hwdep/hwdep.c
|
||||
@@ -78,6 +78,7 @@ static int snd_hwdep_open_conf(snd_hwdep_t **hwdep,
|
||||
if (err >= 0) {
|
||||
if (snd_config_get_type(type_conf) != SND_CONFIG_TYPE_COMPOUND) {
|
||||
SNDERR("Invalid type for HWDEP type %s definition", str);
|
||||
+ err = -EINVAL;
|
||||
goto _err;
|
||||
}
|
||||
snd_config_for_each(i, next, type_conf) {
|
||||
diff --git a/src/pcm/pcm_hooks.c b/src/pcm/pcm_hooks.c
|
||||
index 3a99d55..404d51e 100644
|
||||
--- a/src/pcm/pcm_hooks.c
|
||||
+++ b/src/pcm/pcm_hooks.c
|
||||
@@ -385,6 +385,7 @@ static int snd_pcm_hook_add_conf(snd_pcm_t *pcm, snd_config_t *root, snd_config_
|
||||
if (err >= 0) {
|
||||
if (snd_config_get_type(type) != SND_CONFIG_TYPE_COMPOUND) {
|
||||
SNDERR("Invalid type for PCM type %s definition", str);
|
||||
+ err = -EINVAL;
|
||||
goto _err;
|
||||
}
|
||||
snd_config_for_each(i, next, type) {
|
||||
diff --git a/src/pcm/pcm_simple.c b/src/pcm/pcm_simple.c
|
||||
index 975f699..f943ec0 100644
|
||||
--- a/src/pcm/pcm_simple.c
|
||||
+++ b/src/pcm/pcm_simple.c
|
||||
@@ -89,7 +89,7 @@ static int set_hw_params(snd_pcm_t *pcm,
|
||||
return err;
|
||||
if (periods == 1)
|
||||
return -EINVAL;
|
||||
- if (*period_time == 0) {
|
||||
+ if (period_time) {
|
||||
err = INTERNAL(snd_pcm_hw_params_get_period_time)(hw_params, period_time, NULL);
|
||||
if (err < 0)
|
||||
return err;
|
||||
diff --git a/src/rawmidi/rawmidi.c b/src/rawmidi/rawmidi.c
|
||||
index b28488a..0bd6b96 100644
|
||||
--- a/src/rawmidi/rawmidi.c
|
||||
+++ b/src/rawmidi/rawmidi.c
|
||||
@@ -201,6 +201,7 @@ static int snd_rawmidi_open_conf(snd_rawmidi_t **inputp, snd_rawmidi_t **outputp
|
||||
if (err >= 0) {
|
||||
if (snd_config_get_type(type_conf) != SND_CONFIG_TYPE_COMPOUND) {
|
||||
SNDERR("Invalid type for RAWMIDI type %s definition", str);
|
||||
+ err = -EINVAL;
|
||||
goto _err;
|
||||
}
|
||||
snd_config_for_each(i, next, type_conf) {
|
||||
diff --git a/src/rawmidi/rawmidi_virt.c b/src/rawmidi/rawmidi_virt.c
|
||||
index 52b8984..e5b17e4 100644
|
||||
--- a/src/rawmidi/rawmidi_virt.c
|
||||
+++ b/src/rawmidi/rawmidi_virt.c
|
||||
@@ -383,9 +383,11 @@ int snd_rawmidi_virtual_open(snd_rawmidi_t **inputp, snd_rawmidi_t **outputp,
|
||||
_err:
|
||||
if (seq_handle)
|
||||
snd_seq_close(seq_handle);
|
||||
- if (virt->midi_event)
|
||||
- snd_midi_event_free(virt->midi_event);
|
||||
- free(virt);
|
||||
+ if (virt) {
|
||||
+ if (virt->midi_event)
|
||||
+ snd_midi_event_free(virt->midi_event);
|
||||
+ free(virt);
|
||||
+ }
|
||||
if (inputp)
|
||||
free(*inputp);
|
||||
if (outputp)
|
||||
--
|
||||
1.7.5.3
|
||||
|
37
0015-Fix-compile-warnings.patch
Normal file
37
0015-Fix-compile-warnings.patch
Normal file
@ -0,0 +1,37 @@
|
||||
From 75194776a79ddd23b764138dc7c3a2e224b439a0 Mon Sep 17 00:00:00 2001
|
||||
From: Takashi Iwai <tiwai@suse.de>
|
||||
Date: Wed, 4 May 2011 09:14:29 +0200
|
||||
Subject: [PATCH 15/23] Fix compile warnings
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
strstr() returns a char pointer
|
||||
|
||||
simple_none.c: In function ‘base_len’:
|
||||
simple_none.c:940:33: warning: ordered comparison of pointer with integer zero
|
||||
simple_none.c:941:29: warning: ordered comparison of pointer with integer zero
|
||||
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
src/mixer/simple_none.c | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/mixer/simple_none.c b/src/mixer/simple_none.c
|
||||
index 395e4d6..b11e9e8 100644
|
||||
--- a/src/mixer/simple_none.c
|
||||
+++ b/src/mixer/simple_none.c
|
||||
@@ -937,8 +937,8 @@ static int base_len(const char *name, selem_ctl_type_t *type)
|
||||
*type = CTL_CAPTURE_ROUTE;
|
||||
return strlen(name);
|
||||
}
|
||||
- if (strstr(name, "3D Control") > 0) {
|
||||
- if (strstr(name, "Depth") > 0) {
|
||||
+ if (strstr(name, "3D Control")) {
|
||||
+ if (strstr(name, "Depth")) {
|
||||
*type = CTL_PLAYBACK_VOLUME;
|
||||
return strlen(name);
|
||||
}
|
||||
--
|
||||
1.7.5.3
|
||||
|
41
0016-Fix-printf-for-size_t.patch
Normal file
41
0016-Fix-printf-for-size_t.patch
Normal file
@ -0,0 +1,41 @@
|
||||
From 6bef13e251200a36dc818f0b40a4a414a93f7553 Mon Sep 17 00:00:00 2001
|
||||
From: Takashi Iwai <tiwai@suse.de>
|
||||
Date: Wed, 4 May 2011 09:19:09 +0200
|
||||
Subject: [PATCH 16/23] Fix printf for size_t
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Need to use z prefix for size_t type.
|
||||
|
||||
midiloop.c: In function ‘main’:
|
||||
midiloop.c:172:2: warning: format ‘%i’ expects type ‘int’, but argument 2 has type ‘size_t’
|
||||
....
|
||||
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
test/midiloop.c | 8 ++++----
|
||||
1 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/test/midiloop.c b/test/midiloop.c
|
||||
index 31fbcd3..ee2e563 100644
|
||||
--- a/test/midiloop.c
|
||||
+++ b/test/midiloop.c
|
||||
@@ -169,10 +169,10 @@ int main(int argc, char** argv)
|
||||
err = snd_rawmidi_status(handle_out, ostat);
|
||||
if (err < 0)
|
||||
fprintf(stderr, "output stream status error: %d\n", err);
|
||||
- printf("input.status.avail = %i\n", snd_rawmidi_status_get_avail(istat));
|
||||
- printf("input.status.xruns = %i\n", snd_rawmidi_status_get_xruns(istat));
|
||||
- printf("output.status.avail = %i\n", snd_rawmidi_status_get_avail(ostat));
|
||||
- printf("output.status.xruns = %i\n", snd_rawmidi_status_get_xruns(ostat));
|
||||
+ printf("input.status.avail = %zi\n", snd_rawmidi_status_get_avail(istat));
|
||||
+ printf("input.status.xruns = %zi\n", snd_rawmidi_status_get_xruns(istat));
|
||||
+ printf("output.status.avail = %zi\n", snd_rawmidi_status_get_avail(ostat));
|
||||
+ printf("output.status.xruns = %zi\n", snd_rawmidi_status_get_xruns(ostat));
|
||||
|
||||
diff = timediff(end, start);
|
||||
printf("Time diff: %Liusec (%Li bytes/sec)\n", diff, ((long long)opos * 1000000) / diff);
|
||||
--
|
||||
1.7.5.3
|
||||
|
45
0018-UCM-fix-memory-leak-when-executing-cset-commands.patch
Normal file
45
0018-UCM-fix-memory-leak-when-executing-cset-commands.patch
Normal file
@ -0,0 +1,45 @@
|
||||
From 516569bbba7eb0e03f2892a67d8559c4d0bcd17a Mon Sep 17 00:00:00 2001
|
||||
From: Baek Chang <breakchange@gmail.com>
|
||||
Date: Tue, 3 May 2011 10:52:34 -0700
|
||||
Subject: [PATCH 18/23] UCM: fix memory leak when executing cset commands
|
||||
|
||||
fix memory leak when executing cset commands.
|
||||
snd_ctl_elem's are allocated, but never free'ed
|
||||
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
src/ucm/main.c | 11 ++++++++++-
|
||||
1 files changed, 10 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/src/ucm/main.c b/src/ucm/main.c
|
||||
index 86f29e3..f8ceeeb 100644
|
||||
--- a/src/ucm/main.c
|
||||
+++ b/src/ucm/main.c
|
||||
@@ -173,7 +173,8 @@ static int execute_cset(snd_ctl_t *ctl, char *cset)
|
||||
pos = strrchr(cset, ' ');
|
||||
if (pos == NULL) {
|
||||
uc_error("undefined value for cset >%s<", cset);
|
||||
- return -EINVAL;
|
||||
+ err = -EINVAL;
|
||||
+ goto __fail;
|
||||
}
|
||||
*pos = '\0';
|
||||
err = snd_ctl_ascii_elem_id_parse(id, cset);
|
||||
@@ -196,6 +197,14 @@ static int execute_cset(snd_ctl_t *ctl, char *cset)
|
||||
err = 0;
|
||||
__fail:
|
||||
*pos = ' ';
|
||||
+
|
||||
+ if (id != NULL)
|
||||
+ free(id);
|
||||
+ if (value != NULL)
|
||||
+ free(value);
|
||||
+ if (info != NULL)
|
||||
+ free(info);
|
||||
+
|
||||
return err;
|
||||
}
|
||||
|
||||
--
|
||||
1.7.5.3
|
||||
|
@ -0,0 +1,31 @@
|
||||
From 922ff0da833e726054df2fc87abdc201fbc5e21b Mon Sep 17 00:00:00 2001
|
||||
From: Takashi Iwai <tiwai@suse.de>
|
||||
Date: Mon, 9 May 2011 14:11:22 +0200
|
||||
Subject: [PATCH 19/23] Specficy subdevice 0 for front/surround* of
|
||||
HDA-Intel.conf
|
||||
|
||||
The subdevice 0 is used for multi-channel outputs.
|
||||
This fixes the detection of multi-channel devices of VIA codecs
|
||||
by PulseAudio.
|
||||
|
||||
Reported-by: Raymond Yau <superquad.vortex2@gmail.com>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
src/conf/cards/HDA-Intel.conf | 1 +
|
||||
1 files changed, 1 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/src/conf/cards/HDA-Intel.conf b/src/conf/cards/HDA-Intel.conf
|
||||
index bc82dbf..d4f2667 100644
|
||||
--- a/src/conf/cards/HDA-Intel.conf
|
||||
+++ b/src/conf/cards/HDA-Intel.conf
|
||||
@@ -15,6 +15,7 @@ HDA-Intel.pcm.front.0 {
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
+ subdevice 0
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
--
|
||||
1.7.5.3
|
||||
|
322
0020-emu10k1.conf-Fix-no-sound-problem-when-using-SB-Live.patch
Normal file
322
0020-emu10k1.conf-Fix-no-sound-problem-when-using-SB-Live.patch
Normal file
@ -0,0 +1,322 @@
|
||||
From ea020c3b2e678f2a29df468ec7da09f9d5785194 Mon Sep 17 00:00:00 2001
|
||||
From: Raymond Yau <superquad.vortex2@gmail.com>
|
||||
Date: Fri, 13 May 2011 10:40:28 +0800
|
||||
Subject: [PATCH 20/23] emu10k1.conf - Fix no sound problem when using SB
|
||||
Live! Platinum
|
||||
|
||||
Add asym to front, rear and center_lfe to prevent route change after
|
||||
removed the lock.
|
||||
|
||||
After removed the lock, when application using "hw", "front", "rear",
|
||||
"surround40" and "surround51", the route of the front channel is
|
||||
changed (lost right channel or both channels) when other application
|
||||
using "front", "rear" or "center_lfe" to record
|
||||
|
||||
Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
src/conf/cards/EMU10K1.conf | 267 ++++++++++++++++++++++--------------------
|
||||
1 files changed, 140 insertions(+), 127 deletions(-)
|
||||
|
||||
diff --git a/src/conf/cards/EMU10K1.conf b/src/conf/cards/EMU10K1.conf
|
||||
index b537864..706da0a 100644
|
||||
--- a/src/conf/cards/EMU10K1.conf
|
||||
+++ b/src/conf/cards/EMU10K1.conf
|
||||
@@ -9,48 +9,55 @@ EMU10K1.pcm.front.0 {
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
- type hooks
|
||||
- slave.pcm {
|
||||
+ type asym
|
||||
+ playback.pcm {
|
||||
+ type hooks
|
||||
+ slave.pcm {
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ }
|
||||
+ hooks.0 {
|
||||
+ type ctl_elems
|
||||
+ hook_args [
|
||||
+ {
|
||||
+ interface PCM
|
||||
+ name "EMU10K1 PCM Send Volume"
|
||||
+ index { @func private_pcm_subdevice }
|
||||
+ # lock true
|
||||
+ optional true
|
||||
+ value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
|
||||
+ }
|
||||
+ {
|
||||
+ # for compatibility with older drivers
|
||||
+ name "EMU10K1 PCM Send Volume"
|
||||
+ index { @func private_pcm_subdevice }
|
||||
+ # lock true
|
||||
+ optional true
|
||||
+ value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
|
||||
+ }
|
||||
+ {
|
||||
+ interface PCM
|
||||
+ name "EMU10K1 PCM Send Routing"
|
||||
+ index { @func private_pcm_subdevice }
|
||||
+ # lock true
|
||||
+ optional true
|
||||
+ value [ 8 9 0 0 8 9 0 0 8 9 0 0 ]
|
||||
+ }
|
||||
+ {
|
||||
+ # for compatibility with older drivers
|
||||
+ name "EMU10K1 PCM Send Routing"
|
||||
+ index { @func private_pcm_subdevice }
|
||||
+ # lock true
|
||||
+ optional true
|
||||
+ value [ 8 9 0 0 8 9 0 0 8 9 0 0 ]
|
||||
+ }
|
||||
+ ]
|
||||
+ }
|
||||
+ }
|
||||
+ capture.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
- hooks.0 {
|
||||
- type ctl_elems
|
||||
- hook_args [
|
||||
- {
|
||||
- interface PCM
|
||||
- name "EMU10K1 PCM Send Volume"
|
||||
- index { @func private_pcm_subdevice }
|
||||
- # lock true
|
||||
- optional true
|
||||
- value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
|
||||
- }
|
||||
- {
|
||||
- # for compatibility with older drivers
|
||||
- name "EMU10K1 PCM Send Volume"
|
||||
- index { @func private_pcm_subdevice }
|
||||
- # lock true
|
||||
- optional true
|
||||
- value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
|
||||
- }
|
||||
- {
|
||||
- interface PCM
|
||||
- name "EMU10K1 PCM Send Routing"
|
||||
- index { @func private_pcm_subdevice }
|
||||
- # lock true
|
||||
- optional true
|
||||
- value [ 8 9 0 0 8 9 0 0 8 9 0 0 ]
|
||||
- }
|
||||
- {
|
||||
- # for compatibility with older drivers
|
||||
- name "EMU10K1 PCM Send Routing"
|
||||
- index { @func private_pcm_subdevice }
|
||||
- # lock true
|
||||
- optional true
|
||||
- value [ 8 9 0 0 8 9 0 0 8 9 0 0 ]
|
||||
- }
|
||||
- ]
|
||||
- }
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
@@ -60,31 +67,34 @@ EMU10K1.pcm.rear.0 {
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
- type hooks
|
||||
- slave.pcm {
|
||||
- type hw
|
||||
- card $CARD
|
||||
- }
|
||||
- hooks.0 {
|
||||
- type ctl_elems
|
||||
- hook_args [
|
||||
- {
|
||||
- interface PCM
|
||||
- name "EMU10K1 PCM Send Volume"
|
||||
- index { @func private_pcm_subdevice }
|
||||
- # lock true
|
||||
- optional true
|
||||
- value [ 0 0 255 255 0 0 255 0 0 0 0 255 ]
|
||||
- }
|
||||
- {
|
||||
- # for compatibility with older drivers
|
||||
- name "EMU10K1 PCM Send Volume"
|
||||
- index { @func private_pcm_subdevice }
|
||||
- # lock true
|
||||
- optional true
|
||||
- value [ 0 0 255 255 0 0 255 0 0 0 0 255 ]
|
||||
- }
|
||||
- ]
|
||||
+ type asym
|
||||
+ playback.pcm {
|
||||
+ type hooks
|
||||
+ slave.pcm {
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ }
|
||||
+ hooks.0 {
|
||||
+ type ctl_elems
|
||||
+ hook_args [
|
||||
+ {
|
||||
+ interface PCM
|
||||
+ name "EMU10K1 PCM Send Volume"
|
||||
+ index { @func private_pcm_subdevice }
|
||||
+ # lock true
|
||||
+ optional true
|
||||
+ value [ 0 0 255 255 0 0 255 0 0 0 0 255 ]
|
||||
+ }
|
||||
+ {
|
||||
+ # for compatibility with older drivers
|
||||
+ name "EMU10K1 PCM Send Volume"
|
||||
+ index { @func private_pcm_subdevice }
|
||||
+ # lock true
|
||||
+ optional true
|
||||
+ value [ 0 0 255 255 0 0 255 0 0 0 0 255 ]
|
||||
+ }
|
||||
+ ]
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,73 +105,76 @@ EMU10K1.pcm.center_lfe.0 {
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
- type hooks
|
||||
- slave.pcm {
|
||||
- type hw
|
||||
- card $CARD
|
||||
- }
|
||||
- hooks.0 {
|
||||
- type ctl_elems
|
||||
- hook_args [
|
||||
- {
|
||||
- name "Headphone Center Playback Switch"
|
||||
- index 1
|
||||
- preserve true
|
||||
- # lock true
|
||||
- optional true
|
||||
- value true
|
||||
- }
|
||||
- {
|
||||
- name "Headphone LFE Playback Switch"
|
||||
- index 1
|
||||
- preserve true
|
||||
- # lock true
|
||||
- optional true
|
||||
- value true
|
||||
- }
|
||||
+ type asym
|
||||
+ playback.pcm {
|
||||
+ type hooks
|
||||
+ slave.pcm {
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ }
|
||||
+ hooks.0 {
|
||||
+ type ctl_elems
|
||||
+ hook_args [
|
||||
+ {
|
||||
+ name "Headphone Center Playback Switch"
|
||||
+ index 1
|
||||
+ preserve true
|
||||
+ # lock true
|
||||
+ optional true
|
||||
+ value true
|
||||
+ }
|
||||
+ {
|
||||
+ name "Headphone LFE Playback Switch"
|
||||
+ index 1
|
||||
+ preserve true
|
||||
+ # lock true
|
||||
+ optional true
|
||||
+ value true
|
||||
+ }
|
||||
# if you have a creative's digital receiver, you can get surround/center/lfe
|
||||
# output through the digital jack. so, the following is commented out.
|
||||
# pay attention in case of analog output from the shared center/digital
|
||||
# jack!
|
||||
-# {
|
||||
-# name "SB Live Analog/Digital Output Jack"
|
||||
-# preserve true
|
||||
-# lock true
|
||||
-# value 0
|
||||
-# }
|
||||
- {
|
||||
- interface PCM
|
||||
- name "EMU10K1 PCM Send Volume"
|
||||
- index { @func private_pcm_subdevice }
|
||||
- # lock true
|
||||
- optional true
|
||||
- value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
|
||||
- }
|
||||
- {
|
||||
- # for compatibility with older drivers
|
||||
- name "EMU10K1 PCM Send Volume"
|
||||
- index { @func private_pcm_subdevice }
|
||||
- # lock true
|
||||
- optional true
|
||||
- value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
|
||||
- }
|
||||
- {
|
||||
- interface PCM
|
||||
- name "EMU10K1 PCM Send Routing"
|
||||
- index { @func private_pcm_subdevice }
|
||||
- # lock true
|
||||
- optional true
|
||||
- value [ 6 7 0 0 6 7 0 0 6 7 0 0 ]
|
||||
- }
|
||||
- {
|
||||
- # for compatibility with older drivers
|
||||
- name "EMU10K1 PCM Send Routing"
|
||||
- index { @func private_pcm_subdevice }
|
||||
- # lock true
|
||||
- optional true
|
||||
- value [ 6 7 0 0 6 7 0 0 6 7 0 0 ]
|
||||
- }
|
||||
- ]
|
||||
+# {
|
||||
+# name "SB Live Analog/Digital Output Jack"
|
||||
+# preserve true
|
||||
+# lock true
|
||||
+# value 0
|
||||
+# }
|
||||
+ {
|
||||
+ interface PCM
|
||||
+ name "EMU10K1 PCM Send Volume"
|
||||
+ index { @func private_pcm_subdevice }
|
||||
+ # lock true
|
||||
+ optional true
|
||||
+ value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
|
||||
+ }
|
||||
+ {
|
||||
+ # for compatibility with older drivers
|
||||
+ name "EMU10K1 PCM Send Volume"
|
||||
+ index { @func private_pcm_subdevice }
|
||||
+ # lock true
|
||||
+ optional true
|
||||
+ value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
|
||||
+ }
|
||||
+ {
|
||||
+ interface PCM
|
||||
+ name "EMU10K1 PCM Send Routing"
|
||||
+ index { @func private_pcm_subdevice }
|
||||
+ # lock true
|
||||
+ optional true
|
||||
+ value [ 6 7 0 0 6 7 0 0 6 7 0 0 ]
|
||||
+ }
|
||||
+ {
|
||||
+ # for compatibility with older drivers
|
||||
+ name "EMU10K1 PCM Send Routing"
|
||||
+ index { @func private_pcm_subdevice }
|
||||
+ # lock true
|
||||
+ optional true
|
||||
+ value [ 6 7 0 0 6 7 0 0 6 7 0 0 ]
|
||||
+ }
|
||||
+ ]
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
1.7.5.3
|
||||
|
38
0021-ctlparse-Respect-softfloat-configure-option.patch
Normal file
38
0021-ctlparse-Respect-softfloat-configure-option.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From 1720d30ad82ebb8b5f52fc08c6c610e51203fa89 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Stein <a.stein@systec-electronic.com>
|
||||
Date: Thu, 19 May 2011 15:16:36 +0200
|
||||
Subject: [PATCH 21/23] ctlparse: Respect softfloat configure option
|
||||
|
||||
If we want softlfoat we can't use ceil which uses libm.
|
||||
|
||||
Signed-off-by: Alexander Stein <a.stein@systec-electronic.com>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
src/control/ctlparse.c | 9 +++++++++
|
||||
1 files changed, 9 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/src/control/ctlparse.c b/src/control/ctlparse.c
|
||||
index a929816..a16f96a 100644
|
||||
--- a/src/control/ctlparse.c
|
||||
+++ b/src/control/ctlparse.c
|
||||
@@ -33,8 +33,17 @@
|
||||
|
||||
/* Function to convert from percentage to volume. val = percentage */
|
||||
|
||||
+#ifdef HAVE_SOFT_FLOAT
|
||||
+static inline long int convert_prange1(long val, long min, long max)
|
||||
+{
|
||||
+ long temp = val * (max - min);
|
||||
+ return temp / 100 + min + ((temp % 100) == 0 ? 0 : 1);
|
||||
+}
|
||||
+#else
|
||||
+
|
||||
#define convert_prange1(val, min, max) \
|
||||
ceil((val) * ((max) - (min)) * 0.01 + (min))
|
||||
+#endif
|
||||
|
||||
#define check_range(val, min, max) \
|
||||
((val < min) ? (min) : ((val > max) ? (max) : (val)))
|
||||
--
|
||||
1.7.5.3
|
||||
|
30
0022-UCM-Fix-typo-in-error-message.patch
Normal file
30
0022-UCM-Fix-typo-in-error-message.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From 0a2fd2d38677c48443a1c9b1aba8c432c3b6bd96 Mon Sep 17 00:00:00 2001
|
||||
From: Stephen Warren <swarren@nvidia.com>
|
||||
Date: Thu, 2 Jun 2011 16:44:38 -0600
|
||||
Subject: [PATCH 22/23] UCM: Fix typo in error message
|
||||
|
||||
parse_name_is_safe disallows dots in the name, so not is the correct
|
||||
word to use
|
||||
|
||||
Signed-off-by: Stephen Warren <swarren@nvidia.com>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
src/ucm/parser.c | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/src/ucm/parser.c b/src/ucm/parser.c
|
||||
index 38fdba0..f7de9bd 100644
|
||||
--- a/src/ucm/parser.c
|
||||
+++ b/src/ucm/parser.c
|
||||
@@ -62,7 +62,7 @@ int parse_string(snd_config_t *n, char **res)
|
||||
int parse_is_name_safe(char *name)
|
||||
{
|
||||
if (strchr(name, '.')) {
|
||||
- uc_error("char '.' now allowed in '%s'", name);
|
||||
+ uc_error("char '.' not allowed in '%s'", name);
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
--
|
||||
1.7.5.3
|
||||
|
35
0023-UCM-Fix-deadlock-following-failed-get-_verb.patch
Normal file
35
0023-UCM-Fix-deadlock-following-failed-get-_verb.patch
Normal file
@ -0,0 +1,35 @@
|
||||
From 0a4b1ee746c1cfbfdfe586ce5f97b047fcad09f8 Mon Sep 17 00:00:00 2001
|
||||
From: Stephen Warren <swarren@nvidia.com>
|
||||
Date: Thu, 2 Jun 2011 16:44:39 -0600
|
||||
Subject: [PATCH 23/23] UCM: Fix deadlock following failed get _verb
|
||||
|
||||
When querying the current verb without a verb set, snd_use_case_get bails
|
||||
out early without unlocking uc_mgr->mutex. This causes subsequent API calls
|
||||
to hang. Instead, s/return/goto __end/.
|
||||
|
||||
Signed-off-by: Stephen Warren <swarren@nvidia.com>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
src/ucm/main.c | 6 ++++--
|
||||
1 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/ucm/main.c b/src/ucm/main.c
|
||||
index f8ceeeb..fb4aa91 100644
|
||||
--- a/src/ucm/main.c
|
||||
+++ b/src/ucm/main.c
|
||||
@@ -1132,8 +1132,10 @@ int snd_use_case_get(snd_use_case_mgr_t *uc_mgr,
|
||||
}
|
||||
err = 0;
|
||||
} else if (strcmp(identifier, "_verb") == 0) {
|
||||
- if (uc_mgr->active_verb == NULL)
|
||||
- return -ENOENT;
|
||||
+ if (uc_mgr->active_verb == NULL) {
|
||||
+ err = -ENOENT;
|
||||
+ goto __end;
|
||||
+ }
|
||||
*value = strdup(uc_mgr->active_verb->name);
|
||||
if (*value == NULL) {
|
||||
err = -ENOMEM;
|
||||
--
|
||||
1.7.5.3
|
||||
|
32
alsa.changes
32
alsa.changes
@ -1,3 +1,35 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 3 14:10:02 CEST 2011 - tiwai@suse.de
|
||||
|
||||
- Backport alsa-lib fixes from upstream:
|
||||
0001-Fix-alsa-lib-to-regard-3D-control-Depth-as-Playback-.patch
|
||||
0002-alsa-lib-add-LaCie-Firewire-Speakers-Griffin-FireWav.patch
|
||||
0003-alsa-lib-ucm-allow-values-to-be-read-from-devices.patch
|
||||
0004-UCM-comment-fixes-and-fix-myvalue-initialization-fix.patch
|
||||
0005-UCM-Fix-empty-get_list-initialize-returned-pointer-t.patch
|
||||
0006-Conf-Fix-channels-of-ICE1712-to-10-12.patch
|
||||
0007-UCM-Fix-LGPL-licence-how-to-receive-part-referred-GP.patch
|
||||
0008-configure-Fail-when-the-user-attempts-to-compile-sha.patch
|
||||
0009-Mark-Heaphone-Center-LFE-control-of-emu10k1-conf-as-.patch
|
||||
0010-Fix-typo-in-comment-in-surround71.conf.patch
|
||||
0011-test-latency-print-error-message-when-2-periods-per-.patch
|
||||
0012-EMU10K1.conf-Don-t-lock-hook-controls.patch
|
||||
0013-HDA-Intel.conf-Fix-low-mic-volume-due-to-pulseaudio-.patch
|
||||
0014-alsa-lib-fixed-coverity-reported-issues-under-FORWAR.patch
|
||||
0015-Fix-compile-warnings.patch
|
||||
0016-Fix-printf-for-size_t.patch
|
||||
0018-UCM-fix-memory-leak-when-executing-cset-commands.patch
|
||||
0019-Specficy-subdevice-0-for-front-surround-of-HDA-Intel.patch
|
||||
0020-emu10k1.conf-Fix-no-sound-problem-when-using-SB-Live.patch
|
||||
0021-ctlparse-Respect-softfloat-configure-option.patch
|
||||
0022-UCM-Fix-typo-in-error-message.patch
|
||||
0023-UCM-Fix-deadlock-following-failed-get-_verb.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 21 18:03:06 CEST 2011 - tiwai@suse.de
|
||||
|
||||
- Fix the wrong path-name check in the previous fix (bnc#684542)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 31 15:05:48 CEST 2011 - tiwai@suse.de
|
||||
|
||||
|
48
alsa.spec
48
alsa.spec
@ -52,7 +52,29 @@ Source32: all_notes_off.mid
|
||||
Source33: alsa-info.sh
|
||||
Source34: alsa-init.sh
|
||||
# Patch: alsa-lib-git-fixes.diff
|
||||
Patch1: alsa-lib-doxygen-avoid-crash-for-11.3.diff
|
||||
Patch1: 0001-Fix-alsa-lib-to-regard-3D-control-Depth-as-Playback-.patch
|
||||
Patch2: 0002-alsa-lib-add-LaCie-Firewire-Speakers-Griffin-FireWav.patch
|
||||
Patch3: 0003-alsa-lib-ucm-allow-values-to-be-read-from-devices.patch
|
||||
Patch4: 0004-UCM-comment-fixes-and-fix-myvalue-initialization-fix.patch
|
||||
Patch5: 0005-UCM-Fix-empty-get_list-initialize-returned-pointer-t.patch
|
||||
Patch6: 0006-Conf-Fix-channels-of-ICE1712-to-10-12.patch
|
||||
Patch7: 0007-UCM-Fix-LGPL-licence-how-to-receive-part-referred-GP.patch
|
||||
Patch8: 0008-configure-Fail-when-the-user-attempts-to-compile-sha.patch
|
||||
Patch9: 0009-Mark-Heaphone-Center-LFE-control-of-emu10k1-conf-as-.patch
|
||||
Patch10: 0010-Fix-typo-in-comment-in-surround71.conf.patch
|
||||
Patch11: 0011-test-latency-print-error-message-when-2-periods-per-.patch
|
||||
Patch12: 0012-EMU10K1.conf-Don-t-lock-hook-controls.patch
|
||||
Patch13: 0013-HDA-Intel.conf-Fix-low-mic-volume-due-to-pulseaudio-.patch
|
||||
Patch14: 0014-alsa-lib-fixed-coverity-reported-issues-under-FORWAR.patch
|
||||
Patch15: 0015-Fix-compile-warnings.patch
|
||||
Patch16: 0016-Fix-printf-for-size_t.patch
|
||||
Patch18: 0018-UCM-fix-memory-leak-when-executing-cset-commands.patch
|
||||
Patch19: 0019-Specficy-subdevice-0-for-front-surround-of-HDA-Intel.patch
|
||||
Patch20: 0020-emu10k1.conf-Fix-no-sound-problem-when-using-SB-Live.patch
|
||||
Patch21: 0021-ctlparse-Respect-softfloat-configure-option.patch
|
||||
Patch22: 0022-UCM-Fix-typo-in-error-message.patch
|
||||
Patch23: 0023-UCM-Fix-deadlock-following-failed-get-_verb.patch
|
||||
Patch99: alsa-lib-doxygen-avoid-crash-for-11.3.diff
|
||||
Url: http://www.alsa-project.org/
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
@ -128,8 +150,30 @@ Authors:
|
||||
%prep
|
||||
%setup -q -n alsa-lib-%{package_version}
|
||||
# %patch -p1
|
||||
%if %suse_version == 1130
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch15 -p1
|
||||
%patch16 -p1
|
||||
%patch18 -p1
|
||||
%patch19 -p1
|
||||
%patch20 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
%patch23 -p1
|
||||
%if %suse_version == 1130
|
||||
%patch99 -p1
|
||||
%endif
|
||||
# hack to fix build on older distros
|
||||
%if %suse_version < 1100
|
||||
|
@ -90,7 +90,7 @@ for i in /etc/alsa.d/volume/*; do
|
||||
case "$i" in
|
||||
*~|*.bak|*.rpm*)
|
||||
;;
|
||||
[0-9]*)
|
||||
/etc/alsa.d/volume/[0-9]*)
|
||||
"$i" "$@"
|
||||
esac
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user