Hello community,

here is the log from the commit of package alsa for openSUSE:Factory
checked in at Fri Jul 29 16:48:16 CEST 2011.



--------
--- alsa/alsa.changes   2011-07-11 10:58:04.000000000 +0200
+++ /mounts/work_src_done/STABLE/alsa/alsa.changes      2011-07-27 
15:27:02.000000000 +0200
@@ -1,0 +2,10 @@
+Wed Jul 27 15:25:23 CEST 2011 - ti...@suse.de
+
+- Fix enumeration of default PCM in addition to sysdefault
+
+-------------------------------------------------------------------
+Tue Jul 26 15:42:37 CEST 2011 - ti...@suse.de
+
+- Add fallback PCM/control support (for pulse plugin)
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


New:
----
  0024-Define-sysdefault-PCM-and-control.patch
  0025-Add-snd_-ctl-pcm-_open_fallback-functions.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ alsa.spec ++++++
--- /var/tmp/diff_new_pack.gud76A/_old  2011-07-29 16:48:01.000000000 +0200
+++ /var/tmp/diff_new_pack.gud76A/_new  2011-07-29 16:48:01.000000000 +0200
@@ -34,7 +34,7 @@
 #
 Summary:        Advanced Linux Sound Architecture
 Version:        1.0.24.1
-Release:        14
+Release:        16
 Source:         
ftp://ftp.alsa-project.org/pub/lib/alsa-lib-%{package_version}.tar.bz2
 Source2:        baselibs.conf
 Source8:        40-alsa.rules
@@ -74,6 +74,8 @@
 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
+Patch24:        0024-Define-sysdefault-PCM-and-control.patch
+Patch25:        0025-Add-snd_-ctl-pcm-_open_fallback-functions.patch
 Patch99:        alsa-lib-doxygen-avoid-crash-for-11.3.diff
 Url:            http://www.alsa-project.org/
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -172,6 +174,8 @@
 %patch21 -p1
 %patch22 -p1
 %patch23 -p1
+%patch24 -p1
+%patch25 -p1
 %if %suse_version == 1130
 %patch99 -p1
 %endif

++++++ 0024-Define-sysdefault-PCM-and-control.patch ++++++
>From e6f990e5c9be5cac6f36924d20a75d0f69d27297 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <ti...@suse.de>
Date: Tue, 26 Jul 2011 13:05:53 +0200
Subject: [PATCH 1/2] Define "sysdefault" PCM and control

When "default" PCM and control definitions are overwritten by others
like PulseAudio setup, the original system-default defition is lost.
This is a problem when PA is temporarily (or intentionally) disabled
and user wants to use the default dmix.

This patch adds a new standard definition for the system-default,
"sysdefault".  This can be used for fallbacks.

Signed-off-by: Takashi Iwai <ti...@suse.de>
---
 src/conf/alsa.conf |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/conf/alsa.conf b/src/conf/alsa.conf
index 1889f01..a33c24e 100644
--- a/src/conf/alsa.conf
+++ b/src/conf/alsa.conf
@@ -119,6 +119,7 @@ defaults.timer.subdevice 0
 pcm.cards cards.pcm
 
 pcm.default cards.pcm.default
+pcm.sysdefault cards.pcm.default
 pcm.front cards.pcm.front
 pcm.rear cards.pcm.rear
 pcm.center_lfe cards.pcm.center_lfe
