Hello community, here is the log from the commit of package alsa for openSUSE:Factory checked in at Thu Feb 19 17:35:31 CET 2009. -------- --- alsa/alsa.changes 2009-02-16 14:22:08.000000000 +0100 +++ alsa/alsa.changes 2009-02-17 17:04:06.000000000 +0100 @@ -1,0 +2,8 @@ +Tue Feb 17 17:02:38 CET 2009 - tiwai@suse.de + +- set the ctl numids properly with external plugins (bnc#462032) +- fix oxygen driver config (removal of softfloat again) +- increase the preallocated buffer size for HD-audio to improve + the performance of PA + +------------------------------------------------------------------- calling whatdependson for head-i586 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ alsa.spec ++++++ --- /var/tmp/diff_new_pack.Wa6437/_old 2009-02-19 17:32:53.000000000 +0100 +++ /var/tmp/diff_new_pack.Wa6437/_new 2009-02-19 17:32:53.000000000 +0100 @@ -34,7 +34,7 @@ # Summary: Advanced Linux Sound Architecture Version: 1.0.18 -Release: 15 +Release: 17 Source: ftp://ftp.alsa-project.org/pub/lib/alsa-lib-%{package_version}.tar.bz2 Source8: 40-alsa.rules Source11: alsasound @@ -244,6 +244,11 @@ %{_datadir}/alsa %changelog +* Tue Feb 17 2009 tiwai@suse.de +- set the ctl numids properly with external plugins (bnc#462032) +- fix oxygen driver config (removal of softfloat again) +- increase the preallocated buffer size for HD-audio to improve + the performance of PA * Mon Feb 16 2009 tiwai@suse.de - Fix HD-audio config file (bnc#469886) * Tue Feb 03 2009 tiwai@suse.de ++++++ alsa-init.sh ++++++ --- /var/tmp/diff_new_pack.Wa6437/_old 2009-02-19 17:32:53.000000000 +0100 +++ /var/tmp/diff_new_pack.Wa6437/_new 2009-02-19 17:32:53.000000000 +0100 @@ -2,5 +2,13 @@ # alsa-init card# /usr/bin/set_default_volume -f $1 >/dev/null 2>&1 -test -s /etc/asound.state && exec /usr/sbin/alsactl -F restore $1 >/dev/null 2>&1 +test -s /etc/asound.state && /usr/sbin/alsactl -F restore $1 >/dev/null 2>&1 +# increase buffer-preallocation size (for PA) +if [ -f /proc/asound/card$1/pcm0p/sub0/prealloc_max ]; then + pmax=$(< /proc/asound/card$1/pcm0p/sub0/prealloc_max) + if [ $pmax -gt 1024 ]; then + echo 1024 > /proc/asound/card$1/pcm0p/sub0/prealloc + fi +fi + exit 0 ++++++ alsa-lib-git-fixes.diff ++++++ --- /var/tmp/diff_new_pack.Wa6437/_old 2009-02-19 17:32:53.000000000 +0100 +++ /var/tmp/diff_new_pack.Wa6437/_new 2009-02-19 17:32:53.000000000 +0100 @@ -49,6 +49,37 @@ if BUILD_PYTHON smixer_python_la_SOURCES = python.c +diff --git a/src/conf/cards/CMI8788.conf b/src/conf/cards/CMI8788.conf +index 26910d5..0ca71e9 100644 +--- a/src/conf/cards/CMI8788.conf ++++ b/src/conf/cards/CMI8788.conf +@@ -13,7 +13,7 @@ CMI8788.pcm.front.0 { + card $CARD + } + +-# default with dmix+softvol & dsnoop ++# default with dmix & dsnoop + CMI8788.pcm.default { + @args [ CARD ] + @args.CARD { +@@ -23,15 +23,8 @@ CMI8788.pcm.default { + playback.pcm { + type plug + slave.pcm { +- type softvol +- slave.pcm { +- @func concat +- strings [ "dmix:" $CARD ",FORMAT=S32_LE" ] +- } +- control { +- name "PCM Playback Volume" +- card $CARD +- } ++ @func concat ++ strings [ "dmix:" $CARD ",FORMAT=S32_LE" ] + } + } + capture.pcm { diff --git a/src/conf/cards/GUS.conf b/src/conf/cards/GUS.conf index 80e3058..d744c54 100644 --- a/src/conf/cards/GUS.conf @@ -116,6 +147,62 @@ } confdir:pcm/surround40.conf +diff --git a/src/control/control_ext.c b/src/control/control_ext.c +index a8675c1..d1fe8ea 100644 +--- a/src/control/control_ext.c ++++ b/src/control/control_ext.c +@@ -107,6 +107,7 @@ static int snd_ctl_ext_elem_list(snd_ctl_t *handle, snd_ctl_elem_list_t *list) + ret = ext->callback->elem_list(ext, offset, ids); + if (ret < 0) + return ret; ++ ids->numid = offset + 1; /* fake number */ + list->used++; + offset++; + ids++; +@@ -114,13 +115,24 @@ static int snd_ctl_ext_elem_list(snd_ctl_t *handle, snd_ctl_elem_list_t *list) + return 0; + } + ++static snd_ctl_ext_key_t get_elem(snd_ctl_ext_t *ext, snd_ctl_elem_id_t *id) ++{ ++ int numid = id->numid; ++ if (numid > 0) { ++ ext->callback->elem_list(ext, numid - 1, id); ++ id->numid = numid; ++ } else ++ id->numid = 0; ++ return ext->callback->find_elem(ext, id); ++} ++ + static int snd_ctl_ext_elem_info(snd_ctl_t *handle, snd_ctl_elem_info_t *info) + { + snd_ctl_ext_t *ext = handle->private_data; + snd_ctl_ext_key_t key; + int type, ret; + +- key = ext->callback->find_elem(ext, &info->id); ++ key = get_elem(ext, &info->id); + if (key == SND_CTL_EXT_KEY_NOT_FOUND) + return -ENOENT; + ret = ext->callback->get_attribute(ext, key, &type, &info->access, &info->count); +@@ -200,7 +212,7 @@ static int snd_ctl_ext_elem_read(snd_ctl_t *handle, snd_ctl_elem_value_t *contro + int type, ret; + unsigned int access, count; + +- key = ext->callback->find_elem(ext, &control->id); ++ key = get_elem(ext, &control->id); + if (key == SND_CTL_EXT_KEY_NOT_FOUND) + return -ENOENT; + ret = ext->callback->get_attribute(ext, key, &type, &access, &count); +@@ -254,7 +266,7 @@ static int snd_ctl_ext_elem_write(snd_ctl_t *handle, snd_ctl_elem_value_t *contr + int type, ret; + unsigned int access, count; + +- key = ext->callback->find_elem(ext, &control->id); ++ key = get_elem(ext, &control->id); + if (key == SND_CTL_EXT_KEY_NOT_FOUND) + return -ENOENT; + ret = ext->callback->get_attribute(ext, key, &type, &access, &count); diff --git a/src/mixer/simple_none.c b/src/mixer/simple_none.c index 0f4dd3a..4802200 100644 --- a/src/mixer/simple_none.c ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org