mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2026-02-16 22:05:18 -05:00
topology: add snd_tplg_create() with flags
Add SND_TPLG_CREATE_VERBOSE and SND_TPLG_CREATE_DAPM_NOSORT flags for the special operations. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
parent
aa1bac2d04
commit
b336aea507
4 changed files with 24 additions and 2 deletions
|
|
@ -771,12 +771,22 @@ enum snd_tplg_type {
|
||||||
/** Fit for all user cases */
|
/** Fit for all user cases */
|
||||||
#define SND_TPLG_INDEX_ALL 0
|
#define SND_TPLG_INDEX_ALL 0
|
||||||
|
|
||||||
|
/** Flags for the snd_tplg_create */
|
||||||
|
#define SND_TPLG_CREATE_VERBOSE (1<<0) /*!< Verbose output */
|
||||||
|
#define SND_TPLG_CREATE_DAPM_NOSORT (1<<1) /*!< Do not sort DAPM objects by index */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Create a new topology parser instance.
|
* \brief Create a new topology parser instance.
|
||||||
* \return New topology parser instance
|
* \return New topology parser instance
|
||||||
*/
|
*/
|
||||||
snd_tplg_t *snd_tplg_new(void);
|
snd_tplg_t *snd_tplg_new(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Create a new topology parser instance.
|
||||||
|
* \return New topology parser instance
|
||||||
|
*/
|
||||||
|
snd_tplg_t *snd_tplg_create(int flags);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Free a topology parser instance.
|
* \brief Free a topology parser instance.
|
||||||
* \param tplg Topology parser instance
|
* \param tplg Topology parser instance
|
||||||
|
|
|
||||||
|
|
@ -268,7 +268,10 @@ struct tplg_elem *tplg_elem_new_route(snd_tplg_t *tplg, int index)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
elem->index = index;
|
elem->index = index;
|
||||||
tplg_elem_insert(elem, &tplg->route_list);
|
if (tplg->dapm_sort)
|
||||||
|
tplg_elem_insert(elem, &tplg->route_list);
|
||||||
|
else
|
||||||
|
list_add_tail(&elem->list, &tplg->route_list);
|
||||||
strcpy(elem->id, "line");
|
strcpy(elem->id, "line");
|
||||||
elem->type = SND_TPLG_TYPE_DAPM_GRAPH;
|
elem->type = SND_TPLG_TYPE_DAPM_GRAPH;
|
||||||
elem->size = sizeof(*line);
|
elem->size = sizeof(*line);
|
||||||
|
|
|
||||||
|
|
@ -432,7 +432,7 @@ static bool is_little_endian(void)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
snd_tplg_t *snd_tplg_new(void)
|
snd_tplg_t *snd_tplg_create(int flags)
|
||||||
{
|
{
|
||||||
snd_tplg_t *tplg;
|
snd_tplg_t *tplg;
|
||||||
|
|
||||||
|
|
@ -445,6 +445,9 @@ snd_tplg_t *snd_tplg_new(void)
|
||||||
if (!tplg)
|
if (!tplg)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
tplg->verbose = !!(flags & SND_TPLG_CREATE_VERBOSE);
|
||||||
|
tplg->dapm_sort = (flags & SND_TPLG_CREATE_DAPM_NOSORT) == 0;
|
||||||
|
|
||||||
tplg->manifest.size = sizeof(struct snd_soc_tplg_manifest);
|
tplg->manifest.size = sizeof(struct snd_soc_tplg_manifest);
|
||||||
|
|
||||||
INIT_LIST_HEAD(&tplg->tlv_list);
|
INIT_LIST_HEAD(&tplg->tlv_list);
|
||||||
|
|
@ -469,6 +472,11 @@ snd_tplg_t *snd_tplg_new(void)
|
||||||
return tplg;
|
return tplg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
snd_tplg_t *snd_tplg_new(void)
|
||||||
|
{
|
||||||
|
return snd_tplg_create(0);
|
||||||
|
}
|
||||||
|
|
||||||
void snd_tplg_free(snd_tplg_t *tplg)
|
void snd_tplg_free(snd_tplg_t *tplg)
|
||||||
{
|
{
|
||||||
free(tplg->bin);
|
free(tplg->bin);
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,7 @@ struct snd_tplg {
|
||||||
size_t bin_size;
|
size_t bin_size;
|
||||||
|
|
||||||
int verbose;
|
int verbose;
|
||||||
|
unsigned int dapm_sort: 1;
|
||||||
unsigned int version;
|
unsigned int version;
|
||||||
|
|
||||||
/* runtime state */
|
/* runtime state */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue