Accepting request 81698 from multimedia:libs

OBS-URL: https://build.opensuse.org/request/show/81698
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/alsa?expand=0&rev=111
This commit is contained in:
Sascha Peilicke 2011-09-11 17:03:13 +00:00 committed by Git OBS Bridge
commit 70fa9a94e6
6 changed files with 156 additions and 0 deletions

View File

@ -0,0 +1,29 @@
From e31aaac5308216f89039cdfa016fe396f49e8fe7 Mon Sep 17 00:00:00 2001
From: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Date: Thu, 28 Jul 2011 23:24:25 +0200
Subject: [PATCH] Add RME RPM to HDSP_IO_Type.
The hdsp.c driver supports the RME RPM devices, but we also need this
information in alsa-lib for tools like hdsploader and hdspmixer.
Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
include/sound/hdsp.h | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/include/sound/hdsp.h b/include/sound/hdsp.h
index 0fc9e98..5adaf7b 100644
--- a/include/sound/hdsp.h
+++ b/include/sound/hdsp.h
@@ -28,6 +28,7 @@ typedef enum {
Multiface,
H9652,
H9632,
+ RPM,
Undefined,
} HDSP_IO_Type;
--
1.7.6.1

View File

@ -0,0 +1,31 @@
From 29880e8c66cfdc584e01aa549037f76b081b5019 Mon Sep 17 00:00:00 2001
From: Lu Guanqun <guanqun.lu@intel.com>
Date: Fri, 19 Aug 2011 16:05:25 +0800
Subject: [PATCH 1/3] ucm: fix seg fault in execute_cset()
When there's no space in 'cset', 'pos' gets NULL, dereferencing 'pos' gets a
seg fault. We need to be more robust.
Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
src/ucm/main.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/ucm/main.c b/src/ucm/main.c
index 8e9a85d..9ecbe43 100644
--- a/src/ucm/main.c
+++ b/src/ucm/main.c
@@ -196,7 +196,8 @@ static int execute_cset(snd_ctl_t *ctl, char *cset)
goto __fail;
err = 0;
__fail:
- *pos = ' ';
+ if (pos != NULL)
+ *pos = ' ';
if (id != NULL)
free(id);
--
1.7.6.1

View File

@ -0,0 +1,27 @@
From a97aa7f065ed4a7fc1879921a58c40954dc34316 Mon Sep 17 00:00:00 2001
From: Lu Guanqun <guanqun.lu@intel.com>
Date: Fri, 19 Aug 2011 16:05:30 +0800
Subject: [PATCH 2/3] ucm: tivial code style fix
Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
src/ucm/main.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/ucm/main.c b/src/ucm/main.c
index 9ecbe43..76ca151 100644
--- a/src/ucm/main.c
+++ b/src/ucm/main.c
@@ -173,7 +173,7 @@ static int execute_cset(snd_ctl_t *ctl, char *cset)
pos = strrchr(cset, ' ');
if (pos == NULL) {
uc_error("undefined value for cset >%s<", cset);
- err = -EINVAL;
+ err = -EINVAL;
goto __fail;
}
*pos = '\0';
--
1.7.6.1

View File

@ -0,0 +1,55 @@
From 26e80c2e32bd3a088b56a6ea4e30d5b8ccce9112 Mon Sep 17 00:00:00 2001
From: Lu Guanqun <guanqun.lu@intel.com>
Date: Mon, 22 Aug 2011 13:35:32 +0800
Subject: [PATCH 3/3] ucm: add another sequence 'msleep'
Thus, we have two sleep statements:
msleep <milliseconds>
usleep <microseconds>
Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
src/ucm/parser.c | 11 +++++++++++
src/ucm/ucm_local.h | 2 +-
2 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/src/ucm/parser.c b/src/ucm/parser.c
index 23b67bc..b93d832 100644
--- a/src/ucm/parser.c
+++ b/src/ucm/parser.c
@@ -316,6 +316,17 @@ static int parse_sequence(snd_use_case_mgr_t *uc_mgr ATTRIBUTE_UNUSED,
continue;
}
+ if (strcmp(cmd, "msleep") == 0) {
+ curr->type = SEQUENCE_ELEMENT_TYPE_SLEEP;
+ err = snd_config_get_integer(n, &curr->data.sleep);
+ if (err < 0) {
+ uc_error("error: msleep requires integer!");
+ return err;
+ }
+ curr->data.sleep *= 1000L;
+ continue;
+ }
+
if (strcmp(cmd, "exec") == 0) {
curr->type = SEQUENCE_ELEMENT_TYPE_EXEC;
err = parse_string(n, &curr->data.exec);
diff --git a/src/ucm/ucm_local.h b/src/ucm/ucm_local.h
index 0522bf5..03d3ace 100644
--- a/src/ucm/ucm_local.h
+++ b/src/ucm/ucm_local.h
@@ -57,7 +57,7 @@ struct sequence_element {
struct list_head list;
unsigned int type;
union {
- long sleep; /* Sleep time in msecs if sleep element, else 0 */
+ long sleep; /* Sleep time in microseconds if sleep element, else 0 */
char *cdev;
char *cset;
char *exec;
--
1.7.6.1

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Fri Aug 26 09:34:45 CEST 2011 - tiwai@suse.de
- backport upstream fixes: a few trivial fixes for UCM and the
addition of missing RDSPM types in the header
-------------------------------------------------------------------
Wed Jul 27 15:25:23 CEST 2011 - tiwai@suse.de

View File

@ -76,6 +76,10 @@ Patch22: 0022-UCM-Fix-typo-in-error-message.patch
Patch23: 0023-UCM-Fix-deadlock-following-failed-get-_verb.patch
Patch24: 0024-Define-sysdefault-PCM-and-control.patch
Patch25: 0025-Add-snd_-ctl-pcm-_open_fallback-functions.patch
Patch26: 0026-Add-RME-RPM-to-HDSP_IO_Type.patch
Patch27: 0027-ucm-fix-seg-fault-in-execute_cset.patch
Patch28: 0028-ucm-tivial-code-style-fix.patch
Patch29: 0029-ucm-add-another-sequence-msleep.patch
Patch99: alsa-lib-doxygen-avoid-crash-for-11.3.diff
Url: http://www.alsa-project.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -176,6 +180,10 @@ Authors:
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
%if %suse_version == 1130
%patch99 -p1
%endif