diff --git a/src/modules/module-protocol-pulse/module.c b/src/modules/module-protocol-pulse/module.c index af267c1ea..b2fd4f6ca 100644 --- a/src/modules/module-protocol-pulse/module.c +++ b/src/modules/module-protocol-pulse/module.c @@ -227,6 +227,14 @@ int module_args_to_audioinfo(struct impl *impl, struct pw_properties *props, str return 0; } +bool module_args_parse_bool(const char *v) +{ + if (spa_streq(v, "1") || !strcasecmp(v, "y") || !strcasecmp(v, "t") || + !strcasecmp(v, "yes") || !strcasecmp(v, "true") || !strcasecmp(v, "on")) + return true; + return false; +} + #include "modules/registry.h" static const struct module_info module_list[] = { diff --git a/src/modules/module-protocol-pulse/module.h b/src/modules/module-protocol-pulse/module.h index d61928c4b..4d0e604f9 100644 --- a/src/modules/module-protocol-pulse/module.h +++ b/src/modules/module-protocol-pulse/module.h @@ -82,5 +82,6 @@ void module_add_listener(struct module *module, void module_args_add_props(struct pw_properties *props, const char *str); int module_args_to_audioinfo(struct impl *impl, struct pw_properties *props, struct spa_audio_info_raw *info); +bool module_args_parse_bool(const char *str); #endif diff --git a/src/modules/module-protocol-pulse/modules/module-loopback.c b/src/modules/module-protocol-pulse/modules/module-loopback.c index 568f50a66..11cb88ec0 100644 --- a/src/modules/module-protocol-pulse/modules/module-loopback.c +++ b/src/modules/module-protocol-pulse/modules/module-loopback.c @@ -189,7 +189,7 @@ struct module *create_module_loopback(struct impl *impl, const char *argument) if ((str = pw_properties_get(props, "remix")) != NULL) { /* Note that the boolean is inverted */ pw_properties_set(playback_props, PW_KEY_STREAM_DONT_REMIX, - pw_properties_parse_bool(str) ? "false" : "true"); + module_args_parse_bool(str) ? "false" : "true"); pw_properties_set(props, "remix", NULL); } diff --git a/src/modules/module-protocol-pulse/modules/module-remap-sink.c b/src/modules/module-protocol-pulse/modules/module-remap-sink.c index ecd9f750f..d8cc0d94c 100644 --- a/src/modules/module-protocol-pulse/modules/module-remap-sink.c +++ b/src/modules/module-protocol-pulse/modules/module-remap-sink.c @@ -200,7 +200,7 @@ struct module *create_module_remap_sink(struct impl *impl, const char *argument) if ((str = pw_properties_get(props, "remix")) != NULL) { /* Note that the boolean is inverted */ pw_properties_set(playback_props, PW_KEY_STREAM_DONT_REMIX, - pw_properties_parse_bool(str) ? "false" : "true"); + module_args_parse_bool(str) ? "false" : "true"); pw_properties_set(props, "remix", NULL); } diff --git a/src/modules/module-protocol-pulse/modules/module-remap-source.c b/src/modules/module-protocol-pulse/modules/module-remap-source.c index 74aa07dc5..6d24eb0ef 100644 --- a/src/modules/module-protocol-pulse/modules/module-remap-source.c +++ b/src/modules/module-protocol-pulse/modules/module-remap-source.c @@ -200,7 +200,7 @@ struct module *create_module_remap_source(struct impl *impl, const char *argumen if ((str = pw_properties_get(props, "remix")) != NULL) { /* Note that the boolean is inverted */ pw_properties_set(capture_props, PW_KEY_STREAM_DONT_REMIX, - pw_properties_parse_bool(str) ? "false" : "true"); + module_args_parse_bool(str) ? "false" : "true"); pw_properties_set(props, "remix", NULL); } diff --git a/src/modules/module-protocol-pulse/modules/module-switch-on-connect.c b/src/modules/module-protocol-pulse/modules/module-switch-on-connect.c index 4aab37452..8b64563cf 100644 --- a/src/modules/module-protocol-pulse/modules/module-switch-on-connect.c +++ b/src/modules/module-protocol-pulse/modules/module-switch-on-connect.c @@ -268,12 +268,12 @@ struct module *create_module_switch_on_connect(struct impl *impl, const char *ar module_args_add_props(props, argument); if ((str = pw_properties_get(props, "only_from_unavailable")) != NULL) { - only_from_unavailable = pw_properties_parse_bool(str); + only_from_unavailable = module_args_parse_bool(str); pw_properties_set(props, "only_from_unavailable", NULL); } if ((str = pw_properties_get(props, "ignore_virtual")) != NULL) { - ignore_virtual = pw_properties_parse_bool(str); + ignore_virtual = module_args_parse_bool(str); pw_properties_set(props, "ignore_virtual", NULL); }