mirror of
				https://github.com/alsa-project/alsa-lib.git
				synced 2025-10-29 05:40:25 -04:00 
			
		
		
		
	Reverted back the PCM API.
New snd_pcm_hw_params_* functions are available only explicitly when ALSA_PCM_NEW_HW_PARAMS_API is defined. Updated documentation and test code to new API.
This commit is contained in:
		
							parent
							
								
									ec415ef3a9
								
							
						
					
					
						commit
						7f3942d827
					
				
					 15 changed files with 528 additions and 65 deletions
				
			
		|  | @ -18,6 +18,3 @@ | |||
| 
 | ||||
| /* Use versioned symbols for shared library? */ | ||||
| #undef VERSIONED_SYMBOLS | ||||
| 
 | ||||
| /* 0.9.0rc3 compatibility build */ | ||||
| #undef COMPATIBILITY_BUILD_RC3 | ||||
|  |  | |||
|  | @ -1117,7 +1117,7 @@ int main(int argc, char **argv) | |||
| 		ERROR("Cannot resolve %s", host); | ||||
| 		return 1; | ||||
| 	} | ||||
| 	if (!is_local(h)) { | ||||
| 	if (!snd_is_local(h)) { | ||||
| 		ERROR("%s is not the local host", host); | ||||
| 		return 1; | ||||
| 	} | ||||
|  |  | |||
							
								
								
									
										15
									
								
								configure.in
									
										
									
									
									
								
							
							
						
						
									
										15
									
								
								configure.in
									
										
									
									
									
								
							|  | @ -9,7 +9,7 @@ dnl remove API = c+1:0:0 | |||
| dnl ************************************************* | ||||
| AC_CANONICAL_SYSTEM | ||||
| AM_INIT_AUTOMAKE(alsa-lib, 0.9.0rc3) | ||||
| eval LIBTOOL_VERSION_INFO="3:0:0" | ||||
| eval LIBTOOL_VERSION_INFO="2:0:0" | ||||
| dnl ************************************************* | ||||
| AM_CONDITIONAL(INSTALL_M4, test -n "${ACLOCAL}") | ||||
| 
 | ||||
|  | @ -176,19 +176,6 @@ arm*) | |||
|   ;; | ||||
| esac | ||||
| 
 | ||||
| dnl Compatibility build, to be removed.... | ||||
| AC_MSG_CHECKING(for 0.9.0rc3 compatibility build) | ||||
| AC_ARG_WITH(compat-rc3, | ||||
|   [  --with-compat-rc3       build library compatible with 0.9.0rc3], | ||||
|   [  AC_DEFINE(COMPATIBILITY_BUILD_RC3, "1", [0.9.0rc3 compatibility build]) | ||||
|      comp_rc3="yes" ],) | ||||
| if test "$comp_rc3" = "yes" ; then | ||||
|   AC_MSG_RESULT(yes) | ||||
| else | ||||
|   AC_MSG_RESULT(no) | ||||
| fi | ||||
| AM_CONDITIONAL(COMPATIBILITY_BUILD_RC3, [test "x$comp_rc3" = xyes]) | ||||
| 
 | ||||
| AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile include/Makefile src/Makefile \ | ||||
|           src/control/Makefile src/mixer/Makefile src/pcm/Makefile \ | ||||
| 	  src/rawmidi/Makefile src/timer/Makefile \ | ||||
|  |  | |||
|  | @ -89,7 +89,7 @@ SHOW_INCLUDE_FILES = NO | |||
| JAVADOC_AUTOBRIEF = NO | ||||
| INHERIT_DOCS	 = YES | ||||
| ENABLED_SECTIONS = "" | ||||
| PREDEFINED	 = DOXYGEN PIC "DOC_HIDDEN" "ATTRIBUTE_UNUSED=" | ||||
| PREDEFINED	 = DOXYGEN PIC "DOC_HIDDEN" "ATTRIBUTE_UNUSED=" ALSA_PCM_NEW_HW_PARAMS_API | ||||
| 
 | ||||
| OPTIMIZE_OUTPUT_FOR_C = YES	# doxygen 1.2.6 option | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,14 +1,6 @@ | |||
| sysincludedir = ${includedir}/sys | ||||
| alsaincludedir = ${includedir}/alsa | ||||
| 
 | ||||
| if COMPATIBILITY_BUILD_RC3 | ||||
|   SND_LIB_MAJOR = 0 | ||||
|   SND_LIB_MINOR = 9 | ||||
|   SND_LIB_SUBMINOR = 0 | ||||
|   SND_LIB_EXTRAVER = 100000  # there was a bug.... | ||||
|   SND_LIB_VERSION = 0.9.0rc3 | ||||
| endif | ||||
| 
 | ||||
| alsainclude_HEADERS = asoundlib.h asoundef.h \ | ||||
| 		      version.h global.h input.h output.h error.h \ | ||||
| 		      conf.h pcm.h pcm_plugin.h rawmidi.h timer.h \ | ||||
|  | @ -39,9 +31,6 @@ stamp-vh: $(top_builddir)/configure.in | |||
| 	@echo "/** library version (string) */" >> ver.tmp | ||||
| 	@echo "#define SND_LIB_VERSION_STR	\"$(SND_LIB_VERSION)\"" >> ver.tmp | ||||
| 	@echo >> ver.tmp | ||||
| if COMPATIBILITY_BUILD_RC3 | ||||
| 	@echo "#define SND_COMPATIBILITY_BUILD_RC3 1" >> ver.tmp | ||||
| endif | ||||
| 	@cmp -s version.h ver.tmp \ | ||||
|           || (echo "Updating version.h"; \ | ||||
|               cp ver.tmp version.h; \ | ||||
|  |  | |||
|  | @ -22,8 +22,8 @@ | |||
| #include "../src/pcm/pcm_local.h" | ||||
| #include "../src/control/control_local.h" | ||||
| 
 | ||||
| int receive_fd(int sock, void *data, size_t len, int *fd); | ||||
| int is_local(struct hostent *hent); | ||||
| int snd_receive_fd(int sock, void *data, size_t len, int *fd); | ||||
| int snd_is_local(struct hostent *hent); | ||||
| 
 | ||||
| typedef enum _snd_dev_type { | ||||
| 	SND_DEV_TYPE_PCM, | ||||
|  |  | |||
							
								
								
									
										301
									
								
								include/pcm.h
									
										
									
									
									
								
							
							
						
						
									
										301
									
								
								include/pcm.h
									
										
									
									
									
								
							|  | @ -514,7 +514,9 @@ void snd_pcm_hw_params_free(snd_pcm_hw_params_t *obj); | |||
| void snd_pcm_hw_params_copy(snd_pcm_hw_params_t *dst, const snd_pcm_hw_params_t *src); | ||||
| 
 | ||||
| #ifndef ALSA_LIBRARY_BUILD | ||||
| #ifndef SND_COMPATIBILITY_BUILD_RC3 | ||||
| #ifdef ALSA_PCM_NEW_HW_PARAMS_API | ||||
| 
 | ||||
| #ifdef DOXYGEN	/* we should use this later */ | ||||
| 
 | ||||
| int snd_pcm_hw_params_get_access(const snd_pcm_hw_params_t *params, snd_pcm_access_t *access); | ||||
| int snd_pcm_hw_params_test_access(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t access); | ||||
|  | @ -638,6 +640,303 @@ int snd_pcm_hw_params_set_tick_time_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *pa | |||
| int snd_pcm_hw_params_set_tick_time_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir); | ||||
| int snd_pcm_hw_params_set_tick_time_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir); | ||||
| 
 | ||||
