delorie.com/archives/browse.cgi | search |
On Sat, Oct 20, 2001 at 08:47:37PM +0200, Ralf Habacker wrote: ><snip> >> >> >6. the sound support of cygwin isn't ready. Especially setting >> > of audio buffer size from an application is a problem. >> > Look in the thread about the rocksndiamond game started with >> > http://sources.redhat.com/ml/cygwin-xfree/2001-q4/msg00171.html. >> >> I didn't see anything which actually set the blocksize in the code >> fragment that you sent to cygwin-apps. I just saw code which read the >> block size and said "this should return 512". But, cygwin uses a larger >> buffer than that. I don't actually see an ioctl for setting the block >> size under linux, but maybe I missed something. Duh. You even mentioned this in your email. Sorry for missing it. This looks like more than a simple fix to the fhandler_dsp.cc code but it should be pretty easy if anyone wants to tackle it? Anyone interested in implementing SNDCTL_DSP_SETFRAGMENT? cgf > >It's called the fragment size and uses the SNDCTL_DSP_SETFRAGMENT ioctl call. >It seems that the lower word contains the log2 of the buffer size and in the >higher word the number of buffers are set. Currently Cygwin ignores this call. > > /* Example for fragment specification: > - 2 buffers / 512 bytes (giving 1/16 second resolution for 8 kHz) > - (with stereo the effective buffer size will shrink to 256) > => fragment_size = 0x00020009 */ > > if (ioctl(audio.device_fd,SNDCTL_DSP_SETFRAGMENT,&fragment_spec) < 0) > Error(ERR_EXIT_SOUND_SERVER, > "cannot set fragment size of /dev/dsp - no sounds"); > >Ralf -- cgf AT cygnus DOT com Red Hat, Inc. http://sources.redhat.com/ http://www.redhat.com/
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |