Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com Date: Sat, 20 Oct 2001 23:50:14 -0400 From: Christopher Faylor To: cygwin-xfree AT cygwin DOT com Cc: cygwin-developers AT cygwin DOT com Subject: Re: sound support more info - kde2 porting status Message-ID: <20011020235014.D28304@redhat.com> Reply-To: cygwin-xfree AT cygwin DOT com Mail-Followup-To: cygwin-xfree AT cygwin DOT com, cygwin-developers AT cygwin DOT com References: <20011020122946 DOT A6118 AT redhat DOT com> <000501c15997$b069ebf0$9a6707d5 AT BRAMSCHE> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <000501c15997$b069ebf0$9a6707d5@BRAMSCHE> User-Agent: Mutt/1.3.21i On Sat, Oct 20, 2001 at 08:47:37PM +0200, Ralf Habacker wrote: > >> >> >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/