mirror of
				https://github.com/alsa-project/alsa-lib.git
				synced 2025-11-03 09:01:52 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
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).
 | 
						|
When LIBASOUND_DEBUG=2 is set, the default error message handler calls
 | 
						|
assert() to catch with a debugger, in addition to parameter debugging.
 | 
						|
 | 
						|
This feature is disabled when --with-debug=no is passed to configure,
 | 
						|
i.e. no strict checking is done in alsa-lib.
 | 
						|
 | 
						|
 | 
						|
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.
 | 
						|
 |