Hi ,
i am using a OSS based usbaudio application for usb audio streaming .
my usb audio device is capture only device .
i want to set the fragment size of usbaudio alsa driver to reduce latency problem coming in my application .
currently even if my application reads 4k data from userspace , i observed driver will buffer for 100 ms data ( period size data )= 16 k at 44100 frquency
and after driver reads 16k data , read call will return with 4k data . so read() call remains blocked for 100ms which is causing some latency problem .
i used SNDCTL_DSP_SETFRAGMENT ioctl , but still driver behaviour to buffer 100ms data remained same .
how driver's fragment size in driver can be set to some less value in OSS based application .
Can some patch be implemented in kernel space to do that .?
Thanx & Regards Amit Nagal