diff --git a/src/modules/alsa/module-alsa-card.c b/src/modules/alsa/module-alsa-card.c index ebd2f8ae1..3f8576d7f 100644 --- a/src/modules/alsa/module-alsa-card.c +++ b/src/modules/alsa/module-alsa-card.c @@ -65,7 +65,8 @@ PA_MODULE_USAGE( "tsched_buffer_watermark= " "profile= " "ignore_dB= " - "sync_volume="); + "sync_volume= " + "profile_set= "); static const char* const valid_modargs[] = { "name", @@ -88,6 +89,7 @@ static const char* const valid_modargs[] = { "profile", "ignore_dB", "sync_volume", + "profile_set", NULL }; @@ -328,6 +330,11 @@ int pa__init(pa_module *m) { fn = pa_udev_get_property(alsa_card_index, "PULSE_PROFILE_SET"); #endif + if (pa_modargs_get_value(ma, "profile_set", NULL)) { + pa_xfree(fn); + fn = pa_xstrdup(pa_modargs_get_value(ma, "profile_set", NULL)); + } + u->profile_set = pa_alsa_profile_set_new(fn, &u->core->default_channel_map); pa_xfree(fn);