diff options
author | cladisch <cladisch@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-03-31 09:28:37 +0000 |
---|---|---|
committer | cladisch <cladisch@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-03-31 09:28:37 +0000 |
commit | e7941a0ef377cb3e5caf7f5e85473ae911c72bec (patch) | |
tree | a755c20d14aadac6b4d781d17b24d26d9e24c3d9 /libao2/ao_alsa.c | |
parent | adb94d38a353e55bff988eace23a9566f01e3e35 (diff) | |
download | mpv-e7941a0ef377cb3e5caf7f5e85473ae911c72bec.tar.bz2 mpv-e7941a0ef377cb3e5caf7f5e85473ae911c72bec.tar.xz |
Add workarounds for old prerelease versions of alsa-lib 0.9.0 that did
not allow reading the buffer boundary value.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18010 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libao2/ao_alsa.c')
-rw-r--r-- | libao2/ao_alsa.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libao2/ao_alsa.c b/libao2/ao_alsa.c index 8136315b5c..7063d7a709 100644 --- a/libao2/ao_alsa.c +++ b/libao2/ao_alsa.c @@ -638,11 +638,15 @@ static int init(int rate_hz, int channels, int format, int flags) 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 @@ static int init(int rate_hz, int channels, int format, int flags) 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)); |