mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-29 05:40:25 -04:00
ucm: add snd_use_case_parse_ctl_elem_id()
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
parent
680501c6b4
commit
997c53de09
2 changed files with 34 additions and 0 deletions
|
|
@ -439,6 +439,17 @@ static __inline__ int snd_use_case_verb_list(snd_use_case_mgr_t *uc_mgr,
|
|||
return snd_use_case_get_list(uc_mgr, "_verbs", list);
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Parse control element identifier
|
||||
* \param elem_id Element identifier
|
||||
* \param ucm_id Use case identifier
|
||||
* \param value String value to be parsed
|
||||
* \return Zero if success, otherwise a negative error code
|
||||
*/
|
||||
int snd_use_case_parse_ctl_elem_id(snd_ctl_elem_id_t *dst,
|
||||
const char *ucm_id, char *value);
|
||||
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1920,3 +1920,26 @@ int snd_use_case_set(snd_use_case_mgr_t *uc_mgr,
|
|||
pthread_mutex_unlock(&uc_mgr->mutex);
|
||||
return err;
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Parse control element identifier
|
||||
* \param elem_id Element identifier
|
||||
* \param ucm_id Use case identifier
|
||||
* \param value String value to be parsed
|
||||
* \return Zero if success, otherwise a negative error code
|
||||
*/
|
||||
int snd_use_case_parse_ctl_elem_id(snd_ctl_elem_id_t *dst,
|
||||
const char *ucm_id, char *value)
|
||||
{
|
||||
snd_ctl_elem_iface_t iface;
|
||||
|
||||
snd_ctl_elem_id_clear(dst);
|
||||
if (strcasestr(ucm_id, "name="))
|
||||
return __snd_ctl_ascii_elem_id_parse(dst, value, NULL);
|
||||
iface = SND_CTL_ELEM_IFACE_MIXER;
|
||||
if (strcasecmp(ucm_id, "JackControl") == 0)
|
||||
iface = SND_CTL_ELEM_IFACE_CARD;
|
||||
snd_ctl_elem_id_set_interface(dst, iface);
|
||||
snd_ctl_elem_id_set_name(dst, value);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue