# HG changeset patch # User cladisch # Date 1143797317 0 # Node ID fb7888812f13aa950f3314206a81e0b15682a8c0 # Parent 0334b2fb1a39bd9e0cae940604307784799f9858 Add workarounds for old prerelease versions of alsa-lib 0.9.0 that did not allow reading the buffer boundary value. diff -r 0334b2fb1a39 -r fb7888812f13 libao2/ao_alsa.c --- a/libao2/ao_alsa.c Fri Mar 31 06:22:51 2006 +0000 +++ b/libao2/ao_alsa.c Fri Mar 31 09:28:37 2006 +0000 @@ -638,11 +638,15 @@ snd_strerror(err)); return 0; } +#if SND_LIB_VERSION >= 0x000901 if ((err = snd_pcm_sw_params_get_boundary(alsa_swparams, &boundary)) < 0) { mp_msg(MSGT_AO,MSGL_ERR,"alsa-init: unable to get boundary: %s\n", snd_strerror(err)); return 0; } +#else + boundary = 0x7fffffff; +#endif /* start playing when one period has been written */ if ((err = snd_pcm_sw_params_set_start_threshold(alsa_handler, alsa_swparams, chunk_size)) < 0) { mp_msg(MSGT_AO,MSGL_ERR,"alsa-init: unable to set start threshold: %s\n", @@ -655,12 +659,14 @@ snd_strerror(err)); return 0; } +#if SND_LIB_VERSION >= 0x000901 /* play silence when there is an underrun */ if ((err = snd_pcm_sw_params_set_silence_size(alsa_handler, alsa_swparams, boundary)) < 0) { mp_msg(MSGT_AO,MSGL_ERR,"alsa-init: unable to set silence size: %s\n", snd_strerror(err)); return 0; } +#endif if ((err = snd_pcm_sw_params(alsa_handler, alsa_swparams)) < 0) { mp_msg(MSGT_AO,MSGL_ERR,"alsa-init: unable to set sw-parameters: %s\n", snd_strerror(err));