mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2026-06-07 03:01:36 -04:00
pulse-server: use pw_properties_move() in modules
A recurring pattern in modules when they convert PulseAudio arguments
to PipeWire arguments is similar to the following:
v = pw_properties_get(props, "channels");
if (v != NULL) {
pw_properties_set(module_props, "audio.channels", v);
pw_properties_set(props, "channels", NULL);
}
else {
pw_properties_set(module_props, "audio.channels", "something-default");
}
Replace them with `pw_properties_move()`.
This commit is contained in:
parent
7903cfb126
commit
33e3e47fb6
10 changed files with 31 additions and 102 deletions
|
|
@ -175,19 +175,8 @@ struct module *create_module_echo_cancel(struct impl *impl, const char *argument
|
|||
if (argument)
|
||||
module_args_add_props(props, argument);
|
||||
|
||||
if ((str = pw_properties_get(props, "source_name")) != NULL) {
|
||||
pw_properties_set(source_props, PW_KEY_NODE_NAME, str);
|
||||
pw_properties_set(props, "source_name", NULL);
|
||||
} else {
|
||||
pw_properties_set(source_props, PW_KEY_NODE_NAME, "echo-cancel");
|
||||
}
|
||||
|
||||
if ((str = pw_properties_get(props, "sink_name")) != NULL) {
|
||||
pw_properties_set(sink_props, PW_KEY_NODE_NAME, str);
|
||||
pw_properties_set(props, "sink_name", NULL);
|
||||
} else {
|
||||
pw_properties_set(sink_props, PW_KEY_NODE_NAME, "echo-cancel");
|
||||
}
|
||||
pw_properties_move(source_props, PW_KEY_NODE_NAME, props, "source_name", "echo-cancel");
|
||||
pw_properties_move(sink_props, PW_KEY_NODE_NAME, props, "sink_name", "echo-cancel");
|
||||
|
||||
if ((str = pw_properties_get(props, "source_master")) != NULL) {
|
||||
if (pw_endswith(str, ".monitor")) {
|
||||
|
|
@ -199,10 +188,7 @@ struct module *create_module_echo_cancel(struct impl *impl, const char *argument
|
|||
pw_properties_set(props, "source_master", NULL);
|
||||
}
|
||||
|
||||
if ((str = pw_properties_get(props, "sink_master")) != NULL) {
|
||||
pw_properties_set(sink_props, PW_KEY_NODE_TARGET, str);
|
||||
pw_properties_set(props, "sink_master", NULL);
|
||||
}
|
||||
pw_properties_move(sink_props, PW_KEY_NODE_TARGET, props, "sink_master", NULL);
|
||||
|
||||
if (module_args_to_audioinfo(impl, props, &info) < 0) {
|
||||
res = -EINVAL;
|
||||
|
|
@ -219,15 +205,8 @@ struct module *create_module_echo_cancel(struct impl *impl, const char *argument
|
|||
pw_properties_set(props, "sink_properties", NULL);
|
||||
}
|
||||
|
||||
if ((str = pw_properties_get(props, "aec_method")) != NULL) {
|
||||
pw_properties_set(aec_props, "aec.method", str);
|
||||
pw_properties_set(props, "aec_method", NULL);
|
||||
}
|
||||
|
||||
if ((str = pw_properties_get(props, "aec_args")) != NULL) {
|
||||
pw_properties_set(aec_props, "aec.args", str);
|
||||
pw_properties_set(props, "aec_args", NULL);
|
||||
}
|
||||
pw_properties_move(aec_props, "aec.method", props, "aec_method", NULL);
|
||||
pw_properties_move(aec_props, "aec.args", props, "aec_args", NULL);
|
||||
|
||||
module = module_new(impl, &module_echo_cancel_methods, sizeof(*d));
|
||||
if (module == NULL) {
|
||||
|
|
|
|||
|
|
@ -182,10 +182,8 @@ struct module *create_module_ladspa_sink(struct impl *impl, const char *argument
|
|||
if (argument)
|
||||
module_args_add_props(props, argument);
|
||||
|
||||
if ((str = pw_properties_get(props, "sink_name")) != NULL) {
|
||||
pw_properties_set(props, PW_KEY_NODE_NAME, str);
|
||||
pw_properties_set(props, "sink_name", NULL);
|
||||
}
|
||||
pw_properties_move(props, PW_KEY_NODE_NAME, props, "sink_name", NULL);
|
||||
|
||||
if ((str = pw_properties_get(props, "sink_properties")) != NULL) {
|
||||
module_args_add_props(capture_props, str);
|
||||
pw_properties_set(props, "sink_properties", NULL);
|
||||
|
|
|
|||
|
|
@ -182,10 +182,8 @@ struct module *create_module_ladspa_source(struct impl *impl, const char *argume
|
|||
if (argument)
|
||||
module_args_add_props(props, argument);
|
||||
|
||||
if ((str = pw_properties_get(props, "source_name")) != NULL) {
|
||||
pw_properties_set(props, PW_KEY_NODE_NAME, str);
|
||||
pw_properties_set(props, "source_name", NULL);
|
||||
}
|
||||
pw_properties_move(props, PW_KEY_NODE_NAME, props, "source_name", NULL);
|
||||
|
||||
if ((str = pw_properties_get(props, "source_properties")) != NULL) {
|
||||
module_args_add_props(capture_props, str);
|
||||
pw_properties_set(props, "source_properties", NULL);
|
||||
|
|
|
|||
|
|
@ -166,25 +166,15 @@ struct module *create_module_loopback(struct impl *impl, const char *argument)
|
|||
pw_properties_set(props, "source", NULL);
|
||||
}
|
||||
|
||||
if ((str = pw_properties_get(props, "sink")) != NULL) {
|
||||
pw_properties_set(playback_props, PW_KEY_NODE_TARGET, str);
|
||||
pw_properties_set(props, "sink", NULL);
|
||||
}
|
||||
pw_properties_move(playback_props, PW_KEY_NODE_TARGET, props, "sink", NULL);
|
||||
|
||||
if (module_args_to_audioinfo(impl, props, &info) < 0) {
|
||||
res = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if ((str = pw_properties_get(props, "source_dont_move")) != NULL) {
|
||||
pw_properties_set(capture_props, PW_KEY_NODE_DONT_RECONNECT, str);
|
||||
pw_properties_set(props, "source_dont_move", NULL);
|
||||
}
|
||||
|
||||
if ((str = pw_properties_get(props, "sink_dont_move")) != NULL) {
|
||||
pw_properties_set(playback_props, PW_KEY_NODE_DONT_RECONNECT, str);
|
||||
pw_properties_set(props, "sink_dont_move", NULL);
|
||||
}
|
||||
pw_properties_move(capture_props, PW_KEY_NODE_DONT_RECONNECT, props, "source_dont_move", NULL);
|
||||
pw_properties_move(playback_props, PW_KEY_NODE_DONT_RECONNECT, props, "sink_dont_move", NULL);
|
||||
|
||||
if ((str = pw_properties_get(props, "remix")) != NULL) {
|
||||
/* Note that the boolean is inverted */
|
||||
|
|
|
|||
|
|
@ -142,13 +142,7 @@ struct module *create_module_null_sink(struct impl *impl, const char *argument)
|
|||
if (argument)
|
||||
module_args_add_props(props, argument);
|
||||
|
||||
if ((str = pw_properties_get(props, "sink_name")) != NULL) {
|
||||
pw_properties_set(props, PW_KEY_NODE_NAME, str);
|
||||
pw_properties_set(props, "sink_name", NULL);
|
||||
}
|
||||
else {
|
||||
pw_properties_set(props, PW_KEY_NODE_NAME, "null-sink");
|
||||
}
|
||||
pw_properties_move(props, PW_KEY_NODE_NAME, props, "sink_name", "null-sink");
|
||||
|
||||
if ((str = pw_properties_get(props, "sink_properties")) != NULL) {
|
||||
module_args_add_props(props, str);
|
||||
|
|
@ -177,10 +171,7 @@ struct module *create_module_null_sink(struct impl *impl, const char *argument)
|
|||
if (pw_properties_get(props, PW_KEY_MEDIA_CLASS) == NULL)
|
||||
pw_properties_set(props, PW_KEY_MEDIA_CLASS, "Audio/Sink");
|
||||
|
||||
if ((str = pw_properties_get(props, "device.description")) != NULL) {
|
||||
pw_properties_set(props, PW_KEY_NODE_DESCRIPTION, str);
|
||||
pw_properties_set(props, "device.description", NULL);
|
||||
} else {
|
||||
if (pw_properties_move(props, PW_KEY_NODE_DESCRIPTION, props, "device.description", NULL) < 0) {
|
||||
const char *name, *class;
|
||||
|
||||
name = pw_properties_get(props, PW_KEY_NODE_NAME);
|
||||
|
|
|
|||
|
|
@ -250,10 +250,7 @@ struct module *create_module_pipe_sink(struct impl *impl, const char *argument)
|
|||
pw_properties_set(props, "format", NULL);
|
||||
}
|
||||
|
||||
if ((str = pw_properties_get(props, "sink_name")) != NULL) {
|
||||
pw_properties_set(capture_props, PW_KEY_NODE_NAME, str);
|
||||
pw_properties_set(props, "sink_name", NULL);
|
||||
}
|
||||
pw_properties_move(capture_props, PW_KEY_NODE_NAME, props, "sink_name", NULL);
|
||||
|
||||
if ((str = pw_properties_get(props, "file")) != NULL) {
|
||||
filename = strdup(str);
|
||||
|
|
|
|||
|
|
@ -287,10 +287,7 @@ struct module *create_module_pipe_source(struct impl *impl, const char *argument
|
|||
goto out;
|
||||
}
|
||||
|
||||
if ((str = pw_properties_get(props, "source_name")) != NULL) {
|
||||
pw_properties_set(playback_props, PW_KEY_NODE_NAME, str);
|
||||
pw_properties_set(props, "source_name", NULL);
|
||||
}
|
||||
pw_properties_move(playback_props, PW_KEY_NODE_NAME, props, "source_name", NULL);
|
||||
|
||||
if ((str = pw_properties_get(props, "file")) != NULL) {
|
||||
filename = strdup(str);
|
||||
|
|
|
|||
|
|
@ -161,20 +161,16 @@ struct module *create_module_remap_sink(struct impl *impl, const char *argument)
|
|||
if (argument)
|
||||
module_args_add_props(props, argument);
|
||||
|
||||
if ((str = pw_properties_get(props, "sink_name")) != NULL) {
|
||||
pw_properties_set(props, PW_KEY_NODE_NAME, str);
|
||||
pw_properties_set(props, "sink_name", NULL);
|
||||
}
|
||||
pw_properties_move(props, PW_KEY_NODE_NAME, props, "sink_name", NULL);
|
||||
|
||||
if ((str = pw_properties_get(props, "sink_properties")) != NULL) {
|
||||
module_args_add_props(capture_props, str);
|
||||
pw_properties_set(props, "sink_properties", NULL);
|
||||
}
|
||||
|
||||
pw_properties_set(capture_props, PW_KEY_MEDIA_CLASS, "Audio/Sink");
|
||||
|
||||
if ((str = pw_properties_get(props, "master")) != NULL) {
|
||||
pw_properties_set(playback_props, PW_KEY_NODE_TARGET, str);
|
||||
pw_properties_set(props, "master", NULL);
|
||||
}
|
||||
pw_properties_move(playback_props, PW_KEY_NODE_TARGET, props, "master", NULL);
|
||||
|
||||
if (module_args_to_audioinfo(impl, props, &capture_info) < 0) {
|
||||
res = -EINVAL;
|
||||
|
|
|
|||
|
|
@ -161,20 +161,16 @@ struct module *create_module_remap_source(struct impl *impl, const char *argumen
|
|||
if (argument)
|
||||
module_args_add_props(props, argument);
|
||||
|
||||
if ((str = pw_properties_get(props, "source_name")) != NULL) {
|
||||
pw_properties_set(props, PW_KEY_NODE_NAME, str);
|
||||
pw_properties_set(props, "source_name", NULL);
|
||||
}
|
||||
pw_properties_move(props, PW_KEY_NODE_NAME, props, "source_name", NULL);
|
||||
|
||||
if ((str = pw_properties_get(props, "source_properties")) != NULL) {
|
||||
module_args_add_props(playback_props, str);
|
||||
pw_properties_set(props, "source_properties", NULL);
|
||||
}
|
||||
|
||||
pw_properties_set(playback_props, PW_KEY_MEDIA_CLASS, "Audio/Source");
|
||||
|
||||
if ((str = pw_properties_get(props, "master")) != NULL) {
|
||||
pw_properties_set(capture_props, PW_KEY_NODE_TARGET, str);
|
||||
pw_properties_set(props, "master", NULL);
|
||||
}
|
||||
pw_properties_move(capture_props, PW_KEY_NODE_TARGET, props, "master", NULL);
|
||||
|
||||
if (module_args_to_audioinfo(impl, props, &playback_info) < 0) {
|
||||
res = -EINVAL;
|
||||
|
|
|
|||
|
|
@ -149,26 +149,16 @@ struct module *create_module_simple_protocol_tcp(struct impl *impl, const char *
|
|||
goto out;
|
||||
}
|
||||
|
||||
if ((str = pw_properties_get(props, "rate")) != NULL) {
|
||||
pw_properties_set(module_props, "audio.rate", str);
|
||||
pw_properties_set(props, "rate", NULL);
|
||||
}
|
||||
pw_properties_move(module_props, "audio.rate", props, "rate", NULL);
|
||||
|
||||
if ((str = pw_properties_get(props, "format")) != NULL) {
|
||||
pw_properties_set(module_props, "audio.format", format_id2name(format_paname2id(str, strlen(str))));
|
||||
pw_properties_set(props, "format", NULL);
|
||||
}
|
||||
if ((str = pw_properties_get(props, "channels")) != NULL) {
|
||||
pw_properties_set(module_props, "audio.channels", str);
|
||||
pw_properties_set(props, "channels", NULL);
|
||||
}
|
||||
if ((str = pw_properties_get(props, "playback")) != NULL) {
|
||||
pw_properties_set(module_props, "playback", str);
|
||||
pw_properties_set(props, "playback", NULL);
|
||||
}
|
||||
if ((str = pw_properties_get(props, "record")) != NULL) {
|
||||
pw_properties_set(module_props, "capture", str);
|
||||
pw_properties_set(props, "record", NULL);
|
||||
}
|
||||
|
||||
pw_properties_move(module_props, "audio.channels", props, "channels", NULL);
|
||||
pw_properties_move(module_props, "playback", props, "playback", NULL);
|
||||
pw_properties_move(module_props, "capture", props, "record", NULL);
|
||||
|
||||
if ((str = pw_properties_get(props, "source")) != NULL) {
|
||||
if (pw_endswith(str, ".monitor")) {
|
||||
|
|
@ -180,10 +170,7 @@ struct module *create_module_simple_protocol_tcp(struct impl *impl, const char *
|
|||
pw_properties_set(props, "source", NULL);
|
||||
}
|
||||
|
||||
if ((str = pw_properties_get(props, "sink")) != NULL) {
|
||||
pw_properties_set(module_props, "playback.node", str);
|
||||
pw_properties_set(props, "sink", NULL);
|
||||
}
|
||||
pw_properties_move(module_props, "playback.node", props, "sink", NULL);
|
||||
|
||||
if ((port = pw_properties_get(props, "port")) == NULL)
|
||||
port = "4711";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue