[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