aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormalc <av1474@comtv.ru>2010-01-08 11:26:27 +0300
committermalc <av1474@comtv.ru>2010-01-08 11:26:31 +0300
commite726fe7d60d46636c74c1c4a8fac7e4a05efb163 (patch)
tree6e204c6c1f5e004e39a7a5c77a31c9a750652af6
parent95372a393dee7a9d5446a9d38edd2b57f9f8d46c (diff)
downloadqemu-e726fe7d60d46636c74c1c4a8fac7e4a05efb163.zip
qemu-e726fe7d60d46636c74c1c4a8fac7e4a05efb163.tar.gz
qemu-e726fe7d60d46636c74c1c4a8fac7e4a05efb163.tar.bz2
oss: workaround for cases when OSS_GETVERSION is not defined
Thanks to Juergen Lock. Signed-off-by: malc <av1474@comtv.ru>
-rw-r--r--audio/ossaudio.c13
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",