| #else /* !DOXYGEN */ | ||||
| 
 | ||||
| static inline int snd_pcm_hw_params_get_access(const snd_pcm_hw_params_t *params, snd_pcm_access_t *access) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_access, snd_pcm_hw_params_get_access@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_access(params, access); | ||||
| } | ||||
| int snd_pcm_hw_params_test_access(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t access); | ||||
| int snd_pcm_hw_params_set_access(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t access); | ||||
| static inline int snd_pcm_hw_params_set_access_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t *access) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_access_first, snd_pcm_hw_params_set_access_first@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_access_first(pcm, params, access); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_set_access_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t *access) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_access_last, snd_pcm_hw_params_set_access_last@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_access_last(pcm, params, access); | ||||
| } | ||||
| int snd_pcm_hw_params_set_access_mask(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_mask_t *mask); | ||||
| int snd_pcm_hw_params_get_access_mask(snd_pcm_hw_params_t *params, snd_pcm_access_mask_t *mask); | ||||
| 
 | ||||
| static inline int snd_pcm_hw_params_get_format(const snd_pcm_hw_params_t *params, snd_pcm_format_t *val) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_format, snd_pcm_hw_params_get_format@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_format(params, val); | ||||
| } | ||||
| int snd_pcm_hw_params_test_format(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t val); | ||||
| int snd_pcm_hw_params_set_format(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t val); | ||||
| static inline int snd_pcm_hw_params_set_format_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t *format) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_format_first, snd_pcm_hw_params_set_format_first@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_format_first(pcm, params, format); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_set_format_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t *format) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_format_last, snd_pcm_hw_params_set_format_last@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_format_last(pcm, params, format); | ||||
| } | ||||
| int snd_pcm_hw_params_set_format_mask(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_mask_t *mask); | ||||
| void snd_pcm_hw_params_get_format_mask(snd_pcm_hw_params_t *params, snd_pcm_format_mask_t *mask); | ||||
| 
 | ||||
| static inline int snd_pcm_hw_params_get_subformat(const snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_subformat, snd_pcm_hw_params_get_subformat@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_subformat(params, subformat); | ||||
| } | ||||
| int snd_pcm_hw_params_test_subformat(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t subformat); | ||||
| int snd_pcm_hw_params_set_subformat(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t subformat); | ||||
| static inline int snd_pcm_hw_params_set_subformat_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_subformat_first, snd_pcm_hw_params_set_subformat_first@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_subformat_first(pcm, params, subformat); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_set_subformat_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_subformat_last, snd_pcm_hw_params_set_subformat_last@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_subformat_last(pcm, params, subformat); | ||||
| } | ||||
| int snd_pcm_hw_params_set_subformat_mask(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_mask_t *mask); | ||||
| void snd_pcm_hw_params_get_subformat_mask(snd_pcm_hw_params_t *params, snd_pcm_subformat_mask_t *mask); | ||||
| 
 | ||||
| static inline int snd_pcm_hw_params_get_channels(const snd_pcm_hw_params_t *params, unsigned int *val) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_channels, snd_pcm_hw_params_get_channels@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_channels(params, val); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_get_channels_min(const snd_pcm_hw_params_t *params, unsigned int *val) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_channels_min, snd_pcm_hw_params_get_channels_min@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_channels_min(params, val); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_get_channels_max(const snd_pcm_hw_params_t *params, unsigned int *val) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_channels_max, snd_pcm_hw_params_get_channels_max@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_channels_max(params, val); | ||||
| } | ||||
| int snd_pcm_hw_params_test_channels(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val); | ||||
| int snd_pcm_hw_params_set_channels(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val); | ||||
| int snd_pcm_hw_params_set_channels_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val); | ||||
| int snd_pcm_hw_params_set_channels_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val); | ||||
| int snd_pcm_hw_params_set_channels_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, unsigned int *max); | ||||
| static inline int snd_pcm_hw_params_set_channels_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_channels_near, snd_pcm_hw_params_set_channels_near@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_channels_near(pcm, params, val); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_set_channels_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_channels_first, snd_pcm_hw_params_set_channels_first@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_channels_first(pcm, params, val); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_set_channels_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_channels_last, snd_pcm_hw_params_set_channels_last@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_channels_last(pcm, params, val); | ||||
| } | ||||
| 
 | ||||
