Hello community,
here is the log from the commit of package alsa
checked in at Thu Mar 15 01:11:45 CET 2007.
--------
--- alsa/alsa.changes 2007-01-26 19:18:35.000000000 +0100
+++ /mounts/work_src_done/STABLE/alsa/alsa.changes 2007-03-14 16:45:19.000000000 +0100
@@ -1,0 +2,17 @@
+Wed Mar 14 16:42:02 CET 2007 - tiwai@suse.de
+
+- update alsa-lib-1.0.14rc3
+ * include last fixes
+ * fix ladspa none policy
+ * initialize dl handles where needed
+ * fix error code in timer_query
+ * fix compile warnings
+ * add support for symbol prefixes in shlib
+ * add card_name function
+ * enable dmix for usb-audio
+ * multi-plugin fixes from HG version
+- update alsa-utils-1.0.14rc2
+ * include last fixes
+- fix LFS ops on alsa-oss wrapper
+
+-------------------------------------------------------------------
Old:
----
alsa-lib-1.0.14rc1.tar.bz2
alsa-utils-1.0.14rc1.tar.bz2
alsa-utils-hg-fixes.diff
New:
----
alsa-lib-1.0.14rc3.tar.bz2
alsa-oss-hg-fixes.diff
alsa-utils-1.0.14rc2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ alsa.spec ++++++
--- /var/tmp/diff_new_pack.U25965/_old 2007-03-15 01:10:49.000000000 +0100
+++ /var/tmp/diff_new_pack.U25965/_new 2007-03-15 01:10:49.000000000 +0100
@@ -12,7 +12,7 @@
Name: alsa
BuildRequires: doxygen
-%define package_version 1.0.14rc1
+%define package_version 1.0.14rc3
License: GNU General Public License (GPL)
Group: System/Libraries
Provides: alsa-lib alsa-utils alsa-conf
@@ -21,9 +21,10 @@
Autoreqprov: on
Summary: Advanced Linux Sound Architecture
Version: 1.0.13
-Release: 28
+Release: 33
Source1: ftp://ftp.alsa-project.org/pub/lib/alsa-lib-%{package_version}.tar.bz2
-Source2: ftp://ftp.alsa-project.org/pub/util/alsa-utils-%{package_version}.tar.bz2
+# Source2: ftp://ftp.alsa-project.org/pub/util/alsa-utils-%{package_version}.tar.bz2
+Source2: ftp://ftp.alsa-project.org/pub/util/alsa-utils-1.0.14rc2.tar.bz2
# Source5: ftp://ftp.alsa-project.org/pub/oss/alsa-oss-%{package_version}.tar.bz2
Source5: ftp://ftp.alsa-project.org/pub/oss/alsa-oss-1.0.12.tar.bz2
Source6: udev-soundfont
@@ -41,8 +42,8 @@
Source31: all_notes_off.bin
Source32: all_notes_off.mid
Patch1: alsa-lib-hg-fixes.diff
-Patch2: alsa-utils-hg-fixes.diff
-# Patch3: alsa-oss-hg-fixes.diff
+# Patch2: alsa-utils-hg-fixes.diff
+Patch3: alsa-oss-hg-fixes.diff
URL: http://www.alsa-project.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -98,12 +99,12 @@
cd alsa-lib*/.
%patch1 -p1
cd ..
-cd alsa-utils*/.
-%patch2 -p1
-cd ..
-# cd alsa-oss*/.
-# %patch3 -p1
+# cd alsa-utils*/.
+# %patch2 -p1
# cd ..
+cd alsa-oss*/.
+%patch3 -p1
+cd ..
%{?suse_update_config:%{suse_update_config -f alsa-lib*/. alsa-utils*/. alsa-oss*/.}}
%build
@@ -367,7 +368,21 @@
%defattr(-, root, root)
%doc alsa-lib*/doc/doxygen/html/*
-%changelog -n alsa
+%changelog
+* Wed Mar 14 2007 - tiwai@suse.de
+- update alsa-lib-1.0.14rc3
+ * include last fixes
+ * fix ladspa none policy
+ * initialize dl handles where needed
+ * fix error code in timer_query
+ * fix compile warnings
+ * add support for symbol prefixes in shlib
+ * add card_name function
+ * enable dmix for usb-audio
+ * multi-plugin fixes from HG version
+- update alsa-utils-1.0.14rc2
+ * include last fixes
+- fix LFS ops on alsa-oss wrapper
* Fri Jan 26 2007 - tiwai@suse.de
- fix file lists (#238223)
* don't include unnecessary static libraries for libaoss
++++++ alsa-lib-1.0.14rc1.tar.bz2 -> alsa-lib-1.0.14rc3.tar.bz2 ++++++
++++ 1825 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-lib-1.0.14rc1/configure.in new/alsa-lib-1.0.14rc3/configure.in
--- old/alsa-lib-1.0.14rc1/configure.in 2006-12-07 15:10:17.000000000 +0100
+++ new/alsa-lib-1.0.14rc3/configure.in 2007-02-26 10:02:39.000000000 +0100
@@ -9,7 +9,7 @@
dnl remove API = c+1:0:0
dnl *************************************************
AC_CANONICAL_SYSTEM
-AM_INIT_AUTOMAKE(alsa-lib, 1.0.14rc1)
+AM_INIT_AUTOMAKE(alsa-lib, 1.0.14rc3)
eval LIBTOOL_VERSION_INFO="2:0:0"
dnl *************************************************
AM_CONDITIONAL(INSTALL_M4, test -n "${ACLOCAL}")
@@ -114,6 +114,7 @@
| ${EGREP-grep} "^PREFIX=" \
| ${SED-sed} "s:^PREFIX=::"`
AC_DEFINE_UNQUOTED([__SYMBOL_PREFIX], "$SYMBOL_PREFIX", [Toolchain Symbol Prefix])
+AC_SUBST(SYMBOL_PREFIX)
AC_MSG_RESULT($SYMBOL_PREFIX)
dnl Check for debug...
@@ -384,7 +385,7 @@
fi
AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile include/Makefile
- include/sound/Makefile src/Makefile \
+ include/sound/Makefile src/Versions src/Makefile \
src/control/Makefile src/mixer/Makefile \
src/pcm/Makefile src/pcm/scopes/Makefile \
src/rawmidi/Makefile src/timer/Makefile \
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-lib-1.0.14rc1/include/control.h new/alsa-lib-1.0.14rc3/include/control.h
--- old/alsa-lib-1.0.14rc1/include/control.h 2006-12-07 15:10:18.000000000 +0100
+++ new/alsa-lib-1.0.14rc3/include/control.h 2007-02-26 10:02:39.000000000 +0100
@@ -260,7 +260,6 @@
const char *snd_ctl_elem_type_name(snd_ctl_elem_type_t type);
const char *snd_ctl_elem_iface_name(snd_ctl_elem_iface_t iface);
-const char *snd_ctl_iface_conf_name(snd_ctl_elem_iface_t iface);
const char *snd_ctl_event_type_name(snd_ctl_event_type_t type);
unsigned int snd_ctl_event_elem_get_mask(const snd_ctl_event_t *obj);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-lib-1.0.14rc1/include/sound/emu10k1.h new/alsa-lib-1.0.14rc3/include/sound/emu10k1.h
--- old/alsa-lib-1.0.14rc1/include/sound/emu10k1.h 2006-12-07 15:10:19.000000000 +0100
+++ new/alsa-lib-1.0.14rc3/include/sound/emu10k1.h 2007-02-26 10:02:39.000000000 +0100
@@ -280,6 +280,7 @@
unsigned int min; /* minimum range */
unsigned int max; /* maximum range */
unsigned int translation; /* translation type (EMU10K1_GPR_TRANSLATION*) */
+ unsigned int *tlv;
} emu10k1_fx8010_control_gpr_t;
typedef struct {
@@ -338,6 +339,7 @@
#define SNDRV_EMU10K1_IOCTL_TRAM_PEEK _IOWR('H', 0x22, emu10k1_fx8010_tram_t)
#define SNDRV_EMU10K1_IOCTL_PCM_POKE _IOW ('H', 0x30, emu10k1_fx8010_pcm_t)
#define SNDRV_EMU10K1_IOCTL_PCM_PEEK _IOWR('H', 0x31, emu10k1_fx8010_pcm_t)
+#define SNDRV_EMU10K1_IOCTL_PVERSION _IOR ('H', 0x40, int)
#define SNDRV_EMU10K1_IOCTL_STOP _IO ('H', 0x80)
#define SNDRV_EMU10K1_IOCTL_CONTINUE _IO ('H', 0x81)
#define SNDRV_EMU10K1_IOCTL_ZERO_TRAM_COUNTER _IO ('H', 0x82)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-lib-1.0.14rc1/include/version.h new/alsa-lib-1.0.14rc3/include/version.h
--- old/alsa-lib-1.0.14rc1/include/version.h 2006-12-07 15:12:48.000000000 +0100
+++ new/alsa-lib-1.0.14rc3/include/version.h 2007-02-26 10:05:02.000000000 +0100
@@ -5,11 +5,11 @@
#define SND_LIB_MAJOR 1 /**< major number of library version */
#define SND_LIB_MINOR 0 /**< minor number of library version */
#define SND_LIB_SUBMINOR 14 /**< subminor number of library version */
-#define SND_LIB_EXTRAVER 100001 /**< extra version number, used mainly for betas */
+#define SND_LIB_EXTRAVER 100003 /**< extra version number, used mainly for betas */
/** library version */
#define SND_LIB_VERSION ((SND_LIB_MAJOR<<16)|\
(SND_LIB_MINOR<<8)|\
SND_LIB_SUBMINOR)
/** library version (string) */
-#define SND_LIB_VERSION_STR "1.0.14rc1"
+#define SND_LIB_VERSION_STR "1.0.14rc3"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-lib-1.0.14rc1/libtool new/alsa-lib-1.0.14rc3/libtool
--- old/alsa-lib-1.0.14rc1/libtool 2006-12-07 15:12:26.000000000 +0100
+++ new/alsa-lib-1.0.14rc3/libtool 2007-02-26 10:04:38.000000000 +0100
@@ -1,7 +1,7 @@
#! /bin/sh
# libtoolT - Provide generalized library-building support services.
-# Generated automatically by (GNU alsa-lib 1.0.14rc1)
+# Generated automatically by (GNU alsa-lib 1.0.14rc3)
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-lib-1.0.14rc1/src/conf/cards/Makefile.am new/alsa-lib-1.0.14rc3/src/conf/cards/Makefile.am
--- old/alsa-lib-1.0.14rc1/src/conf/cards/Makefile.am 2006-12-07 15:10:21.000000000 +0100
+++ new/alsa-lib-1.0.14rc3/src/conf/cards/Makefile.am 2007-02-26 10:02:39.000000000 +0100
@@ -39,6 +39,7 @@
RME9652.conf \
SI7018.conf \
TRID4DWAVENX.conf \
+ USB-Audio.conf \
YMF744.conf \
VIA686A.conf \
VIA8233.conf \
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-lib-1.0.14rc1/src/conf/cards/USB-Audio.conf new/alsa-lib-1.0.14rc3/src/conf/cards/USB-Audio.conf
--- old/alsa-lib-1.0.14rc1/src/conf/cards/USB-Audio.conf 1970-01-01 01:00:00.000000000 +0100
+++ new/alsa-lib-1.0.14rc3/src/conf/cards/USB-Audio.conf 2007-02-26 10:02:39.000000000 +0100
@@ -0,0 +1,334 @@
+#
+# USB-Audio.conf - configuration for USB Audio devices
+#
+#
+# DO NO EDIT; this is an internal ALSA file.
+# If you want to add your own definitions, put them into /etc/asound.conf or
+# ~/.asoundrc, with "cards." before the "USB-Audio", e.g.:
+#
+# cards.USB-Audio.pcm.use_dmix."NoiseBlaster 3000" no
+#
+# If your device requires such a definition to work correctly, please report it
+# to .
+
+
+# If a device has sample formats not supported by dmix, dmix can be disabled
+# here.
+USB-Audio.pcm.use_dmix {
+ "AudioPhile" no # uses big-endian 24-bit samples
+}
+
+# If a device does not have a four-channel mode for the front/rear outputs,
+# other modes can be selected here.
+# six_channels - for devices that route the last two of the four channels
+# to the center/LFE outputs
+# two_stereo_devices - for devices that have two stereo audio interfaces
+USB-Audio.pcm.surround40_type {
+ "AudioPhile" two_stereo_devices
+ "OmniStudio" two_stereo_devices
+ "Quattro" two_stereo_devices
+ "SB Audigy 2 NX" six_channels
+}
+
+# If a device does not use the first PCM device for digital data, the device
+# number for the iec958 device can be changed here.
+USB-Audio.pcm.iec958_device {
+ # "NoiseBlaster 3000" 42
+}
+
+
+# If a device requires non-standard definitions for front, surround40,
+# surround51, surround71 or iec958, they can be defined here.
+
+# USB-Audio."NoiseBlaster 3000".pcm.surround51 {
+# @args [ CARD ]
+# @args.CARD { type string }
+# ...
+# }
+
+
+################################################################################
+
+confdir:pcm/front.conf
+
+USB-Audio.pcm.front.0 {
+ @args [ CARD ]
+ @args.CARD { type string }
+ @func refer
+ name {
+ @func concat
+ strings [
+ "cards.USB-Audio."
+ { @func card_name card $CARD }
+ ".pcm.front:CARD=" $CARD
+ ]
+ }
+ default {
+ # We could use softvol, but the driver might have guessed a
+ # wrong name for the real volume control.
+ type hw
+ card $CARD
+ device 0
+ }
+}
+
+USB-Audio.pcm.default {
+ @args [ CARD ]
+ @args.CARD { type string }
+ type asym
+ playback.pcm {
+ type plug
+ slave.pcm {
+ @func refer
+ name {
+ @func concat
+ strings [
+ "cards.USB-Audio.pcm.default_playback_dmix_"
+ {
+ @func refer
+ name {
+ @func concat
+ strings [
+ "cards.USB-Audio.pcm.use_dmix."
+ { @func card_name card $CARD }
+ ]
+ }
+ default yes
+ }
+ ":CARD=" $CARD
+ ]
+ }
+ }
+ }
+ capture.pcm {
+ type plug
+ slave.pcm {
+ @func concat
+ strings [ "dsnoop:" $CARD ]
+ }
+ }
+}
+
+USB-Audio.pcm.default_playback_dmix_yes {
+ @args [ CARD ]
+ @args.CARD { type string }
+ @func concat
+ strings [ "dmix:" $CARD ]
+}
+
+USB-Audio.pcm.default_playback_dmix_no {
+ @args [ CARD ]
+ @args.CARD { type string }
+ type hw
+ card $CARD
+ device 0
+}
+
+confdir:pcm/surround40.conf
+
+USB-Audio.pcm.surround40.0 {
+ @args [ CARD ]
+ @args.CARD { type string }
+ @func refer
+ name {
+ @func concat
+ strings [
+ "cards.USB-Audio."
+ { @func card_name card $CARD }
+ ".pcm.surround40:CARD=" $CARD
+ ]
+ }
+ default {
+ @func refer
+ name {
+ @func concat
+ strings [
+ "cards.USB-Audio.pcm.surround40_"
+ {
+ @func refer
+ name {
+ @func concat
+ strings [
+ "cards.USB-Audio.pcm.surround40_type."
+ { @func card_name card $CARD }
+ ]
+ }
+ default default
+ }
+ ":CARD=" $CARD
+ ]
+ }
+ }
+}
+
+USB-Audio.pcm.surround40_default {
+ @args [ CARD ]
+ @args.CARD { type string }
+ type hw
+ card $CARD
+ device 0
+}
+
+USB-Audio.pcm.surround40_six_channels {
+ @args [ CARD ]
+ @args.CARD { type string }
+ type route
+ ttable.0.0 1
+ ttable.1.1 1
+ ttable.2.4 1
+ ttable.3.5 1
+ slave {
+ pcm {
+ type hw
+ card $CARD
+ device 0
+ }
+ channels 6
+ }
+}
+
+USB-Audio.pcm.surround40_two_stereo_devices {
+ @args [ CARD ]
+ @args.CARD { type string }
+ type route
+ ttable.0.0 1
+ ttable.1.1 1
+ ttable.2.2 1
+ ttable.3.3 1
+ slave.pcm {
+ type multi
+ slaves {
+ a {
+ pcm {
+ type hw
+ card $CARD
+ device 0
+ }
+ channels 2
+ }
+ b {
+ pcm {
+ type hw
+ card $CARD
+ device 1
+ }
+ channels 2
+ }
+ }
+ bindings [
+ { slave a channel 0 }
+ { slave a channel 1 }
+ { slave b channel 0 }
+ { slave b channel 1 }
+ ]
+ }
+}
+
+confdir:pcm/surround41.conf
+confdir:pcm/surround50.conf
+confdir:pcm/surround51.conf
+
+USB-Audio.pcm.surround51.0 {
+ @args [ CARD ]
+ @args.CARD { type string }
+ @func refer
+ name {
+ @func concat
+ strings [
+ "cards.USB-Audio."
+ { @func card_name card $CARD }
+ ".pcm.surround51:CARD=" $CARD
+ ]
+ }
+ default {
+ type route
+ ttable.0.0 1
+ ttable.1.1 1
+ ttable.2.4 1
+ ttable.3.5 1
+ ttable.4.2 1
+ ttable.5.3 1
+ slave {
+ pcm {
+ type hw
+ card $CARD
+ device 0
+ }
+ channels 6
+ }
+ }
+}
+
+confdir:pcm/surround71.conf
+
+USB-Audio.pcm.surround71.0 {
+ @args [ CARD ]
+ @args.CARD { type string }
+ @func refer
+ name {
+ @func concat
+ strings [
+ "cards.USB-Audio."
+ { @func card_name card $CARD }
+ ".pcm.surround71:CARD=" $CARD
+ ]
+ }
+ default {
+ type route
+ ttable.0.0 1
+ ttable.1.1 1
+ ttable.2.4 1
+ ttable.3.5 1
+ ttable.4.2 1
+ ttable.5.3 1
+ ttable.6.6 1
+ ttable.7.7 1
+ slave {
+ pcm {
+ type hw
+ card $CARD
+ device 0
+ }
+ channels 8
+ }
+ }
+}
+
+confdir:pcm/iec958.conf
+
+USB-Audio.pcm.iec958.0 {
+ @args [ CARD AES0 AES1 AES2 AES3 ]
+ @args.CARD { type string }
+ @args.AES0 { type integer }
+ @args.AES1 { type integer }
+ @args.AES2 { type integer }
+ @args.AES3 { type integer }
+ @func refer
+ name {
+ @func concat
+ strings [
+ "cards.USB-Audio."
+ { @func card_name card $CARD }
+ ".pcm.iec958:CARD=" $CARD
+ ",AES0=" $AES0 ",AES1=" $AES1 ",AES2=" $AES2 ",AES3=" $AES3
+ ]
+ }
+ default {
+ # FIXME: we cannot set the AES parameters
+ type hw
+ card $CARD
+ device {
+ @func refer
+ name {
+ @func concat
+ strings [
+ "cards.USB-Audio.pcm.iec958_device."
+ { @func card_name card $CARD }
+ ]
+ }
+ default 0
+ }
+ }
+}
+
+# vim: ft=alsaconf
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-lib-1.0.14rc1/src/confmisc.c new/alsa-lib-1.0.14rc3/src/confmisc.c
--- old/alsa-lib-1.0.14rc1/src/confmisc.c 2006-12-07 15:10:21.000000000 +0100
+++ new/alsa-lib-1.0.14rc3/src/confmisc.c 2007-02-26 10:02:39.000000000 +0100
@@ -57,6 +57,8 @@
a driver identification. The result is a string.
<LI>The card_id function - snd_func_card_id() - returns
a card identification. The result is a string.
+ <LI>The card_name function - snd_func_card_name() - returns
+ a card's name. The result is a string.
<LI>The pcm_id function - snd_func_pcm_id() - returns
a pcm identification. The result is a string.
<LI>The private_string function - snd_func_private_string() - returns the
@@ -225,7 +227,8 @@
{
snd_config_t *n, *d;
snd_config_iterator_t i, next;
- char *res, *def = NULL;
+ const char *res, *id;
+ char *def = NULL;
int idx = 0, err, hit;
err = snd_config_search(src, "vars", &n);
@@ -257,7 +260,7 @@
hit = 0;
snd_config_for_each(i, next, n) {
snd_config_t *n = snd_config_iterator_entry(i);
- const char *id, *ptr, *env;
+ const char *ptr;
long i;
if (snd_config_get_id(n, &id) < 0)
continue;
@@ -280,26 +283,18 @@
err = -EINVAL;
goto __error;
}
- env = getenv(ptr);
- if (env != NULL && *env != '\0') {
- res = strdup(env);
+ res = getenv(ptr);
+ if (res != NULL && *res != '\0')
goto __ok;
- }
hit = 1;
}
}
} while (hit);
res = def;
- def = NULL;
__ok:
- err = res == NULL ? -ENOMEM : 0;
- if (err >= 0) {
- const char *id;
- err = snd_config_get_id(src, &id);
- if (err >= 0)
- err = snd_config_imake_string(dst, id, res);
- free(res);
- }
+ err = snd_config_get_id(src, &id);
+ if (err >= 0)
+ err = snd_config_imake_string(dst, id, res);
__error:
free(def);
return err;
@@ -676,7 +671,7 @@
assert(card >= 0 && card <= 32);
err = open_ctl(card, &ctl);
if (err < 0) {
- SNDERR("could not open control for card %li", card);
+ SNDERR("could not open control for card %i", card);
goto __error;
}
snd_ctl_card_info_alloca(&info);
@@ -746,6 +741,35 @@
SND_DLSYM_BUILD_VERSION(snd_func_private_card_driver, SND_CONFIG_DLSYM_VERSION_EVALUATE);
#endif
+static int parse_card(snd_config_t *root, snd_config_t *src,
+ snd_config_t *private_data)
+{
+ snd_config_t *n;
+ char *str;
+ int card, err;
+
+ err = snd_config_search(src, "card", &n);
+ if (err < 0) {
+ SNDERR("field card not found");
+ return err;
+ }
+ err = snd_config_evaluate(n, root, private_data, NULL);
+ if (err < 0) {
+ SNDERR("error evaluating card");
+ return err;
+ }
+ err = snd_config_get_ascii(n, &str);
+ if (err < 0) {
+ SNDERR("field card is not an integer or a string");
+ return err;
+ }
+ card = snd_card_get_index(str);
+ free(str);
+ if (card < 0)
+ SNDERR("cannot find card '%s'", str);
+ return card;
+}
+
/**
* \brief Returns the card number as integer.
* \param dst The function puts the handle to the result configuration node
@@ -766,37 +790,15 @@
int snd_func_card_inum(snd_config_t **dst, snd_config_t *root, snd_config_t *src,
snd_config_t *private_data)
{
- snd_config_t *n;
const char *id;
- char *str;
- long v;
- int err;
+ int card, err;
- err = snd_config_search(src, "card", &n);
- if (err < 0) {
- SNDERR("field card not found");
- return err;
- }
- err = snd_config_evaluate(n, root, private_data, NULL);
- if (err < 0) {
- SNDERR("error evaluating card");
- return err;
- }
- err = snd_config_get_ascii(n, &str);
- if (err < 0) {
- SNDERR("field card is not an integer or a string");
- return err;
- }
- v = snd_card_get_index(str);
- if (v < 0) {
- SNDERR("cannot find card '%s'", str);
- free(str);
- return v;
- }
- free(str);
+ card = parse_card(root, src, private_data);
+ if (card < 0)
+ return card;
err = snd_config_get_id(src, &id);
if (err >= 0)
- err = snd_config_imake_integer(dst, id, v);
+ err = snd_config_imake_integer(dst, id, card);
return err;
}
#ifndef DOC_HIDDEN
@@ -823,34 +825,13 @@
int snd_func_card_driver(snd_config_t **dst, snd_config_t *root, snd_config_t *src,
snd_config_t *private_data)
{
- snd_config_t *n, *val;
- char *str;
- long v;
- int err;
+ snd_config_t *val;
+ int card, err;
- err = snd_config_search(src, "card", &n);
- if (err < 0) {
- SNDERR("field card not found");
- return err;
- }
- err = snd_config_evaluate(n, root, private_data, NULL);
- if (err < 0) {
- SNDERR("error evaluating card");
- return err;
- }
- err = snd_config_get_ascii(n, &str);
- if (err < 0) {
- SNDERR("field card is not an integer or a string");
- return err;
- }
- v = snd_card_get_index(str);
- if (v < 0) {
- SNDERR("cannot find card '%s'", str);
- free(str);
- return v;
- }
- free(str);
- err = snd_config_imake_integer(&val, "card", v);
+ card = parse_card(root, src, private_data);
+ if (card < 0)
+ return card;
+ err = snd_config_imake_integer(&val, "card", card);
if (err < 0)
return err;
err = snd_func_private_card_driver(dst, root, src, val);
@@ -881,32 +862,69 @@
int snd_func_card_id(snd_config_t **dst, snd_config_t *root, snd_config_t *src,
snd_config_t *private_data)
{
- snd_config_t *n;
- char *res = NULL;
snd_ctl_t *ctl = NULL;
snd_ctl_card_info_t *info;
const char *id;
- long v;
- int err;
+ int card, err;
- err = snd_config_search(src, "card", &n);
+ card = parse_card(root, src, private_data);
+ if (card < 0)
+ return card;
+ err = open_ctl(card, &ctl);
if (err < 0) {
- SNDERR("field card not found");
+ SNDERR("could not open control for card %i", card);
goto __error;
}
- err = snd_config_evaluate(n, root, private_data, NULL);
+ snd_ctl_card_info_alloca(&info);
+ err = snd_ctl_card_info(ctl, info);
if (err < 0) {
- SNDERR("error evaluating card");
+ SNDERR("snd_ctl_card_info error: %s", snd_strerror(err));
goto __error;
}
- err = snd_config_get_integer(n, &v);
- if (err < 0) {
- SNDERR("field card is not an integer");
- goto __error;
+ err = snd_config_get_id(src, &id);
+ if (err >= 0)
+ err = snd_config_imake_string(dst, id,
+ snd_ctl_card_info_get_id(info));
+ __error:
+ if (ctl)
+ snd_ctl_close(ctl);
+ return err;
+}
+#ifndef DOC_HIDDEN
+SND_DLSYM_BUILD_VERSION(snd_func_card_id, SND_CONFIG_DLSYM_VERSION_EVALUATE);
+#endif
+
+/**
+ * \brief Returns the name of a card.
+ * \param dst The function puts the handle to the result configuration node
+ * (with type string) at the address specified by \p dst.
+ * \param root Handle to the root source node.
+ * \param src Handle to the source node, with a \c card definition.
+ * \param private_data Handle to the \c private_data node.
+ * \return A non-negative value if successful, otherwise a negative error code.
+ *
+ * Example:
+\code
+ {
+ @func card_name
+ card 0
}
- err = open_ctl(v, &ctl);
+\endcode
+ */
+int snd_func_card_name(snd_config_t **dst, snd_config_t *root,
+ snd_config_t *src, snd_config_t *private_data)
+{
+ snd_ctl_t *ctl = NULL;
+ snd_ctl_card_info_t *info;
+ const char *id;
+ int card, err;
+
+ card = parse_card(root, src, private_data);
+ if (card < 0)
+ return card;
+ err = open_ctl(card, &ctl);
if (err < 0) {
- SNDERR("could not open control for card %li", v);
+ SNDERR("could not open control for card %i", card);
goto __error;
}
snd_ctl_card_info_alloca(&info);
@@ -915,22 +933,17 @@
SNDERR("snd_ctl_card_info error: %s", snd_strerror(err));
goto __error;
}
- res = strdup(snd_ctl_card_info_get_id(info));
- if (res == NULL) {
- err = -ENOMEM;
- goto __error;
- }
err = snd_config_get_id(src, &id);
if (err >= 0)
- err = snd_config_imake_string(dst, id, res);
- free(res);
+ err = snd_config_imake_string(dst, id,
+ snd_ctl_card_info_get_name(info));
__error:
if (ctl)
snd_ctl_close(ctl);
return err;
}
#ifndef DOC_HIDDEN
-SND_DLSYM_BUILD_VERSION(snd_func_card_id, SND_CONFIG_DLSYM_VERSION_EVALUATE);
+SND_DLSYM_BUILD_VERSION(snd_func_card_name, SND_CONFIG_DLSYM_VERSION_EVALUATE);
#endif
/**
@@ -962,21 +975,9 @@
long card, device, subdevice = 0;
int err;
- err = snd_config_search(src, "card", &n);
- if (err < 0) {
- SNDERR("field card not found");
- goto __error;
- }
- err = snd_config_evaluate(n, root, private_data, NULL);
- if (err < 0) {
- SNDERR("error evaluating card");
- goto __error;
- }
- err = snd_config_get_integer(n, &card);
- if (err < 0) {
- SNDERR("field card is not an integer");
- goto __error;
- }
+ card = parse_card(root, src, private_data);
+ if (card < 0)
+ return card;
err = snd_config_search(src, "device", &n);
if (err < 0) {
SNDERR("field device not found");
@@ -1102,7 +1103,7 @@
break;
err = open_ctl(card, &ctl);
if (err < 0) {
- SNDERR("could not open control for card %li", card);
+ SNDERR("could not open control for card %i", card);
goto __out;
}
dev = -1;
@@ -1110,7 +1111,7 @@
while(1) {
err = snd_ctl_pcm_next_device(ctl, &dev);
if (err < 0) {
- SNDERR("could not get next pcm for card %li", card);
+ SNDERR("could not get next pcm for card %i", card);
goto __out;
}
if (dev < 0)
@@ -1134,11 +1135,9 @@
if (err < 0)
return err;
if((err = snd_config_get_id(src, &id)) >= 0) {
- char name[32], *s;
+ char name[32];
snprintf(name, sizeof(name), "CARD=%i,DEV=%i", card, dev);
- if (!(s = strdup(name)))
- return -ENOMEM;
- err = snd_config_imake_string(dst, id, s);
+ err = snd_config_imake_string(dst, id, name);
}
return err;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-lib-1.0.14rc1/src/control/namehint.c new/alsa-lib-1.0.14rc3/src/control/namehint.c
--- old/alsa-lib-1.0.14rc1/src/control/namehint.c 2006-12-07 15:10:22.000000000 +0100
+++ new/alsa-lib-1.0.14rc3/src/control/namehint.c 2007-02-26 10:02:40.000000000 +0100
@@ -532,7 +532,9 @@
if (snd_config_search(snd_config, "defaults.namehint.showall", &conf) >= 0)
list.show_all = snd_config_get_bool(conf) > 0;
if (card >= 0) {
- err = add_card(&list, card);
+ err = get_card_name(&list, card);
+ if (err >= 0)
+ err = add_card(&list, card);
} else {
err = snd_card_next(&card);
if (err < 0)
@@ -601,7 +603,8 @@
/**
* \brief Get a hint Free a string list with device name hints.
- * \param hints A string list to free
+ * \param hint A pointer to hint
+ * \param id Hint ID (see bellow)
* \result an allocated ASCII string if success, otherwise NULL
*
* List of valid IDs:
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-lib-1.0.14rc1/src/Makefile.am new/alsa-lib-1.0.14rc3/src/Makefile.am
--- old/alsa-lib-1.0.14rc1/src/Makefile.am 2006-12-07 15:10:20.000000000 +0100
+++ new/alsa-lib-1.0.14rc3/src/Makefile.am 2007-02-26 10:02:39.000000000 +0100
@@ -2,7 +2,7 @@
COMPATNUM=@LIBTOOL_VERSION_INFO@
if VERSIONED_SYMBOLS
-VSYMS = -Wl,--version-script=$(srcdir)/Versions
+VSYMS = -Wl,--version-script=Versions
else
VSYMS =
endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-lib-1.0.14rc1/src/mixer/simple_none.c new/alsa-lib-1.0.14rc3/src/mixer/simple_none.c
--- old/alsa-lib-1.0.14rc1/src/mixer/simple_none.c 2006-12-07 15:10:23.000000000 +0100
+++ new/alsa-lib-1.0.14rc3/src/mixer/simple_none.c 2007-02-26 10:02:40.000000000 +0100
@@ -1702,7 +1702,7 @@
snd_mixer_selem_id_free(id);
}
if (simple->ctls[type].elem) {
- SNDERR("helem (%s,'%s',%li,%li,%li) appears twice or more",
+ SNDERR("helem (%s,'%s',%u,%u,%u) appears twice or more",
snd_ctl_elem_iface_name(snd_hctl_elem_get_interface(helem)),
snd_hctl_elem_get_name(helem),
snd_hctl_elem_get_index(helem),
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-lib-1.0.14rc1/src/pcm/pcm.c new/alsa-lib-1.0.14rc3/src/pcm/pcm.c
--- old/alsa-lib-1.0.14rc1/src/pcm/pcm.c 2006-12-07 15:10:23.000000000 +0100
+++ new/alsa-lib-1.0.14rc3/src/pcm/pcm.c 2007-02-26 10:02:40.000000000 +0100
@@ -7155,7 +7155,7 @@
/* set the count of channels */
err = snd_pcm_hw_params_set_channels(pcm, params, channels);
if (err < 0) {
- SNDERR("Channels count (%i) not available for %s: %s", s, channels, snd_strerror(err));
+ SNDERR("Channels count (%i) not available for %s: %s", channels, s, snd_strerror(err));
return err;
}
/* set the stream rate */
@@ -7212,7 +7212,7 @@
period_time = latency / 4;
err = INTERNAL(snd_pcm_hw_params_set_period_time_near)(pcm, params, &period_time, NULL);
if (err < 0) {
- SNDERR("Unable to set period time %i for %s: %s", s, period_time, snd_strerror(err));
+ SNDERR("Unable to set period time %i for %s: %s", period_time, s, snd_strerror(err));
return err;
}
err = INTERNAL(snd_pcm_hw_params_get_period_size)(params, &period_size, NULL);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-lib-1.0.14rc1/src/pcm/pcm_direct.c new/alsa-lib-1.0.14rc3/src/pcm/pcm_direct.c
--- old/alsa-lib-1.0.14rc1/src/pcm/pcm_direct.c 2006-12-07 15:10:24.000000000 +0100
+++ new/alsa-lib-1.0.14rc3/src/pcm/pcm_direct.c 2007-02-26 10:02:40.000000000 +0100
@@ -895,7 +895,7 @@
}
if (ret < 0 && dmix->type != SND_PCM_TYPE_DMIX) {
/* TODO: try to choose a good format */
- ret = snd_pcm_hw_params_set_format_first(spcm, hw_params, &format);
+ ret = INTERNAL(snd_pcm_hw_params_set_format_first)(spcm, hw_params, &format);
}
if (ret < 0) {
SNDERR("requested or auto-format is not available");
@@ -1101,7 +1101,7 @@
}
if (snd_timer_poll_descriptors_count(dmix->timer) != 1) {
- SNDERR("unable to use timer with fd more than one!!!", name);
+ SNDERR("unable to use timer '%s' with more than one fd!", name);
return ret;
}
snd_timer_poll_descriptors(dmix->timer, &dmix->timer_fd, 1);
@@ -1375,7 +1375,7 @@
return -EINVAL;
}
if (schannel < 0 || schannel >= params->channels) {
- SNDERR("invalid slave channel number %d in binding to %d",
+ SNDERR("invalid slave channel number %ld in binding to %ld",
schannel, cchannel);
free(bindings);
return -EINVAL;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-lib-1.0.14rc1/src/pcm/pcm_ladspa.c new/alsa-lib-1.0.14rc3/src/pcm/pcm_ladspa.c
--- old/alsa-lib-1.0.14rc1/src/pcm/pcm_ladspa.c 2006-12-07 15:10:26.000000000 +0100
+++ new/alsa-lib-1.0.14rc3/src/pcm/pcm_ladspa.c 2007-02-26 10:02:40.000000000 +0100
@@ -406,33 +406,36 @@
snd_pcm_ladspa_plugin_io_t *io,
snd_pcm_ladspa_eps_t *eps)
{
- unsigned int port, channels, idx;
+ unsigned int port, channels, idx, idx1;
int err;
assert(plugin->policy == SND_PCM_LADSPA_POLICY_NONE);
channels = io->port_bindings_size > 0 ?
io->port_bindings_size :
snd_pcm_ladspa_count_ports(plugin, io->pdesc | LADSPA_PORT_AUDIO);
- for (idx = 0; idx < channels; idx++) {
+ for (idx = idx1 = 0; idx < channels; idx++) {
if (io->port_bindings_size > 0)
port = io->port_bindings[idx];
else {
err = snd_pcm_ladspa_find_port(&port, plugin, io->pdesc | LADSPA_PORT_AUDIO, idx);
if (err < 0) {
- SNDERR("unable to find audio %s port %u plugin '%s'\n", io->pdesc & LADSPA_PORT_INPUT ? "input" : "output", idx, plugin->desc->Name);
+ SNDERR("unable to find audio %s port %u plugin '%s'", io->pdesc & LADSPA_PORT_INPUT ? "input" : "output", idx, plugin->desc->Name);
return err;
}
}
- err = snd_pcm_ladspa_add_to_carray(&eps->channels, idx, idx);
+ if (port == NO_ASSIGN)
+ continue;
+ err = snd_pcm_ladspa_add_to_carray(&eps->channels, idx1, idx);
if (err < 0) {
- SNDERR("unable to add channel %u for audio %s plugin '%s'\n", idx, io->pdesc & LADSPA_PORT_INPUT ? "input" : "output", plugin->desc->Name);
+ SNDERR("unable to add channel %u for audio %s plugin '%s'", idx, io->pdesc & LADSPA_PORT_INPUT ? "input" : "output", plugin->desc->Name);
return err;
}
- err = snd_pcm_ladspa_add_to_array(&eps->ports, idx, port);
+ err = snd_pcm_ladspa_add_to_array(&eps->ports, idx1, port);
if (err < 0) {
- SNDERR("unable to add port %u for audio %s plugin '%s'\n", port, io->pdesc & LADSPA_PORT_INPUT ? "input" : "output", plugin->desc->Name);
+ SNDERR("unable to add port %u for audio %s plugin '%s'", port, io->pdesc & LADSPA_PORT_INPUT ? "input" : "output", plugin->desc->Name);
return err;
}
+ idx1++;
}
return 0;
}
@@ -465,18 +468,18 @@
} else {
err = snd_pcm_ladspa_find_port(&port, plugin, io->pdesc | LADSPA_PORT_AUDIO, 0);
if (err < 0) {
- SNDERR("unable to find audio %s port %u plugin '%s'\n", io->pdesc & LADSPA_PORT_INPUT ? "input" : "output", (unsigned int)0, plugin->desc->Name);
+ SNDERR("unable to find audio %s port %u plugin '%s'", io->pdesc & LADSPA_PORT_INPUT ? "input" : "output", (unsigned int)0, plugin->desc->Name);
return err;
}
}
err = snd_pcm_ladspa_add_to_carray(&eps->channels, 0, idx);
if (err < 0) {
- SNDERR("unable to add channel %u for audio %s plugin '%s'\n", idx, io->pdesc & LADSPA_PORT_INPUT ? "input" : "output", plugin->desc->Name);
+ SNDERR("unable to add channel %u for audio %s plugin '%s'", idx, io->pdesc & LADSPA_PORT_INPUT ? "input" : "output", plugin->desc->Name);
return err;
}
err = snd_pcm_ladspa_add_to_array(&eps->ports, 0, port);
if (err < 0) {
- SNDERR("unable to add port %u for audio %s plugin '%s'\n", port, io->pdesc & LADSPA_PORT_INPUT ? "input" : "output", plugin->desc->Name);
+ SNDERR("unable to add port %u for audio %s plugin '%s'", port, io->pdesc & LADSPA_PORT_INPUT ? "input" : "output", plugin->desc->Name);
return err;
}
return 0;
@@ -592,13 +595,13 @@
for (idx = midx = 0; idx < plugin->desc->PortCount; idx++)
if ((plugin->desc->PortDescriptors[idx] & (io->pdesc | LADSPA_PORT_AUDIO)) == (io->pdesc | LADSPA_PORT_AUDIO)) {
if (eps->channels.array[midx] == NO_ASSIGN) {
- SNDERR("%s port for plugin %s depth %u is not connected\n", io->pdesc & LADSPA_PORT_INPUT ? "input" : "output", plugin->desc->Name, depth);
+ SNDERR("%s port for plugin %s depth %u is not connected", io->pdesc & LADSPA_PORT_INPUT ? "input" : "output", plugin->desc->Name, depth);
err++;
}
midx++;
}
if (err > 0) {
- SNDERR("%i connection errors total\n", err);
+ SNDERR("%i connection errors total", err);
return -EINVAL;
}
return 0;
@@ -715,11 +718,13 @@
nchannels = channels;
for (idx = 0; idx < instance->input.channels.size; idx++) {
chn = instance->input.channels.array[idx];
+ assert(instance->input.ports.array[idx] != NO_ASSIGN);
if (chn >= nchannels)
nchannels = chn + 1;
}
for (idx = 0; idx < instance->output.channels.size; idx++) {
chn = instance->output.channels.array[idx];
+ assert(instance->output.ports.array[idx] != NO_ASSIGN);
if (chn >= nchannels)
nchannels = chn + 1;
}
@@ -876,8 +881,8 @@
if (data == NULL) {
data = (LADSPA_Data *)((char *)areas[chn].addr + (areas[chn].first / 8));
data += offset;
- }
- instance->desc->connect_port(instance->handle, instance->input.ports.array[idx], data);
+ }
+ instance->desc->connect_port(instance->handle, instance->input.ports.array[idx], data);
}
for (idx = 0; idx < instance->output.channels.size; idx++) {
chn = instance->output.channels.array[idx];
@@ -886,7 +891,7 @@
data = (LADSPA_Data *)((char *)slave_areas[chn].addr + (areas[chn].first / 8));
data += slave_offset;
}
- instance->desc->connect_port(instance->handle, instance->output.ports.array[idx], data);
+ instance->desc->connect_port(instance->handle, instance->output.ports.array[idx], data);
}
instance->desc->run(instance->handle, size1);
}
@@ -1005,7 +1010,7 @@
snd_output_putc(out, '-');
else
snd_output_printf(out, "%u", val);
- if (plugin)
+ if (plugin && val != NO_ASSIGN)
snd_output_printf(out, " \"%s\"", plugin->desc->PortNames[val]);
}
}
@@ -1099,8 +1104,10 @@
if (label != NULL) {
lc = localeconv ();
labellocale = malloc (strlen (label) + 1);
- if (labellocale == NULL)
+ if (labellocale == NULL) {
+ dlclose(handle);
return -ENOMEM;
+ }
strcpy (labellocale, label);
if (strrchr(labellocale, '.'))
*strrchr (labellocale, '.') = *lc->decimal_point;
@@ -1114,8 +1121,10 @@
if (ladspa_id > 0 && d->UniqueID != ladspa_id)
continue;
plugin->filename = strdup(filename);
- if (plugin->filename == NULL)
+ if (plugin->filename == NULL) {
+ dlclose(handle);
return -ENOMEM;
+ }
plugin->dl_handle = handle;
plugin->desc = d;
return 1;
@@ -1153,18 +1162,24 @@
}
filename = malloc(len + strlen(dirent->d_name) + 1 + need_slash);
- if (filename == NULL)
+ if (filename == NULL) {
+ closedir(dir);
return -ENOMEM;
+ }
strcpy(filename, path);
if (need_slash)
strcat(filename, "/");
strcat(filename, dirent->d_name);
err = snd_pcm_ladspa_check_file(plugin, filename, label, ladspa_id);
free(filename);
- if (err < 0 && err != -ENOENT)
+ if (err < 0 && err != -ENOENT) {
+ closedir(dir);
return err;
- if (err > 0)
+ }
+ if (err > 0) {
+ closedir(dir);
return 1;
+ }
}
/* never reached */
return 0;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-lib-1.0.14rc1/src/timer/timer.c new/alsa-lib-1.0.14rc3/src/timer/timer.c
--- old/alsa-lib-1.0.14rc1/src/timer/timer.c 2006-12-07 15:10:28.000000000 +0100
+++ new/alsa-lib-1.0.14rc3/src/timer/timer.c 2007-02-26 10:02:41.000000000 +0100
@@ -92,7 +92,7 @@
#ifndef PIC
extern void *snd_timer_open_symbols(void);
#endif
- void *h;
+ void *h = NULL;
if (snd_config_get_type(timer_conf) != SND_CONFIG_TYPE_COMPOUND) {
if (name)
SNDERR("Invalid type for TIMER %s definition", name);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-lib-1.0.14rc1/src/timer/timer_query.c new/alsa-lib-1.0.14rc3/src/timer/timer_query.c
--- old/alsa-lib-1.0.14rc1/src/timer/timer_query.c 2006-12-07 15:10:28.000000000 +0100
+++ new/alsa-lib-1.0.14rc3/src/timer/timer_query.c 2007-02-26 10:02:41.000000000 +0100
@@ -50,7 +50,7 @@
#ifndef PIC
extern void *snd_timer_query_open_symbols(void);
#endif
- void *h;
+ void *h = NULL;
if (snd_config_get_type(timer_conf) != SND_CONFIG_TYPE_COMPOUND) {
if (name)
SNDERR("Invalid type for TIMER %s definition", name);
@@ -77,6 +77,7 @@
if (err >= 0) {
if (snd_config_get_type(type_conf) != SND_CONFIG_TYPE_COMPOUND) {
SNDERR("Invalid type for TIMER type %s definition", str);
+ err = -EINVAL;
goto _err;
}
snd_config_for_each(i, next, type_conf) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-lib-1.0.14rc1/src/Versions.in new/alsa-lib-1.0.14rc3/src/Versions.in
--- old/alsa-lib-1.0.14rc1/src/Versions.in 1970-01-01 01:00:00.000000000 +0100
+++ new/alsa-lib-1.0.14rc3/src/Versions.in 2007-02-26 10:02:39.000000000 +0100
@@ -0,0 +1,298 @@
+ALSA_0.9 {
+ global:
+ @SYMBOL_PREFIX@__snd_*;
+ @SYMBOL_PREFIX@_snd_*;
+ @SYMBOL_PREFIX@snd_*;
+ local:
+ *;
+};
+
+ALSA_0.9.0rc4 {
+ global:
+
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_access;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_access_first;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_access_last;
+
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_format;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_format_first;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_format_last;
+
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_subformat;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_subformat_first;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_subformat_last;
+
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_channels;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_channels_min;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_channels_max;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_channels_near;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_channels_first;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_channels_last;
+
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_rate;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_rate_min;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_rate_max;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_rate_near;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_rate_first;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_rate_last;
+
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_period_time;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_period_time_min;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_period_time_max;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_period_time_near;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_period_time_first;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_period_time_last;
+
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_period_size;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_period_size_min;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_period_size_max;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_period_size_near;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_period_size_first;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_period_size_last;
+
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_periods;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_periods_min;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_periods_max;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_periods_near;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_periods_first;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_periods_last;
+
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_buffer_time;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_buffer_time_min;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_buffer_time_max;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_buffer_time_near;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_buffer_time_first;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_buffer_time_last;
+
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_buffer_size;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_buffer_size_min;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_buffer_size_max;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_buffer_size_near;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_buffer_size_first;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_buffer_size_last;
+
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_tick_time;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_tick_time_min;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_tick_time_max;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_tick_time_near;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_tick_time_first;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_tick_time_last;
+
+} ALSA_0.9;
+
+ALSA_0.9.0rc8 {
+ global:
+
+ @SYMBOL_PREFIX@snd_pcm_forward;
+ @SYMBOL_PREFIX@snd_pcm_status_get_trigger_htstamp;
+ @SYMBOL_PREFIX@snd_pcm_status_get_htstamp;
+
+} ALSA_0.9.0rc4;
+
+ALSA_0.9.0 {
+ global:
+
+ @SYMBOL_PREFIX@snd_pcm_type_name;
+ @SYMBOL_PREFIX@snd_timer_query_info;
+ @SYMBOL_PREFIX@snd_timer_query_params;
+ @SYMBOL_PREFIX@snd_timer_query_status;
+ @SYMBOL_PREFIX@snd_timer_params_set_exclusive;
+ @SYMBOL_PREFIX@snd_timer_params_get_exclusive;
+ @SYMBOL_PREFIX@snd_timer_params_set_filter;
+ @SYMBOL_PREFIX@snd_timer_params_get_filter;
+} ALSA_0.9.0rc8;
+
+ALSA_0.9.3 {
+ global:
+
+ @SYMBOL_PREFIX@snd_ctl_elem_info_get_dimensions;
+ @SYMBOL_PREFIX@snd_ctl_elem_info_get_dimension;
+} ALSA_0.9.0;
+
+ALSA_0.9.5 {
+ global:
+
+ @SYMBOL_PREFIX@alsa_lisp;
+} ALSA_0.9.3;
+
+ALSA_0.9.6 {
+ global:
+
+ @SYMBOL_PREFIX@snd_hctl_open_ctl;
+ @SYMBOL_PREFIX@snd_seq_port_info_get_timestamping;
+ @SYMBOL_PREFIX@snd_seq_port_info_get_timestamp_real;
+ @SYMBOL_PREFIX@snd_seq_port_info_get_timestamp_queue;
+ @SYMBOL_PREFIX@snd_seq_port_info_set_timestamping;
+ @SYMBOL_PREFIX@snd_seq_port_info_set_timestamp_real;
+ @SYMBOL_PREFIX@snd_seq_port_info_set_timestamp_queue;
+} ALSA_0.9.5;
+
+ALSA_0.9.7 {
+ global:
+
+ @SYMBOL_PREFIX@snd_user_file;
+ @SYMBOL_PREFIX@snd_hctl_ctl;
+ @SYMBOL_PREFIX@sndo_*;
+ @SYMBOL_PREFIX@alsa_lisp_*;
+} ALSA_0.9.6;
+
+ALSA_0.9.8 {
+ global:
+
+ @SYMBOL_PREFIX@snd_ctl_elem_add;
+ @SYMBOL_PREFIX@snd_ctl_elem_replace;
+ @SYMBOL_PREFIX@snd_ctl_elem_remove;
+ @SYMBOL_PREFIX@snd_hctl_poll_descriptors_revents;
+} ALSA_0.9.7;
+
+ALSA_1.0.4 {
+ global:
+
+ @SYMBOL_PREFIX@snd_spcm_init;
+ @SYMBOL_PREFIX@snd_spcm_init_duplex;
+ @SYMBOL_PREFIX@snd_spcm_init_get_params;
+} ALSA_0.9.8;
+
+ALSA_1.0.5 {
+ global:
+
+ @SYMBOL_PREFIX@snd_asoundlib_version;
+ @SYMBOL_PREFIX@snd_timer_params_set_early_event;
+ @SYMBOL_PREFIX@snd_timer_params_get_early_event;
+} ALSA_1.0.4;
+
+ALSA_1.0.8 {
+ global:
+
+ @SYMBOL_PREFIX@snd_ctl_elem_add_integer;
+ @SYMBOL_PREFIX@snd_ctl_elem_add_integer64;
+ @SYMBOL_PREFIX@snd_ctl_elem_add_boolean;
+ @SYMBOL_PREFIX@snd_ctl_elem_add_iec958;
+ @SYMBOL_PREFIX@snd_ctl_elem_remove;
+} ALSA_1.0.5;
+
+ALSA_1.0.9 {
+ global:
+
+ @SYMBOL_PREFIX@snd_names_list;
+ @SYMBOL_PREFIX@snd_names_list_free;
+
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_rate_resample;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_rate_resample;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_set_export_buffer;
+ @SYMBOL_PREFIX@snd_pcm_hw_params_get_export_buffer;
+
+ @SYMBOL_PREFIX@snd_pcm_ioplug_create;
+ @SYMBOL_PREFIX@snd_pcm_ioplug_delete;
+ @SYMBOL_PREFIX@snd_pcm_ioplug_reinit_status;
+ @SYMBOL_PREFIX@snd_pcm_ioplug_params_reset;
+ @SYMBOL_PREFIX@snd_pcm_ioplug_set_param_minmax;
+ @SYMBOL_PREFIX@snd_pcm_ioplug_set_param_list;
+
+ @SYMBOL_PREFIX@snd_pcm_extplug_create;
+ @SYMBOL_PREFIX@snd_pcm_extplug_delete;
+ @SYMBOL_PREFIX@snd_pcm_extplug_params_reset;
+ @SYMBOL_PREFIX@snd_pcm_extplug_set_param_list;
+ @SYMBOL_PREFIX@snd_pcm_extplug_set_param_minmax;
+ @SYMBOL_PREFIX@snd_pcm_extplug_set_slave_param_list;
+ @SYMBOL_PREFIX@snd_pcm_extplug_set_slave_param_minmax;
+
+ @SYMBOL_PREFIX@snd_pcm_parse_control_id;
+
+ @SYMBOL_PREFIX@snd_async_add_timer_handler;
+ @SYMBOL_PREFIX@snd_async_handler_get_timer;
+
+ @SYMBOL_PREFIX@snd_timer_ginfo_sizeof;
+ @SYMBOL_PREFIX@snd_timer_ginfo_malloc;
+ @SYMBOL_PREFIX@snd_timer_ginfo_free;
+ @SYMBOL_PREFIX@snd_timer_ginfo_copy;
+ @SYMBOL_PREFIX@snd_timer_ginfo_set_tid;
+ @SYMBOL_PREFIX@snd_timer_ginfo_get_tid;
+ @SYMBOL_PREFIX@snd_timer_ginfo_get_flags;
+ @SYMBOL_PREFIX@snd_timer_ginfo_get_card;
+ @SYMBOL_PREFIX@snd_timer_ginfo_get_id;
+ @SYMBOL_PREFIX@snd_timer_ginfo_get_name;
+ @SYMBOL_PREFIX@snd_timer_ginfo_get_resolution;
+ @SYMBOL_PREFIX@snd_timer_ginfo_get_resolution_min;
+ @SYMBOL_PREFIX@snd_timer_ginfo_get_resolution_max;
+ @SYMBOL_PREFIX@snd_timer_ginfo_get_clients;
+
+} ALSA_1.0.8;
+
+ALSA_1.0.10 {
+ global:
+
+ @SYMBOL_PREFIX@snd_mixer_get_hctl;
+ @SYMBOL_PREFIX@snd_mixer_elem_get_private;
+ @SYMBOL_PREFIX@snd_mixer_attach_hctl;
+ @SYMBOL_PREFIX@snd_mixer_detach_hctl;
+
+ @SYMBOL_PREFIX@snd_mixer_class_register;
+ @SYMBOL_PREFIX@snd_mixer_add_elem;
+ @SYMBOL_PREFIX@snd_mixer_remove_elem;
+ @SYMBOL_PREFIX@snd_mixer_elem_new;
+ @SYMBOL_PREFIX@snd_mixer_elem_add;
+ @SYMBOL_PREFIX@snd_mixer_elem_remove;
+ @SYMBOL_PREFIX@snd_mixer_elem_free;
+ @SYMBOL_PREFIX@snd_mixer_elem_info;
+ @SYMBOL_PREFIX@snd_mixer_elem_value;
+ @SYMBOL_PREFIX@snd_mixer_elem_attach;
+ @SYMBOL_PREFIX@snd_mixer_elem_detach;
+ @SYMBOL_PREFIX@snd_mixer_elem_empty;
+
+ @SYMBOL_PREFIX@snd_mixer_class_malloc;
+ @SYMBOL_PREFIX@snd_mixer_class_free;
+ @SYMBOL_PREFIX@snd_mixer_class_copy;
+ @SYMBOL_PREFIX@snd_mixer_class_get_mixer;
+ @SYMBOL_PREFIX@snd_mixer_class_get_event;
+ @SYMBOL_PREFIX@snd_mixer_class_get_private;
+ @SYMBOL_PREFIX@snd_mixer_class_get_compare;
+ @SYMBOL_PREFIX@snd_mixer_class_set_event;
+ @SYMBOL_PREFIX@snd_mixer_class_set_private;
+ @SYMBOL_PREFIX@snd_mixer_class_set_private_free;
+ @SYMBOL_PREFIX@snd_mixer_class_set_compare;
+
+ @SYMBOL_PREFIX@snd_mixer_selem_set_playback_dB_all;
+ @SYMBOL_PREFIX@snd_mixer_selem_set_capture_dB_all;
+ @SYMBOL_PREFIX@snd_mixer_selem_is_enum_playback;
+ @SYMBOL_PREFIX@snd_mixer_selem_is_enum_capture;
+ @SYMBOL_PREFIX@snd_mixer_selem_compare;
+ @SYMBOL_PREFIX@snd_mixer_sbasic_info;
+ @SYMBOL_PREFIX@snd_mixer_sbasic_get_private;
+ @SYMBOL_PREFIX@snd_mixer_sbasic_set_private;
+ @SYMBOL_PREFIX@snd_mixer_sbasic_set_private_free;
+
+ @SYMBOL_PREFIX@snd_ctl_ext_create;
+ @SYMBOL_PREFIX@snd_ctl_ext_delete;
+
+} ALSA_1.0.9;
+
+ALSA_1.0.11 {
+ global:
+
+ @SYMBOL_PREFIX@snd_pcm_recover;
+ @SYMBOL_PREFIX@snd_pcm_set_params;
+ @SYMBOL_PREFIX@snd_pcm_get_params;
+} ALSA_1.0.10;
+
+ALSA_1.0.12 {
+ global:
+
+ @SYMBOL_PREFIX@snd_ctl_elem_tlv_read;
+ @SYMBOL_PREFIX@snd_ctl_elem_tlv_write;
+ @SYMBOL_PREFIX@snd_ctl_elem_tlv_command;
+ @SYMBOL_PREFIX@snd_ctl_elem_info_is_tlv_readable;
+ @SYMBOL_PREFIX@snd_ctl_elem_info_is_tlv_writable;
+ @SYMBOL_PREFIX@snd_ctl_elem_info_is_tlv_commandable;
+ @SYMBOL_PREFIX@snd_hctl_elem_tlv_read;
+ @SYMBOL_PREFIX@snd_hctl_elem_tlv_write;
+ @SYMBOL_PREFIX@snd_hctl_elem_tlv_command;
+} ALSA_1.0.11;
+
+ALSA_1.0.14 {
+ global:
+
+ @SYMBOL_PREFIX@snd_device_name_hint;
+ @SYMBOL_PREFIX@snd_device_name_free_hint;
+ @SYMBOL_PREFIX@snd_device_name_get_hint;
+} ALSA_1.0.12;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-lib-1.0.14rc1/version new/alsa-lib-1.0.14rc3/version
--- old/alsa-lib-1.0.14rc1/version 2006-12-07 15:12:27.000000000 +0100
+++ new/alsa-lib-1.0.14rc3/version 2007-02-26 10:04:39.000000000 +0100
@@ -1 +1 @@
-1.0.14rc1
+1.0.14rc3
++++++ alsa-lib-hg-fixes.diff ++++++
++++ 1091 lines (skipped)
++++ between alsa/alsa-lib-hg-fixes.diff
++++ and /mounts/work_src_done/STABLE/alsa/alsa-lib-hg-fixes.diff
++++++ alsa-oss-hg-fixes.diff ++++++
diff -r 6b42089e67e3 alsa/alsa-oss.c
--- a/alsa/alsa-oss.c Tue Aug 22 14:40:57 2006 +0200
+++ b/alsa/alsa-oss.c Mon Feb 19 12:57:13 2007 +0100
@@ -69,6 +69,7 @@ static int (*_select)(int n, fd_set *rea
static int (*_select)(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
static int (*_poll)(struct pollfd *ufds, unsigned int nfds, int timeout);
static int (*_open)(const char *file, int oflag, ...);
+static int (*_open64)(const char *file, int oflag, ...);
static int (*_close)(int fd);
static ssize_t (*_write)(int fd, const void *buf, size_t n);
static ssize_t (*_read)(int fd, void *buf, size_t n);
@@ -78,6 +79,7 @@ static int (*_munmap)(void* addr, size_t
static int (*_munmap)(void* addr, size_t len);
static FILE *(*_fopen)(const char *path, const char *mode);
+static FILE *(*_fopen64)(const char *path, const char *mode);
typedef struct ops {
int (*close)(int fd);
@@ -242,57 +244,73 @@ static ops_t ops[FD_CLASSES] = {
},
};
-int open(const char *file, int oflag, ...)
-{
- va_list args;
- mode_t mode = 0;
+static int dsp_open_helper(const char *file, int oflag)
+{
int fd;
-
- if (!initialized)
- initialize();
-
- if (oflag & O_CREAT) {
- va_start(args, oflag);
- mode = va_arg(args, mode_t);
- va_end(args);
- }
- if (is_dsp_device(file)) {
- fd = lib_oss_pcm_open(file, oflag);
- if (fd >= 0) {
- int nfds;
- fds[fd] = calloc(sizeof(fd_t), 1);
- if (fds[fd] == NULL) {
- ops[FD_OSS_DSP].close(fd);
- errno = ENOMEM;
- return -1;
- }
- fds[fd]->class = FD_OSS_DSP;
- fds[fd]->oflags = oflag;
- nfds = lib_oss_pcm_poll_fds(fd);
- if (nfds > 0) {
- fds[fd]->poll_fds = nfds;
- poll_fds_add += nfds;
- }
- }
- } else if (is_mixer_device(file)) {
- fd = lib_oss_mixer_open(file, oflag);
- if (fd >= 0) {
- fds[fd] = calloc(sizeof(fd_t), 1);
- if (fds[fd] == NULL) {
- ops[FD_OSS_MIXER].close(fd);
- errno = ENOMEM;
- return -1;
- }
- fds[fd]->class = FD_OSS_MIXER;
- fds[fd]->oflags = oflag;
- }
- } else {
- fd = _open(file, oflag, mode);
- if (fd >= 0)
- assert(fds[fd] == NULL);
+ fd = lib_oss_pcm_open(file, oflag);
+ if (fd >= 0) {
+ int nfds;
+ fds[fd] = calloc(sizeof(fd_t), 1);
+ if (fds[fd] == NULL) {
+ ops[FD_OSS_DSP].close(fd);
+ errno = ENOMEM;
+ return -1;
+ }
+ fds[fd]->class = FD_OSS_DSP;
+ fds[fd]->oflags = oflag;
+ nfds = lib_oss_pcm_poll_fds(fd);
+ if (nfds > 0) {
+ fds[fd]->poll_fds = nfds;
+ poll_fds_add += nfds;
+ }
}
return fd;
}
+
+static int mixer_open_helper(const char *file, int oflag)
+{
+ int fd;
+ fd = lib_oss_mixer_open(file, oflag);
+ if (fd >= 0) {
+ fds[fd] = calloc(sizeof(fd_t), 1);
+ if (fds[fd] == NULL) {
+ ops[FD_OSS_MIXER].close(fd);
+ errno = ENOMEM;
+ return -1;
+ }
+ fds[fd]->class = FD_OSS_MIXER;
+ fds[fd]->oflags = oflag;
+ }
+ return fd;
+}
+
+#define DECL_OPEN(name, callback) \
+int name(const char *file, int oflag, ...) \
+{ \
+ va_list args; \
+ mode_t mode = 0; \
+ int fd; \
+ if (!initialized) \
+ initialize(); \
+ if (oflag & O_CREAT) { \
+ va_start(args, oflag); \
+ mode = va_arg(args, mode_t); \
+ va_end(args); \
+ } \
+ if (is_dsp_device(file)) \
+ fd = dsp_open_helper(file, oflag); \
+ else if (is_mixer_device(file)) \
+ fd = mixer_open_helper(file, oflag); \
+ else { \
+ fd = callback(file, oflag, mode); \
+ if (fd >= 0) \
+ assert(fds[fd] == NULL); \
+ } \
+ return fd; \
+}
+
+DECL_OPEN(open, _open)
+DECL_OPEN(open64, _open64)
int close(int fd)
{
@@ -730,7 +748,7 @@ FILE *fopen64(const char* path, const ch
initialize();
if (!is_dsp_device(path))
- return _fopen(path, mode);
+ return _fopen64(path, mode);
return fake_fopen(path, mode, O_LARGEFILE);
}
@@ -765,19 +783,6 @@ int dup2(int fd, int fd2)
return fcntl(fd, F_DUPFD, fd2);
}
#endif
-
-int open64(const char *file, int oflag, ...)
-{
- va_list args;
- mode_t mode = 0;
-
- if (oflag & O_CREAT) {
- va_start(args, oflag);
- mode = va_arg(args, mode_t);
- va_end(args);
- }
- return open(file, oflag | O_LARGEFILE, mode);
-}
# define strong_alias(name, aliasname) \
extern __typeof (name) aliasname __attribute__ ((alias (#name)));
@@ -809,6 +814,7 @@ static void initialize()
if (!fds)
exit(1);
_open = dlsym(RTLD_NEXT, "open");
+ _open64 = dlsym(RTLD_NEXT, "open64");
_close = dlsym(RTLD_NEXT, "close");
_write = dlsym(RTLD_NEXT, "write");
_read = dlsym(RTLD_NEXT, "read");
@@ -819,5 +825,6 @@ static void initialize()
_select = dlsym(RTLD_NEXT, "select");
_poll = dlsym(RTLD_NEXT, "poll");
_fopen = dlsym(RTLD_NEXT, "fopen");
+ _fopen64 = dlsym(RTLD_NEXT, "fopen64");
initialized = 1;
}
++++++ alsa-utils-1.0.14rc1.tar.bz2 -> alsa-utils-1.0.14rc2.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/alsa-utils-1.0.14rc1/configure new/alsa-utils-1.0.14rc2/configure
--- old/alsa-utils-1.0.14rc1/configure 2006-12-07 15:25:43.000000000 +0100
+++ new/alsa-utils-1.0.14rc2/configure 2007-01-15 14:49:52.000000000 +0100
@@ -1589,7 +1589,7 @@
# Define the identity of the package.
PACKAGE=alsa-utils
- VERSION=1.0.14rc1
+ VERSION=1.0.14rc2
cat >>confdefs.h <<_ACEOF
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/alsa-utils-1.0.14rc1/configure.in new/alsa-utils-1.0.14rc2/configure.in
--- old/alsa-utils-1.0.14rc1/configure.in 2006-12-07 15:24:18.000000000 +0100
+++ new/alsa-utils-1.0.14rc2/configure.in 2007-01-15 14:48:27.000000000 +0100
@@ -2,7 +2,7 @@
AC_PREREQ(2.59)
AC_INIT(alsamixer/alsamixer.c)
AC_PREFIX_DEFAULT(/usr)
-AM_INIT_AUTOMAKE(alsa-utils, 1.0.14rc1)
+AM_INIT_AUTOMAKE(alsa-utils, 1.0.14rc2)
AM_GNU_GETTEXT([external])
AM_GNU_GETTEXT_VERSION([0.15])
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/alsa-utils-1.0.14rc1/include/version.h new/alsa-utils-1.0.14rc2/include/version.h
--- old/alsa-utils-1.0.14rc1/include/version.h 2006-12-07 15:26:03.000000000 +0100
+++ new/alsa-utils-1.0.14rc2/include/version.h 2007-01-15 14:50:13.000000000 +0100
@@ -4,9 +4,9 @@
#define SND_UTIL_MAJOR 1
#define SND_UTIL_MINOR 0
-#define SND_UTIL_SUBMINOR 14rc1
+#define SND_UTIL_SUBMINOR 14rc2
#define SND_UTIL_VERSION ((SND_UTIL_MAJOR<<16)|\
(SND_UTIL_MINOR<<8)|\
SND_UTIL_SUBMINOR)
-#define SND_UTIL_VERSION_STR "1.0.14rc1"
+#define SND_UTIL_VERSION_STR "1.0.14rc2"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/alsa-utils-1.0.14rc1/po/alsa-utils.pot new/alsa-utils-1.0.14rc2/po/alsa-utils.pot
--- old/alsa-utils-1.0.14rc1/po/alsa-utils.pot 2006-12-07 15:27:05.000000000 +0100
+++ new/alsa-utils-1.0.14rc2/po/alsa-utils.pot 2007-01-15 14:51:15.000000000 +0100
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-12-07 15:27+0100\n"
+"POT-Creation-Date: 2007-01-15 14:51+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
Files old/alsa-utils-1.0.14rc1/po/ja.gmo and new/alsa-utils-1.0.14rc2/po/ja.gmo differ
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/alsa-utils-1.0.14rc1/po/ja.po new/alsa-utils-1.0.14rc2/po/ja.po
--- old/alsa-utils-1.0.14rc1/po/ja.po 2006-12-07 15:27:05.000000000 +0100
+++ new/alsa-utils-1.0.14rc2/po/ja.po 2007-01-15 14:51:15.000000000 +0100
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: alsa-utils 1.0.9a\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-12-07 15:27+0100\n"
+"POT-Creation-Date: 2007-01-15 14:51+0100\n"
"PO-Revision-Date: 2006-04-18 15:51+0200\n"
"Last-Translator: Takashi Iwai \n"
"Language-Team: Japanese\n"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/alsa-utils-1.0.14rc1/seq/aconnect/aconnect.1 new/alsa-utils-1.0.14rc2/seq/aconnect/aconnect.1
--- old/alsa-utils-1.0.14rc1/seq/aconnect/aconnect.1 2006-12-07 15:24:05.000000000 +0100
+++ new/alsa-utils-1.0.14rc2/seq/aconnect/aconnect.1 2007-01-15 14:47:59.000000000 +0100
@@ -1,5 +1,12 @@
.TH aconnect 1 "August 31, 2000"
-.LO 1
+.de EX
+.nf
+.ft CW
+..
+.de EE
+.ft R
+.fi
+..
.SH NAME
aconnect \- ALSA sequencer connection manager
@@ -33,12 +40,16 @@
For disconnection, use
.B \-d
option.
-.IP "" 4
+.sp
+.EX
% aconnect \-d 64:0 65:0
+.EE
.PP
The address can be given using the client's name.
-.IP "" 4
+.sp
+.EX
% aconnect External:0 Emu8000:1
+.EE
.PP
Then the port 0 of the client matching with the string "External" is
connected to the port 1 of the client matching with the "Emu8000".
@@ -52,19 +63,15 @@
ports, can be listed with
.B \-i
option.
-.IP "" 4
+.sp
+.EX
% aconnect \-i
-.br
client 0: 'System' [type=kernel]
-.in +4
-0 'Timer '
-.br
-1 'Announce '
-.in -4
+ 0 'Timer '
+ 1 'Announce '
client 64: 'External MIDI\-0' [type=kernel]
-.in +4
-0 'MIDI 0\-0 '
-.in -4
+ 0 'MIDI 0\-0 '
+.EE
.PP
Similarly, to see the output ports, use
.B \-o
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org