[Liboss-commit] CVS: liboss/lib esddsp.c,1.16,1.17
Brought to you by:
thesin
From: Justin <th...@us...> - 2002-11-07 16:05:41
|
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: |