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