[alsa-devel] regarding setting of fragment size in usbaudio driver

Amit Nagal helloin.amit at gmail.com
Mon Dec 13 10:56:41 CET 2010


Hi ,

Thanx for the reply .

Actually on my embedded target ,  i am not using arecord , but reading
from (/dev/dsp0) capture data .

i have 2 question :

i used SNDCTL_DSP_GETBLKSIZE ioctl to find the fragment size of driver
. i found it to be 16k .

1) now if the application reads 4k data from userspace , read call
will remain blocked for audio driver's fragment size usb data read (
16k)
 or app_request_size(4k) ?

2)time taken for read(4k) = time_taken(fragment size read ) or
time_taken(app_request_size=4k) ?

thanx & regards
amit nagal


On Mon, Dec 13, 2010 at 6:04 PM, Clemens Ladisch <clemens at ladisch.de> wrote:
> Amit Nagal wrote:
>> 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 .
>
> There is no extra buffer in the driver.
> There seems to be something wrong with your algorithm.
>
> Does recording with the arecord tool work?
>
>
> Regards,
> Clemens
>


More information about the Alsa-devel mailing list