- 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 OBS-URL: https://build.opensuse.org/request/show/72599 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa?expand=0&rev=80
62 lines
2.0 KiB
Diff
62 lines
2.0 KiB
Diff
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
|
|
|