/* Use versioned symbols for shared library? */
#undef VERSIONED_SYMBOLS
-
-/* 0.9.0rc3 compatibility build */
-#undef COMPATIBILITY_BUILD_RC3
ERROR("Cannot resolve %s", host);
return 1;
}
- if (!is_local(h)) {
+ if (!snd_is_local(h)) {
ERROR("%s is not the local host", host);
return 1;
}
dnl *************************************************
AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE(alsa-lib, 0.9.0rc3)
-eval LIBTOOL_VERSION_INFO="3:0:0"
+eval LIBTOOL_VERSION_INFO="2:0:0"
dnl *************************************************
AM_CONDITIONAL(INSTALL_M4, test -n "${ACLOCAL}")
;;
esac
-dnl Compatibility build, to be removed....
-AC_MSG_CHECKING(for 0.9.0rc3 compatibility build)
-AC_ARG_WITH(compat-rc3,
- [ --with-compat-rc3 build library compatible with 0.9.0rc3],
- [ AC_DEFINE(COMPATIBILITY_BUILD_RC3, "1", [0.9.0rc3 compatibility build])
- comp_rc3="yes" ],)
-if test "$comp_rc3" = "yes" ; then
- AC_MSG_RESULT(yes)
-else
- AC_MSG_RESULT(no)
-fi
-AM_CONDITIONAL(COMPATIBILITY_BUILD_RC3, [test "x$comp_rc3" = xyes])
-
AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile include/Makefile src/Makefile \
src/control/Makefile src/mixer/Makefile src/pcm/Makefile \
src/rawmidi/Makefile src/timer/Makefile \
JAVADOC_AUTOBRIEF = NO
INHERIT_DOCS = YES
ENABLED_SECTIONS = ""
-PREDEFINED = DOXYGEN PIC "DOC_HIDDEN" "ATTRIBUTE_UNUSED="
+PREDEFINED = DOXYGEN PIC "DOC_HIDDEN" "ATTRIBUTE_UNUSED=" ALSA_PCM_NEW_HW_PARAMS_API
OPTIMIZE_OUTPUT_FOR_C = YES # doxygen 1.2.6 option
sysincludedir = ${includedir}/sys
alsaincludedir = ${includedir}/alsa
-if COMPATIBILITY_BUILD_RC3
- SND_LIB_MAJOR = 0
- SND_LIB_MINOR = 9
- SND_LIB_SUBMINOR = 0
- SND_LIB_EXTRAVER = 100000 # there was a bug....
- SND_LIB_VERSION = 0.9.0rc3
-endif
-
alsainclude_HEADERS = asoundlib.h asoundef.h \
version.h global.h input.h output.h error.h \
conf.h pcm.h pcm_plugin.h rawmidi.h timer.h \
@echo "/** library version (string) */" >> ver.tmp
@echo "#define SND_LIB_VERSION_STR \"$(SND_LIB_VERSION)\"" >> ver.tmp
@echo >> ver.tmp
-if COMPATIBILITY_BUILD_RC3
- @echo "#define SND_COMPATIBILITY_BUILD_RC3 1" >> ver.tmp
-endif
@cmp -s version.h ver.tmp \
|| (echo "Updating version.h"; \
cp ver.tmp version.h; \
#include "../src/pcm/pcm_local.h"
#include "../src/control/control_local.h"
-int receive_fd(int sock, void *data, size_t len, int *fd);
-int is_local(struct hostent *hent);
+int snd_receive_fd(int sock, void *data, size_t len, int *fd);
+int snd_is_local(struct hostent *hent);
typedef enum _snd_dev_type {
SND_DEV_TYPE_PCM,
void snd_pcm_hw_params_copy(snd_pcm_hw_params_t *dst, const snd_pcm_hw_params_t *src);
#ifndef ALSA_LIBRARY_BUILD
-#ifndef SND_COMPATIBILITY_BUILD_RC3
+#ifdef ALSA_PCM_NEW_HW_PARAMS_API
+
+#ifdef DOXYGEN /* we should use this later */
int snd_pcm_hw_params_get_access(const snd_pcm_hw_params_t *params, snd_pcm_access_t *access);
int snd_pcm_hw_params_test_access(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t access);
int snd_pcm_hw_params_set_tick_time_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
int snd_pcm_hw_params_set_tick_time_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
+#else /* !DOXYGEN */
+
+static inline int snd_pcm_hw_params_get_access(const snd_pcm_hw_params_t *params, snd_pcm_access_t *access) {
+ __asm__ (".symver __snd_pcm_hw_params_get_access, snd_pcm_hw_params_get_access@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_access(params, access);
+}
+int snd_pcm_hw_params_test_access(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t access);
+int snd_pcm_hw_params_set_access(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t access);
+static inline int snd_pcm_hw_params_set_access_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t *access) {
+ __asm__ (".symver __snd_pcm_hw_params_set_access_first, snd_pcm_hw_params_set_access_first@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_access_first(pcm, params, access);
+}
+static inline int snd_pcm_hw_params_set_access_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t *access) {
+ __asm__ (".symver __snd_pcm_hw_params_set_access_last, snd_pcm_hw_params_set_access_last@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_access_last(pcm, params, access);
+}
+int snd_pcm_hw_params_set_access_mask(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_mask_t *mask);
+int snd_pcm_hw_params_get_access_mask(snd_pcm_hw_params_t *params, snd_pcm_access_mask_t *mask);
+
+static inline int snd_pcm_hw_params_get_format(const snd_pcm_hw_params_t *params, snd_pcm_format_t *val) {
+ __asm__ (".symver __snd_pcm_hw_params_get_format, snd_pcm_hw_params_get_format@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_format(params, val);
+}
+int snd_pcm_hw_params_test_format(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t val);
+int snd_pcm_hw_params_set_format(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t val);
+static inline int snd_pcm_hw_params_set_format_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t *format) {
+ __asm__ (".symver __snd_pcm_hw_params_set_format_first, snd_pcm_hw_params_set_format_first@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_format_first(pcm, params, format);
+}
+static inline int snd_pcm_hw_params_set_format_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t *format) {
+ __asm__ (".symver __snd_pcm_hw_params_set_format_last, snd_pcm_hw_params_set_format_last@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_format_last(pcm, params, format);
+}
+int snd_pcm_hw_params_set_format_mask(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_mask_t *mask);
+void snd_pcm_hw_params_get_format_mask(snd_pcm_hw_params_t *params, snd_pcm_format_mask_t *mask);
+
+static inline int snd_pcm_hw_params_get_subformat(const snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat) {
+ __asm__ (".symver __snd_pcm_hw_params_get_subformat, snd_pcm_hw_params_get_subformat@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_subformat(params, subformat);
+}
+int snd_pcm_hw_params_test_subformat(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t subformat);
+int snd_pcm_hw_params_set_subformat(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t subformat);
+static inline int snd_pcm_hw_params_set_subformat_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat) {
+ __asm__ (".symver __snd_pcm_hw_params_set_subformat_first, snd_pcm_hw_params_set_subformat_first@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_subformat_first(pcm, params, subformat);
+}
+static inline int snd_pcm_hw_params_set_subformat_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat) {
+ __asm__ (".symver __snd_pcm_hw_params_set_subformat_last, snd_pcm_hw_params_set_subformat_last@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_subformat_last(pcm, params, subformat);
+}
+int snd_pcm_hw_params_set_subformat_mask(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_mask_t *mask);
+void snd_pcm_hw_params_get_subformat_mask(snd_pcm_hw_params_t *params, snd_pcm_subformat_mask_t *mask);
+
+static inline int snd_pcm_hw_params_get_channels(const snd_pcm_hw_params_t *params, unsigned int *val) {
+ __asm__ (".symver __snd_pcm_hw_params_get_channels, snd_pcm_hw_params_get_channels@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_channels(params, val);
+}
+static inline int snd_pcm_hw_params_get_channels_min(const snd_pcm_hw_params_t *params, unsigned int *val) {
+ __asm__ (".symver __snd_pcm_hw_params_get_channels_min, snd_pcm_hw_params_get_channels_min@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_channels_min(params, val);
+}
+static inline int snd_pcm_hw_params_get_channels_max(const snd_pcm_hw_params_t *params, unsigned int *val) {
+ __asm__ (".symver __snd_pcm_hw_params_get_channels_max, snd_pcm_hw_params_get_channels_max@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_channels_max(params, val);
+}
+int snd_pcm_hw_params_test_channels(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val);
+int snd_pcm_hw_params_set_channels(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val);
+int snd_pcm_hw_params_set_channels_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val);
+int snd_pcm_hw_params_set_channels_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val);
+int snd_pcm_hw_params_set_channels_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, unsigned int *max);
+static inline int snd_pcm_hw_params_set_channels_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val) {
+ __asm__ (".symver __snd_pcm_hw_params_set_channels_near, snd_pcm_hw_params_set_channels_near@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_channels_near(pcm, params, val);
+}
+static inline int snd_pcm_hw_params_set_channels_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val) {
+ __asm__ (".symver __snd_pcm_hw_params_set_channels_first, snd_pcm_hw_params_set_channels_first@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_channels_first(pcm, params, val);
+}
+static inline int snd_pcm_hw_params_set_channels_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val) {
+ __asm__ (".symver __snd_pcm_hw_params_set_channels_last, snd_pcm_hw_params_set_channels_last@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_channels_last(pcm, params, val);
+}
+
+static inline int snd_pcm_hw_params_get_rate(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_get_rate, snd_pcm_hw_params_get_rate@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_rate(params, val, dir);
+}
+static inline int snd_pcm_hw_params_get_rate_min(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_get_rate_min, snd_pcm_hw_params_get_rate_min@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_rate_min(params, val, dir);
+}
+static inline int snd_pcm_hw_params_get_rate_max(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_get_rate_max, snd_pcm_hw_params_get_rate_max@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_rate_max(params, val, dir);
+}
+int snd_pcm_hw_params_test_rate(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
+int snd_pcm_hw_params_set_rate(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
+int snd_pcm_hw_params_set_rate_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
+int snd_pcm_hw_params_set_rate_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
+int snd_pcm_hw_params_set_rate_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir);
+static inline int snd_pcm_hw_params_set_rate_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_set_rate_near, snd_pcm_hw_params_set_rate_near@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_rate_near(pcm, params, val, dir);
+}
+static inline int snd_pcm_hw_params_set_rate_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_set_rate_first, snd_pcm_hw_params_set_rate_first@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_rate_first(pcm, params, val, dir);
+}
+static inline int snd_pcm_hw_params_set_rate_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_set_rate_last, snd_pcm_hw_params_set_rate_last@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_rate_last(pcm, params, val, dir);
+}
+
+static inline int snd_pcm_hw_params_get_period_time(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_get_period_time, snd_pcm_hw_params_get_period_time@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_period_time(params, val, dir);
+}
+static int snd_pcm_hw_params_get_period_time_min(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_get_period_time_min, snd_pcm_hw_params_get_period_time_min@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_period_time_min(params, val, dir);
+}
+static int snd_pcm_hw_params_get_period_time_max(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_get_period_time_max, snd_pcm_hw_params_get_period_time_max@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_period_time_max(params, val, dir);
+}
+int snd_pcm_hw_params_test_period_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
+int snd_pcm_hw_params_set_period_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
+int snd_pcm_hw_params_set_period_time_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
+int snd_pcm_hw_params_set_period_time_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
+int snd_pcm_hw_params_set_period_time_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir);
+static inline int snd_pcm_hw_params_set_period_time_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_set_period_time_near, snd_pcm_hw_params_set_period_time_near@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_period_time_near(pcm, params, val, dir);
+}
+static inline int snd_pcm_hw_params_set_period_time_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_set_period_time_first, snd_pcm_hw_params_set_period_time_first@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_period_time_first(pcm, params, val, dir);
+}
+static inline int snd_pcm_hw_params_set_period_time_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_set_period_time_last, snd_pcm_hw_params_set_period_time_last@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_period_time_last(pcm, params, val, dir);
+}
+
+static inline int snd_pcm_hw_params_get_period_size(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *frames, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_get_period_size, snd_pcm_hw_params_get_period_size@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_period_size(params, frames, dir);
+}
+static inline int snd_pcm_hw_params_get_period_size_min(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *frames, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_get_period_size_min, snd_pcm_hw_params_get_period_size_min@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_period_size_min(params, frames, dir);
+}
+static inline int snd_pcm_hw_params_get_period_size_max(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *frames, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_get_period_size_max, snd_pcm_hw_params_get_period_size_max@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_period_size_max(params, frames, dir);
+}
+int snd_pcm_hw_params_test_period_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val, int dir);
+int snd_pcm_hw_params_set_period_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val, int dir);
+int snd_pcm_hw_params_set_period_size_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir);
+int snd_pcm_hw_params_set_period_size_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir);
+int snd_pcm_hw_params_set_period_size_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *min, int *mindir, snd_pcm_uframes_t *max, int *maxdir);
+static inline int snd_pcm_hw_params_set_period_size_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_set_period_size_near, snd_pcm_hw_params_set_period_size_near@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_period_size_near(pcm, params, val, dir);
+}
+static inline int snd_pcm_hw_params_set_period_size_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_set_period_size_first, snd_pcm_hw_params_set_period_size_first@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_period_size_first(pcm, params, val, dir);
+}
+static inline int snd_pcm_hw_params_set_period_size_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_set_period_size_last, snd_pcm_hw_params_set_period_size_last@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_period_size_last(pcm, params, val, dir);
+}
+int snd_pcm_hw_params_set_period_size_integer(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
+
+static inline int snd_pcm_hw_params_get_periods(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_get_periods, snd_pcm_hw_params_get_periods@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_periods(params, val, dir);
+}
+static inline int snd_pcm_hw_params_get_periods_min(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_get_periods_min, snd_pcm_hw_params_get_periods_min@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_periods_min(params, val, dir);
+}
+static inline int snd_pcm_hw_params_get_periods_max(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_get_periods_max, snd_pcm_hw_params_get_periods_max@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_periods_max(params, val, dir);
+}
+int snd_pcm_hw_params_test_periods(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
+int snd_pcm_hw_params_set_periods(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
+int snd_pcm_hw_params_set_periods_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
+int snd_pcm_hw_params_set_periods_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
+int snd_pcm_hw_params_set_periods_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir);
+static inline int snd_pcm_hw_params_set_periods_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_set_periods_near, snd_pcm_hw_params_set_periods_near@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_periods_near(pcm, params, val, dir);
+}
+static inline int snd_pcm_hw_params_set_periods_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_set_periods_first, snd_pcm_hw_params_set_periods_first@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_periods_first(pcm, params, val, dir);
+}
+static inline int snd_pcm_hw_params_set_periods_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_set_periods_last, snd_pcm_hw_params_set_periods_last@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_periods_last(pcm, params, val, dir);
+}
+int snd_pcm_hw_params_set_periods_integer(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
+
+static inline int snd_pcm_hw_params_get_buffer_time(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_get_buffer_time, snd_pcm_hw_params_get_buffer_time@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_buffer_time(params, val, dir);
+}
+static inline int snd_pcm_hw_params_get_buffer_time_min(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_get_buffer_time_min, snd_pcm_hw_params_get_buffer_time_min@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_buffer_time_min(params, val, dir);
+}
+static inline int snd_pcm_hw_params_get_buffer_time_max(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_get_buffer_time_max, snd_pcm_hw_params_get_buffer_time_max@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_buffer_time_max(params, val, dir);
+}
+int snd_pcm_hw_params_test_buffer_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
+int snd_pcm_hw_params_set_buffer_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
+int snd_pcm_hw_params_set_buffer_time_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
+int snd_pcm_hw_params_set_buffer_time_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
+int snd_pcm_hw_params_set_buffer_time_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir);
+static inline int snd_pcm_hw_params_set_buffer_time_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_set_buffer_time_near, snd_pcm_hw_params_set_buffer_time_near@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_buffer_time_near(pcm, params, val, dir);
+}
+static inline int snd_pcm_hw_params_set_buffer_time_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_set_buffer_time_first, snd_pcm_hw_params_set_buffer_time_first@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_buffer_time_near(pcm, params, val, dir);
+}
+static int snd_pcm_hw_params_set_buffer_time_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_set_buffer_time_last, snd_pcm_hw_params_set_buffer_time_last@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_buffer_time_last(pcm, params, val, dir);
+}
+
+static inline int snd_pcm_hw_params_get_buffer_size(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val) {
+ __asm__ (".symver __snd_pcm_hw_params_get_buffer_size, snd_pcm_hw_params_get_buffer_size@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_buffer_size(params, val);
+}
+static inline int snd_pcm_hw_params_get_buffer_size_min(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val) {
+ __asm__ (".symver __snd_pcm_hw_params_get_buffer_size_min, snd_pcm_hw_params_get_buffer_size_min@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_buffer_size_min(params, val);
+}
+static inline int snd_pcm_hw_params_get_buffer_size_max(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val) {
+ __asm__ (".symver __snd_pcm_hw_params_get_buffer_size_max, snd_pcm_hw_params_get_buffer_size_max@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_buffer_size_max(params, val);
+}
+int snd_pcm_hw_params_test_buffer_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val);
+int snd_pcm_hw_params_set_buffer_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val);
+int snd_pcm_hw_params_set_buffer_size_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
+int snd_pcm_hw_params_set_buffer_size_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
+int snd_pcm_hw_params_set_buffer_size_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *min, snd_pcm_uframes_t *max);
+static inline int snd_pcm_hw_params_set_buffer_size_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val) {
+ __asm__ (".symver __snd_pcm_hw_params_set_buffer_size_near, snd_pcm_hw_params_set_buffer_size_near@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_buffer_size_near(pcm, params, val);
+}
+static inline int snd_pcm_hw_params_set_buffer_size_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val) {
+ __asm__ (".symver __snd_pcm_hw_params_set_buffer_size_first, snd_pcm_hw_params_set_buffer_size_first@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_buffer_size_first(pcm, params, val);
+}
+static inline int snd_pcm_hw_params_set_buffer_size_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val) {
+ __asm__ (".symver __snd_pcm_hw_params_set_buffer_size_last, snd_pcm_hw_params_set_buffer_size_last@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_buffer_size_last(pcm, params, val);
+}
+
+static inline int snd_pcm_hw_params_get_tick_time(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_get_tick_time, snd_pcm_hw_params_get_tick_time@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_tick_time(params, val, dir);
+}
+static inline int snd_pcm_hw_params_get_tick_time_min(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_get_tick_time_min, snd_pcm_hw_params_get_tick_time_min@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_tick_time_min(params, val, dir);
+}
+static inline int snd_pcm_hw_params_get_tick_time_max(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_get_tick_time_max, snd_pcm_hw_params_get_tick_time_max@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_get_tick_time_max(params, val, dir);
+}
+int snd_pcm_hw_params_test_tick_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
+int snd_pcm_hw_params_set_tick_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
+int snd_pcm_hw_params_set_tick_time_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
+int snd_pcm_hw_params_set_tick_time_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
+int snd_pcm_hw_params_set_tick_time_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir);
+static inline int snd_pcm_hw_params_set_tick_time_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_set_tick_time_near, snd_pcm_hw_params_set_tick_time_near@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_tick_time_near(pcm, params, val, dir);
+}
+static inline int snd_pcm_hw_params_set_tick_time_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_set_tick_time_first, snd_pcm_hw_params_set_tick_time_first@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_tick_time_first(pcm, params, val, dir);
+}
+static inline int snd_pcm_hw_params_set_tick_time_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) {
+ __asm__ (".symver __snd_pcm_hw_params_set_tick_time_last, snd_pcm_hw_params_set_tick_time_last@ALSA_0.9.0rc4");
+ return snd_pcm_hw_params_set_tick_time_last(pcm, params, val, dir);
+}
+
+#endif /* DOXYGEN */
+
#else
int snd_pcm_hw_params_get_access(const snd_pcm_hw_params_t *params);
ALSA_0.9 {
global:
+ __snd_*;
+ _snd_*;
+ snd_*;
+ local:
*;
};
ALSA_0.9.0rc4 {
err = write(shm->socket, buf, 1);
if (err != 1)
return -EBADFD;
- err = receive_fd(shm->socket, buf, 1, fd);
+ err = snd_receive_fd(shm->socket, buf, 1, fd);
if (err != 1)
return -EBADFD;
if (ctrl->cmd) {
SNDERR("Cannot resolve %s", host);
goto _err;
}
- local = is_local(h);
+ local = snd_is_local(h);
if (!local) {
SNDERR("%s is not the local host", host);
goto _err;
* \param params Configuration space
* \param access Returned value
* \return access type otherwise a negative error code if not exactly one is present
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_access)(const snd_pcm_hw_params_t *params, snd_pcm_access_t *access)
* \param params Configuration space
* \param access Returned first access type
* \return 0 otherwise a negative error code
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_access_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t *access)
* \param params Configuration space
* \param val Returned last access type
* \return 0 otherwise a negative error code
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_access_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t *access)
* \param params Configuration space
* \param format returned format
* \return format otherwise a negative error code if not exactly one is present
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_format)(const snd_pcm_hw_params_t *params, snd_pcm_format_t *format)
* \param params Configuration space
* \param format Returned first format
* \return 0 otherwise a negative error code
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_format_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t *format)
* \param params Configuration space
* \param format Returned last format
* \return 0 otherwise a negative error code
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_format_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t *format)
* \param params Configuration space
* \param subformat Returned subformat value
* \return subformat otherwise a negative error code if not exactly one is present
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_subformat)(const snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat)
* \param params Configuration space
* \param subformat Returned subformat
* \return 0 otherwise a negative error code
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_subformat_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat)
* \param params Configuration space
* \param subformat Returned subformat
* \return 0 otherwise a negative error code
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_subformat_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat)
* \param params Configuration space
* \param val Returned channels count
* \return 0 otherwise a negative error code if not exactly one is present
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_channels)(const snd_pcm_hw_params_t *params, unsigned int *val)
* \param params Configuration space
* \param val minimum channels count
* \return 0 otherwise a negative error code
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_channels_min)(const snd_pcm_hw_params_t *params, unsigned int *val)
* \param params Configuration space
* \param val maximum channels count
* \return 0 otherwise a negative error code
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_channels_max)(const snd_pcm_hw_params_t *params, unsigned int *val)
* \param params Configuration space
* \param val target channels count, returned chosen channels count
* \return chosen channels count
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_channels_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val)
* \param params Configuration space
* \param val minimum channels count
* \return 0 otherwise a negative error code
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_channels_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val)
* \param params Configuration space
* \param val maximum channels count
* \return 0 otherwise a negative error code
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_channels_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val)
* \return 0 otherwise a negative error code if not exactly one is present
*
* Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_rate)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code
*
* Exact value is <,=,> the returned one following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_rate_min)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code
*
* Exact value is <,=,> the returned one following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_rate_max)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return approximate chosen rate
*
* target/chosen exact value is <,=,> val following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_rate_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code
*
* Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_rate_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code
*
* Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_rate_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code if not exactly one is present
*
* Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_period_time)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code
*
* Exact value is <,=,> the returned one following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_period_time_min)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code
*
* Exact value is <,=,> the returned one following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_period_time_max)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return approximate chosen period duration in us
*
* target/chosen exact value is <,=,> val following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_period_time_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code
*
* Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_period_time_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return approximate period duration in us
*
* Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_period_time_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code if not exactly one is present
*
* Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_period_size)(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir)
* \return 0 otherwise a negative error code
*
* Exact value is <,=,> the returned one following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_period_size_min)(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir)
* \return 0 otherwise a negative error code
*
* Exact value is <,=,> the returned one following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_period_size_max)(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir)
* \return 0 otherwise a negative error code
*
* target/chosen exact value is <,=,> val following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_period_size_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir)
* \return 0 otherwise a negative error code
*
* Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_period_size_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir)
* \return 0 otherwise a negative error code
*
* Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_period_size_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir)
* \return 0 otherwise a negative error code if not exactly one is present
*
* Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_periods)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code
*
* Exact value is <,=,> the returned one following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_periods_min)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code
*
* Exact value is <,=,> the returned one following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_periods_max)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return approximate chosen periods per buffer
*
* target/chosen exact value is <,=,> val following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_periods_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code
*
* Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_periods_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code
*
* Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_periods_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code if not exactly one is present
*
* Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_buffer_time)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code
*
* Exact value is <,=,> the returned one following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_buffer_time_min)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code
*
* Exact value is <,=,> the returned one following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_buffer_time_max)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return approximate chosen buffer duration in us
*
* target/chosen exact value is <,=,> val following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_buffer_time_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code
*
* Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_buffer_time_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code
*
* Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_buffer_time_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \param params Configuration space
* \param val Returned buffer size in frames
* \return 0 otherwise a negative error code if not exactly one is present
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_buffer_size)(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val)
* \return 0 otherwise a negative error code
*
* Exact value is <,=,> the returned one following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_buffer_size_min)(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val)
* \return 0 otherwise a negative error code
*
* Exact value is <,=,> the returned one following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_buffer_size_max)(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val)
* \return approximate chosen buffer size in frames
*
* target/chosen exact value is <,=,> val following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_buffer_size_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val)
* \param params Configuration space
* \param val Returned minimum buffer size in frames
* \return buffer size in frames
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_buffer_size_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val)
* \param params Configuration space
* \param val Returned maximum buffer size in frames
* \return 0 otherwise a negative error code
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_buffer_size_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val)
* \return 0 otherwise a negative error code if not exactly one is present
*
* Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_tick_time)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code
*
* Exact value is <,=,> the returned one following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_tick_time_min)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code
*
* Exact value is <,=,> the returned one following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_get_tick_time_max)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return approximate chosen tick duration in us
*
* target/chosen exact value is <,=,> val following dir (-1,0,1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_tick_time_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code
*
* Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_tick_time_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
* \return 0 otherwise a negative error code
*
* Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
+ *
+ * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>'
+ * to enable this new function prototype. Using of older function with same name is deprecated.
*/
#ifndef DOXYGEN
int INTERNAL(snd_pcm_hw_params_set_tick_time_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
#ifdef USE_VERSIONED_SYMBOLS
-#ifndef SND_COMPATIBILITY_BUILD_RC3
-
-#define OBSOLETE1(name, what, new) \
- symbol_version(__old_##name, name, what); \
- default_symbol_version(__##name, name, new);
-
-#else
-
+/* it's really not so nice: obsolete, but default */
+/* forced by developers on alsa-devel */
#define OBSOLETE1(name, what, new) \
+ symbol_version(__##name, name, new); \
default_symbol_version(__old_##name, name, what);
-#endif
-
#define __OLD_GET(name, val_type, ret_type) \
ret_type __old_##name(const snd_pcm_hw_params_t *params) \
{ \
* To be removed helpers, but keep binary compatibility at the time
*/
+#ifndef DOC_HIDDEN
#define __OLD_TO_NEW_MASK(x) ((x&7)|((x&0x07fffff8)<<5))
#define __NEW_TO_OLD_MASK(x) ((x&7)|((x&0xffffff00)>>5))
+#endif
static void snd_pcm_hw_convert_from_old_params(snd_pcm_hw_params_t *params,
struct sndrv_pcm_hw_params_old *oparams)
#endif
#ifndef DOC_HIDDEN
-int receive_fd(int sock, void *data, size_t len, int *fd)
+int snd_receive_fd(int sock, void *data, size_t len, int *fd)
{
int ret;
size_t cmsg_len = CMSG_LEN(sizeof(int));
err = write(shm->socket, buf, 1);
if (err != 1)
return -EBADFD;
- err = receive_fd(shm->socket, buf, 1, fd);
+ err = snd_receive_fd(shm->socket, buf, 1, fd);
if (err != 1)
return -EBADFD;
if (ctrl->cmd) {
err = write(shm->socket, buf, 1);
if (err != 1)
return -EBADFD;
- err = receive_fd(shm->socket, buf, 1, fd);
+ err = snd_receive_fd(shm->socket, buf, 1, fd);
if (err != 1)
return -EBADFD;
if (ctrl->cmd) {
}
#ifndef DOC_HIDDEN
-int is_local(struct hostent *hent)
+int snd_is_local(struct hostent *hent)
{
int s;
int err;
SNDERR("Cannot resolve %s", host);
goto _err;
}
- local = is_local(h);
+ local = snd_is_local(h);
if (!local) {
SNDERR("%s is not the local host", host);
goto _err;
}
}
+/**
+ * \brief Enable/disable MIDI command merging
+ * \param dev MIDI event parser
+ * \param on 0 - enable MIDI command merging, 1 - always pass the command
+ *
+ * Enable/disable MIDI command merging
+ */
void snd_midi_event_no_status(snd_midi_event_t *dev, int on)
{
dev->nostat = on ? 1 : 0;
#include <sched.h>
#include <errno.h>
#include <getopt.h>
+#define ALSA_PCM_NEW_HW_PARAMS_API
#include "../include/asoundlib.h"
#include <sys/time.h>
#include <math.h>
const char *id)
{
int err;
- snd_pcm_uframes_t rbufsize, periodsize;
+ snd_pcm_uframes_t periodsize;
snd_pcm_hw_params_copy(params, tparams);
- rbufsize = bufsize * 2;
- err = snd_pcm_hw_params_set_buffer_size_near(handle, params, &rbufsize);
+ periodsize = bufsize * 2;
+ err = snd_pcm_hw_params_set_buffer_size_near(handle, params, &periodsize);
if (err < 0) {
printf("Unable to set buffer size %li for %s: %s\n", bufsize * 2, id, snd_strerror(err));
return err;
}
- periodsize = snd_pcm_hw_params_get_buffer_size(params) / 2;
+ periodsize /= 2;
err = snd_pcm_hw_params_set_period_size_near(handle, params, &periodsize, 0);
if (err < 0) {
printf("Unable to set period size %li for %s: %s\n", periodsize, id, snd_strerror(err));
snd_pcm_sw_params_t *swparams,
const char *id)
{
- int err, val, sleep_min = 0;
+ int err;
+ snd_pcm_uframes_t val;
+ unsigned int sleep_min = 0;
err = snd_pcm_hw_params(handle, params);
if (err < 0) {
tick_time_ok = 0;
if (tick_time > 0) {
int time, ttime;
- time = snd_pcm_hw_params_get_period_time(params, NULL);
- ttime = snd_pcm_hw_params_get_tick_time(params, NULL);
+ snd_pcm_hw_params_get_period_time(params, &time, NULL);
+ snd_pcm_hw_params_get_tick_time(params, &ttime, NULL);
if (time < ttime) {
printf("Skipping to set minimal sleep: period time < tick time\n");
} else if (ttime <= 0) {
tick_time_ok = sleep_min * ttime;
}
}
- val = !block ? 4 : snd_pcm_hw_params_get_period_size(params, NULL);
+ if (!block)
+ val = 4;
+ else
+ snd_pcm_hw_params_get_period_size(params, &val, NULL);
if (tick_time_ok > 0)
val = 16;
err = snd_pcm_sw_params_set_avail_min(handle, swparams, val);
snd_pcm_hw_params_t *pt_params, *ct_params; /* templates with rate, format and channels */
snd_pcm_hw_params_t *p_params, *c_params;
snd_pcm_sw_params_t *p_swparams, *c_swparams;
- snd_pcm_sframes_t size;
+ snd_pcm_uframes_t size, p_size, c_size, p_psize, c_psize;
+ unsigned int p_time, c_time;
snd_pcm_hw_params_alloca(&p_params);
snd_pcm_hw_params_alloca(&c_params);
exit(0);
}
- size = snd_pcm_hw_params_get_period_size(p_params, NULL);
+ snd_pcm_hw_params_get_period_size(p_params, &size, NULL);
if (size > *bufsize)
*bufsize = size;
- size = snd_pcm_hw_params_get_period_size(c_params, NULL);
+ snd_pcm_hw_params_get_period_size(c_params, &size, NULL);
if (size > *bufsize)
*bufsize = size;
- if (snd_pcm_hw_params_get_period_time(p_params, NULL) !=
- snd_pcm_hw_params_get_period_time(c_params, NULL))
+ snd_pcm_hw_params_get_period_time(p_params, &p_time, NULL);
+ snd_pcm_hw_params_get_period_time(c_params, &c_time, NULL);
+ if (p_time != c_time)
goto __again;
- if (snd_pcm_hw_params_get_period_size(p_params, NULL) * 2 < snd_pcm_hw_params_get_buffer_size(p_params))
+
+ snd_pcm_hw_params_get_period_size(p_params, &p_psize, NULL);
+ snd_pcm_hw_params_get_buffer_size(p_params, &p_size);
+ if (p_psize * 2 < p_size)
goto __again;
- if (snd_pcm_hw_params_get_period_size(c_params, NULL) * 2 < snd_pcm_hw_params_get_buffer_size(c_params))
+ snd_pcm_hw_params_get_period_size(c_params, &c_psize, NULL);
+ snd_pcm_hw_params_get_buffer_size(c_params, &c_size);
+ if (c_psize * 2 < c_size)
goto __again;
if ((err = setparams_set(phandle, p_params, p_swparams, "playback")) < 0) {
#include <sched.h>
#include <errno.h>
#include <getopt.h>
+#define ALSA_PCM_NEW_HW_PARAMS_API
#include "../include/asoundlib.h"
#include <sys/time.h>
#include <math.h>