| static inline int snd_pcm_hw_params_get_rate(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_rate, snd_pcm_hw_params_get_rate@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_rate(params, val, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_get_rate_min(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_rate_min, snd_pcm_hw_params_get_rate_min@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_rate_min(params, val, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_get_rate_max(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_rate_max, snd_pcm_hw_params_get_rate_max@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_rate_max(params, val, dir); | ||||
| } | ||||
| int snd_pcm_hw_params_test_rate(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir); | ||||
| int snd_pcm_hw_params_set_rate(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir); | ||||
| int snd_pcm_hw_params_set_rate_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir); | ||||
| int snd_pcm_hw_params_set_rate_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir); | ||||
| int snd_pcm_hw_params_set_rate_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir); | ||||
| static inline int snd_pcm_hw_params_set_rate_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_rate_near, snd_pcm_hw_params_set_rate_near@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_rate_near(pcm, params, val, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_set_rate_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_rate_first, snd_pcm_hw_params_set_rate_first@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_rate_first(pcm, params, val, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_set_rate_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_rate_last, snd_pcm_hw_params_set_rate_last@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_rate_last(pcm, params, val, dir); | ||||
| } | ||||
| 
 | ||||
| static inline int snd_pcm_hw_params_get_period_time(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_period_time, snd_pcm_hw_params_get_period_time@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_period_time(params, val, dir); | ||||
| } | ||||
| static int snd_pcm_hw_params_get_period_time_min(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_period_time_min, snd_pcm_hw_params_get_period_time_min@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_period_time_min(params, val, dir); | ||||
| } | ||||
| static int snd_pcm_hw_params_get_period_time_max(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_period_time_max, snd_pcm_hw_params_get_period_time_max@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_period_time_max(params, val, dir); | ||||
| } | ||||
| int snd_pcm_hw_params_test_period_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir); | ||||
| int snd_pcm_hw_params_set_period_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir); | ||||
| int snd_pcm_hw_params_set_period_time_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir); | ||||
| int snd_pcm_hw_params_set_period_time_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir); | ||||
| int snd_pcm_hw_params_set_period_time_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir); | ||||
| static inline int snd_pcm_hw_params_set_period_time_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_period_time_near, snd_pcm_hw_params_set_period_time_near@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_period_time_near(pcm, params, val, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_set_period_time_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_period_time_first, snd_pcm_hw_params_set_period_time_first@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_period_time_first(pcm, params, val, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_set_period_time_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_period_time_last, snd_pcm_hw_params_set_period_time_last@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_period_time_last(pcm, params, val, dir); | ||||
| } | ||||
| 
 | ||||
| static inline int snd_pcm_hw_params_get_period_size(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *frames, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_period_size, snd_pcm_hw_params_get_period_size@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_period_size(params, frames, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_get_period_size_min(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *frames, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_period_size_min, snd_pcm_hw_params_get_period_size_min@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_period_size_min(params, frames, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_get_period_size_max(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *frames, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_period_size_max, snd_pcm_hw_params_get_period_size_max@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_period_size_max(params, frames, dir); | ||||
| } | ||||
| int snd_pcm_hw_params_test_period_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val, int dir); | ||||
| int snd_pcm_hw_params_set_period_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val, int dir); | ||||
| int snd_pcm_hw_params_set_period_size_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir); | ||||
| int snd_pcm_hw_params_set_period_size_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir); | ||||
| int snd_pcm_hw_params_set_period_size_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *min, int *mindir, snd_pcm_uframes_t *max, int *maxdir); | ||||
| static inline int snd_pcm_hw_params_set_period_size_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_period_size_near, snd_pcm_hw_params_set_period_size_near@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_period_size_near(pcm, params, val, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_set_period_size_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_period_size_first, snd_pcm_hw_params_set_period_size_first@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_period_size_first(pcm, params, val, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_set_period_size_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_period_size_last, snd_pcm_hw_params_set_period_size_last@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_period_size_last(pcm, params, val, dir); | ||||
| } | ||||
| int snd_pcm_hw_params_set_period_size_integer(snd_pcm_t *pcm, snd_pcm_hw_params_t *params); | ||||
| 
 | ||||
| static inline int snd_pcm_hw_params_get_periods(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_periods, snd_pcm_hw_params_get_periods@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_periods(params, val, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_get_periods_min(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_periods_min, snd_pcm_hw_params_get_periods_min@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_periods_min(params, val, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_get_periods_max(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_periods_max, snd_pcm_hw_params_get_periods_max@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_periods_max(params, val, dir); | ||||
| } | ||||
| int snd_pcm_hw_params_test_periods(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir); | ||||
| int snd_pcm_hw_params_set_periods(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir); | ||||
| int snd_pcm_hw_params_set_periods_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir); | ||||
| int snd_pcm_hw_params_set_periods_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir); | ||||
| int snd_pcm_hw_params_set_periods_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir); | ||||
| static inline int snd_pcm_hw_params_set_periods_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_periods_near, snd_pcm_hw_params_set_periods_near@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_periods_near(pcm, params, val, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_set_periods_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_periods_first, snd_pcm_hw_params_set_periods_first@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_periods_first(pcm, params, val, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_set_periods_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_periods_last, snd_pcm_hw_params_set_periods_last@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_periods_last(pcm, params, val, dir); | ||||
| } | ||||
| int snd_pcm_hw_params_set_periods_integer(snd_pcm_t *pcm, snd_pcm_hw_params_t *params); | ||||
| 
 | ||||
| static inline int snd_pcm_hw_params_get_buffer_time(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_buffer_time, snd_pcm_hw_params_get_buffer_time@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_buffer_time(params, val, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_get_buffer_time_min(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_buffer_time_min, snd_pcm_hw_params_get_buffer_time_min@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_buffer_time_min(params, val, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_get_buffer_time_max(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_buffer_time_max, snd_pcm_hw_params_get_buffer_time_max@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_buffer_time_max(params, val, dir); | ||||
| } | ||||
| int snd_pcm_hw_params_test_buffer_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir); | ||||
| int snd_pcm_hw_params_set_buffer_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir); | ||||
| int snd_pcm_hw_params_set_buffer_time_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir); | ||||
| int snd_pcm_hw_params_set_buffer_time_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir); | ||||
| int snd_pcm_hw_params_set_buffer_time_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir); | ||||
| static inline int snd_pcm_hw_params_set_buffer_time_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_buffer_time_near, snd_pcm_hw_params_set_buffer_time_near@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_buffer_time_near(pcm, params, val, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_set_buffer_time_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_buffer_time_first, snd_pcm_hw_params_set_buffer_time_first@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_buffer_time_near(pcm, params, val, dir); | ||||
| } | ||||
| static int snd_pcm_hw_params_set_buffer_time_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_buffer_time_last, snd_pcm_hw_params_set_buffer_time_last@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_buffer_time_last(pcm, params, val, dir); | ||||
| } | ||||
| 
 | ||||
| static inline int snd_pcm_hw_params_get_buffer_size(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_buffer_size, snd_pcm_hw_params_get_buffer_size@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_buffer_size(params, val); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_get_buffer_size_min(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_buffer_size_min, snd_pcm_hw_params_get_buffer_size_min@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_buffer_size_min(params, val); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_get_buffer_size_max(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_buffer_size_max, snd_pcm_hw_params_get_buffer_size_max@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_buffer_size_max(params, val); | ||||
| } | ||||
| int snd_pcm_hw_params_test_buffer_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val); | ||||
| int snd_pcm_hw_params_set_buffer_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val); | ||||
| int snd_pcm_hw_params_set_buffer_size_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val); | ||||
| int snd_pcm_hw_params_set_buffer_size_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val); | ||||
| int snd_pcm_hw_params_set_buffer_size_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *min, snd_pcm_uframes_t *max); | ||||
| static inline int snd_pcm_hw_params_set_buffer_size_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_buffer_size_near, snd_pcm_hw_params_set_buffer_size_near@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_buffer_size_near(pcm, params, val); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_set_buffer_size_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_buffer_size_first, snd_pcm_hw_params_set_buffer_size_first@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_buffer_size_first(pcm, params, val); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_set_buffer_size_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_buffer_size_last, snd_pcm_hw_params_set_buffer_size_last@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_buffer_size_last(pcm, params, val); | ||||
| } | ||||
| 
 | ||||
