diff options
Diffstat (limited to 'cras/src/server/cras_alsa_ucm.c')
-rw-r--r-- | cras/src/server/cras_alsa_ucm.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/cras/src/server/cras_alsa_ucm.c b/cras/src/server/cras_alsa_ucm.c index ed332f04..8aa4891a 100644 --- a/cras/src/server/cras_alsa_ucm.c +++ b/cras/src/server/cras_alsa_ucm.c @@ -35,6 +35,8 @@ static const char coupled_mixers[] = "CoupledMixers"; /* Set this value in a SectionDevice to specify the maximum software gain in dBm * and enable software gain on this node. */ static const char max_software_gain[] = "MaxSoftwareGain"; +/* Set this value in a SectionDevice to specify the default node gain in dBm. */ +static const char default_node_gain[] = "DefaultNodeGain"; static const char hotword_model_prefix[] = "Hotword Model"; static const char fully_specified_ucm_var[] = "FullySpecifiedUCM"; static const char main_volume_names[] = "MainVolumeNames"; @@ -649,6 +651,19 @@ int ucm_get_max_software_gain(struct cras_use_case_mgr *mgr, const char *dev, return 0; } +int ucm_get_default_node_gain(struct cras_use_case_mgr *mgr, const char *dev, + long *gain) +{ + int value; + int rc; + + rc = get_int(mgr, default_node_gain, dev, uc_verb(mgr), &value); + if (rc) + return rc; + *gain = value; + return 0; +} + const char *ucm_get_device_name_for_dev( struct cras_use_case_mgr *mgr, const char *dev, enum CRAS_STREAM_DIRECTION direction) |