[alsa-devel] [PATCH - alsa-lib 1/1] Change card/pid get functions to return -ENOSYS if the kernel is too old

Takashi Iwai tiwai at suse.de
Mon Apr 4 16:54:55 CEST 2016


On Fri, 01 Apr 2016 23:15:58 +0200,
Martin Koegler wrote:
> 
> On Fri, Apr 01, 2016 at 01:33:50PM -0400, Adam Goode wrote:
> > When trying to get the pid or card of a client, the get functions will
> > return -1 if there is no pid or card for a client. Clients have zero or
> > one of these, so -1 is correct for these cases. But we also need to detect
> > the case where the kernel cannot tell us if there is a card or pid, so
> > that userspace can fallback to probing this information in the old way.
> 
> Its a pity, that alsa-lib 1.1.1 has just been released, which just returns -1.
> If the time between releases is really about 2 kernel releases, you will very likely
> have to cope with the old API for some time.

Strictly speaking, for the function behavior change, we'd need a new
API function and deprecated the old one eventually.  But, this case is
in a gray zone; the function definition doesn't prohibit to return an
error value yet, but the change like this is incompatible with the
current aconnect code, which is likely regarded as a template for
other programs.

OTOH, this is a pretty new API function, and it might be not too bad
to fix the usage in the early stage, especially when it's a good
improvement of the function behavior.

So, for now, I'm inclined to take this change with a slight risk of
breakage.  But I'm open for more arguments, and would like to hear any
objections.


thanks,

Takashi


More information about the Alsa-devel mailing list