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