* alsa userspace interface
@ 2007-03-18 2:10 Andrea Guzzo
2007-03-19 10:08 ` Clemens Ladisch
0 siblings, 1 reply; 3+ messages in thread
From: Andrea Guzzo @ 2007-03-18 2:10 UTC (permalink / raw)
To: alsa-devel; +Cc: Stefan Richter, linux1394-devel
Hi,
some months ago I wrote an alsa driver for the Apple iSight audio unit.
I released it with the name "lisight' and it's available here:
"http://lisight.sourceforge.net".
It's both an ieee1394 driver and an alsa one. It uses ieee1394
framework to communicate
with the device and it registers an alsa device to make isight
microphone available to the system.
Recently I was talking on the linux1394 mailing list about its
submission to the mainline
kernel but we are wondering if it's possible to register an alsa
device from userspace.
Actually it would be a better approach to make an userspace driver
when dealing with
removable devices like firewire or usb ones.
When I started writing the lisight kernel module , I tried to figure
out if there were a way
to register an audio device from userspace...
I had the possibility to interact with the ieee1394 framework through
libraw1394
(that uses raw1394 kernel module to access the firewire bus from
userspace)
but I didn't found any documentation (nor references inside kernel
sources) regarding an
alsa userspace interface to implement device drivers.
Is there any working or experimental one? ... If not, are you
planning to export such an
interface to let developers make userspace drivers to deal with
removable audio devices
without requiring applications to support jack or similar frameworks?
Thanks
Andrea Guzzo
ps.
Another interesting use of an hypothetical alsa userspace interface
for device drivers implementation would be
the possibility to implement virtual audio devices ....for example
you could implement a
transparent sound server that doesn't require applications to support
it explicitly and to link specific
libraries, but it would be simply accessed like any other alsa device
and , with the use of substreams, it would allow
multiple applications to access audio facilities.... but this is
another story :P
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: alsa userspace interface
2007-03-18 2:10 alsa userspace interface Andrea Guzzo
@ 2007-03-19 10:08 ` Clemens Ladisch
2007-03-19 11:36 ` Pieter Palmers
0 siblings, 1 reply; 3+ messages in thread
From: Clemens Ladisch @ 2007-03-19 10:08 UTC (permalink / raw)
To: Andrea Guzzo, alsa-devel; +Cc: Stefan Richter, linux1394-devel
Andrea Guzzo wrote:
> we are wondering if it's possible to register an alsa device from
> userspace.
It is not possible to register a kernel device from userspace, but it is
possible to write a plugin that is used by the alsa library like a
kernel device.
Have a look into the alsa-plugins package.
> Is there any working or experimental one?
The FreeBoB project is writing an ALSA plugin for some IEEE1394 devices.
> Another interesting use of an hypothetical alsa userspace interface
> for device drivers implementation would be the possibility to
> implement virtual audio devices ....for example you could implement a
> transparent sound server that doesn't require applications to support
> it explicitly and to link specific libraries, but it would be simply
> accessed like any other alsa device and, with the use of substreams,
> it would allow multiple applications to access audio facilities....
> but this is another story :P
This story is called dmix. This plugin has been part of alsa-lib for
years, and it doesn't need a server. :-)
Regards,
Clemens
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: alsa userspace interface
2007-03-19 10:08 ` Clemens Ladisch
@ 2007-03-19 11:36 ` Pieter Palmers
0 siblings, 0 replies; 3+ messages in thread
From: Pieter Palmers @ 2007-03-19 11:36 UTC (permalink / raw)
To: Clemens Ladisch; +Cc: Andrea Guzzo, linux1394-devel, Stefan Richter, alsa-devel
Clemens Ladisch wrote:
> Andrea Guzzo wrote:
>> we are wondering if it's possible to register an alsa device from
>> userspace.
>
> It is not possible to register a kernel device from userspace, but it is
> possible to write a plugin that is used by the alsa library like a
> kernel device.
>
> Have a look into the alsa-plugins package.
Might I raise the documentation issue here? Last time I checked (1.0.9)
it was very difficult to understand what exactly was going on.
Glancing at the current alsa-lib-plugins I see that there are some new
ones that might help.
>
>> Is there any working or experimental one?
>
> The FreeBoB project is writing an ALSA plugin for some IEEE1394 devices.
We could implement iSight support in our framework, it wouldn't be that
much work I guess. The only issue could be that we have a more pro-audio
point of view. However it is probably beneficial to both parties to use
FreeBoB, as we have tried to make device support as easy as possible,
abstracting everything related to audio API's and FireWire. If you know
the device & the framework, implementing support is a matter of days.
Note however that unless somebody starts to help out, the FreeBoB ALSA
plugin might take some time.
One major issue with userspace audio drivers is that stock/distro
kernels are not good enough to make it work reliably with acceptable
latencies (we're talking a videoconferencing device here). Having to
install a RT kernel is IMHO only justifiable for (dedicated) 'audio'
boxes, and should not be something that is required for
videoconferencing. And if you would want to use them on stock kernels,
you need a way to get SCHED_FIFO as an ordinary user, which again is not
available on stock distro's.
Pieter
FreeBoB
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-03-19 11:36 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-03-18 2:10 alsa userspace interface Andrea Guzzo
2007-03-19 10:08 ` Clemens Ladisch
2007-03-19 11:36 ` Pieter Palmers
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.