Blame NOTES

Packit Service db8eaa
Old versus new PCM API (values returned using indirect pointers)
Packit Service db8eaa
================================================================
Packit Service db8eaa
Packit Service db8eaa
From the binary compatibility view, there is no change. For compilation,
Packit Service db8eaa
1.0 ALSA applications do not need any change. The older applications must
Packit Service db8eaa
use this include sequence:
Packit Service db8eaa
Packit Service db8eaa
#define ALSA_PCM_OLD_HW_PARAMS_API
Packit Service db8eaa
#define ALSA_PCM_OLD_SW_PARAMS_API
Packit Service db8eaa
#include <alsa/asoundlib.h>
Packit Service db8eaa
Packit Service db8eaa
If you use already the new API, you may remove old defines selecting
Packit Service db8eaa
this API, because they are no longer used:
Packit Service db8eaa
Packit Service db8eaa
#define ALSA_PCM_NEW_HW_PARAMS_API
Packit Service db8eaa
#define ALSA_PCM_NEW_SW_PARAMS_API
Packit Service db8eaa
Packit Service db8eaa
Packit Service db8eaa
Verbose Error Messages
Packit Service db8eaa
======================
Packit Service db8eaa
Packit Service db8eaa
Since version 1.0.8, assert() for some non-fatal errors are removed
Packit Service db8eaa
and error messages are no longer shown to stderr as default.  Instead,
Packit Service db8eaa
the error messages appear only when the environment variable
Packit Service db8eaa
LIBASOUND_DEBUG is set (to a non-empty value).
Packit Service db8eaa
Packit Service db8eaa
When LIBASOUND_DEBUG=1 is set, the errors in hw_params configuration
Packit Service db8eaa
will be dumped to stderr.  Note that this will show even the non-fatal
Packit Service db8eaa
errors of plug layer (trial-and-error of parameters).
Packit Service db8eaa
Packit Service db8eaa
This feature is disabled when --with-debug=no is passed to configure,
Packit Service db8eaa
i.e. no strict checking is done in alsa-lib.
Packit Service db8eaa
Packit Service db8eaa
In addition, when --enable-debug-assert configure option is given and
Packit Service db8eaa
when LIBASOUND_DEBUG_ASSERT=1 is set, the default error message
Packit Service db8eaa
handler can call assert() to catch with a  debugger.  This feature was
Packit Service db8eaa
formerly activated via LIBASOUND_DEBUG=2.
Packit Service db8eaa
Packit Service db8eaa
Packit Service db8eaa
Blocking Open Mode
Packit Service db8eaa
==================
Packit Service db8eaa
Packit Service db8eaa
The default behavior of blocking at snd_pcm_open is changed to
Packit Service db8eaa
non-blocking since version 1.0.11.  That is, snd_pcm_open() returns
Packit Service db8eaa
-EAGAIN immediately when the device is in use and cannot be opened,
Packit Service db8eaa
while the function was blocked in the former version.  This influences
Packit Service db8eaa
only on the opening behavior.  The behavior of the further access,
Packit Service db8eaa
read/write, poll or commit, are not changed.  They follow the extra
Packit Service db8eaa
flag argument of snd_pcm_open() as well as the former version.
Packit Service db8eaa
Packit Service db8eaa
For taking back the compatible behavior of open blocking mode, set
Packit Service db8eaa
Packit Service db8eaa
	defaults.pcm.nonblock 0
Packit Service db8eaa
Packit Service db8eaa
in /etc/asound.conf or ~/.asoundrc file.
Packit Service db8eaa