[alsa-devel] data write in alsa

Jaroslav Kysela perex at perex.cz
Fri Dec 2 08:16:21 CET 2011


Date 2.12.2011 08:12, Takashi Iwai wrote:
> At Fri, 02 Dec 2011 12:24:41 +0530,
> Vinod Koul wrote:
>>
>> Hi Takashi,
>>
>> For alsa pcm we have two ways to write data, either we use write()
>> system call or use ioctl SNDRV_PCM_IOCTL_WRITEI_FRAMES.
>>
>> Is there any specific reason why we have two methods and which one is
>> preferred and why?
>
> Well, I only remember vaguely.  IIRC, ioctl is used since it can pass
> the error code more directly without using errno.  Maybe Jaroslav
> knows more exact reason.

The true reason was to avoid the audio frame <-> byte conversions.

> But, honestly speaking, I don't like this implementation.  For a new
> interface, I'd suggest to stick with the normal read/write.  Otherwise
> you'll get a mess of 32bit compat layer again.

I think that for compressed data, the standard r/w ops are fine, because 
there are no "frames".

					Jaroslav

-- 
Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project; Red Hat, Inc.


More information about the Alsa-devel mailing list