@@ -321,7 +322,7 @@ pcm.null {
 #  Control interface
 #
        
-ctl.default {
+ctl.sysdefault {
        type hw
        card {
                @func getenv
@@ -335,6 +336,7 @@ ctl.default {
                }
        }
 }
+ctl.default ctl.sysdefault
 
 ctl.hw {
        @args [ CARD ]
-- 
1.7.6

++++++ 0025-Add-snd_-ctl-pcm-_open_fallback-functions.patch ++++++
>From acb423d937111d682706169bcdcb58c70fdfa84d Mon Sep 17 00:00:00 2001
From: Takashi Iwai <ti...@suse.de>
Date: Tue, 26 Jul 2011 13:10:24 +0200
Subject: [PATCH 2/2] Add snd_{ctl|pcm}_open_fallback() functions

This patch adds new API functions, snd_ctl_open_fallback() and
snd_pcm_open_fallback().  These are just like snd_*_open_lconf() but
used to open a fallback PCM/control.  The difference is that it replaces
the name string with the given original name, so that hctl and other
upper-layers will recognize it as an alias.

Signed-off-by: Takashi Iwai <ti...@suse.de>
---
 include/control.h     |    1 +
 include/pcm.h         |    3 +++
 src/control/control.c |   22 ++++++++++++++++++++++
 src/pcm/pcm.c         |   24 ++++++++++++++++++++++++
 4 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/include/control.h b/include/control.h
index e8f38bb..f265e34 100644
--- a/include/control.h
+++ b/include/control.h
@@ -224,6 +224,7 @@ char *snd_device_name_get_hint(const void *hint, const char 
*id);
 
 int snd_ctl_open(snd_ctl_t **ctl, const char *name, int mode);
 int snd_ctl_open_lconf(snd_ctl_t **ctl, const char *name, int mode, 
snd_config_t *lconf);
+int snd_ctl_open_fallback(snd_ctl_t **ctl, snd_config_t *root, const char 
*name, const char *orig_name, int mode);
 int snd_ctl_close(snd_ctl_t *ctl);
 int snd_ctl_nonblock(snd_ctl_t *ctl, int nonblock);
 int snd_async_add_ctl_handler(snd_async_handler_t **handler, snd_ctl_t *ctl, 
diff --git a/include/pcm.h b/include/pcm.h
index 7243ffb..be355a9 100644
--- a/include/pcm.h
+++ b/include/pcm.h
@@ -410,6 +410,9 @@ int snd_pcm_open(snd_pcm_t **pcm, const char *name,
 int snd_pcm_open_lconf(snd_pcm_t **pcm, const char *name, 
                       snd_pcm_stream_t stream, int mode,
                       snd_config_t *lconf);
+int snd_pcm_open_fallback(snd_pcm_t **pcm, snd_config_t *root,
+                         const char *name, const char *orig_name,
+                         snd_pcm_stream_t stream, int mode);
 
 int snd_pcm_close(snd_pcm_t *pcm);
 const char *snd_pcm_name(snd_pcm_t *pcm);
diff --git a/src/control/control.c b/src/control/control.c
index 19e9389..cd17c6f 100644
--- a/src/control/control.c
+++ b/src/control/control.c
@@ -919,6 +919,28 @@ int snd_ctl_open_lconf(snd_ctl_t **ctlp, const char *name,
        return snd_ctl_open_noupdate(ctlp, lconf, name, mode);
 }
 
+/**
+ * \brief Opens a fallback CTL
+ * \param ctlp Returned CTL handle
+ * \param root Configuration root
+ * \param name ASCII identifier of the CTL handle used as fallback
+ * \param orig_name The original ASCII name
+ * \param mode Open mode (see #SND_CTL_NONBLOCK, #SND_CTL_ASYNC)
+ * \return 0 on success otherwise a negative error code
+ */
+int snd_ctl_open_fallback(snd_ctl_t **ctlp, snd_config_t *root,
+                         const char *name, const char *orig_name, int mode)
+{
+       int err;
+       assert(ctlp && name && root);
+       err = snd_ctl_open_noupdate(ctlp, root, name, mode);
+       if (err >= 0) {
+               free((*ctlp)->name);
+               (*ctlp)->name = orig_name ? strdup(orig_name) : NULL;
+       }
+       return err;
+}
+
 #ifndef DOC_HIDDEN
 #define TYPE(v) [SND_CTL_ELEM_TYPE_##v] = #v
 #define IFACE(v) [SND_CTL_ELEM_IFACE_##v] = #v
diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
index 02dea0d..12f8cd0 100644
--- a/src/pcm/pcm.c
+++ b/src/pcm/pcm.c
@@ -2259,6 +2259,30 @@ int snd_pcm_open_lconf(snd_pcm_t **pcmp, const char 
*name,
        return snd_pcm_open_noupdate(pcmp, lconf, name, stream, mode, 0);
 }
 
+/**
+ * \brief Opens a fallback PCM
+ * \param pcmp Returned PCM handle
+ * \param root Configuration root
+ * \param name ASCII identifier of the PCM handle
+ * \param orig_name The original ASCII name
+ * \param stream Wanted stream
+ * \param mode Open mode (see #SND_PCM_NONBLOCK, #SND_PCM_ASYNC)
+ * \return 0 on success otherwise a negative error code
+ */
+int snd_pcm_open_fallback(snd_pcm_t **pcmp, snd_config_t *root,
+                         const char *name, const char *orig_name,
+                         snd_pcm_stream_t stream, int mode)
+{
+       int err;
+       assert(pcmp && name && root);
+       err = snd_pcm_open_noupdate(pcmp, root, name, stream, mode, 0);
+       if (err >= 0) {
+               free((*pcmp)->name);
+               (*pcmp)->name = orig_name ? strdup(orig_name) : NULL;
+       }
+       return err;
+}
+
 #ifndef DOC_HIDDEN
 int snd_pcm_new(snd_pcm_t **pcmp, snd_pcm_type_t type, const char *name,
                snd_pcm_stream_t stream, int mode)
-- 
1.7.6





++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to