1Old versus new PCM API (values returned using indirect pointers) 2================================================================ 3 4From the binary compatibility view, there is no change. For compilation, 51.0 ALSA applications do not need any change. The older applications must 6use this include sequence: 7 8#define ALSA_PCM_OLD_HW_PARAMS_API 9#define ALSA_PCM_OLD_SW_PARAMS_API 10#include <alsa/asoundlib.h> 11 12If you use already the new API, you may remove old defines selecting 13this API, because they are no longer used: 14 15#define ALSA_PCM_NEW_HW_PARAMS_API 16#define ALSA_PCM_NEW_SW_PARAMS_API 17 18 19Verbose Error Messages 20====================== 21 22Since version 1.0.8, assert() for some non-fatal errors are removed 23and error messages are no longer shown to stderr as default. Instead, 24the error messages appear only when the environment variable 25LIBASOUND_DEBUG is set (to a non-empty value). 26 27When LIBASOUND_DEBUG=1 is set, the errors in hw_params configuration 28will be dumped to stderr. Note that this will show even the non-fatal 29errors of plug layer (trial-and-error of parameters). 30 31This feature is disabled when --with-debug=no is passed to configure, 32i.e. no strict checking is done in alsa-lib. 33 34In addition, when --enable-debug-assert configure option is given and 35when LIBASOUND_DEBUG_ASSERT=1 is set, the default error message 36handler can call assert() to catch with a debugger. This feature was 37formerly activated via LIBASOUND_DEBUG=2. 38 39 40Blocking Open Mode 41================== 42 43The default behavior of blocking at snd_pcm_open is changed to 44non-blocking since version 1.0.11. That is, snd_pcm_open() returns 45-EAGAIN immediately when the device is in use and cannot be opened, 46while the function was blocked in the former version. This influences 47only on the opening behavior. The behavior of the further access, 48read/write, poll or commit, are not changed. They follow the extra 49flag argument of snd_pcm_open() as well as the former version. 50 51For taking back the compatible behavior of open blocking mode, set 52 53 defaults.pcm.nonblock 0 54 55in /etc/asound.conf or ~/.asoundrc file. 56 57