[alsa-devel] Device creation order
fengguang.wu at intel.com
Sun Apr 5 15:16:05 CEST 2009
On Fri, Apr 03, 2009 at 01:56:47PM +0200, Lennart Poettering wrote:
> On Fri, 03.04.09 09:38, Clemens Ladisch (clemens at ladisch.de) wrote:
> > > - dynamic device creation at runtime - for example we have an
> > > experimental HDA driver configuration code which might change
> > > the arrangement of PCM devices on request from the user space
> > >
> > > I would suggest to wait awhile with some small timeout (0.5 sec?) for all
> > > devices to get the usual static arrangement working and handle extra
> > > dynamic cases, too.
> > The current implementation of the ALSA framework guarantees that the
> > control device file is that latest one to be created for all the devices
> > created at initialization. Any devices created later depend on some
> > userspace action, so a small timeout won't help in this case.
> > In other words:
> > 1) When the control device file has been created, all other devices
> > (that are created during sound card initialization) are
> > available.
> OK. Very good. I'll then change PA to rely on this behaviour and hope
> that this is considered part of the ALSA userspace API and is not
> changed in the future...
> > 2) When some device file for a specific sound card is created after the
> > card's control device, the sound card configuration has changed.
> I'll ignore this for now since Jaroslav mentioned drivers doing this
> are still experimental. But eventually we'd need to know some kind of
> 'end notification' for this as well: i..e if the reconfiguration
> causes multiple device nodes to disappear/appear we also need to know
> when they are all complete. A possible simple fix would be to issue an
> udev 'change' event on the control device after the reconfiguration
btw, HDMI sink devices could be taught to generate more event types:
The user connected/disconnected a HDMI device.
The update of HDMI audio capabilities due to some user actions.
- pause/play of audio stream
An advanced feature in Consumer Electronics Control (CEC) for
high-level user control of HDMI-connected devices.
The HDMI audio devices will be created at module loading time, and
won't be dynamically created/tear down on hotplug events. I wonder
if PA is interested in the HDMI current-connectivity state?
More information about the Alsa-devel