Re: Jack event API - decision needed

Takashi Iwai
2011-06-20T15:35:07Z

At Mon, 20 Jun 2011 16:19:51 +0200,
Kay Sievers wrote:
>
> On Mon, Jun 20, 2011 at 15:56, Mark Brown
> <broonie@opensource.wolfsonmicro.com> wrote:
> > Sorry about the top posting, but as I wasn't involved in any of the discussions and am on a mobile device right now and your mail isn't directly legible it would be enormously helpful if you could summarize the issues you're trying to address, your proposed solution and the problems Kay had.
>
> Domain-specific events should not be 'faked' as 'input' devices. No
> non-input subsystem should do that if it can be avoided. That 'input'
> supports nice and easy events to userspace should not be a reason to
> misuse it for pretty much unrelated things.
>
> There are patches to have the ALSA control device emit these ALSA
> related events natively. That's would be just better, simpler and more
> correct than any additionally created input device.
>
> If Takashi can make that possible in a reasonable time frame, we
> should not even start handling the (currently not handled) input
> devices in upstream projects like udev and PulseAudio, and focus right
> away on the native ALSA control events.
>
> If we can't have the native ALSA events anytime soon for some reason,
> we might need to merge the input device support, but I would like to
> avoid that.

Well, the implementation would be relatively easy. There was already
a patch, so not too hard to revisit.

But, there are still some open questions. For example, what
information is mandatory and what information is preferred about the
pin. HD-audio provides the location, type, color, etc. We can encode
these into a single name string, but is it a preferred way?

Alternatively, the control element can provide the HD-audio pin config
via an extra TLV data, so that apps can refer to it if needed in
addition to the name string.

Also, we may consider some way to expose the corelation of the jack
control element and other mixer elements. Though, this sounds
optional to me for the time being.

These questions are basically requirements from the apps; so I'd like
to know the exact demands before going to implementation.

thanks,

Takashi