Hello community,
here is the log from the commit of package alsa for openSUSE:Factory
checked in at Mon Jun 6 16:00:00 CEST 2011.
--------
--- alsa/alsa.changes 2011-04-01 17:10:20.000000000 +0200
+++ /mounts/work_src_done/STABLE/alsa/alsa.changes 2011-06-03 14:11:01.000000000 +0200
@@ -1,0 +2,32 @@
+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)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
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
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ alsa.spec ++++++
--- /var/tmp/diff_new_pack.9lq0uj/_old 2011-06-06 15:58:46.000000000 +0200
+++ /var/tmp/diff_new_pack.9lq0uj/_new 2011-06-06 15:58:46.000000000 +0200
@@ -34,7 +34,7 @@
#
Summary: Advanced Linux Sound Architecture
Version: 1.0.24.1
-Release: 10
+Release: 12
Source: ftp://ftp.alsa-project.org/pub/lib/alsa-lib-%{package_version}.tar.bz2
Source2: baselibs.conf
Source8: 40-alsa.rules
@@ -52,7 +52,29 @@
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 @@
%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
++++++ 0001-Fix-alsa-lib-to-regard-3D-control-Depth-as-Playback-.patch ++++++
From 886adf664b958aa28ccc6b06c552764069293f83 Mon Sep 17 00:00:00 2001
From: Raymond Yau
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
Signed-off-by: Takashi Iwai
---
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
++++++ 0002-alsa-lib-add-LaCie-Firewire-Speakers-Griffin-FireWav.patch ++++++
From 8650c02ae21b620fbe8d5e90bf5639e5a4a3f401 Mon Sep 17 00:00:00 2001
From: Clemens Ladisch
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
---
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
++++++ 0003-alsa-lib-ucm-allow-values-to-be-read-from-devices.patch ++++++
From ae0a44c628423d8eaec64d119511815d6884ab6b Mon Sep 17 00:00:00 2001
From: Margarita Olaya
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
Acked-by: Liam Girdwood
Signed-off-by: Takashi Iwai
---
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
++++++ 0004-UCM-comment-fixes-and-fix-myvalue-initialization-fix.patch ++++++
From 60397387eff7d8492df59d7a63a303f98e61b391 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela
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
---
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
++++++ 0005-UCM-Fix-empty-get_list-initialize-returned-pointer-t.patch ++++++
From f2912f5099e401cebacd33bd9da3d8318856e143 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela
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
---
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
++++++ 0006-Conf-Fix-channels-of-ICE1712-to-10-12.patch ++++++
From d3906a93072171e5b5f4000d4a228af4eb8fa253 Mon Sep 17 00:00:00 2001
From: David Henningsson
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
Signed-off-by: Jaroslav Kysela
---
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
++++++ 0007-UCM-Fix-LGPL-licence-how-to-receive-part-referred-GP.patch ++++++
From e419f63960a0c30c0263525b2db084b36c962d59 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela
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
---
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
++++++ 0008-configure-Fail-when-the-user-attempts-to-compile-sha.patch ++++++
From cd20fe3f4d93c06500f5a6afb70c61e51762a2a6 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela
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
From 83059ee52570856ac41330ab70e5d7383a846cbb Mon Sep 17 00:00:00 2001
From: Takashi Iwai
Date: Wed, 6 Apr 2011 08:34:56 +0200
Subject: [PATCH 09/23] Mark Heaphone {Center|LFE} control of emu10k1 conf as
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
---
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 <
---
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
++++++ 0010-Fix-typo-in-comment-in-surround71.conf.patch ++++++
From 780f30ab1a104e4f2a72f4c7cc2ed3ed0e3725e8 Mon Sep 17 00:00:00 2001
From: David Henningsson
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
Signed-off-by: David Henningsson
Signed-off-by: Jaroslav Kysela
---
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
++++++ 0011-test-latency-print-error-message-when-2-periods-per-.patch ++++++
From 7ed19bbc9a0150f1b3973de46aa4dfac6b9ed211 Mon Sep 17 00:00:00 2001
From: Raymond Yau
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
Signed-off-by: Takashi Iwai
---
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
++++++ 0012-EMU10K1.conf-Don-t-lock-hook-controls.patch ++++++
From 16f716eadd61be80b28839396105c020e401294c Mon Sep 17 00:00:00 2001
From: Takashi Iwai
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
---
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
++++++ 0013-HDA-Intel.conf-Fix-low-mic-volume-due-to-pulseaudio-.patch ++++++
From 6bb36928b114e27dcfeeddceabc3241e0fe1d921 Mon Sep 17 00:00:00 2001
From: Raymond Yau
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
Signed-off-by: Takashi Iwai
---
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
++++++ 0014-alsa-lib-fixed-coverity-reported-issues-under-FORWAR.patch ++++++
From 808ce5deb3550e522a0c3087f1c851bdf87d3464 Mon Sep 17 00:00:00 2001
From: Sudarshan Bisht
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
---
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
++++++ 0015-Fix-compile-warnings.patch ++++++
From 75194776a79ddd23b764138dc7c3a2e224b439a0 Mon Sep 17 00:00:00 2001
From: Takashi Iwai
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
---
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
++++++ 0016-Fix-printf-for-size_t.patch ++++++
From 6bef13e251200a36dc818f0b40a4a414a93f7553 Mon Sep 17 00:00:00 2001
From: Takashi Iwai
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
---
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
++++++ 0018-UCM-fix-memory-leak-when-executing-cset-commands.patch ++++++
From 516569bbba7eb0e03f2892a67d8559c4d0bcd17a Mon Sep 17 00:00:00 2001
From: Baek Chang
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
---
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
++++++ 0019-Specficy-subdevice-0-for-front-surround-of-HDA-Intel.patch ++++++
From 922ff0da833e726054df2fc87abdc201fbc5e21b Mon Sep 17 00:00:00 2001
From: Takashi Iwai
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
Signed-off-by: Takashi Iwai
---
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
++++++ 0020-emu10k1.conf-Fix-no-sound-problem-when-using-SB-Live.patch ++++++
From ea020c3b2e678f2a29df468ec7da09f9d5785194 Mon Sep 17 00:00:00 2001
From: Raymond Yau
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
Signed-off-by: Takashi Iwai
---
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
++++++ 0021-ctlparse-Respect-softfloat-configure-option.patch ++++++
From 1720d30ad82ebb8b5f52fc08c6c610e51203fa89 Mon Sep 17 00:00:00 2001
From: Alexander Stein
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
Signed-off-by: Takashi Iwai
---
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
++++++ 0022-UCM-Fix-typo-in-error-message.patch ++++++
From 0a2fd2d38677c48443a1c9b1aba8c432c3b6bd96 Mon Sep 17 00:00:00 2001
From: Stephen Warren
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
Signed-off-by: Jaroslav Kysela
---
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
++++++ 0023-UCM-Fix-deadlock-following-failed-get-_verb.patch ++++++
From 0a4b1ee746c1cfbfdfe586ce5f97b047fcad09f8 Mon Sep 17 00:00:00 2001
From: Stephen Warren
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
Signed-off-by: Jaroslav Kysela
---
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
++++++ set_default_volume ++++++
--- /var/tmp/diff_new_pack.9lq0uj/_old 2011-06-06 15:58:47.000000000 +0200
+++ /var/tmp/diff_new_pack.9lq0uj/_new 2011-06-06 15:58:47.000000000 +0200
@@ -90,7 +90,7 @@
case "$i" in
*~|*.bak|*.rpm*)
;;
- [0-9]*)
+ /etc/alsa.d/volume/[0-9]*)
"$i" "$@"
esac
fi
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org