summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Modules/sunaudiodev.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/Modules/sunaudiodev.c b/Modules/sunaudiodev.c
index a587ac6aa1..6155445a61 100644
--- a/Modules/sunaudiodev.c
+++ b/Modules/sunaudiodev.c
@@ -271,7 +271,11 @@ sad_obufcount(self, args)
PyErr_SetFromErrno(SunAudioError);
return NULL;
}
- return PyInt_FromLong(self->x_ocount - ai.play.samples);
+ /* x_ocount is in bytes, wheras play.samples is in frames */
+ /* we want frames */
+ return PyInt_FromLong(self->x_ocount / (ai.play.channels *
+ ai.play.precision / 8) -
+ ai.play.samples);
}
static PyObject *