Update of /cvsroot/liboss/liboss/lib
In directory usw-pr-cvs1:/tmp/cvs-serv21943
Modified Files:
esddsp.c
Log Message:
ESD doesn't care about frags lets see if I can use it to reset the buffers
Index: esddsp.c
===================================================================
RCS file: /cvsroot/liboss/liboss/lib/esddsp.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- esddsp.c 7 Nov 2002 05:36:50 -0000 1.16
+++ esddsp.c 7 Nov 2002 16:05:37 -0000 1.17
@@ -202,9 +202,6 @@
{
struct audio_info tmpinfo;
- u_int u;
- int idat, retval;
-
static esd_format_t fmt = ESD_BITS16 | ESD_STEREO | ESD_STREAM | ESD_PLAY;
static int speed;
@@ -236,23 +233,10 @@
break;
case SNDCTL_DSP_SETFRAGMENT:
- AUDIO_INITINFO(&tmpinfo);
- idat = *arg;
- if ((idat & 0xffff) < 4 || (idat & 0xffff) > 17)
- return EINVAL;
- tmpinfo.blocksize = 1 << (idat & 0xffff);
- tmpinfo.hiwat = ((unsigned)idat >> 16) & 0x7fff;
- if (tmpinfo.hiwat == 0) /* 0 means set to max */
- tmpinfo.hiwat = 65536;
- (void) ioctl(fd, AUDIO_SETINFO, &tmpinfo);
- retval = ioctl(fd, AUDIO_GETINFO, &tmpinfo);
- if (retval < 0)
- return retval;
- u = tmpinfo.blocksize;
- for(idat = 0; u > 1; idat++, u >>= 1)
- ;
- idat |= (tmpinfo.hiwat & 0x7fff) << 16;
- *arg = idat;
+ {
+ audio_buf_info *bufinfo = (audio_buf_info *) argp;
+ bufinfo->bytes = ESD_BUF_SIZE;
+ }
break;
case SNDCTL_DSP_GETFMTS:
|