Hello community, here is the log from the commit of package alsa checked in at Thu Jul 5 00:34:50 CEST 2007. -------- --- alsa/alsa.changes 2007-06-20 15:10:45.000000000 +0200 +++ /mounts/work_src_done/STABLE/alsa/alsa.changes 2007-07-04 10:21:19.000000000 +0200 @@ -1,0 +2,7 @@ +Wed Jul 4 10:20:38 CEST 2007 - tiwai@suse.de + +- fix the build of lfloat plugin +- allow big-endian with i386/x86-64 dmix +- fix ppc mac configurations for qemu + +------------------------------------------------------------------- New: ---- alsa-lib-hg-fixes.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ alsa.spec ++++++ --- /var/tmp/diff_new_pack.c24357/_old 2007-07-05 00:32:56.000000000 +0200 +++ /var/tmp/diff_new_pack.c24357/_new 2007-07-05 00:32:56.000000000 +0200 @@ -13,7 +13,7 @@ Name: alsa BuildRequires: doxygen %define package_version 1.0.14a -License: GNU General Public License (GPL) +License: GPL v2 or later Group: System/Libraries Requires: alsa-utils Recommends: alsa-plugins alsa-oss @@ -21,7 +21,7 @@ Autoreqprov: on Summary: Advanced Linux Sound Architecture Version: 1.0.14 -Release: 8 +Release: 10 Source: ftp://ftp.alsa-project.org/pub/lib/alsa-lib-%{package_version}.tar.bz2 Source8: 40-alsa.rules Source11: alsasound @@ -35,7 +35,7 @@ Source30: all_notes_off Source31: all_notes_off.bin Source32: all_notes_off.mid -# Patch: alsa-lib-hg-fixes.diff +Patch: alsa-lib-hg-fixes.diff URL: http://www.alsa-project.org/ BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -56,7 +56,7 @@ %package devel Summary: Include Files and Libraries mandatory for Development Group: Development/Libraries/C and C++ -License: GNU Library General Public License v. 2.0 and 2.1 (LGPL) +License: LGPL v2 or later Requires: glibc-devel, libasound2 = %{version} Obsoletes: alsadev Provides: alsadev alsa-lib-devel @@ -77,7 +77,7 @@ %package docs Summary: Additional Package Documentation Group: Documentation/Other -License: GNU General Public License (GPL) +License: GPL v2 or later %description docs This package contains optional documentation provided in addition to @@ -96,7 +96,7 @@ Summary: Advanced Linux Sound Architecture Library Group: System/Libraries Provides: alsa-lib -License: GNU Library General Public License v. 2.0 and 2.1 (LGPL) +License: LGPL v2 or later %description -n libasound2 This package contains the library for ALSA, Advanced Linux Sound @@ -113,7 +113,7 @@ %prep %setup -q -n alsa-lib-%{package_version} -# %patch -p1 +%patch -p1 %{?suse_update_config:%{suse_update_config -f .}} %build @@ -254,6 +254,10 @@ %{_datadir}/alsa %changelog +* Wed Jul 04 2007 - tiwai@suse.de +- fix the build of lfloat plugin +- allow big-endian with i386/x86-64 dmix +- fix ppc mac configurations for qemu * Wed Jun 20 2007 - tiwai@suse.de - add missing insserv_cleanup in postun - add Short-Descriptions tag in init scripts ++++++ alsa-lib-hg-fixes.diff ++++++ diff -r 9005d28a1f9e configure.in --- a/configure.in Mon Jun 11 10:52:17 2007 +0200 +++ b/configure.in Wed Jul 04 10:19:59 2007 +0200 @@ -414,7 +414,7 @@ if test "$HAVE_LIBPTHREAD" != "yes"; the build_pcm_share="no" fi -if test "$softfloat" != "yes"; then +if test "$softfloat" = "yes"; then build_pcm_lfloat="no" fi diff -r 9005d28a1f9e src/conf/cards/PMac.conf --- a/src/conf/cards/PMac.conf Mon Jun 11 10:52:17 2007 +0200 +++ b/src/conf/cards/PMac.conf Wed Jul 04 10:19:59 2007 +0200 @@ -24,14 +24,14 @@ PMac.pcm.default { type plug slave.pcm { @func concat - strings [ "dmix:CARD=" $CARD ",FORMAT=S16" ] + strings [ "dmix:CARD=" $CARD ",FORMAT=S16_BE" ] } } capture.pcm { type plug slave.pcm { @func concat - strings [ "dsnoop:CARD=" $CARD ",FORMAT=S16" ] + strings [ "dsnoop:CARD=" $CARD ",FORMAT=S16_BE" ] } } } diff -r 9005d28a1f9e src/conf/cards/PMacToonie.conf --- a/src/conf/cards/PMacToonie.conf Mon Jun 11 10:52:17 2007 +0200 +++ b/src/conf/cards/PMacToonie.conf Wed Jul 04 10:19:59 2007 +0200 @@ -33,7 +33,7 @@ PMacToonie.pcm.default { type softvol slave.pcm { @func concat - strings [ "dmix:CARD=" $CARD ",FORMAT=S16" ] + strings [ "dmix:CARD=" $CARD ",FORMAT=S16_BE" ] } control { name "PCM Playback Volume" @@ -45,7 +45,7 @@ PMacToonie.pcm.default { type plug slave.pcm { @func concat - strings [ "dsnoop:CARD=" $CARD ",FORMAT=S16" ] + strings [ "dsnoop:CARD=" $CARD ",FORMAT=S16_BE" ] } } } diff -r 9005d28a1f9e src/pcm/pcm_dmix.c --- a/src/pcm/pcm_dmix.c Mon Jun 11 10:52:17 2007 +0200 +++ b/src/pcm/pcm_dmix.c Wed Jul 04 10:19:59 2007 +0200 @@ -139,12 +139,14 @@ static void dmix_server_free(snd_pcm_dir * FIXME: optimize it for different architectures */ +#include "pcm_dmix_generic.c" #if defined(__i386__) #include "pcm_dmix_i386.c" #elif defined(__x86_64__) #include "pcm_dmix_x86_64.c" #else -#include "pcm_dmix_generic.c" +#define mix_select_callbacks(x) generic_mix_select_callbacks(x) +#define dmix_supported_format generic_dmix_supported_format #endif static void mix_areas(snd_pcm_direct_t *dmix, diff -r 9005d28a1f9e src/pcm/pcm_dmix_generic.c --- a/src/pcm/pcm_dmix_generic.c Mon Jun 11 10:52:17 2007 +0200 +++ b/src/pcm/pcm_dmix_generic.c Wed Jul 04 10:19:59 2007 +0200 @@ -119,14 +119,14 @@ static void mix_select_callbacks(snd_pcm #else /* non-concurrent version, supporting both endians */ -static unsigned long long dmix_supported_format = - (1ULL << SND_PCM_FORMAT_S16_LE) | (1ULL << SND_PCM_FORMAT_S32_LE) | - (1ULL << SND_PCM_FORMAT_S16_BE) | (1ULL << SND_PCM_FORMAT_S32_BE) | - (1ULL << SND_PCM_FORMAT_S24_3LE); +#define generic_dmix_supported_format \ + ((1ULL << SND_PCM_FORMAT_S16_LE) | (1ULL << SND_PCM_FORMAT_S32_LE) |\ + (1ULL << SND_PCM_FORMAT_S16_BE) | (1ULL << SND_PCM_FORMAT_S32_BE) |\ + (1ULL << SND_PCM_FORMAT_S24_3LE)) #include <byteswap.h> -static void mix_areas1_native(unsigned int size, +static void generic_mix_areas1_native(unsigned int size, volatile signed short *dst, signed short *src, volatile signed int *sum, size_t dst_step, size_t src_step, size_t sum_step) @@ -155,7 +155,7 @@ static void mix_areas1_native(unsigned i } } -static void mix_areas2_native(unsigned int size, +static void generic_mix_areas2_native(unsigned int size, volatile signed int *dst, signed int *src, volatile signed int *sum, size_t dst_step, size_t src_step, size_t sum_step) @@ -186,7 +186,7 @@ static void mix_areas2_native(unsigned i } } -static void mix_areas1_swap(unsigned int size, +static void generic_mix_areas1_swap(unsigned int size, volatile signed short *dst, signed short *src, volatile signed int *sum, size_t dst_step, size_t src_step, size_t sum_step) @@ -215,7 +215,7 @@ static void mix_areas1_swap(unsigned int } } -static void mix_areas2_swap(unsigned int size, +static void generic_mix_areas2_swap(unsigned int size, volatile signed int *dst, signed int *src, volatile signed int *sum, size_t dst_step, size_t src_step, size_t sum_step) @@ -247,7 +247,7 @@ static void mix_areas2_swap(unsigned int } /* always little endian */ -static void mix_areas3(unsigned int size, +static void generic_mix_areas3(unsigned int size, volatile unsigned char *dst, unsigned char *src, volatile signed int *sum, size_t dst_step, size_t src_step, size_t sum_step) @@ -278,16 +278,16 @@ static void mix_areas3(unsigned int size } -static void mix_select_callbacks(snd_pcm_direct_t *dmix) +static void generic_mix_select_callbacks(snd_pcm_direct_t *dmix) { if (snd_pcm_format_cpu_endian(dmix->shmptr->s.format)) { - dmix->u.dmix.mix_areas1 = mix_areas1_native; - dmix->u.dmix.mix_areas2 = mix_areas2_native; + dmix->u.dmix.mix_areas1 = generic_mix_areas1_native; + dmix->u.dmix.mix_areas2 = generic_mix_areas2_native; } else { - dmix->u.dmix.mix_areas1 = mix_areas1_swap; - dmix->u.dmix.mix_areas2 = mix_areas2_swap; - } - dmix->u.dmix.mix_areas3 = mix_areas3; -} - -#endif + dmix->u.dmix.mix_areas1 = generic_mix_areas1_swap; + dmix->u.dmix.mix_areas2 = generic_mix_areas2_swap; + } + dmix->u.dmix.mix_areas3 = generic_mix_areas3; +} + +#endif diff -r 9005d28a1f9e src/pcm/pcm_dmix_i386.c --- a/src/pcm/pcm_dmix_i386.c Mon Jun 11 10:52:17 2007 +0200 +++ b/src/pcm/pcm_dmix_i386.c Wed Jul 04 10:19:59 2007 +0200 @@ -30,33 +30,45 @@ #undef MIX_AREAS3_CMOV #undef LOCK_PREFIX -static unsigned long long dmix_supported_format = - (1ULL << SND_PCM_FORMAT_S16_LE) | - (1ULL << SND_PCM_FORMAT_S32_LE) | - (1ULL << SND_PCM_FORMAT_S24_3LE); +#define i386_dmix_supported_format \ + ((1ULL << SND_PCM_FORMAT_S16_LE) |\ + (1ULL << SND_PCM_FORMAT_S32_LE) |\ + (1ULL << SND_PCM_FORMAT_S24_3LE)) + +#define dmix_supported_format \ + (i386_dmix_supported_format | generic_dmix_supported_format) static void mix_select_callbacks(snd_pcm_direct_t *dmix) { - FILE *in; - char line[255]; - int smp = 0, mmx = 0, cmov = 0; + static int smp = 0, mmx = 0, cmov = 0; + + if (!((1ULL<< dmix->shmptr->s.format) & i386_dmix_supported_format)) { + generic_mix_select_callbacks(dmix); + return; + } + + if (!smp) { + FILE *in; + char line[255]; - /* try to determine the capabilities of the CPU */ - in = fopen("/proc/cpuinfo", "r"); - if (in) { - while (!feof(in)) { - fgets(line, sizeof(line), in); - if (!strncmp(line, "processor", 9)) - smp++; - else if (!strncmp(line, "flags", 5)) { - if (strstr(line, " mmx")) - mmx = 1; - if (strstr(line, " cmov")) - cmov = 1; + /* try to determine the capabilities of the CPU */ + in = fopen("/proc/cpuinfo", "r"); + if (in) { + while (!feof(in)) { + fgets(line, sizeof(line), in); + if (!strncmp(line, "processor", 9)) + smp++; + else if (!strncmp(line, "flags", 5)) { + if (strstr(line, " mmx")) + mmx = 1; + if (strstr(line, " cmov")) + cmov = 1; + } } + fclose(in); } - fclose(in); } + if (mmx) { dmix->u.dmix.mix_areas1 = smp > 1 ? mix_areas1_smp_mmx : mix_areas1_mmx; } else { diff -r 9005d28a1f9e src/pcm/pcm_dmix_x86_64.c --- a/src/pcm/pcm_dmix_x86_64.c Mon Jun 11 10:52:17 2007 +0200 +++ b/src/pcm/pcm_dmix_x86_64.c Wed Jul 04 10:19:59 2007 +0200 @@ -22,26 +22,37 @@ #undef MIX_AREAS3 #undef LOCK_PREFIX -static unsigned long long dmix_supported_format = - (1ULL << SND_PCM_FORMAT_S16_LE) | - (1ULL << SND_PCM_FORMAT_S32_LE) | - (1ULL << SND_PCM_FORMAT_S24_3LE); +#define x86_64_dmix_supported_format \ + ((1ULL << SND_PCM_FORMAT_S16_LE) |\ + (1ULL << SND_PCM_FORMAT_S32_LE) |\ + (1ULL << SND_PCM_FORMAT_S24_3LE)) + +#define dmix_supported_format \ + (x86_64_dmix_supported_format | generic_dmix_supported_format) static void mix_select_callbacks(snd_pcm_direct_t *dmix) { - FILE *in; - char line[255]; - int smp = 0; + static int smp = 0; - /* try to determine, if we have SMP */ - in = fopen("/proc/cpuinfo", "r"); - if (in) { - while (!feof(in)) { - fgets(line, sizeof(line), in); - if (!strncmp(line, "processor", 9)) - smp++; + if (!((1ULL<< dmix->shmptr->s.format) & x86_64_dmix_supported_format)) { + generic_mix_select_callbacks(dmix); + return; + } + + if (!smp) { + FILE *in; + char line[255]; + + /* try to determine, if we have SMP */ + in = fopen("/proc/cpuinfo", "r"); + if (in) { + while (!feof(in)) { + fgets(line, sizeof(line), in); + if (!strncmp(line, "processor", 9)) + smp++; + } + fclose(in); } - fclose(in); } // printf("SMP: %i\n", smp); dmix->u.dmix.mix_areas1 = smp > 1 ? mix_areas1_smp : mix_areas1; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org