On 08/02/17 15:36, Takashi Iwai wrote:
can't change the existing function definition. This will be broken once you mix the old version of plugin with the new system or vice versa.
I had concluded that changing the type signature was in this case safe. There is no (public) declaration of _snd_pcm_rate_/xxx/_open() function type and I think that passing unexpected additional parameters is a function is always safe.
However ...
Alternatively, try to provide another function _snd_pcm_rate_xxx_open_conf() or such. In addition, you should provide the old open function as is for now, too. Then the rate plugin can try to get and open via snd_dlobj_cache_get() for the open_conf at first, then fall back to the old open function.
I like this more. It is cleaner in some ways and avoids the need to bump the version number.
I'll work up a revised patch.
Thanks, Alan.