diff options
author | malc <av1474@comtv.ru> | 2010-01-08 11:26:27 +0300 |
---|---|---|
committer | malc <av1474@comtv.ru> | 2010-01-08 11:26:31 +0300 |
commit | e726fe7d60d46636c74c1c4a8fac7e4a05efb163 (patch) | |
tree | 6e204c6c1f5e004e39a7a5c77a31c9a750652af6 /audio | |
parent | 95372a393dee7a9d5446a9d38edd2b57f9f8d46c (diff) | |
download | hqemu-e726fe7d60d46636c74c1c4a8fac7e4a05efb163.zip hqemu-e726fe7d60d46636c74c1c4a8fac7e4a05efb163.tar.gz |
oss: workaround for cases when OSS_GETVERSION is not defined
Thanks to Juergen Lock.
Signed-off-by: malc <av1474@comtv.ru>
Diffstat (limited to 'audio')
-rw-r--r-- | audio/ossaudio.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/audio/ossaudio.c b/audio/ossaudio.c index 4002f14..4766aa7 100644 --- a/audio/ossaudio.c +++ b/audio/ossaudio.c @@ -240,7 +240,9 @@ static int oss_open (int in, struct oss_params *req, struct oss_params *obt, int *pfd) { int fd; +#ifdef OSS_GETVERSION int version; +#endif int oflags = conf.exclusive ? O_EXCL : 0; audio_buf_info abinfo; int fmt, freq, nchannels; @@ -281,6 +283,7 @@ static int oss_open (int in, struct oss_params *req, goto err; } +#ifdef OSS_GETVERSION if (ioctl (fd, OSS_GETVERSION, &version)) { oss_logerr2 (errno, typ, "Failed to get OSS version\n"); version = 0; @@ -289,9 +292,17 @@ static int oss_open (int in, struct oss_params *req, if (conf.debug) { dolog ("OSS version = %#x\n", version); } +#endif #ifdef SNDCTL_DSP_POLICY - if (conf.policy >= 0 && version >= 0x040000) { + if (conf.policy >= 0 +#ifdef OSS_GETVERSION + && version >= 0x040000 +#else + 0 +#endif + ) + { int policy = conf.policy; if (ioctl (fd, SNDCTL_DSP_POLICY, &policy)) { oss_logerr2 (errno, typ, "Failed to set timing policy to %d\n", |