Mail Archives: cygwin-developers/2001/11/13/23:30:39
This would be trivial to implement.
I'd appreciate it if someone would take a stab at implementing it.
cgf
On Sat, Oct 20, 2001 at 11:50:14PM -0400, Christopher Faylor wrote:
>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/
--
cgf AT redhat DOT com Red Hat, Inc.
http://sources.redhat.com/ http://www.redhat.com/
- Raw text -