| static inline int snd_pcm_hw_params_get_tick_time(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_tick_time, snd_pcm_hw_params_get_tick_time@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_tick_time(params, val, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_get_tick_time_min(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_tick_time_min, snd_pcm_hw_params_get_tick_time_min@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_tick_time_min(params, val, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_get_tick_time_max(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_get_tick_time_max, snd_pcm_hw_params_get_tick_time_max@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_get_tick_time_max(params, val, dir); | ||||
| } | ||||
| int snd_pcm_hw_params_test_tick_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir); | ||||
| int snd_pcm_hw_params_set_tick_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir); | ||||
| int snd_pcm_hw_params_set_tick_time_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir); | ||||
| int snd_pcm_hw_params_set_tick_time_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir); | ||||
| int snd_pcm_hw_params_set_tick_time_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir); | ||||
| static inline int snd_pcm_hw_params_set_tick_time_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_tick_time_near, snd_pcm_hw_params_set_tick_time_near@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_tick_time_near(pcm, params, val, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_set_tick_time_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_tick_time_first, snd_pcm_hw_params_set_tick_time_first@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_tick_time_first(pcm, params, val, dir); | ||||
| } | ||||
| static inline int snd_pcm_hw_params_set_tick_time_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) { | ||||
| 	__asm__ (".symver __snd_pcm_hw_params_set_tick_time_last, snd_pcm_hw_params_set_tick_time_last@ALSA_0.9.0rc4"); | ||||
| 	return snd_pcm_hw_params_set_tick_time_last(pcm, params, val, dir); | ||||
| } | ||||
| 
 | ||||
| #endif /* DOXYGEN */ | ||||
| 
 | ||||
| #else | ||||
| 
 | ||||
