diff --git a/tools/plugin/alsaplug/pcm.c b/tools/plugin/alsaplug/pcm.c index f4b3439d8..33efd3cf5 100644 --- a/tools/plugin/alsaplug/pcm.c +++ b/tools/plugin/alsaplug/pcm.c @@ -1012,7 +1012,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(sof) pcm->capture = 1; /* parse the ALSA configuration file for sof plugin */ - err = plug_parse_conf(plug, name, root, conf); + err = plug_parse_conf(plug, name, root, conf, false); if (err < 0) { SNDERR("failed to parse config: %s", strerror(err)); goto parse_conf_err; diff --git a/tools/plugin/alsaplug/plugin.c b/tools/plugin/alsaplug/plugin.c index b21e728c6..c8fb86ce8 100644 --- a/tools/plugin/alsaplug/plugin.c +++ b/tools/plugin/alsaplug/plugin.c @@ -297,7 +297,7 @@ static int parse_slave_configs(snd_sof_plug_t *plug, snd_config_t *n) * Parse the client cmdline. Format is * tplg:pcm:card:dev:config[dai_pipe:card:dev:config]...] */ -static int parse_client_cmdline(snd_sof_plug_t *plug, char *cmdline) +static int parse_client_cmdline(snd_sof_plug_t *plug, char *cmdline, bool just_tplg) { struct plug_cmdline_item *cmd_item; char *tplg, *next, *card, *dev, *config, *pcm; @@ -328,6 +328,9 @@ static int parse_client_cmdline(snd_sof_plug_t *plug, char *cmdline) if (!plug->tplg_file) return -ENOMEM; + if (just_tplg) + return 0; + /* get PCM ID */ pcm = strtok_r(next, ":", &next); if (!pcm) { @@ -393,7 +396,7 @@ static int parse_client_cmdline(snd_sof_plug_t *plug, char *cmdline) * TODO: contruct sof pipe cmd line. */ int plug_parse_conf(snd_sof_plug_t *plug, const char *name, snd_config_t *root, - snd_config_t *conf) + snd_config_t *conf, bool just_tplg) { snd_config_iterator_t i, next; const char *tplg = NULL; @@ -443,7 +446,7 @@ int plug_parse_conf(snd_sof_plug_t *plug, const char *name, snd_config_t *root, } /* parse the client command line */ - if (parse_client_cmdline(plug, (char *)tplg)) { + if (parse_client_cmdline(plug, (char *)tplg, just_tplg)) { SNDERR("invalid sof cmd line"); return -EINVAL; } diff --git a/tools/plugin/alsaplug/plugin.h b/tools/plugin/alsaplug/plugin.h index d0f6c85a1..430f46b94 100644 --- a/tools/plugin/alsaplug/plugin.h +++ b/tools/plugin/alsaplug/plugin.h @@ -57,7 +57,7 @@ int sofplug_load_hook(snd_config_t *root, snd_config_t *config, snd_config_t **dst, snd_config_t *private_data); int plug_parse_conf(snd_sof_plug_t *plug, const char *name, - snd_config_t *root, snd_config_t *conf); + snd_config_t *root, snd_config_t *conf, bool just_tplg); int plug_parse_topology(snd_sof_plug_t *plug); int plug_set_up_pipelines(snd_sof_plug_t *plug, int dir); int plug_free_pipelines(snd_sof_plug_t *plug, struct tplg_pipeline_list *pipeline_list, int dir);