1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
$NetBSD: patch-aa,v 1.3 1998/08/07 10:36:11 agc Exp $
--- sbdsp.c.orig Wed Aug 17 23:11:01 1994
+++ sbdsp.c Fri Jun 19 19:01:35 1998
@@ -21,7 +21,12 @@
#include <i386/isa/sblast.h>
#else
#ifdef LINUXSOUND
-#include <linux/soundcard.h>
+#ifdef __NetBSD__
+#include <sys/ioctl.h>
+#include <soundcard.h>
+#else
+#include <machine/soundcard.h>
+#endif
#else
#include <sys/sb.h>
#endif
@@ -77,8 +82,18 @@
ioctl(fileno(ft->fp), DSP_IOCTL_VOICE, &off);
ioctl(fileno(ft->fp), DSP_IOCTL_SPEED, &ft->info.rate);
#else
+#ifdef __NetBSD__
+ {
+ int fmt = AFMT_U8;
+ ioctl(fileno(ft->fp), SNDCTL_DSP_SETFMT, &fmt);
+ }
+#endif
#if defined(LINUXSOUND)
- ioctl(fileno(ft->fp), SNDCTL_DSP_SPEED, ft->info.rate);
+ #if SOUND_VERSION >= 200
+ ioctl(fileno(ft->fp), SOUND_PCM_WRITE_RATE, &ft->info.rate);
+ #else
+ ioctl(fileno(ft->fp), SOUND_PCM_WRITE_RATE, ft->info.rate);
+ #endif
#else
ioctl(fileno(ft->fp), DSP_IOCTL_VOICE, 0);
ioctl(fileno(ft->fp), DSP_IOCTL_SPEED, ft->info.rate);
@@ -146,9 +161,19 @@
ioctl(fileno(ft->fp), DSP_IOCTL_VOICE, &on);
ioctl(fileno(ft->fp), DSP_IOCTL_SPEED, &ft->info.rate);
#else
+#ifdef __NetBSD__
+ {
+ int fmt = AFMT_U8;
+ ioctl(fileno(ft->fp), SNDCTL_DSP_SETFMT, &fmt);
+ }
+#endif
#if defined(LINUXSOUND)
ioctl(fileno(ft->fp), SNDCTL_DSP_SYNC, 0);
- ioctl(fileno(ft->fp), SNDCTL_DSP_SPEED, ft->info.rate);
+ #if SOUND_VERSION >= 200
+ ioctl(fileno(ft->fp), SOUND_PCM_WRITE_RATE, &ft->info.rate);
+ #else
+ ioctl(fileno(ft->fp), SOUND_PCM_WRITE_RATE, ft->info.rate);
+ #endif
#else
ioctl(fileno(ft->fp), DSP_IOCTL_VOICE, 1);
ioctl(fileno(ft->fp), DSP_IOCTL_SPEED, ft->info.rate);
|