[alsa-devel] My issues with the ALSA API
Jaroslav Kysela
perex at perex.cz
Thu Apr 10 10:16:41 CEST 2008
On Thu, 10 Apr 2008, Lennart Poettering wrote:
> http://pulseaudio.org/wiki/WhyIHateALSA
I started to work on some issues. Note that your requirements are a bit
more complex than normal applications need and we're mostly driven by user
requests. Some things are misleading (or they are already implemented) in
your comments:
Mixer
=====
Please explain this question (why you need the dB <-> value conversion,
we assumed that application works in dB or integer range not both):
'It is possible to query the dB range of a smixer element. And it is
possible to query and set the current dB level. However, it is not
possible to have a dB value converted to an integer level or vice versa,
without touching the actual setting. i.e. a question like "What is the
integer level 0 dB corresponds to?" can not be answered by ALSA. Which
happens to be a serious limitation.'
PCM
===
Timestamps - since 1.0.16 monotonic clocks are usable
plughw: issue - since 1.0.16 you can pass SND_PCM_NO_AUTO flags to open
function to disable specific conversions
buffer mananagement - I think we already discussed this - use sw_params or
PCM timer to be updated when buffer position changes (interrupt was
processed), you can use poll() as well
What do you mean with 'There is no API to query the granularity of
snd_pcm_delay()' ? Application should not know details about bottom
implementation.
General
=======
Documentantion - if you ask specific questions, we try to update
documentantion for other developers.. unfortunately, saying that whole
documentantion is bad is not productive
stderr output - you can redirect all outputs via
snd_lib_error_set_handler().
========================================
My plans for near future are to implement a better PCM device enumeration
and try to simplify mixer and add the mixer <-> PCM relationship.
Also, could you explain why current device enumeration is not useful to
hotplug? There is information which card will be used (CARD=).
Jaroslav
-----
Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.
More information about the Alsa-devel
mailing list