[alsa-cvslog] CVS: alsa-kernel/scripts ksync,1.30,1.31
Update of /cvsroot/alsa/alsa-kernel/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13277 Modified Files: ksync Log Message: exluded /kbuild directory Index: ksync === RCS file: /cvsroot/alsa/alsa-kernel/scripts/ksync,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- ksync 5 Feb 2004 15:37:50 - 1.30 +++ ksync 9 Feb 2004 08:42:54 - 1.31 @@ -53,7 +53,7 @@ # exclude some files or directories ALSA_EXCLUDE = ['/include/version.h'] -ALSA_EXCLUDE_DIR = ['/scripts', '/oss'] +ALSA_EXCLUDE_DIR = ['/scripts', '/oss', '/kbuild'] KERNEL_EXCLUDE = ['/COPYING', '/CREDITS', '/MAINTAINERS','/Makefile', '/README','/REPORTING-BUGS', --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn ___ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog
[alsa-cvslog] CVS: alsa-kernel/pci/ac97 ac97_patch.c,1.33,1.34
Update of /cvsroot/alsa/alsa-kernel/pci/ac97 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12868/pci/ac97 Modified Files: ac97_patch.c Log Message: - fixed the mic gpio switch handling on the old ALC650. - fixed the wrong register initialization on ALC655/658. Index: ac97_patch.c === RCS file: /cvsroot/alsa/alsa-kernel/pci/ac97/ac97_patch.c,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- ac97_patch.c26 Jan 2004 09:22:23 - 1.33 +++ ac97_patch.c9 Feb 2004 11:45:40 - 1.34 @@ -1014,8 +1014,7 @@ ucontrol-value.integer.value[0] ? (1 10) : 0); if (change) { /* GPIO0 write for mic */ -snd_ac97_update_bits(ac97, 0x76, 0x01, - ucontrol-value.integer.value[0] ? 0 : 0x01); +snd_ac97_update_bits(ac97, 0x76, 0x01, 0x01); /* GPIO0 high for mic */ snd_ac97_update_bits(ac97, 0x78, 0x100, ucontrol-value.integer.value[0] ? 0 : 0x100); @@ -1092,10 +1091,7 @@ mic_off = snd_ac97_read(ac97, AC97_ALC650_MULTICH) (1 10); /* GPIO0 direction */ val = snd_ac97_read(ac97, AC97_ALC650_GPIO_SETUP); - if (mic_off) - val = ~0x01; - else - val |= 0x01; + val |= 0x01; snd_ac97_write_cache(ac97, AC97_ALC650_GPIO_SETUP, val); val = snd_ac97_read(ac97, AC97_ALC650_GPIO_STATUS); if (mic_off) @@ -,10 +1107,36 @@ return 0; } +static int snd_ac97_alc655_mic_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t * ucontrol) +{ +ac97_t *ac97 = snd_kcontrol_chip(kcontrol); +ucontrol-value.integer.value[0] = (ac97-regs[AC97_ALC650_MULTICH] 10) 1; +return 0; +} + +static int snd_ac97_alc655_mic_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t * ucontrol) +{ +ac97_t *ac97 = snd_kcontrol_chip(kcontrol); +int change; + + snd_ac97_update_bits(ac97, 0x7a, 1 12, /* misc control; vrefout disable */ +ucontrol-value.integer.value[0] ? (1 12) : 0); + change = snd_ac97_update_bits(ac97, AC97_ALC650_MULTICH, 1 10, + ucontrol-value.integer.value[0] ? (1 10) : 0); + return change; +} + + static const snd_kcontrol_new_t snd_ac97_controls_alc655[] = { AC97_SINGLE(Duplicate Front, AC97_ALC650_MULTICH, 0, 1, 0), AC97_SINGLE(Line-In As Surround, AC97_ALC650_MULTICH, 9, 1, 0), - AC97_SINGLE(Mic As Center/LFE, AC97_ALC650_MULTICH, 10, 1, 0), + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = Mic As Center/LFE, + .info = snd_ac97_info_single, + .get = snd_ac97_alc655_mic_get, + .put = snd_ac97_alc655_mic_put, + }, }; static int alc655_iec958_route_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) @@ -1187,15 +1209,21 @@ int patch_alc655(ac97_t * ac97) { + unsigned int val; + ac97-spec.dev_flags = (ac97-id == 0x414c4780); /* ALC658 */ ac97-build_ops = patch_alc655_ops; - /* enable spdif in */ - snd_ac97_write_cache(ac97, AC97_ALC650_CLOCK, -snd_ac97_read(ac97, AC97_ALC650_MULTICH) | 0x8000); - snd_ac97_write_cache(ac97, AC97_ALC650_CLOCK, -snd_ac97_read(ac97, AC97_ALC650_CLOCK) | 0x02); + /* adjust default values */ + val = snd_ac97_read(ac97, 0x7a); /* misc control */ + val |= (1 1); /* spdif input pin */ + val = ~(1 12); /* vref enable */ + snd_ac97_write_cache(ac97, 0x7a, val); + val = snd_ac97_read(ac97, AC97_ALC650_MULTICH); + val |= (1 15); /* enable spdif in */ + val = ~(1 10); /* disable center on mic */ + snd_ac97_write_cache(ac97, AC97_ALC650_MULTICH, val); /* full DAC volume */ snd_ac97_write_cache(ac97, AC97_ALC650_SURR_DAC_VOL, 0x0808); --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn ___ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog
[alsa-cvslog] CVS: alsa-kernel/pci/ac97 ac97_codec.c,1.119,1.120
Update of /cvsroot/alsa/alsa-kernel/pci/ac97 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15511 Modified Files: ac97_codec.c Log Message: - fixed the detection of surround/LFE VRA on ALC650. Index: ac97_codec.c === RCS file: /cvsroot/alsa/alsa-kernel/pci/ac97/ac97_codec.c,v retrieving revision 1.119 retrieving revision 1.120 diff -u -r1.119 -r1.120 --- ac97_codec.c5 Feb 2004 10:37:10 - 1.119 +++ ac97_codec.c9 Feb 2004 12:01:07 - 1.120 @@ -1526,38 +1526,40 @@ return 0; } -static int snd_ac97_test_rate(ac97_t *ac97, int reg, int rate) +static int snd_ac97_test_rate(ac97_t *ac97, int reg, int shadow_reg, int rate) { unsigned short val; unsigned int tmp; tmp = ((unsigned int)rate * ac97-bus-clock) / 48000; snd_ac97_write_cache(ac97, reg, tmp 0x); + if (shadow_reg) + snd_ac97_write_cache(ac97, shadow_reg, tmp 0x); val = snd_ac97_read(ac97, reg); return val == (tmp 0x); } -static void snd_ac97_determine_rates(ac97_t *ac97, int reg, unsigned int *r_result) +static void snd_ac97_determine_rates(ac97_t *ac97, int reg, int shadow_reg, unsigned int *r_result) { unsigned int result = 0; /* test a non-standard rate */ - if (snd_ac97_test_rate(ac97, reg, 11000)) + if (snd_ac97_test_rate(ac97, reg, shadow_reg, 11000)) result |= SNDRV_PCM_RATE_CONTINUOUS; /* let's try to obtain standard rates */ - if (snd_ac97_test_rate(ac97, reg, 8000)) + if (snd_ac97_test_rate(ac97, reg, shadow_reg, 8000)) result |= SNDRV_PCM_RATE_8000; - if (snd_ac97_test_rate(ac97, reg, 11025)) + if (snd_ac97_test_rate(ac97, reg, shadow_reg, 11025)) result |= SNDRV_PCM_RATE_11025; - if (snd_ac97_test_rate(ac97, reg, 16000)) + if (snd_ac97_test_rate(ac97, reg, shadow_reg, 16000)) result |= SNDRV_PCM_RATE_16000; - if (snd_ac97_test_rate(ac97, reg, 22050)) + if (snd_ac97_test_rate(ac97, reg, shadow_reg, 22050)) result |= SNDRV_PCM_RATE_22050; - if (snd_ac97_test_rate(ac97, reg, 32000)) + if (snd_ac97_test_rate(ac97, reg, shadow_reg, 32000)) result |= SNDRV_PCM_RATE_32000; - if (snd_ac97_test_rate(ac97, reg, 44100)) + if (snd_ac97_test_rate(ac97, reg, shadow_reg, 44100)) result |= SNDRV_PCM_RATE_44100; - if (snd_ac97_test_rate(ac97, reg, 48000)) + if (snd_ac97_test_rate(ac97, reg, shadow_reg, 48000)) result |= SNDRV_PCM_RATE_48000; *r_result = result; } @@ -1866,8 +1868,8 @@ if (ac97-ext_id 0x0189) /* L/R, MIC, SDAC, LDAC VRA support */ snd_ac97_write_cache(ac97, AC97_EXTENDED_STATUS, ac97-ext_id 0x0189); if (ac97-ext_id AC97_EI_VRA) { /* VRA support */ - snd_ac97_determine_rates(ac97, AC97_PCM_FRONT_DAC_RATE, ac97-rates[AC97_RATES_FRONT_DAC]); - snd_ac97_determine_rates(ac97, AC97_PCM_LR_ADC_RATE, ac97-rates[AC97_RATES_ADC]); + snd_ac97_determine_rates(ac97, AC97_PCM_FRONT_DAC_RATE, 0, ac97-rates[AC97_RATES_FRONT_DAC]); + snd_ac97_determine_rates(ac97, AC97_PCM_LR_ADC_RATE, 0, ac97-rates[AC97_RATES_ADC]); } else { ac97-rates[AC97_RATES_FRONT_DAC] = SNDRV_PCM_RATE_48000; ac97-rates[AC97_RATES_ADC] = SNDRV_PCM_RATE_48000; @@ -1884,16 +1886,16 @@ SNDRV_PCM_RATE_32000; } if (ac97-ext_id AC97_EI_VRM) { /* MIC VRA support */ - snd_ac97_determine_rates(ac97, AC97_PCM_MIC_ADC_RATE, ac97-rates[AC97_RATES_MIC_ADC]); + snd_ac97_determine_rates(ac97, AC97_PCM_MIC_ADC_RATE, 0, ac97-rates[AC97_RATES_MIC_ADC]); } else { ac97-rates[AC97_RATES_MIC_ADC] = SNDRV_PCM_RATE_48000; } if (ac97-ext_id AC97_EI_SDAC) { /* SDAC support */ - snd_ac97_determine_rates(ac97, AC97_PCM_SURR_DAC_RATE, ac97-rates[AC97_RATES_SURR_DAC]); + snd_ac97_determine_rates(ac97, AC97_PCM_SURR_DAC_RATE, AC97_PCM_FRONT_DAC_RATE, ac97-rates[AC97_RATES_SURR_DAC]); ac97-scaps |= AC97_SCAP_SURROUND_DAC; } if (ac97-ext_id AC97_EI_LDAC) { /* LDAC support */ - snd_ac97_determine_rates(ac97, AC97_PCM_LFE_DAC_RATE, ac97-rates[AC97_RATES_LFE_DAC]); + snd_ac97_determine_rates(ac97, AC97_PCM_LFE_DAC_RATE, AC97_PCM_FRONT_DAC_RATE, ac97-rates[AC97_RATES_LFE_DAC]); ac97-scaps |= AC97_SCAP_CENTER_LFE_DAC; } /* additional initializations */ --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of
[alsa-cvslog] CVS: alsa-oss/oss-redir - New directory
Update of /cvsroot/alsa/alsa-oss/oss-redir In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21948/oss-redir Log Message: Directory /cvsroot/alsa/alsa-oss/oss-redir added to the repository --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn ___ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog
[alsa-cvslog] CVS: alsa-oss Makefile.am,1.6,1.7 configure.in,1.24,1.25 alsa-oss.c,1.43,NONE aoss.1,1.2,NONE aoss.in,1.3,NONE
Update of /cvsroot/alsa/alsa-oss In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23254 Modified Files: Makefile.am configure.in Removed Files: alsa-oss.c aoss.1 aoss.in Log Message: - moved aoss code to alsa directory - created oss-redir directory with OSS redirection library (not finished yet) Index: Makefile.am === RCS file: /cvsroot/alsa/alsa-oss/Makefile.am,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- Makefile.am 2 Mar 2003 20:30:29 - 1.6 +++ Makefile.am 9 Feb 2004 12:36:39 - 1.7 @@ -1,14 +1,10 @@ -lib_LTLIBRARIES = libaoss.la -bin_SCRIPTS = aoss -man_MANS = aoss.1 -EXTRA_DIST = aoss.1 +if WITH_AOSS +ALSA_DIR = alsa +else +ALSA_DIR = +endif -libaoss_la_SOURCES = alsa-oss.c -libaoss_la_LIBADD = -ldl -lasound - - -clean: - rm -f aoss +SUBDIRS = $(ALSA_DIR) oss-redir dist-hook: echo $(VERSION) version Index: configure.in === RCS file: /cvsroot/alsa/alsa-oss/configure.in,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- configure.in26 Jan 2004 19:44:03 - 1.24 +++ configure.in9 Feb 2004 12:36:39 - 1.25 @@ -1,4 +1,4 @@ -AC_INIT(alsa-oss.c) +AC_INIT(alsa/alsa-oss.c) AM_INIT_AUTOMAKE(alsa-oss, 1.0.2) AC_PREFIX_DEFAULT(/usr) @@ -7,6 +7,21 @@ AC_PROG_INSTALL AC_PROG_LN_S AM_PROG_LIBTOOL -AM_PATH_ALSA(0.9.0) -AC_OUTPUT(Makefile aoss) +dnl Check for aoss... +AC_MSG_CHECKING(for aoss) +AC_ARG_WITH(aoss, + [ --with-aoss=yes,no OSS - ALSA emulation library build], + with_aoss=$withval, with_aoss=yes) +if test $with_aoss = yes; then + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) +fi +AM_CONDITIONAL(WITH_AOSS, test x$with_aoss = xyes) + +if test $with_aoss = yes; then + AM_PATH_ALSA(0.9.0) +fi + +AC_OUTPUT(Makefile alsa/Makefile alsa/aoss oss-redir/Makefile) --- alsa-oss.c DELETED --- --- aoss.1 DELETED --- --- aoss.in DELETED --- --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn ___ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog
[alsa-cvslog] CVS: alsa-oss/oss-redir .cvsignore,NONE,1.1 Makefile.am,NONE,1.1 oss-redir.c,NONE,1.1 oss-redir.h,NONE,1.1
Update of /cvsroot/alsa/alsa-oss/oss-redir In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23254/oss-redir Added Files: .cvsignore Makefile.am oss-redir.c oss-redir.h Log Message: - moved aoss code to alsa directory - created oss-redir directory with OSS redirection library (not finished yet) --- NEW FILE: .cvsignore --- Makefile Makefile.in .deps .libs *.lo *.la --- NEW FILE: Makefile.am --- ossredirincludedir = ${includedir} ossredirinclude_HEADERS = oss-redir.h lib_LTLIBRARIES = libossredir.la libossredir_la_SOURCES = oss-redir.c libossredir_la_LIBADD = -ldl libossredir_la_LDFLAGS = -static --- NEW FILE: oss-redir.c --- /* * OSS Redirector * Copyright (c) by Jaroslav Kysela [EMAIL PROTECTED] * * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #define _GNU_SOURCE #include oss-redir.h #include sys/poll.h #include sys/ioctl.h #include sys/mman.h #include stdlib.h #include string.h #include fcntl.h #include unistd.h #include dlfcn.h #include errno.h #include linux/soundcard.h static int initialized = 0; static int native_oss = 1; static char hal[64]; int (*oss_pcm_open)(const char *pathname, int flags, ...); int (*oss_pcm_close)(int fd); ssize_t (*oss_pcm_read)(int fd, void *buf, size_t count); ssize_t (*oss_pcm_write)(int fd, const void *buf, size_t count); void * (*oss_pcm_mmap)(void *start, size_t length, int prot, int flags, int fd, off_t offset); int (*oss_pcm_munmap)(void *start, size_t length); int (*oss_pcm_ioctl)(int fd, unsigned long int request, ...); int (*oss_pcm_select_prepare)(int fd, fd_set *readfds, fd_set *writefds); int (*oss_pcm_select_result)(int fd, fd_set *readfds, fd_set *writefds); int (*oss_pcm_poll_fds)(int fd); int (*oss_pcm_poll_prepare)(int fd, struct pollfd *ufds); int (*oss_pcm_poll_result)(int fd, struct pollfd *ufds); int (*oss_mixer_open)(const char *pathname, int flags, ...); int (*oss_mixer_close)(int fd); int (*oss_mixer_ioctl)(int fd, unsigned long int request, ...); int native_pcm_select_prepare(int fd, fd_set *readfds, fd_set *writefds) { if (fd 0) return -EINVAL; if (readfds) FD_SET(fd, readfds); if (writefds) FD_SET(fd, writefds); return 0; } int native_pcm_select_result(int fd, fd_set *readfds, fd_set *writefds) { int result = 0; if (fd 0) return -EINVAL; if (readfds FD_ISSET(fd, readfds)) result |= OSS_WAIT_EVENT_READ; if (writefds FD_ISSET(fd, writefds)) result |= OSS_WAIT_EVENT_WRITE; return result; } int native_pcm_poll_fds(int fd) { if (fd 0) return -EINVAL; return 1; } int native_pcm_poll_prepare(int fd, struct pollfd *ufds) { if (fd 0) return -EINVAL; ufds-fd = fd; ufds-events = POLLIN | POLLOUT | POLLERR; return 0; } int native_pcm_poll_result(int fd, struct pollfd *ufds) { int result = 0; if (fd 0) return -EINVAL; if (ufds-events POLLIN) result |= OSS_WAIT_EVENT_READ; if (ufds-events POLLOUT) result |= OSS_WAIT_EVENT_WRITE; return result; } static void initialize() { char *s = getenv(OSS_REDIRECTOR); if (s) { strncpy(hal, s, sizeof(hal)); hal[sizeof(hal)-1] = '\0'; if (!strcmp(hal, oss)) native_oss = 1; } else { native_oss = 1; } if (native_oss) { oss_pcm_open = open; oss_pcm_close = close; oss_pcm_read = read; oss_pcm_write = write; oss_pcm_mmap = mmap; oss_pcm_munmap = munmap; oss_pcm_ioctl = ioctl; oss_pcm_select_prepare = native_pcm_select_prepare; oss_pcm_select_result = native_pcm_select_result; oss_pcm_poll_fds = native_pcm_poll_fds; oss_pcm_poll_prepare = native_pcm_poll_prepare; oss_pcm_poll_result = native_pcm_poll_result; oss_mixer_open = open; oss_mixer_close = close; oss_mixer_ioctl = ioctl; } } static inline
[alsa-cvslog] CVS: alsa-kernel/drivers/vx vx_core.c,1.5,1.6
Update of /cvsroot/alsa/alsa-kernel/drivers/vx In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13549 Modified Files: vx_core.c Log Message: - fixed the wrong lock (bug #2052) - use spin_lock_irqsave() now. Index: vx_core.c === RCS file: /cvsroot/alsa/alsa-kernel/drivers/vx/vx_core.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- vx_core.c 23 Oct 2003 14:34:52 - 1.5 +++ vx_core.c 9 Feb 2004 16:37:14 - 1.6 @@ -355,11 +355,12 @@ */ int vx_send_msg(vx_core_t *chip, struct vx_rmh *rmh) { + unsigned long flags; int err; - spin_lock_bh(chip-lock); + spin_lock_irqsave(chip-lock, flags); err = vx_send_msg_nolock(chip, rmh); - spin_unlock_bh(chip-lock); + spin_unlock_irqrestore(chip-lock, flags); return err; } --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn ___ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog
[alsa-cvslog] CVS: alsa-oss/oss-redir oss-redir.c,1.2,1.3 oss-redir.h,1.2,1.3
Update of /cvsroot/alsa/alsa-oss/oss-redir In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16222 Modified Files: oss-redir.c oss-redir.h Log Message: Added pcm_nonblock callback Index: oss-redir.c === RCS file: /cvsroot/alsa/alsa-oss/oss-redir/oss-redir.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- oss-redir.c 9 Feb 2004 13:07:27 - 1.2 +++ oss-redir.c 9 Feb 2004 14:31:13 - 1.3 @@ -59,7 +59,22 @@ static int (*x_oss_mixer_close)(int fd); int (*oss_mixer_ioctl)(int fd, unsigned long int request, ...); -int native_pcm_select_prepare(int fd, fd_set *readfds, fd_set *writefds) +static int native_pcm_nonblock(int fd, int nonblock) +{ + long flags; + + if ((flags = fcntl(fd, F_GETFL)) 0) + return -1; + if (nonblock) + flags |= O_NONBLOCK; + else + flags = ~O_NONBLOCK; + if (fcntl(fd, F_SETFL, flags) 0) + return -1; + return 0; +} + +static int native_pcm_select_prepare(int fd, fd_set *readfds, fd_set *writefds) { if (fd 0) return -EINVAL; @@ -70,7 +85,7 @@ return 0; } -int native_pcm_select_result(int fd, fd_set *readfds, fd_set *writefds) +static int native_pcm_select_result(int fd, fd_set *readfds, fd_set *writefds) { int result = 0; @@ -83,14 +98,14 @@ return result; } -int native_pcm_poll_fds(int fd) +static int native_pcm_poll_fds(int fd) { if (fd 0) return -EINVAL; return 1; } -int native_pcm_poll_prepare(int fd, struct pollfd *ufds) +static int native_pcm_poll_prepare(int fd, struct pollfd *ufds) { if (fd 0) return -EINVAL; @@ -99,7 +114,7 @@ return 0; } -int native_pcm_poll_result(int fd, struct pollfd *ufds) +static int native_pcm_poll_result(int fd, struct pollfd *ufds) { int result = 0; @@ -197,6 +212,7 @@ } if (native_oss) { __native: + oss_pcm_nonblock = native_pcm_nonblock; oss_pcm_read = read; oss_pcm_write = write; oss_pcm_mmap = mmap; @@ -218,6 +234,7 @@ } x_oss_pcm_open = dlsym(dl_handle, lib_oss_pcm_open); x_oss_pcm_close = dlsym(dl_handle, lib_oss_pcm_close); + oss_pcm_nonblock = dlsym(dl_handle, lib_oss_pcm_nonblock); oss_pcm_read = dlsym(dl_handle, lib_oss_pcm_read); oss_pcm_write = dlsym(dl_handle, lib_oss_pcm_write); oss_pcm_mmap = dlsym(dl_handle, lib_oss_pcm_mmap); Index: oss-redir.h === RCS file: /cvsroot/alsa/alsa-oss/oss-redir/oss-redir.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- oss-redir.h 9 Feb 2004 13:07:27 - 1.2 +++ oss-redir.h 9 Feb 2004 14:31:13 - 1.3 @@ -30,6 +30,7 @@ extern int oss_pcm_open(const char *pathname, int flags, ...); extern int oss_pcm_close(int fd); +extern int (*oss_pcm_nonblock)(int fd, int nonblock); extern ssize_t (*oss_pcm_read)(int fd, void *buf, size_t count); extern ssize_t (*oss_pcm_write)(int fd, const void *buf, size_t count); extern void * (*oss_pcm_mmap)(void *start, size_t length, int prot, int flags, int fd, off_t offset); --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn ___ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog
[alsa-cvslog] CVS: alsa-lib/src/conf/cards RME9652.conf,1.2,1.3
Update of /cvsroot/alsa/alsa-lib/src/conf/cards In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19618/src/conf/cards Modified Files: RME9652.conf Log Message: - fixed the wrong driver name (just copied from RME9636). - fixed the control type of IEC958 Playback PCM Stream. Index: RME9652.conf === RCS file: /cvsroot/alsa/alsa-lib/src/conf/cards/RME9652.conf,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- RME9652.conf7 Nov 2002 20:06:12 - 1.2 +++ RME9652.conf9 Feb 2004 17:06:02 - 1.3 @@ -1,10 +1,10 @@ # -# Configuration for the RME9636 +# Configuration for the RME9652 # confdir:pcm/front.conf -RME9636.pcm.front.0 { +RME9652.pcm.front.0 { @args [ CARD ] @args.CARD { type string @@ -18,7 +18,7 @@ confdir:pcm/iec958.conf -RME9636.pcm.iec958.0 { +RME9652.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string @@ -53,6 +53,7 @@ type ctl_elems hook_args [ { + interface PCM name IEC958 Playback PCM Stream lock true value [ $AES0 $AES1 $AES2 $AES3 ] --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn ___ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog
[alsa-cvslog] CVS: alsa-kernel/drivers/vx vx_core.c,1.6,1.7
Update of /cvsroot/alsa/alsa-kernel/drivers/vx In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24747/drivers/vx Modified Files: vx_core.c Log Message: - fixed another wrong lock. Index: vx_core.c === RCS file: /cvsroot/alsa/alsa-kernel/drivers/vx/vx_core.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- vx_core.c 9 Feb 2004 16:37:14 - 1.6 +++ vx_core.c 9 Feb 2004 19:39:37 - 1.7 @@ -415,11 +415,12 @@ */ int vx_send_rih(vx_core_t *chip, int cmd) { + unsigned long flags; int err; - spin_lock_bh(chip-lock); + spin_lock_irqsave(chip-lock, flags); err = vx_send_rih_nolock(chip, cmd); - spin_unlock_bh(chip-lock); + spin_unlock_irqrestore(chip-lock, flags); return err; } --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn ___ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog
[alsa-cvslog] CVS: alsa-oss/alsa .cvsignore,NONE,1.1 Makefile.am,NONE,1.1 alsa-oss.c,NONE,1.1 aoss.1,NONE,1.1 aoss.in,NONE,1.1
Update of /cvsroot/alsa/alsa-oss/alsa In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23254/alsa Added Files: .cvsignore Makefile.am alsa-oss.c aoss.1 aoss.in Log Message: - moved aoss code to alsa directory - created oss-redir directory with OSS redirection library (not finished yet) --- NEW FILE: .cvsignore --- Makefile Makefile.in aoss .deps .libs *.lo *.la --- NEW FILE: Makefile.am --- lib_LTLIBRARIES = libaoss.la bin_SCRIPTS = aoss man_MANS = aoss.1 EXTRA_DIST = aoss.1 libaoss_la_SOURCES = alsa-oss.c libaoss_la_LIBADD = -ldl -lasound clean: rm -f aoss --- NEW FILE: alsa-oss.c --- /* * OSS - ALSA compatibility layer * Copyright (c) by Abramo Bagnara [EMAIL PROTECTED] * * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #define _GNU_SOURCE #include sys/types.h #include sys/time.h #include sys/stat.h #include sys/poll.h #include sys/select.h #include sys/mman.h #include stdarg.h #include unistd.h #include dlfcn.h #include stdio.h #include fcntl.h #include limits.h #include errno.h #include assert.h #include linux/soundcard.h #include alsa/asoundlib.h snd_pcm_uframes_t _snd_pcm_boundary(snd_pcm_t *pcm); snd_pcm_uframes_t _snd_pcm_mmap_hw_ptr(snd_pcm_t *pcm); static int debug = 0; static snd_output_t *debug_out = NULL; #if __GNUC__ 2 || (__GNUC__ == 2 __GNUC_MINOR__ = 95) #define NEW_MACRO_VARARGS #endif #if 1 #define DEBUG_POLL #define DEBUG_SELECT #ifdef NEW_MACRO_VARARGS #define DEBUG(...) do { if (debug) fprintf(stderr, __VA_ARGS__); } while (0) #else /* !NEW_MACRO_VARARGS */ #define DEBUG(args...) do { if (debug) fprintf(stderr, ##args); } while (0) #endif #else #ifdef NEW_MACRO_VARARGS #define DEBUG(...) #else /* !NEW_MACRO_VARARGS */ #define DEBUG(args...) #endif #endif int (*_select)(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); int (*_poll)(struct pollfd *ufds, unsigned int nfds, int timeout); int (*_open)(const char *file, int oflag, ...); int (*_close)(int fd); ssize_t (*_write)(int fd, const void *buf, size_t n); ssize_t (*_read)(int fd, void *buf, size_t n); int (*_ioctl)(int fd, unsigned long request, ...); int (*_fcntl)(int fd, int cmd, ...); void *(*_mmap)(void *addr, size_t len, int prot, int flags, int fd, off_t offset); int (*_munmap)(void* addr, size_t len); typedef struct ops { int (*open)(const char *file, int oflag, ...); int (*close)(int fd); ssize_t (*write)(int fd, const void *buf, size_t n); ssize_t (*read)(int fd, void *buf, size_t n); int (*ioctl)(int fd, unsigned long request, ...); int (*fcntl)(int fd, int cmd, ...); void *(*mmap)(void *addr, size_t len, int prot, int flags, int fd, off_t offset); int (*munmap)(int fd, void* addr, size_t len); } ops_t; typedef struct { snd_pcm_t *pcm; size_t frame_bytes; struct { snd_pcm_uframes_t period_size; snd_pcm_uframes_t buffer_size; snd_pcm_uframes_t boundary; snd_pcm_uframes_t old_hw_ptr; size_t mmap_buffer_bytes; size_t mmap_period_bytes; } alsa; struct { snd_pcm_uframes_t period_size; unsigned int periods; snd_pcm_uframes_t buffer_size; size_t bytes; } oss; unsigned int stopped:1; void *mmap_buffer; size_t mmap_bytes; snd_pcm_channel_area_t *mmap_areas; snd_pcm_uframes_t mmap_advance; } oss_dsp_stream_t; typedef struct { unsigned int channels; unsigned int rate; unsigned int oss_format; snd_pcm_format_t format; unsigned int fragshift; unsigned int maxfrags; unsigned int subdivision; oss_dsp_stream_t streams[2]; } oss_dsp_t; typedef struct { snd_mixer_t *mix; unsigned int modify_counter; snd_mixer_elem_t *elems[SOUND_MIXER_NRDEVICES]; } oss_mixer_t; typedef enum { FD_OSS_DSP, FD_OSS_MIXER, FD_CLASSES, } fd_class_t; static ops_t ops[FD_CLASSES]; typedef struct { int count; fd_class_t class; void *private; void *mmap_area; } fd_t; static int open_max; static fd_t **fds; #define RETRY open_max #define
[alsa-cvslog] CVS: alsa-driver/utils Modules.dep,1.30,1.31
Update of /cvsroot/alsa/alsa-driver/utils In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27645/utils Modified Files: Modules.dep Log Message: - moved mixart driver to alsa-kernel tree. Index: Modules.dep === RCS file: /cvsroot/alsa/alsa-driver/utils/Modules.dep,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- Modules.dep 30 Jan 2004 11:52:29 - 1.30 +++ Modules.dep 9 Feb 2004 17:42:23 - 1.31 @@ -12,9 +12,6 @@ %dir linux/sound/pci/pdplus |snd-pdplus snd-pcm -%dir linux/sound/pci/mixart -|snd-mixart snd-pcm - %dir linux/sound/isa/msnd |snd-msnd-pinnacle snd-pcm snd-seq-midi --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn ___ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog
[alsa-cvslog] CVS: alsa-kernel/pci/mixart - New directory
Update of /cvsroot/alsa/alsa-kernel/pci/mixart In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27001/mixart Log Message: Directory /cvsroot/alsa/alsa-kernel/pci/mixart added to the repository --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn ___ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog
[alsa-cvslog] CVS: alsa-kernel/pci Kconfig,1.13,1.14 Makefile,1.12,1.13
Update of /cvsroot/alsa/alsa-kernel/pci In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27359/pci Modified Files: Kconfig Makefile Log Message: - added snd-mixart driver for Digigram miXart boards. Index: Kconfig === RCS file: /cvsroot/alsa/alsa-kernel/pci/Kconfig,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- Kconfig 29 Jan 2004 14:50:33 - 1.13 +++ Kconfig 9 Feb 2004 17:40:48 - 1.14 @@ -55,6 +55,12 @@ help Say 'Y' or 'M' to include support for Korg 1212IO. +config SND_MIXART + tristate Digigram miXart + depends on SND + help + Say 'Y' or 'M' to include support for Digigram miXart soundcard. + config SND_NM256 tristate NeoMagic NM256AV/ZX depends on SND Index: Makefile === RCS file: /cvsroot/alsa/alsa-kernel/pci/Makefile,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- Makefile28 Jan 2004 18:55:20 - 1.12 +++ Makefile9 Feb 2004 17:40:48 - 1.13 @@ -38,4 +38,16 @@ obj-$(CONFIG_SND_SONICVIBES) += snd-sonicvibes.o obj-$(CONFIG_SND_VIA82XX) += snd-via82xx.o -obj-$(CONFIG_SND) += ac97/ ali5451/ cs46xx/ emu10k1/ korg1212/ nm256/ rme9652/ trident/ ymfpci/ ice1712/ vx222/ +obj-$(CONFIG_SND) += \ + ac97/ \ + ali5451/ \ + cs46xx/ \ + emu10k1/ \ + ice1712/ \ + korg1212/ \ + mixart/ \ + nm256/ \ + rme9652/ \ + trident/ \ + ymfpci/ \ + vx222/ --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn ___ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog
[alsa-cvslog] CVS: alsa-lib configure.in,1.120,1.121
Update of /cvsroot/alsa/alsa-lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19222 Modified Files: configure.in Log Message: - added --with-tmpdir configure option. the directory used for socket files of direct pcm plugins. Index: configure.in === RCS file: /cvsroot/alsa/alsa-lib/configure.in,v retrieving revision 1.120 retrieving revision 1.121 diff -u -r1.120 -r1.121 --- configure.in26 Jan 2004 19:28:38 - 1.120 +++ configure.in9 Feb 2004 17:04:09 - 1.121 @@ -116,6 +116,14 @@ AC_MSG_RESULT(no) fi +dnl Temporary directory +AC_MSG_CHECKING(for tmpdir) +AC_ARG_WITH(tmpdir, + [ --with-tmpdir=directory directory to put tmp socket files (/tmp)], + tmpdir=$withval, tmpdir=/tmp) +AC_MSG_RESULT($tmpdir) +AC_DEFINE_UNQUOTED(TMPDIR, $tmpdir, [directory to put tmp socket files]) + dnl Check for softfloat... AC_MSG_CHECKING(for softfloat) AC_ARG_WITH(softfloat, --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn ___ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog
[alsa-cvslog] CVS: alsa-driver INSTALL,1.156,1.157
Update of /cvsroot/alsa/alsa-driver In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27645 Modified Files: INSTALL Log Message: - moved mixart driver to alsa-kernel tree. Index: INSTALL === RCS file: /cvsroot/alsa/alsa-driver/INSTALL,v retrieving revision 1.156 retrieving revision 1.157 diff -u -r1.156 -r1.157 --- INSTALL 30 Jan 2004 11:52:28 - 1.156 +++ INSTALL 9 Feb 2004 17:42:21 - 1.157 @@ -184,15 +184,6 @@ This module supports up to 8 cards and autoprobe. - Module snd-mixart - - - -Module for Digigram miXart8 soundcards. - -Module supports multiple cards. -Note: One miXart8 board will be represented as 4 alsa cards. - See doc/MIXART.txt for details. - Module snd-msnd-pinnacle --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn ___ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog
[alsa-cvslog] CVS: alsa-kernel/usb usbaudio.c,1.78,1.79
Update of /cvsroot/alsa/alsa-kernel/usb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11056/usb Modified Files: usbaudio.c Log Message: - assign PCM unique (sub)streams for each USB format type. this will avoid the mix up of format I and format III on M-audio transit. Index: usbaudio.c === RCS file: /cvsroot/alsa/alsa-kernel/usb/usbaudio.c,v retrieving revision 1.78 retrieving revision 1.79 diff -u -r1.78 -r1.79 --- usbaudio.c 4 Feb 2004 13:35:51 - 1.78 +++ usbaudio.c 9 Feb 2004 16:25:38 - 1.79 @@ -116,7 +116,7 @@ struct list_head list; snd_pcm_format_t format;/* format type */ unsigned int channels; /* # channels */ - unsigned int nonaudio: 1; /* non-audio (type II) */ + unsigned int fmt_type; /* USB audio format type (1-3) */ unsigned int frame_size;/* samples per frame for non-audio */ int iface; /* interface number */ unsigned char altsetting; /* corresponding alternate setting */ @@ -170,7 +170,7 @@ unsigned int curpacksize; /* current packet size in bytes (for capture) */ unsigned int curframesize; /* current packet size in frames (for capture) */ unsigned int fill_max: 1; /* fill max packet size always */ - unsigned int nonaudio: 1; /* Type II format (MPEG, AC3) */ + unsigned int fmt_type; /* USB audio format type (1-3) */ unsigned int running: 1;/* running status */ @@ -200,6 +200,7 @@ snd_usb_audio_t *chip; snd_pcm_t *pcm; int pcm_index; + unsigned int fmt_type; /* USB audio format type (1-3) */ snd_usb_substream_t substream[2]; struct list_head list; }; @@ -476,7 +477,7 @@ subs-transfer_sched += counts; if (subs-transfer_sched = runtime-period_size) { subs-transfer_sched -= runtime-period_size; - if (subs-nonaudio) { + if (subs-fmt_type == USB_FORMAT_TYPE_II) { if (subs-transfer_sched 0) { /* FIXME: fill-max mode is not supported yet */ offs -= subs-transfer_sched; @@ -893,7 +894,7 @@ u-subs = subs; u-transfer = 0; u-packets = npacks[i]; - if (subs-nonaudio) + if (subs-fmt_type == USB_FORMAT_TYPE_II) u-packets++; /* for transfer delimiter */ if (! is_playback) { /* allocate a capture buffer per urb */ @@ -1587,7 +1588,7 @@ runtime-hw.channels_min = fp-channels; if (runtime-hw.channels_max fp-channels) runtime-hw.channels_max = fp-channels; - if (fp-nonaudio fp-frame_size 0) { + if (fp-fmt_type == USB_FORMAT_TYPE_II fp-frame_size 0) { /* FIXME: there might be more than one audio formats... */ runtime-hw.period_bytes_min = runtime-hw.period_bytes_max = fp-frame_size; @@ -1894,7 +1895,7 @@ subs-formats |= 1ULL fp-format; subs-endpoint = fp-endpoint; subs-num_formats++; - subs-nonaudio = fp-nonaudio; + subs-fmt_type = fp-fmt_type; } @@ -1953,17 +1954,12 @@ list_for_each(p, chip-pcm_list) { as = list_entry(p, snd_usb_stream_t, list); + if (as-fmt_type != fp-fmt_type) + continue; subs = as-substream[stream]; if (! subs-endpoint) - break; + continue; if (subs-endpoint == fp-endpoint) { - if (fp-nonaudio) { - if (!subs-nonaudio || subs-formats != (1ULL fp-format)) - continue; /* non-linear formats are handled exclusively */ - } else { - if (subs-nonaudio) - continue; - } list_add_tail(fp-list, subs-fmt_list); subs-num_formats++; subs-formats |= 1ULL fp-format; @@ -1973,6 +1969,8 @@ /* look for an empty stream */ list_for_each(p, chip-pcm_list) { as = list_entry(p, snd_usb_stream_t, list); + if (as-fmt_type != fp-fmt_type) + continue; subs = as-substream[stream]; if (subs-endpoint) continue; @@ -1990,6 +1988,7 @@ memset(as, 0, sizeof(*as)); as-pcm_index = chip-pcm_devs; as-chip = chip; +
[alsa-cvslog] CVS: alsa-kernel/core Makefile,1.46,1.47
Update of /cvsroot/alsa/alsa-kernel/core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27359/core Modified Files: Makefile Log Message: - added snd-mixart driver for Digigram miXart boards. Index: Makefile === RCS file: /cvsroot/alsa/alsa-kernel/core/Makefile,v retrieving revision 1.46 retrieving revision 1.47 diff -u -r1.46 -r1.47 --- Makefile31 Jan 2004 08:36:27 - 1.46 +++ Makefile9 Feb 2004 17:40:48 - 1.47 @@ -107,5 +107,6 @@ obj-$(CONFIG_SND_VXP440) += snd-pcm.o snd-timer.o snd-page-alloc.o snd.o snd-hwdep.o obj-$(CONFIG_SND_VX222) += snd-pcm.o snd-timer.o snd-page-alloc.o snd.o snd-hwdep.o obj-$(CONFIG_SND_BT87X) += snd-pcm.o snd-timer.o snd-page-alloc.o snd.o +obj-$(CONFIG_SND_MIXART) += snd-pcm.o snd-timer.o snd-page-alloc.o snd.o snd-hwdep.o obj-m := $(sort $(obj-m)) --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn ___ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog