diff --git a/src/modules/module-protocol-pulse/module.c b/src/modules/module-protocol-pulse/module.c index 27a5b6b1f..ec1040411 100644 --- a/src/modules/module-protocol-pulse/module.c +++ b/src/modules/module-protocol-pulse/module.c @@ -36,7 +36,6 @@ #include #include -#include "client.h" #include "defs.h" #include "format.h" #include "internal.h" @@ -84,14 +83,14 @@ void module_add_listener(struct module *module, spa_hook_list_append(&module->listener_list, listener, events, data); } -int module_load(struct client *client, struct module *module) +int module_load(struct module *module) { pw_log_info("load module index:%u name:%s", module->index, module->info->name); if (module->info->load == NULL) return -ENOTSUP; /* subscription event is sent when the module does a * module_emit_loaded() */ - return module->info->load(client, module); + return module->info->load(module); } void module_free(struct module *module) @@ -119,9 +118,6 @@ int module_unload(struct module *module) struct impl *impl = module->impl; int res = 0; - /* Note that client can be NULL (when the module is being unloaded - * internally and not by a client request */ - pw_log_info("unload module index:%u name:%s", module->index, module->info->name); if (module->info->unload) @@ -283,9 +279,8 @@ static int find_module_by_name(void *item_data, void *data) return spa_streq(module->info->name, name) ? 1 : 0; } -struct module *module_create(struct client *client, const char *name, const char *args) +struct module *module_create(struct impl *impl, const char *name, const char *args) { - struct impl *impl = client->impl; const struct module_info *info; struct module *module; diff --git a/src/modules/module-protocol-pulse/module.h b/src/modules/module-protocol-pulse/module.h index c767d6896..1a6ffb04c 100644 --- a/src/modules/module-protocol-pulse/module.h +++ b/src/modules/module-protocol-pulse/module.h @@ -29,7 +29,6 @@ #include #include -#include "client.h" #include "internal.h" struct module; @@ -41,7 +40,7 @@ struct module_info { unsigned int load_once:1; int (*prepare) (struct module *module); - int (*load) (struct client *client, struct module *module); + int (*load) (struct module *module); int (*unload) (struct module *module); const struct spa_dict *properties; @@ -78,9 +77,9 @@ struct module { #define module_emit_loaded(m,r) spa_hook_list_call(&m->listener_list, struct module_events, loaded, 0, r) #define module_emit_destroy(m) spa_hook_list_call(&(m)->listener_list, struct module_events, destroy, 0) -struct module *module_create(struct client *client, const char *name, const char *args); +struct module *module_create(struct impl *impl, const char *name, const char *args); void module_free(struct module *module); -int module_load(struct client *client, struct module *module); +int module_load(struct module *module); int module_unload(struct module *module); void module_schedule_unload(struct module *module); diff --git a/src/modules/module-protocol-pulse/modules/module-always-sink.c b/src/modules/module-protocol-pulse/modules/module-always-sink.c index dc3d7aaad..7549c0928 100644 --- a/src/modules/module-protocol-pulse/modules/module-always-sink.c +++ b/src/modules/module-protocol-pulse/modules/module-always-sink.c @@ -51,7 +51,7 @@ static const struct pw_impl_module_events module_events = { .destroy = module_destroy }; -static int module_always_sink_load(struct client *client, struct module *module) +static int module_always_sink_load(struct module *module) { struct module_always_sink_data *data = module->user_data; FILE *f; diff --git a/src/modules/module-protocol-pulse/modules/module-combine-sink.c b/src/modules/module-protocol-pulse/modules/module-combine-sink.c index 5d5ff77e5..93f6be69d 100644 --- a/src/modules/module-protocol-pulse/modules/module-combine-sink.c +++ b/src/modules/module-protocol-pulse/modules/module-combine-sink.c @@ -391,7 +391,7 @@ static void on_sinks_timeout(void *d, uint64_t count) check_initialized(data); } -static int module_combine_sink_load(struct client *client, struct module *module) +static int module_combine_sink_load(struct module *module) { struct module_combine_sink_data *data = module->user_data; struct pw_properties *props; @@ -402,9 +402,7 @@ static int module_combine_sink_load(struct client *client, struct module *module struct spa_pod_builder b = SPA_POD_BUILDER_INIT(buffer, sizeof(buffer)); const char *str; - data->core = pw_context_connect(module->impl->context, - pw_properties_copy(client->props), - 0); + data->core = pw_context_connect(module->impl->context, NULL, 0); if (data->core == NULL) return -errno; diff --git a/src/modules/module-protocol-pulse/modules/module-ladspa-sink.c b/src/modules/module-protocol-pulse/modules/module-ladspa-sink.c index 33532fa8a..051926ffa 100644 --- a/src/modules/module-protocol-pulse/modules/module-ladspa-sink.c +++ b/src/modules/module-protocol-pulse/modules/module-ladspa-sink.c @@ -59,7 +59,7 @@ static const struct pw_impl_module_events module_events = { .destroy = module_destroy }; -static int module_ladspa_sink_load(struct client *client, struct module *module) +static int module_ladspa_sink_load(struct module *module) { struct module_ladspa_sink_data *data = module->user_data; FILE *f; diff --git a/src/modules/module-protocol-pulse/modules/module-ladspa-source.c b/src/modules/module-protocol-pulse/modules/module-ladspa-source.c index 246f40f9d..4d65a26c0 100644 --- a/src/modules/module-protocol-pulse/modules/module-ladspa-source.c +++ b/src/modules/module-protocol-pulse/modules/module-ladspa-source.c @@ -59,7 +59,7 @@ static const struct pw_impl_module_events module_events = { .destroy = module_destroy }; -static int module_ladspa_source_load(struct client *client, struct module *module) +static int module_ladspa_source_load(struct module *module) { struct module_ladspa_source_data *data = module->user_data; FILE *f; diff --git a/src/modules/module-protocol-pulse/modules/module-loopback.c b/src/modules/module-protocol-pulse/modules/module-loopback.c index 94d7fc70a..93e17bc1a 100644 --- a/src/modules/module-protocol-pulse/modules/module-loopback.c +++ b/src/modules/module-protocol-pulse/modules/module-loopback.c @@ -63,7 +63,7 @@ static const struct pw_impl_module_events module_events = { .destroy = module_destroy }; -static int module_loopback_load(struct client *client, struct module *module) +static int module_loopback_load(struct module *module) { struct module_loopback_data *data = module->user_data; FILE *f; diff --git a/src/modules/module-protocol-pulse/modules/module-native-protocol-tcp.c b/src/modules/module-protocol-pulse/modules/module-native-protocol-tcp.c index f97cac21b..e8f4c14cd 100644 --- a/src/modules/module-protocol-pulse/modules/module-native-protocol-tcp.c +++ b/src/modules/module-protocol-pulse/modules/module-native-protocol-tcp.c @@ -38,10 +38,10 @@ struct module_native_protocol_tcp_data { struct pw_array servers; }; -static int module_native_protocol_tcp_load(struct client *client, struct module *module) +static int module_native_protocol_tcp_load(struct module *module) { struct module_native_protocol_tcp_data *data = module->user_data; - struct impl *impl = client->impl; + struct impl *impl = module->impl; const char *address; int res; diff --git a/src/modules/module-protocol-pulse/modules/module-null-sink.c b/src/modules/module-protocol-pulse/modules/module-null-sink.c index c413c9932..caae59882 100644 --- a/src/modules/module-protocol-pulse/modules/module-null-sink.c +++ b/src/modules/module-protocol-pulse/modules/module-null-sink.c @@ -104,11 +104,11 @@ static const struct pw_core_events core_events = { .error = module_null_sink_core_error, }; -static int module_null_sink_load(struct client *client, struct module *module) +static int module_null_sink_load(struct module *module) { struct module_null_sink_data *d = module->user_data; - d->core = pw_context_connect(module->impl->context, pw_properties_copy(client->props), 0); + d->core = pw_context_connect(module->impl->context, NULL, 0); if (d->core == NULL) return -errno; diff --git a/src/modules/module-protocol-pulse/modules/module-pipe-sink.c b/src/modules/module-protocol-pulse/modules/module-pipe-sink.c index c1ea9a78c..18027ac0c 100644 --- a/src/modules/module-protocol-pulse/modules/module-pipe-sink.c +++ b/src/modules/module-protocol-pulse/modules/module-pipe-sink.c @@ -64,7 +64,7 @@ static const struct pw_impl_module_events module_events = { .destroy = module_destroy }; -static int module_pipe_sink_load(struct client *client, struct module *module) +static int module_pipe_sink_load(struct module *module) { struct module_pipesink_data *data = module->user_data; FILE *f; diff --git a/src/modules/module-protocol-pulse/modules/module-pipe-source.c b/src/modules/module-protocol-pulse/modules/module-pipe-source.c index 6827ee4fd..f39e4eddb 100644 --- a/src/modules/module-protocol-pulse/modules/module-pipe-source.c +++ b/src/modules/module-protocol-pulse/modules/module-pipe-source.c @@ -64,7 +64,7 @@ static const struct pw_impl_module_events module_events = { .destroy = module_destroy }; -static int module_pipe_source_load(struct client *client, struct module *module) +static int module_pipe_source_load(struct module *module) { struct module_pipesrc_data *data = module->user_data; FILE *f; diff --git a/src/modules/module-protocol-pulse/modules/module-raop-discover.c b/src/modules/module-protocol-pulse/modules/module-raop-discover.c index fd6db7f0a..bb93b0249 100644 --- a/src/modules/module-protocol-pulse/modules/module-raop-discover.c +++ b/src/modules/module-protocol-pulse/modules/module-raop-discover.c @@ -55,7 +55,7 @@ static const struct pw_impl_module_events module_events = { .destroy = module_destroy }; -static int module_raop_discover_load(struct client *client, struct module *module) +static int module_raop_discover_load(struct module *module) { struct module_raop_discover_data *data = module->user_data; 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 5aed6f8a6..ffce605e1 100644 --- a/src/modules/module-protocol-pulse/modules/module-remap-sink.c +++ b/src/modules/module-protocol-pulse/modules/module-remap-sink.c @@ -59,7 +59,7 @@ static const struct pw_impl_module_events module_events = { .destroy = module_destroy }; -static int module_remap_sink_load(struct client *client, struct module *module) +static int module_remap_sink_load(struct module *module) { struct module_remap_sink_data *data = module->user_data; FILE *f; 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 33e770bd1..1f6d5a7bf 100644 --- a/src/modules/module-protocol-pulse/modules/module-remap-source.c +++ b/src/modules/module-protocol-pulse/modules/module-remap-source.c @@ -59,7 +59,7 @@ static const struct pw_impl_module_events module_events = { .destroy = module_destroy }; -static int module_remap_source_load(struct client *client, struct module *module) +static int module_remap_source_load(struct module *module) { struct module_remap_source_data *data = module->user_data; FILE *f; diff --git a/src/modules/module-protocol-pulse/modules/module-roc-sink-input.c b/src/modules/module-protocol-pulse/modules/module-roc-sink-input.c index bcbd65053..c1b2b17a7 100644 --- a/src/modules/module-protocol-pulse/modules/module-roc-sink-input.c +++ b/src/modules/module-protocol-pulse/modules/module-roc-sink-input.c @@ -58,7 +58,7 @@ static const struct pw_impl_module_events module_events = { .destroy = module_destroy }; -static int module_roc_sink_input_load(struct client *client, struct module *module) +static int module_roc_sink_input_load(struct module *module) { struct module_roc_sink_input_data *data = module->user_data; FILE *f; diff --git a/src/modules/module-protocol-pulse/modules/module-roc-sink.c b/src/modules/module-protocol-pulse/modules/module-roc-sink.c index a50157a27..22ff4dc83 100644 --- a/src/modules/module-protocol-pulse/modules/module-roc-sink.c +++ b/src/modules/module-protocol-pulse/modules/module-roc-sink.c @@ -58,7 +58,7 @@ static const struct pw_impl_module_events module_events = { .destroy = module_destroy }; -static int module_roc_sink_load(struct client *client, struct module *module) +static int module_roc_sink_load(struct module *module) { struct module_roc_sink_data *data = module->user_data; FILE *f; diff --git a/src/modules/module-protocol-pulse/modules/module-roc-source.c b/src/modules/module-protocol-pulse/modules/module-roc-source.c index e99b24e07..b75e46e4d 100644 --- a/src/modules/module-protocol-pulse/modules/module-roc-source.c +++ b/src/modules/module-protocol-pulse/modules/module-roc-source.c @@ -58,7 +58,7 @@ static const struct pw_impl_module_events module_events = { .destroy = module_destroy }; -static int module_roc_source_load(struct client *client, struct module *module) +static int module_roc_source_load(struct module *module) { struct module_roc_source_data *data = module->user_data; FILE *f; diff --git a/src/modules/module-protocol-pulse/modules/module-rtp-recv.c b/src/modules/module-protocol-pulse/modules/module-rtp-recv.c index 29a0d70da..59f6fa36f 100644 --- a/src/modules/module-protocol-pulse/modules/module-rtp-recv.c +++ b/src/modules/module-protocol-pulse/modules/module-rtp-recv.c @@ -57,7 +57,7 @@ static const struct pw_impl_module_events module_events = { .destroy = module_destroy }; -static int module_rtp_recv_load(struct client *client, struct module *module) +static int module_rtp_recv_load(struct module *module) { struct module_rtp_recv_data *data = module->user_data; FILE *f; diff --git a/src/modules/module-protocol-pulse/modules/module-rtp-send.c b/src/modules/module-protocol-pulse/modules/module-rtp-send.c index 1f13e6507..743faaae6 100644 --- a/src/modules/module-protocol-pulse/modules/module-rtp-send.c +++ b/src/modules/module-protocol-pulse/modules/module-rtp-send.c @@ -58,7 +58,7 @@ static const struct pw_impl_module_events module_events = { .destroy = module_destroy }; -static int module_rtp_send_load(struct client *client, struct module *module) +static int module_rtp_send_load(struct module *module) { struct module_rtp_send_data *data = module->user_data; FILE *f; diff --git a/src/modules/module-protocol-pulse/modules/module-simple-protocol-tcp.c b/src/modules/module-protocol-pulse/modules/module-simple-protocol-tcp.c index 2cfcd237b..3d0f7d780 100644 --- a/src/modules/module-protocol-pulse/modules/module-simple-protocol-tcp.c +++ b/src/modules/module-protocol-pulse/modules/module-simple-protocol-tcp.c @@ -58,10 +58,10 @@ static const struct pw_impl_module_events module_events = { .destroy = module_destroy }; -static int module_simple_protocol_tcp_load(struct client *client, struct module *module) +static int module_simple_protocol_tcp_load(struct module *module) { struct module_simple_protocol_tcp_data *data = module->user_data; - struct impl *impl = client->impl; + struct impl *impl = module->impl; char *args; size_t size; uint32_t i; 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 7e30cd54d..63541939c 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 @@ -175,13 +175,13 @@ static const struct pw_core_events core_events = { .done = on_core_done, }; -static int module_switch_on_connect_load(struct client *client, struct module *module) +static int module_switch_on_connect_load(struct module *module) { - struct impl *impl = client->impl; + struct impl *impl = module->impl; struct module_switch_on_connect_data *d = module->user_data; int res; - d->core = pw_context_connect(impl->context, pw_properties_copy(client->props), 0); + d->core = pw_context_connect(impl->context, NULL, 0); if (d->core == NULL) { res = -errno; goto error; diff --git a/src/modules/module-protocol-pulse/modules/module-tunnel-sink.c b/src/modules/module-protocol-pulse/modules/module-tunnel-sink.c index da4ec87d4..5089285e8 100644 --- a/src/modules/module-protocol-pulse/modules/module-tunnel-sink.c +++ b/src/modules/module-protocol-pulse/modules/module-tunnel-sink.c @@ -62,7 +62,7 @@ static const struct pw_impl_module_events module_events = { .destroy = module_destroy }; -static int module_tunnel_sink_load(struct client *client, struct module *module) +static int module_tunnel_sink_load(struct module *module) { struct module_tunnel_sink_data *data = module->user_data; FILE *f; diff --git a/src/modules/module-protocol-pulse/modules/module-tunnel-source.c b/src/modules/module-protocol-pulse/modules/module-tunnel-source.c index 7fa4b78e4..e344754e7 100644 --- a/src/modules/module-protocol-pulse/modules/module-tunnel-source.c +++ b/src/modules/module-protocol-pulse/modules/module-tunnel-source.c @@ -62,7 +62,7 @@ static const struct pw_impl_module_events module_events = { .destroy = module_destroy }; -static int module_tunnel_source_load(struct client *client, struct module *module) +static int module_tunnel_source_load(struct module *module) { struct module_tunnel_source_data *data = module->user_data; FILE *f; diff --git a/src/modules/module-protocol-pulse/modules/module-x11-bell.c b/src/modules/module-protocol-pulse/modules/module-x11-bell.c index a14c843a0..9d7e2176d 100644 --- a/src/modules/module-protocol-pulse/modules/module-x11-bell.c +++ b/src/modules/module-protocol-pulse/modules/module-x11-bell.c @@ -51,7 +51,7 @@ static const struct pw_impl_module_events module_events = { .destroy = module_destroy }; -static int module_x11_bell_load(struct client *client, struct module *module) +static int module_x11_bell_load(struct module *module) { struct module_x11_bell_data *data = module->user_data; FILE *f; diff --git a/src/modules/module-protocol-pulse/modules/module-zeroconf-discover.c b/src/modules/module-protocol-pulse/modules/module-zeroconf-discover.c index 79f14e853..c44c6c867 100644 --- a/src/modules/module-protocol-pulse/modules/module-zeroconf-discover.c +++ b/src/modules/module-protocol-pulse/modules/module-zeroconf-discover.c @@ -57,7 +57,7 @@ static const struct pw_impl_module_events module_events = { .destroy = module_destroy }; -static int module_zeroconf_discover_load(struct client *client, struct module *module) +static int module_zeroconf_discover_load(struct module *module) { struct module_zeroconf_discover_data *data = module->user_data; FILE *f; diff --git a/src/modules/module-protocol-pulse/modules/module-zeroconf-publish.c b/src/modules/module-protocol-pulse/modules/module-zeroconf-publish.c index c2179c79e..2f048678d 100644 --- a/src/modules/module-protocol-pulse/modules/module-zeroconf-publish.c +++ b/src/modules/module-protocol-pulse/modules/module-zeroconf-publish.c @@ -647,14 +647,13 @@ static const struct impl_events impl_events = { .server_stopped = impl_server_stopped, }; -static int module_zeroconf_publish_load(struct client *client, struct module *module) +static int module_zeroconf_publish_load(struct module *module) { struct module_zeroconf_publish_data *data = module->user_data; struct pw_loop *loop; int error; - data->core = pw_context_connect(module->impl->context, - pw_properties_copy(client->props), 0); + data->core = pw_context_connect(module->impl->context, NULL, 0); if (data->core == NULL) { pw_log_error("failed to connect to pipewire: %m"); return -errno; diff --git a/src/modules/module-protocol-pulse/pulse-server.c b/src/modules/module-protocol-pulse/pulse-server.c index 84bf3b56c..18b901c8f 100644 --- a/src/modules/module-protocol-pulse/pulse-server.c +++ b/src/modules/module-protocol-pulse/pulse-server.c @@ -5131,6 +5131,7 @@ static int do_load_module(struct client *client, uint32_t command, uint32_t tag, .sync = on_load_module_manager_sync, }; + struct impl *impl = client->impl; const char *name, *argument; struct module *module; struct pending_module *pm; @@ -5145,7 +5146,7 @@ static int do_load_module(struct client *client, uint32_t command, uint32_t tag, pw_log_info("[%s] %s name:%s argument:%s", client->name, commands[command].name, name, argument); - module = module_create(client, name, argument); + module = module_create(impl, name, argument); if (module == NULL) return -errno; @@ -5159,7 +5160,7 @@ static int do_load_module(struct client *client, uint32_t command, uint32_t tag, pw_log_debug("pending module %p: start tag:%d", pm, tag); - r = module_load(client, module); + r = module_load(module); module_add_listener(module, &pm->module_listener, &module_events, pm); client_add_listener(client, &pm->client_listener, &client_events, pm);