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 - tiwai@suse.de + +- Fix enumeration of default PCM in addition to sysdefault + +------------------------------------------------------------------- +Tue Jul 26 15:42:37 CEST 2011 - tiwai@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 <tiwai@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 <tiwai@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 <tiwai@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 <tiwai@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+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de