| int snd_pcm_hw_params_get_access(const snd_pcm_hw_params_t *params); | ||||
|  |  | |||
|  | @ -1,5 +1,9 @@ | |||
| ALSA_0.9 { | ||||
|   global: | ||||
|     __snd_*; | ||||
|     _snd_*; | ||||
|     snd_*; | ||||
|   local: | ||||
|     *; | ||||
| }; | ||||
| ALSA_0.9.0rc4 { | ||||
|  |  | |||
|  | @ -73,7 +73,7 @@ static int snd_ctl_shm_action_fd(snd_ctl_t *ctl, int *fd) | |||
| 	err = write(shm->socket, buf, 1); | ||||
| 	if (err != 1) | ||||
| 		return -EBADFD; | ||||
| 	err = receive_fd(shm->socket, buf, 1, fd); | ||||
| 	err = snd_receive_fd(shm->socket, buf, 1, fd); | ||||
| 	if (err != 1) | ||||
| 		return -EBADFD; | ||||
| 	if (ctrl->cmd) { | ||||
|  | @ -666,7 +666,7 @@ int _snd_ctl_shm_open(snd_ctl_t **handlep, char *name, snd_config_t *root, snd_c | |||
| 		SNDERR("Cannot resolve %s", host); | ||||
| 		goto _err; | ||||
| 	} | ||||
| 	local = is_local(h); | ||||
| 	local = snd_is_local(h); | ||||
| 	if (!local) { | ||||
| 		SNDERR("%s is not the local host", host); | ||||
| 		goto _err; | ||||
|  |  | |||
							
								
								
									
										184
									
								
								src/pcm/pcm.c
									
										
									
									
									
								
							
							
						
						
									
										184
									
								
								src/pcm/pcm.c
									
										
									
									
									
								
							|  | @ -2722,6 +2722,9 @@ void snd_pcm_hw_params_copy(snd_pcm_hw_params_t *dst, const snd_pcm_hw_params_t | |||
|  * \param params Configuration space | ||||
|  * \param access Returned value | ||||
|  * \return access type otherwise a negative error code if not exactly one is present | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_access)(const snd_pcm_hw_params_t *params, snd_pcm_access_t *access) | ||||
|  | @ -2766,6 +2769,9 @@ int snd_pcm_hw_params_set_access(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, sn | |||
|  * \param params Configuration space | ||||
|  * \param access Returned first access type | ||||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_access_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t *access) | ||||
|  | @ -2782,6 +2788,9 @@ int snd_pcm_hw_params_set_access_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *para | |||
|  * \param params Configuration space | ||||
|  * \param val Returned last access type | ||||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_access_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t *access) | ||||
|  | @ -2823,6 +2832,9 @@ int snd_pcm_hw_params_get_access_mask(snd_pcm_hw_params_t *params, snd_pcm_acces | |||
|  * \param params Configuration space | ||||
|  * \param format returned format | ||||
|  * \return format otherwise a negative error code if not exactly one is present | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_format)(const snd_pcm_hw_params_t *params, snd_pcm_format_t *format) | ||||
|  | @ -2863,6 +2875,9 @@ int snd_pcm_hw_params_set_format(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, sn | |||
|  * \param params Configuration space | ||||
|  * \param format Returned first format | ||||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_format_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t *format) | ||||
|  | @ -2879,6 +2894,9 @@ int snd_pcm_hw_params_set_format_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *para | |||
|  * \param params Configuration space | ||||
|  * \param format Returned last format | ||||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_format_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t *format) | ||||
|  | @ -2917,6 +2935,9 @@ void snd_pcm_hw_params_get_format_mask(snd_pcm_hw_params_t *params, snd_pcm_form | |||
|  * \param params Configuration space | ||||
|  * \param subformat Returned subformat value | ||||
|  * \return subformat otherwise a negative error code if not exactly one is present | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_subformat)(const snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat) | ||||
|  | @ -2957,6 +2978,9 @@ int snd_pcm_hw_params_set_subformat(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, | |||
|  * \param params Configuration space | ||||
|  * \param subformat Returned subformat | ||||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_subformat_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat) | ||||
|  | @ -2973,6 +2997,9 @@ int snd_pcm_hw_params_set_subformat_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *p | |||
|  * \param params Configuration space | ||||
|  * \param subformat Returned subformat | ||||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_subformat_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat) | ||||
|  | @ -3011,6 +3038,9 @@ void snd_pcm_hw_params_get_subformat_mask(snd_pcm_hw_params_t *params, snd_pcm_s | |||
|  * \param params Configuration space | ||||
|  * \param val Returned channels count | ||||
|  * \return 0 otherwise a negative error code if not exactly one is present | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_channels)(const snd_pcm_hw_params_t *params, unsigned int *val) | ||||
|  | @ -3026,6 +3056,9 @@ int snd_pcm_hw_params_get_channels(const snd_pcm_hw_params_t *params, unsigned i | |||
|  * \param params Configuration space | ||||
|  * \param val minimum channels count | ||||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_channels_min)(const snd_pcm_hw_params_t *params, unsigned int *val) | ||||
|  | @ -3041,6 +3074,9 @@ int snd_pcm_hw_params_get_channels_min(const snd_pcm_hw_params_t *params, unsign | |||
|  * \param params Configuration space | ||||
|  * \param val maximum channels count | ||||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_channels_max)(const snd_pcm_hw_params_t *params, unsigned int *val) | ||||
|  | @ -3118,6 +3154,9 @@ int snd_pcm_hw_params_set_channels_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *p | |||
|  * \param params Configuration space | ||||
|  * \param val target channels count, returned chosen channels count | ||||
|  * \return chosen channels count | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_channels_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val) | ||||
|  | @ -3134,6 +3173,9 @@ int snd_pcm_hw_params_set_channels_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *par | |||
|  * \param params Configuration space | ||||
|  * \param val minimum channels count | ||||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_channels_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val) | ||||
|  | @ -3150,6 +3192,9 @@ int snd_pcm_hw_params_set_channels_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *pa | |||
|  * \param params Configuration space | ||||
|  * \param val maximum channels count | ||||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_channels_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val) | ||||
|  | @ -3169,6 +3214,9 @@ int snd_pcm_hw_params_set_channels_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *par | |||
|  * \return 0 otherwise a negative error code if not exactly one is present | ||||
|  * | ||||
|  * Actual exact value is <,=,> the approximate one following dir (-1, 0, 1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_rate)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -3187,6 +3235,9 @@ int snd_pcm_hw_params_get_rate(const snd_pcm_hw_params_t *params, unsigned int * | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Exact value is <,=,> the returned one following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_rate_min)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -3205,6 +3256,9 @@ int snd_pcm_hw_params_get_rate_min(const snd_pcm_hw_params_t *params, unsigned i | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Exact value is <,=,> the returned one following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_rate_max)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -3300,6 +3354,9 @@ int snd_pcm_hw_params_set_rate_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *param | |||
|  * \return approximate chosen rate | ||||
|  * | ||||
|  * target/chosen exact value is <,=,> val following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_rate_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -3319,6 +3376,9 @@ int snd_pcm_hw_params_set_rate_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Actual exact value is <,=,> the approximate one following dir (-1, 0, 1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_rate_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -3338,6 +3398,9 @@ int snd_pcm_hw_params_set_rate_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Actual exact value is <,=,> the approximate one following dir (-1, 0, 1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_rate_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -3357,6 +3420,9 @@ int snd_pcm_hw_params_set_rate_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, | |||
|  * \return 0 otherwise a negative error code if not exactly one is present | ||||
|  * | ||||
|  * Actual exact value is <,=,> the approximate one following dir (-1, 0, 1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_period_time)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -3375,6 +3441,9 @@ int snd_pcm_hw_params_get_period_time(const snd_pcm_hw_params_t *params, unsigne | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Exact value is <,=,> the returned one following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_period_time_min)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -3393,6 +3462,9 @@ int snd_pcm_hw_params_get_period_time_min(const snd_pcm_hw_params_t *params, uns | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Exact value is <,=,> the returned one following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_period_time_max)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -3489,6 +3561,9 @@ int snd_pcm_hw_params_set_period_time_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t | |||
|  * \return approximate chosen period duration in us | ||||
|  * | ||||
|  * target/chosen exact value is <,=,> val following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_period_time_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -3508,6 +3583,9 @@ int snd_pcm_hw_params_set_period_time_near(snd_pcm_t *pcm, snd_pcm_hw_params_t * | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Actual exact value is <,=,> the approximate one following dir (-1, 0, 1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_period_time_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -3526,6 +3604,9 @@ int snd_pcm_hw_params_set_period_time_first(snd_pcm_t *pcm, snd_pcm_hw_params_t | |||
|  * \return approximate period duration in us | ||||
|  * | ||||
|  * Actual exact value is <,=,> the approximate one following dir (-1, 0, 1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_period_time_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -3545,6 +3626,9 @@ int snd_pcm_hw_params_set_period_time_last(snd_pcm_t *pcm, snd_pcm_hw_params_t * | |||
|  * \return 0 otherwise a negative error code if not exactly one is present | ||||
|  * | ||||
|  * Actual exact value is <,=,> the approximate one following dir (-1, 0, 1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_period_size)(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir) | ||||
|  | @ -3567,6 +3651,9 @@ int snd_pcm_hw_params_get_period_size(const snd_pcm_hw_params_t *params, snd_pcm | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Exact value is <,=,> the returned one following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_period_size_min)(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir) | ||||
|  | @ -3589,6 +3676,9 @@ int snd_pcm_hw_params_get_period_size_min(const snd_pcm_hw_params_t *params, snd | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Exact value is <,=,> the returned one following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_period_size_max)(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir) | ||||
|  | @ -3701,6 +3791,9 @@ int snd_pcm_hw_params_set_period_size_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * target/chosen exact value is <,=,> val following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_period_size_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir) | ||||
|  | @ -3724,6 +3817,9 @@ int snd_pcm_hw_params_set_period_size_near(snd_pcm_t *pcm, snd_pcm_hw_params_t * | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Actual exact value is <,=,> the approximate one following dir (-1, 0, 1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_period_size_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir) | ||||
|  | @ -3747,6 +3843,9 @@ int snd_pcm_hw_params_set_period_size_first(snd_pcm_t *pcm, snd_pcm_hw_params_t | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Actual exact value is <,=,> the approximate one following dir (-1, 0, 1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_period_size_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir) | ||||
|  | @ -3781,6 +3880,9 @@ int snd_pcm_hw_params_set_period_size_integer(snd_pcm_t *pcm, snd_pcm_hw_params_ | |||
|  * \return 0 otherwise a negative error code if not exactly one is present | ||||
|  * | ||||
|  * Actual exact value is <,=,> the approximate one following dir (-1, 0, 1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_periods)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -3799,6 +3901,9 @@ int snd_pcm_hw_params_get_periods(const snd_pcm_hw_params_t *params, unsigned in | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Exact value is <,=,> the returned one following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_periods_min)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -3817,6 +3922,9 @@ int snd_pcm_hw_params_get_periods_min(const snd_pcm_hw_params_t *params, unsigne | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Exact value is <,=,> the returned one following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_periods_max)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -3912,6 +4020,9 @@ int snd_pcm_hw_params_set_periods_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *pa | |||
|  * \return approximate chosen periods per buffer | ||||
|  * | ||||
|  * target/chosen exact value is <,=,> val following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_periods_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -3931,6 +4042,9 @@ int snd_pcm_hw_params_set_periods_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *para | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Actual exact value is <,=,> the approximate one following dir (-1, 0, 1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_periods_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -3950,6 +4064,9 @@ int snd_pcm_hw_params_set_periods_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *par | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Actual exact value is <,=,> the approximate one following dir (-1, 0, 1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_periods_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -3981,6 +4098,9 @@ int snd_pcm_hw_params_set_periods_integer(snd_pcm_t *pcm, snd_pcm_hw_params_t *p | |||
|  * \return 0 otherwise a negative error code if not exactly one is present | ||||
|  * | ||||
|  * Actual exact value is <,=,> the approximate one following dir (-1, 0, 1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_buffer_time)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -3999,6 +4119,9 @@ int snd_pcm_hw_params_get_buffer_time(const snd_pcm_hw_params_t *params, unsigne | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Exact value is <,=,> the returned one following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_buffer_time_min)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -4017,6 +4140,9 @@ int snd_pcm_hw_params_get_buffer_time_min(const snd_pcm_hw_params_t *params, uns | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Exact value is <,=,> the returned one following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_buffer_time_max)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -4112,6 +4238,9 @@ int snd_pcm_hw_params_set_buffer_time_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t | |||
|  * \return approximate chosen buffer duration in us | ||||
|  * | ||||
|  * target/chosen exact value is <,=,> val following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_buffer_time_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -4131,6 +4260,9 @@ int snd_pcm_hw_params_set_buffer_time_near(snd_pcm_t *pcm, snd_pcm_hw_params_t * | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Actual exact value is <,=,> the approximate one following dir (-1, 0, 1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_buffer_time_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -4150,6 +4282,9 @@ int snd_pcm_hw_params_set_buffer_time_first(snd_pcm_t *pcm, snd_pcm_hw_params_t | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Actual exact value is <,=,> the approximate one following dir (-1, 0, 1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_buffer_time_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -4166,6 +4301,9 @@ int snd_pcm_hw_params_set_buffer_time_last(snd_pcm_t *pcm, snd_pcm_hw_params_t * | |||
|  * \param params Configuration space | ||||
|  * \param val Returned buffer size in frames | ||||
|  * \return 0 otherwise a negative error code if not exactly one is present | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_buffer_size)(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val) | ||||
|  | @ -4188,6 +4326,9 @@ int snd_pcm_hw_params_get_buffer_size(const snd_pcm_hw_params_t *params, snd_pcm | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Exact value is <,=,> the returned one following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_buffer_size_min)(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val) | ||||
|  | @ -4210,6 +4351,9 @@ int snd_pcm_hw_params_get_buffer_size_min(const snd_pcm_hw_params_t *params, snd | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Exact value is <,=,> the returned one following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_buffer_size_max)(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val) | ||||
|  | @ -4321,6 +4465,9 @@ int snd_pcm_hw_params_set_buffer_size_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t | |||
|  * \return approximate chosen buffer size in frames | ||||
|  * | ||||
|  * target/chosen exact value is <,=,> val following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_buffer_size_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val) | ||||
|  | @ -4341,6 +4488,9 @@ int snd_pcm_hw_params_set_buffer_size_near(snd_pcm_t *pcm, snd_pcm_hw_params_t * | |||
|  * \param params Configuration space | ||||
|  * \param val Returned minimum buffer size in frames | ||||
|  * \return buffer size in frames | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_buffer_size_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val) | ||||
|  | @ -4361,6 +4511,9 @@ int snd_pcm_hw_params_set_buffer_size_first(snd_pcm_t *pcm, snd_pcm_hw_params_t | |||
|  * \param params Configuration space | ||||
|  * \param val Returned maximum buffer size in frames | ||||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_buffer_size_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val) | ||||
|  | @ -4384,6 +4537,9 @@ int snd_pcm_hw_params_set_buffer_size_last(snd_pcm_t *pcm, snd_pcm_hw_params_t * | |||
|  * \return 0 otherwise a negative error code if not exactly one is present | ||||
|  * | ||||
|  * Actual exact value is <,=,> the approximate one following dir (-1, 0, 1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_tick_time)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -4402,6 +4558,9 @@ int snd_pcm_hw_params_get_tick_time(const snd_pcm_hw_params_t *params, unsigned | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Exact value is <,=,> the returned one following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_tick_time_min)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -4420,6 +4579,9 @@ int snd_pcm_hw_params_get_tick_time_min(const snd_pcm_hw_params_t *params, unsig | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Exact value is <,=,> the returned one following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_get_tick_time_max)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -4515,6 +4677,9 @@ int snd_pcm_hw_params_set_tick_time_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t * | |||
|  * \return approximate chosen tick duration in us | ||||
|  * | ||||
|  * target/chosen exact value is <,=,> val following dir (-1,0,1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_tick_time_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -4534,6 +4699,9 @@ int snd_pcm_hw_params_set_tick_time_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *pa | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Actual exact value is <,=,> the approximate one following dir (-1, 0, 1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_tick_time_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -4553,6 +4721,9 @@ int snd_pcm_hw_params_set_tick_time_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *p | |||
|  * \return 0 otherwise a negative error code | ||||
|  * | ||||
|  * Actual exact value is <,=,> the approximate one following dir (-1, 0, 1) | ||||
|  * | ||||
|  * Note: To use this function add '#define ALSA_PCM_NEW_HW_PARAMS_API' before '#include <alsa/asoundlib.h>' | ||||
|  *       to enable this new function prototype. Using of older function with same name is deprecated. | ||||
|  */ | ||||
| #ifndef DOXYGEN | ||||
| int INTERNAL(snd_pcm_hw_params_set_tick_time_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir) | ||||
|  | @ -5985,19 +6156,12 @@ void snd_pcm_unlink_appl_ptr(snd_pcm_t *pcm, snd_pcm_t *slave) | |||
| 
 | ||||
| #ifdef USE_VERSIONED_SYMBOLS | ||||
| 
 | ||||
| #ifndef SND_COMPATIBILITY_BUILD_RC3 | ||||
| 
 | ||||
| #define OBSOLETE1(name, what, new) \ | ||||
|   symbol_version(__old_##name, name, what); \ | ||||
|   default_symbol_version(__##name, name, new); | ||||
| 
 | ||||
| #else | ||||
| 
 | ||||
| /* it's really not so nice: obsolete, but default */ | ||||
| /* forced by developers on alsa-devel */ | ||||
| #define OBSOLETE1(name, what, new) \ | ||||
|   symbol_version(__##name, name, new); \ | ||||
|   default_symbol_version(__old_##name, name, what); | ||||
| 
 | ||||
| #endif | ||||
| 
 | ||||
| #define __OLD_GET(name, val_type, ret_type) \ | ||||
| ret_type __old_##name(const snd_pcm_hw_params_t *params) \ | ||||
| { \ | ||||
|  |  | |||
|  | @ -1016,8 +1016,10 @@ SND_DLSYM_BUILD_VERSION(_snd_pcm_hw_open, SND_PCM_DLSYM_VERSION); | |||
|  *  To be removed helpers, but keep binary compatibility at the time | ||||
|  */ | ||||
| 
 | ||||
| #ifndef DOC_HIDDEN | ||||
| #define __OLD_TO_NEW_MASK(x) ((x&7)|((x&0x07fffff8)<<5)) | ||||
| #define __NEW_TO_OLD_MASK(x) ((x&7)|((x&0xffffff00)>>5)) | ||||
| #endif | ||||
| 
 | ||||
| static void snd_pcm_hw_convert_from_old_params(snd_pcm_hw_params_t *params, | ||||
| 					       struct sndrv_pcm_hw_params_old *oparams) | ||||
|  |  | |||
|  | @ -58,7 +58,7 @@ typedef struct { | |||
| #endif | ||||
| 
 | ||||
| #ifndef DOC_HIDDEN | ||||
| int receive_fd(int sock, void *data, size_t len, int *fd) | ||||
| int snd_receive_fd(int sock, void *data, size_t len, int *fd) | ||||
| { | ||||
| 	int ret; | ||||
| 	size_t cmsg_len = CMSG_LEN(sizeof(int)); | ||||
|  | @ -103,7 +103,7 @@ static long snd_pcm_shm_action_fd0(snd_pcm_t *pcm, int *fd) | |||
| 	err = write(shm->socket, buf, 1); | ||||
| 	if (err != 1) | ||||
| 		return -EBADFD; | ||||
| 	err = receive_fd(shm->socket, buf, 1, fd); | ||||
| 	err = snd_receive_fd(shm->socket, buf, 1, fd); | ||||
| 	if (err != 1) | ||||
| 		return -EBADFD; | ||||
| 	if (ctrl->cmd) { | ||||
|  | @ -192,7 +192,7 @@ static long snd_pcm_shm_action_fd(snd_pcm_t *pcm, int *fd) | |||
| 	err = write(shm->socket, buf, 1); | ||||
| 	if (err != 1) | ||||
| 		return -EBADFD; | ||||
| 	err = receive_fd(shm->socket, buf, 1, fd); | ||||
| 	err = snd_receive_fd(shm->socket, buf, 1, fd); | ||||
| 	if (err != 1) | ||||
| 		return -EBADFD; | ||||
| 	if (ctrl->cmd) { | ||||
|  | @ -794,7 +794,7 @@ int snd_pcm_shm_open(snd_pcm_t **pcmp, const char *name, | |||
| } | ||||
| 
 | ||||
| #ifndef DOC_HIDDEN | ||||
| int is_local(struct hostent *hent) | ||||
| int snd_is_local(struct hostent *hent) | ||||
| { | ||||
| 	int s; | ||||
| 	int err; | ||||
|  | @ -984,7 +984,7 @@ int _snd_pcm_shm_open(snd_pcm_t **pcmp, const char *name, | |||
| 		SNDERR("Cannot resolve %s", host); | ||||
| 		goto _err; | ||||
| 	} | ||||
| 	local = is_local(h); | ||||
| 	local = snd_is_local(h); | ||||
| 	if (!local) { | ||||
| 		SNDERR("%s is not the local host", host); | ||||
| 		goto _err; | ||||
|  |  | |||
|  | @ -172,6 +172,13 @@ void snd_midi_event_free(snd_midi_event_t *dev) | |||
| 	} | ||||
| } | ||||
| 
 | ||||
| /**
 | ||||
|  * \brief Enable/disable MIDI command merging | ||||
|  * \param dev MIDI event parser | ||||
|  * \param on 0 - enable MIDI command merging, 1 - always pass the command | ||||
|  * | ||||
|  * Enable/disable MIDI command merging | ||||
|  */ | ||||
| void snd_midi_event_no_status(snd_midi_event_t *dev, int on) | ||||
| { | ||||
| 	dev->nostat = on ? 1 : 0; | ||||
|  |  | |||
|  | @ -33,6 +33,7 @@ | |||
| #include <sched.h> | ||||
| #include <errno.h> | ||||
| #include <getopt.h> | ||||
| #define ALSA_PCM_NEW_HW_PARAMS_API | ||||
| #include "../include/asoundlib.h" | ||||
| #include <sys/time.h> | ||||
| #include <math.h> | ||||
|  | @ -100,16 +101,16 @@ int setparams_bufsize(snd_pcm_t *handle, | |||
| 		      const char *id) | ||||
| { | ||||
| 	int err; | ||||
| 	snd_pcm_uframes_t rbufsize, periodsize; | ||||
| 	snd_pcm_uframes_t periodsize; | ||||
| 
 | ||||
| 	snd_pcm_hw_params_copy(params, tparams); | ||||
| 	rbufsize = bufsize * 2; | ||||
| 	err = snd_pcm_hw_params_set_buffer_size_near(handle, params, &rbufsize); | ||||
| 	periodsize = bufsize * 2; | ||||
| 	err = snd_pcm_hw_params_set_buffer_size_near(handle, params, &periodsize); | ||||
| 	if (err < 0) { | ||||
| 		printf("Unable to set buffer size %li for %s: %s\n", bufsize * 2, id, snd_strerror(err)); | ||||
| 		return err; | ||||
| 	} | ||||
| 	periodsize = snd_pcm_hw_params_get_buffer_size(params) / 2; | ||||
| 	periodsize /= 2; | ||||
| 	err = snd_pcm_hw_params_set_period_size_near(handle, params, &periodsize, 0); | ||||
| 	if (err < 0) { | ||||
| 		printf("Unable to set period size %li for %s: %s\n", periodsize, id, snd_strerror(err)); | ||||
|  | @ -123,7 +124,9 @@ int setparams_set(snd_pcm_t *handle, | |||
| 		  snd_pcm_sw_params_t *swparams, | ||||
| 		  const char *id) | ||||
| { | ||||
| 	int err, val, sleep_min = 0; | ||||
| 	int err; | ||||
| 	snd_pcm_uframes_t val; | ||||
| 	unsigned int sleep_min = 0; | ||||
| 
 | ||||
| 	err = snd_pcm_hw_params(handle, params); | ||||
| 	if (err < 0) { | ||||
|  | @ -143,8 +146,8 @@ int setparams_set(snd_pcm_t *handle, | |||
| 	tick_time_ok = 0; | ||||
| 	if (tick_time > 0) { | ||||
| 		int time, ttime; | ||||
| 		time = snd_pcm_hw_params_get_period_time(params, NULL); | ||||
| 		ttime = snd_pcm_hw_params_get_tick_time(params, NULL); | ||||
| 		snd_pcm_hw_params_get_period_time(params, &time, NULL); | ||||
| 		 snd_pcm_hw_params_get_tick_time(params, &ttime, NULL); | ||||
| 		if (time < ttime) { | ||||
| 			printf("Skipping to set minimal sleep: period time < tick time\n"); | ||||
| 		} else if (ttime <= 0) { | ||||
|  | @ -161,7 +164,10 @@ int setparams_set(snd_pcm_t *handle, | |||
| 			tick_time_ok = sleep_min * ttime; | ||||
| 		} | ||||
| 	} | ||||
| 	val = !block ? 4 : snd_pcm_hw_params_get_period_size(params, NULL); | ||||
| 	if (!block) | ||||
| 		val = 4; | ||||
| 	else | ||||
| 		snd_pcm_hw_params_get_period_size(params, &val, NULL); | ||||
| 	if (tick_time_ok > 0) | ||||
| 		val = 16; | ||||
| 	err = snd_pcm_sw_params_set_avail_min(handle, swparams, val); | ||||
|  | @ -189,7 +195,8 @@ int setparams(snd_pcm_t *phandle, snd_pcm_t *chandle, int *bufsize) | |||
| 	snd_pcm_hw_params_t *pt_params, *ct_params;	/* templates with rate, format and channels */ | ||||
| 	snd_pcm_hw_params_t *p_params, *c_params; | ||||
| 	snd_pcm_sw_params_t *p_swparams, *c_swparams; | ||||
| 	snd_pcm_sframes_t size; | ||||
| 	snd_pcm_uframes_t size, p_size, c_size, p_psize, c_psize; | ||||
| 	unsigned int p_time, c_time; | ||||
| 
 | ||||
| 	snd_pcm_hw_params_alloca(&p_params); | ||||
| 	snd_pcm_hw_params_alloca(&c_params); | ||||
|  | @ -221,18 +228,24 @@ int setparams(snd_pcm_t *phandle, snd_pcm_t *chandle, int *bufsize) | |||
| 		exit(0); | ||||
| 	} | ||||
| 
 | ||||
| 	size = snd_pcm_hw_params_get_period_size(p_params, NULL); | ||||
| 	snd_pcm_hw_params_get_period_size(p_params, &size, NULL); | ||||
| 	if (size > *bufsize) | ||||
| 		*bufsize = size; | ||||
| 	size = snd_pcm_hw_params_get_period_size(c_params, NULL); | ||||
| 	snd_pcm_hw_params_get_period_size(c_params, &size, NULL); | ||||
| 	if (size > *bufsize) | ||||
| 		*bufsize = size; | ||||
| 	if (snd_pcm_hw_params_get_period_time(p_params, NULL) != | ||||
| 	    snd_pcm_hw_params_get_period_time(c_params, NULL)) | ||||
| 	snd_pcm_hw_params_get_period_time(p_params, &p_time, NULL); | ||||
| 	snd_pcm_hw_params_get_period_time(c_params, &c_time, NULL); | ||||
| 	if (p_time != c_time) | ||||
| 		goto __again; | ||||
| 	if (snd_pcm_hw_params_get_period_size(p_params, NULL) * 2 < snd_pcm_hw_params_get_buffer_size(p_params)) | ||||
| 
 | ||||
| 	snd_pcm_hw_params_get_period_size(p_params, &p_psize, NULL); | ||||
| 	snd_pcm_hw_params_get_buffer_size(p_params, &p_size); | ||||
| 	if (p_psize * 2 < p_size) | ||||
| 		goto __again; | ||||
| 	if (snd_pcm_hw_params_get_period_size(c_params, NULL) * 2 < snd_pcm_hw_params_get_buffer_size(c_params)) | ||||
| 	snd_pcm_hw_params_get_period_size(c_params, &c_psize, NULL); | ||||
| 	snd_pcm_hw_params_get_buffer_size(c_params, &c_size); | ||||
| 	if (c_psize * 2 < c_size) | ||||
| 		goto __again; | ||||
| 
 | ||||
| 	if ((err = setparams_set(phandle, p_params, p_swparams, "playback")) < 0) { | ||||
|  |  | |||
|  | @ -8,6 +8,7 @@ | |||
| #include <sched.h> | ||||
| #include <errno.h> | ||||
| #include <getopt.h> | ||||
| #define ALSA_PCM_NEW_HW_PARAMS_API | ||||
| #include "../include/asoundlib.h" | ||||
| #include <sys/time.h> | ||||
| #include <math.h> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Jaroslav Kysela
						Jaroslav Kysela