summaryrefslogtreecommitdiff
path: root/lang/python25/patches/patch-ae
blob: e2f60bf95c79e3d0b526f75bd3cdc234b698528a (plain)
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
$NetBSD: patch-ae,v 1.1 2008/04/24 04:42:00 bjs Exp $

XXXbjs:  I use amd64, and audioop is broken on 64-bit platforms.
Thus, this needs to be tested.

--- Modules/sunaudiodev.c.orig	2006-01-19 01:09:39.000000000 -0500
+++ Modules/sunaudiodev.c
@@ -224,7 +224,11 @@ sad_ibufcount(sadobject *self)
 {
 	audio_info_t ai;
     
+#if defined(__NetBSD__) && defined(AUDIO_GETBUFINFO)
+	if (ioctl(self->x_fd, AUDIO_GETBUFINFO, &ai) < 0) {
+#else
 	if (ioctl(self->x_fd, AUDIO_GETINFO, &ai) < 0) {
+#endif
 		PyErr_SetFromErrno(SunAudioError);
 		return NULL;
 	}
@@ -236,7 +240,11 @@ sad_obufcount(sadobject *self)
 {
 	audio_info_t ai;
     
+#if defined(__NetBSD__) && defined(AUDIO_GETBUFINFO)
+	if (ioctl(self->x_fd, AUDIO_GETBUFINFO, &ai) < 0) {
+#else
 	if (ioctl(self->x_fd, AUDIO_GETINFO, &ai) < 0) {
+#endif
 		PyErr_SetFromErrno(SunAudioError);
 		return NULL;
 	}
@@ -275,7 +283,11 @@ sad_getdev(sadobject *self)
 static PyObject *
 sad_flush(sadobject *self)
 {
+#if defined(__NetBSD__) || defined(__OpenBSD__)
+	if (ioctl(self->x_fd, AUDIO_FLUSH, NULL) < 0) {
+#else
 	if (ioctl(self->x_fd, I_FLUSH, FLUSHW) < 0) {
+#endif
 		PyErr_SetFromErrno(SunAudioError);
 		return NULL;
 	}