summaryrefslogtreecommitdiff
path: root/cras/src/server/cras_alsa_ucm.c
diff options
context:
space:
mode:
Diffstat (limited to 'cras/src/server/cras_alsa_ucm.c')
-rw-r--r--cras/src/server/cras_alsa_ucm.c15
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)