[alsa-devel] [PATCH] [updated] pcm: rate: Add capability to pass configuration node to plugins

Takashi Iwai tiwai at suse.de
Tue Feb 14 08:08:47 CET 2017


On Mon, 13 Feb 2017 18:20:01 +0100,
Alan Young wrote:
> 
> Here is a revised patch.
> 
> It is useful for the converter used by a rate plugin to be capable of
> receiving configuration. This patch enables the "converter" node of
> the configuration of a "type rate" plugin to be specified as a
> compound and passed to open func of the converter plugin.
> 
> The SND_PCM_RATE_PLUGIN_CONF_ENTRY macro is used to define a rate
> converter plugin entry point that takes the additional snd_config_t
> *conf parameter. If a rate converter plugin also supports the existing
> SND_PCM_RATE_PLUGIN_ENTRY entry point, or if passed conf parameter is
> NULL then it is up to the plugin to determine whether or not this is a
> fatal condition.
> 
> Alan.

The changes look almost good, but one uncertain change:

>  	else if (snd_config_get_type(converter) == SND_CONFIG_TYPE_COMPOUND) {
>  		snd_config_iterator_t i, next;
>  		snd_config_for_each(i, next, converter) {
>  			snd_config_t *n = snd_config_iterator_entry(i);
> +			const char *id;
>  			if (snd_config_get_string(n, &type) < 0)
>  				break;
> -			err = rate_open_func(rate, type, 0);
> +			err = rate_open_func(rate, type, converter, 0);
>  			if (!err)
>  				break;
> +			if (snd_config_get_id(n, &id) >= 0 && id && strcmp(id, "0") != 0)
> +				break; /* not a simple array of types */

What does this check exactly...?


thanks,

Takashi


More information about the Alsa-devel mailing list