Hello community, here is the log from the commit of package alsa for openSUSE:Factory checked in at Thu Sep 10 14:30:21 CEST 2009. -------- --- alsa/alsa.changes 2009-08-31 16:23:56.000000000 +0200 +++ /mounts/work_src_done/STABLE/alsa/alsa.changes 2009-09-09 14:53:01.000000000 +0200 @@ -1,0 +2,11 @@ +Wed Sep 9 14:45:03 CEST 2009 - tiwai@suse.de + +- Fixes from upstream to fix conf parser error and audacious + problems: + * mixer: Add Speaker and Beep names to the weight list + * Revert "Fix driver conf parsing in snd_config_hook_load_for_all_cards()" + * Change dmix.conf to accept user configuration from defaults.dmix.<driver_id>.xxx + * PCM - Change the hw_params determination order +- Mark docs subpackage as noarch + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- alsa-lib-git-fixes.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ alsa.spec ++++++ --- /var/tmp/diff_new_pack.gAXjCv/_old 2009-09-10 14:29:54.000000000 +0200 +++ /var/tmp/diff_new_pack.gAXjCv/_new 2009-09-10 14:29:54.000000000 +0200 @@ -34,7 +34,7 @@ # Summary: Advanced Linux Sound Architecture Version: 1.0.21 -Release: 1 +Release: 2 Source: ftp://ftp.alsa-project.org/pub/lib/alsa-lib-%{package_version}.tar.bz2 Source8: 40-alsa.rules Source11: alsasound @@ -50,7 +50,7 @@ Source32: all_notes_off.mid Source33: alsa-info.sh Source34: alsa-init.sh -# Patch: alsa-lib-git-fixes.diff +Patch: alsa-lib-git-fixes.diff Url: http://www.alsa-project.org/ BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -91,6 +91,9 @@ Summary: Additional Package Documentation Group: Documentation/Other License: GPL v2 or later +%if %suse_version > 1110 +BuildArch: noarch +%endif %description docs This package contains optional documentation provided in addition to @@ -122,7 +125,7 @@ %prep %setup -q -n alsa-lib-%{package_version} -# %patch -p1 +%patch -p1 # hack to fix build on older distros %if %suse_version < 1100 %ifarch %ix86 ++++++ alsa-lib-git-fixes.diff ++++++ diff --git a/configure.in b/configure.in index e96058b..3cd6366 100644 --- a/configure.in +++ b/configure.in @@ -12,7 +12,7 @@ dnl add API = c+1:0:a+1 dnl remove API = c+1:0:0 dnl ************************************************* AC_CANONICAL_HOST -AM_INIT_AUTOMAKE(alsa-lib, 1.0.21) +AM_INIT_AUTOMAKE(alsa-lib, 1.0.21a) eval LIBTOOL_VERSION_INFO="2:0:0" dnl ************************************************* AM_CONDITIONAL(INSTALL_M4, test -n "${ACLOCAL}") diff --git a/src/conf.c b/src/conf.c index 3f0dfe1..570c90f 100644 --- a/src/conf.c +++ b/src/conf.c @@ -3477,8 +3477,9 @@ int snd_config_hook_load_for_all_cards(snd_config_t *root, snd_config_t *config, err = snd_determine_driver(card, &fdriver); if (err < 0) return err; - if (snd_config_search(root, fdriver, &n) >= 0 && - snd_config_get_string(n, &driver) >= 0) { + if (snd_config_search(root, fdriver, &n) >= 0) { + if (snd_config_get_string(n, &driver) < 0) + goto __err; assert(driver); while (1) { char *s = strchr(driver, '.'); diff --git a/src/conf/pcm/dmix.conf b/src/conf/pcm/dmix.conf index 4108ddb..e62cb29 100644 --- a/src/conf/pcm/dmix.conf +++ b/src/conf/pcm/dmix.conf @@ -63,12 +63,12 @@ pcm.!dmix { name { @func concat strings [ - "cards." + "defaults.dmix." { @func card_driver card $CARD } - ".pcm.dmix.period_size" + ".period_size" ] } default 1024 @@ -78,12 +78,12 @@ pcm.!dmix { name { @func concat strings [ - "cards." + "defaults.dmix." { @func card_driver card $CARD } - ".pcm.dmix.period_time" + ".period_time" ] } default -1 @@ -93,12 +93,12 @@ pcm.!dmix { name { @func concat strings [ - "cards." + "defaults.dmix." { @func card_driver card $CARD } - ".pcm.dmix.periods" + ".periods" ] } default 16 diff --git a/src/mixer/simple_none.c b/src/mixer/simple_none.c index 4802200..9259a08 100644 --- a/src/mixer/simple_none.c +++ b/src/mixer/simple_none.c @@ -134,6 +134,7 @@ static int get_compare_weight(const char *name, unsigned int idx) static const char *const names[] = { "Master", "Headphone", + "Speaker", "Tone", "Bass", "Treble", @@ -158,6 +159,7 @@ static int get_compare_weight(const char *name, unsigned int idx) "I2S", "IEC958", "PC Speaker", + "Beep", "Aux", "Mono", "Playback", diff --git a/src/pcm/pcm_params.c b/src/pcm/pcm_params.c index 80b3fd2..0e1c3fc 100644 --- a/src/pcm/pcm_params.c +++ b/src/pcm/pcm_params.c @@ -1081,6 +1081,7 @@ int snd_pcm_hw_param_never_eq(const snd_pcm_hw_params_t *params, static int snd_pcm_hw_params_choose(snd_pcm_t *pcm, snd_pcm_hw_params_t *params) { int err; + const char *compat = getenv("LIBASOUND_COMPAT"); #ifdef CHOOSE_DEBUG snd_output_t *log; snd_output_stdio_attach(&log, stderr, 0); @@ -1103,15 +1104,29 @@ static int snd_pcm_hw_params_choose(snd_pcm_t *pcm, snd_pcm_hw_params_t *params) err = snd_pcm_hw_param_set_first(pcm, params, SND_PCM_HW_PARAM_RATE, NULL, 0); if (err < 0) return err; - err = snd_pcm_hw_param_set_first(pcm, params, SND_PCM_HW_PARAM_PERIOD_TIME, NULL, 0); - if (err < 0) - return err; - err = snd_pcm_hw_param_set_first(pcm, params, SND_PCM_HW_PARAM_PERIOD_SIZE, NULL, 0); - if (err < 0) - return err; - err = snd_pcm_hw_param_set_last(pcm, params, SND_PCM_HW_PARAM_BUFFER_SIZE, NULL, 0); - if (err < 0) - return err; + if (compat && *compat) { + /* old mode */ + err = snd_pcm_hw_param_set_first(pcm, params, SND_PCM_HW_PARAM_PERIOD_TIME, NULL, 0); + if (err < 0) + return err; + err = snd_pcm_hw_param_set_first(pcm, params, SND_PCM_HW_PARAM_PERIOD_SIZE, NULL, 0); + if (err < 0) + return err; + err = snd_pcm_hw_param_set_last(pcm, params, SND_PCM_HW_PARAM_BUFFER_SIZE, NULL, 0); + if (err < 0) + return err; + } else { + /* determine buffer size first */ + err = snd_pcm_hw_param_set_last(pcm, params, SND_PCM_HW_PARAM_BUFFER_SIZE, NULL, 0); + if (err < 0) + return err; + err = snd_pcm_hw_param_set_first(pcm, params, SND_PCM_HW_PARAM_PERIOD_SIZE, NULL, 0); + if (err < 0) + return err; + err = snd_pcm_hw_param_set_first(pcm, params, SND_PCM_HW_PARAM_PERIOD_TIME, NULL, 0); + if (err < 0) + return err; + } err = snd_pcm_hw_param_set_first(pcm, params, SND_PCM_HW_PARAM_TICK_TIME, NULL, 0); if (err < 0) return err; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org