On Sat, 12 Oct 2002, Abramo Bagnara wrote:

> Jaroslav Kysela wrote:
> > 
> > On Fri, 11 Oct 2002, Abramo Bagnara wrote:
> > 
> > > I really don't understand why you've added another ioctl and another
> > > function to replicate in all PCM classes.
> > > snd_pcm_delay existence is enough to implement that.
> > > I'm missing something?
> > 
> > You're completely right, but in my eyes, the avail ioctl looks much better
> > for kernel space (it's a base value for computing delay, computing avail
> > from delay needs twice substractions which doesn't look very good).
> > Unfortunately, delay ioctl was first, and we should keep binary
> > compatibility for 2.5, so we should leave both ioctls there. In library,
> > we can remove the delay operation from chains and use avail to compute it
> > as well to simplify code.
> 
> No, you can't.
> The semantic of snd_pcm_delay is:
> "How many frames are current application read/write pointer far away
> from 'now' (i.e. real world sound)?"
> 
> It's *not* simply equivalent to buffer_size - avail (playback) or avail
> (capture). It's designed to take in account also olatencies introduced
> by other things (network layer, hardware limits, etc.).
> 
> Although I don't understand why you think that snd_pcm_avail is needed
> when we have the right (and safe) snd_pcm_avail_update, it can be
> implemented calling snd_pcm_delay (so to update hw pointer) and then
> computing the avail count using the mmap'ed counters.
> 
> Of course this can't work for chained PCM (and this is why we have
> snd_pcm_avail_update).
> 
> I think you should revert your patch (and to force yourself to believe a
> bit more in peer review before important changes although it seems I'm
> beating a dead horse here).

In this case, I propose to change snd_pcm_avail() to snd_pcm_hwsync() 
function with description: "synchronize r/w pointers with hardware". 
Really, after some thinking, the return value from snd_pcm_avail() cannot 
be used for nothing serious. I simply don't like that delay() functions 
do more arithmetic than necessary. Overdesign has been criticized in this 
list, too.

                                                Jaroslav

-----
Jaroslav Kysela <[EMAIL PROTECTED]>
Linux Kernel Sound Maintainer
ALSA Project  http://www.alsa-project.org
SuSE Linux    http://www.suse.com



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to