Fix the size of the playback buffer. Patch from Dave Sainty <dave@dtsp.co.nz>.

This commit is contained in:
cjs 2000-01-18 04:48:47 +00:00
parent 9efabde18b
commit 762741c71d

View File

@ -1,4 +1,4 @@
/* $NetBSD: eso.c,v 1.16 1999/12/28 19:26:26 kleink Exp $ */ /* $NetBSD: eso.c,v 1.17 2000/01/18 04:48:47 cjs Exp $ */
/* /*
* Copyright (c) 1999 Klaus J. Klein * Copyright (c) 1999 Klaus J. Klein
@ -1580,15 +1580,16 @@ eso_round_buffersize(hdl, direction, bufsize)
size_t maxsize; size_t maxsize;
/* /*
* The playback DMA buffer size on the Solo-1 is limited to 2^16 - * The playback DMA buffer size on the Solo-1 is limited to 0xfff0
* 1 bytes. This is because A2DMAC is a two byte value indicating * bytes. This is because IO_A2DMAC is a two byte value
* the literal byte count, and zero does not appear to be used as * indicating the literal byte count, and the 4 least significant
* a special case for 2^16. * bits are read-only. Zero is not used as a special case for
* 0x10000.
* *
* For recording, DMAC_DMAC is the byte count - 1, so 2^16 can be * For recording, DMAC_DMAC is the byte count - 1, so 0x10000 can
* represented. * be represented.
*/ */
maxsize = (direction == AUMODE_PLAY) ? 65535 : 65536; maxsize = (direction == AUMODE_PLAY) ? 0xfff0 : 0x10000;
if (bufsize > maxsize) if (bufsize > maxsize)
bufsize = maxsize; bufsize = maxsize;