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