From 1430c7434a2b4fed3b7adaa2910ae5bd17d0f507 Mon Sep 17 00:00:00 2001 From: dsainty Date: Thu, 8 Jan 2009 12:11:46 +0000 Subject: If the target NetBSD system is dated enough (E.g. 4.99.1), AUDIO_GETBUFINFO won't be available, and the previous version of this patch would not allow successful building. Change the code (in the OSS module) to check for a defined AUDIO_GETBUFINFO under NetBSD. If it isn't available, indicate that the system has no mechanism available. (May compromise on audio synchronisation on local OSS devices) Ok jmcneill@ --- audio/pulseaudio/distinfo | 4 ++-- audio/pulseaudio/patches/patch-ak | 13 +++++++++---- 2 files changed, 11 insertions(+), 6 deletions(-) (limited to 'audio/pulseaudio') diff --git a/audio/pulseaudio/distinfo b/audio/pulseaudio/distinfo index 50cf43e8d3d..78976178253 100644 --- a/audio/pulseaudio/distinfo +++ b/audio/pulseaudio/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.10 2008/12/25 21:53:30 ahoka Exp $ +$NetBSD: distinfo,v 1.11 2009/01/08 12:11:46 dsainty Exp $ SHA1 (pulseaudio-0.9.13.tar.gz) = c8482f1bb42d5213bfdbe2154e1a55b7bc04c915 RMD160 (pulseaudio-0.9.13.tar.gz) = 07cea9939dfb4fc76f13bf01dfe22ab6d0fd8459 @@ -13,6 +13,6 @@ SHA1 (patch-ag) = 67e3330c52c605e1eec505166e4ceed1a1277b11 SHA1 (patch-ah) = 13cee1dc10be17f51978208843048ba9db7d9a3f SHA1 (patch-ai) = b8e9e2dee9d1c5d9de488cfa0d06440eedacb7c6 SHA1 (patch-aj) = 50edf909d5d7cc35e925685cdf0831e73d06f6ec -SHA1 (patch-ak) = d2ed994750f4aadaa9c50abb4374c4dab363d01e +SHA1 (patch-ak) = 2a2f80a2ab4b30f2daaebdb1ad0bcb54345743cd SHA1 (patch-ba) = da9742d49ecb409cd13bee4468e64f982c03cffe SHA1 (patch-bb) = ae0209dac352df7abfcf66c452f2ebb91e35e42a diff --git a/audio/pulseaudio/patches/patch-ak b/audio/pulseaudio/patches/patch-ak index 54aee0e9fb2..945ff7ade43 100644 --- a/audio/pulseaudio/patches/patch-ak +++ b/audio/pulseaudio/patches/patch-ak @@ -1,7 +1,7 @@ -$NetBSD: patch-ak,v 1.1 2008/12/23 19:29:29 jmcneill Exp $ +$NetBSD: patch-ak,v 1.2 2009/01/08 12:11:46 dsainty Exp $ ---- src/modules/module-oss.c.orig 2008-12-23 13:12:54.000000000 -0500 -+++ src/modules/module-oss.c 2008-12-23 13:28:40.000000000 -0500 +--- src/modules/module-oss.c.orig 2008-09-04 09:13:43.000000000 +1200 ++++ src/modules/module-oss.c 2009-01-08 20:55:21.000000000 +1300 @@ -71,6 +71,11 @@ #include #include @@ -14,12 +14,13 @@ $NetBSD: patch-ak,v 1.1 2008/12/23 19:29:29 jmcneill Exp $ #include "oss-util.h" #include "module-oss-symdef.h" -@@ -399,13 +404,22 @@ static pa_usec_t io_sink_get_latency(str +@@ -399,13 +404,27 @@ if (u->use_getodelay) { int arg; - +#if defined(__NetBSD__) && !defined(SNDCTL_DSP_GETODELAY) ++#if defined(AUDIO_GETBUFINFO) + struct audio_info info; + if (syscall(SYS_ioctl, u->fd, AUDIO_GETBUFINFO, &info) < 0) { + pa_log_info("Device doesn't support AUDIO_GETBUFINFO: %s", pa_cstrerror(errno)); @@ -28,6 +29,10 @@ $NetBSD: patch-ak,v 1.1 2008/12/23 19:29:29 jmcneill Exp $ + arg = info.play.seek + info.blocksize / 2; + r = pa_bytes_to_usec((size_t) arg, &u->sink->sample_spec); + } ++#else ++ pa_log_info("System doesn't support AUDIO_GETBUFINFO"); ++ u->use_getodelay = 0; ++#endif +#else if (ioctl(u->fd, SNDCTL_DSP_GETODELAY, &arg) < 0) { pa_log_info("Device doesn't support SNDCTL_DSP_GETODELAY: %s", pa_cstrerror(errno)); -- cgit v1.2.3