modules: use the new topic-based logging from various pipewire modules

This commit is contained in:
Peter Hutterer 2021-09-16 15:35:10 +10:00 committed by Wim Taymans
parent e9d869b46f
commit 14112fd168
29 changed files with 228 additions and 80 deletions

View file

@ -124,6 +124,9 @@
#define NAME "access"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
#define MODULE_USAGE "[ access.force=flatpak ] " \
"[ access.allowed=<cmd-line> ] " \
"[ access.rejected=<cmd-line> ] " \
@ -258,7 +261,7 @@ context_check_access(void *data, struct pw_impl_client *client)
if (impl->properties && (str = pw_properties_get(impl->properties, "access.allowed")) != NULL) {
res = check_cmdline(client, pid, str);
if (res < 0) {
pw_log_warn(NAME" %p: client %p allowed check failed: %s",
pw_log_warn("%p: client %p allowed check failed: %s",
impl, client, spa_strerror(res));
} else if (res > 0) {
access = "allowed";
@ -269,7 +272,7 @@ context_check_access(void *data, struct pw_impl_client *client)
if (impl->properties && (str = pw_properties_get(impl->properties, "access.rejected")) != NULL) {
res = check_cmdline(client, pid, str);
if (res < 0) {
pw_log_warn(NAME" %p: client %p rejected check failed: %s",
pw_log_warn("%p: client %p rejected check failed: %s",
impl, client, spa_strerror(res));
} else if (res > 0) {
res = -EACCES;
@ -281,11 +284,11 @@ context_check_access(void *data, struct pw_impl_client *client)
if (impl->properties && (str = pw_properties_get(impl->properties, "access.restricted")) != NULL) {
res = check_cmdline(client, pid, str);
if (res < 0) {
pw_log_warn(NAME" %p: client %p restricted check failed: %s",
pw_log_warn("%p: client %p restricted check failed: %s",
impl, client, spa_strerror(res));
}
else if (res > 0) {
pw_log_debug(NAME" %p: restricted client %p added", impl, client);
pw_log_debug(" %p: restricted client %p added", impl, client);
access = "restricted";
goto wait_permissions;
}
@ -302,11 +305,11 @@ context_check_access(void *data, struct pw_impl_client *client)
access = "unrestricted";
goto granted;
}
pw_log_warn(NAME" %p: client %p sandbox check failed: %s",
pw_log_warn("%p: client %p sandbox check failed: %s",
impl, client, spa_strerror(res));
}
else if (res > 0) {
pw_log_debug(NAME" %p: flatpak client %p added", impl, client);
pw_log_debug(" %p: flatpak client %p added", impl, client);
}
access = "flatpak";
goto wait_permissions;
@ -316,7 +319,7 @@ context_check_access(void *data, struct pw_impl_client *client)
access = "unrestricted";
granted:
pw_log_info(NAME" %p: client %p '%s' access granted", impl, client, access);
pw_log_info("%p: client %p '%s' access granted", impl, client, access);
items[0] = SPA_DICT_ITEM_INIT(PW_KEY_ACCESS, access);
pw_impl_client_update_properties(client, &SPA_DICT_INIT(items, 1));
@ -325,7 +328,7 @@ granted:
return;
wait_permissions:
pw_log_info(NAME " %p: client %p wait for '%s' permissions",
pw_log_info("%p: client %p wait for '%s' permissions",
impl, client, access);
items[0] = SPA_DICT_ITEM_INIT(PW_KEY_ACCESS, access);
pw_impl_client_update_properties(client, &SPA_DICT_INIT(items, 1));
@ -367,6 +370,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
struct pw_properties *props;
struct impl *impl;
PW_LOG_TOPIC_INIT(mod_topic);
impl = calloc(1, sizeof(struct impl));
if (impl == NULL)
return -errno;

View file

@ -42,6 +42,9 @@
*/
#define NAME "adapter"
PW_LOG_TOPIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
#define FACTORY_USAGE SPA_KEY_FACTORY_NAME"=<factory-name> " \
"["SPA_KEY_LIBRARY_NAME"=<library-name>] " \
ADAPTER_USAGE
@ -79,7 +82,7 @@ static void resource_destroy(void *data)
{
struct node_data *nd = data;
pw_log_debug(NAME" %p: destroy %p", nd, nd->adapter);
pw_log_debug("%p: destroy %p", nd, nd->adapter);
spa_hook_remove(&nd->resource_listener);
nd->bound_resource = NULL;
if (nd->adapter && !nd->linger)
@ -94,7 +97,7 @@ static const struct pw_resource_events resource_events = {
static void node_destroy(void *data)
{
struct node_data *nd = data;
pw_log_debug(NAME" %p: destroy %p", nd, nd->adapter);
pw_log_debug("%p: destroy %p", nd, nd->adapter);
spa_list_remove(&nd->link);
nd->adapter = NULL;
}
@ -103,7 +106,7 @@ static void node_free(void *data)
{
struct node_data *nd = data;
pw_log_debug(NAME" %p: free %p", nd, nd->follower);
pw_log_debug("%p: free %p", nd, nd->follower);
if (nd->bound_resource != NULL)
spa_hook_remove(&nd->resource_listener);
@ -275,7 +278,7 @@ static void module_destroy(void *data)
struct factory_data *d = data;
struct node_data *nd;
pw_log_debug(NAME" %p: destroy", d);
pw_log_debug("%p: destroy", d);
spa_hook_remove(&d->module_listener);
spa_list_consume(nd, &d->node_list, link)
@ -298,7 +301,7 @@ static void module_registered(void *data)
pw_impl_factory_update_properties(factory, &SPA_DICT_INIT(items, 1));
if ((res = pw_impl_factory_register(factory, NULL)) < 0) {
pw_log_error(NAME" %p: can't register factory: %s", factory, spa_strerror(res));
pw_log_error("%p: can't register factory: %s", factory, spa_strerror(res));
}
}
@ -315,6 +318,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
struct pw_impl_factory *factory;
struct factory_data *data;
PW_LOG_TOPIC_INIT(mod_topic);
factory = pw_context_create_factory(context,
"adapter",
PW_TYPE_INTERFACE_Node,

View file

@ -47,6 +47,9 @@
#define NAME "adapter"
PW_LOG_TOPIC_EXTERN(mod_topic);
#define PW_LOG_TOPIC_DEFAULT mod_topic
struct buffer {
struct spa_buffer buf;
struct spa_data datas[1];
@ -187,14 +190,14 @@ static int find_format(struct pw_impl_node *node, enum pw_direction direction,
SPA_PARAM_EnumFormat, &state,
NULL, &format, &b)) != 1) {
res = res < 0 ? res : -ENOENT;
pw_log_warn(NAME " %p: can't get format: %s", node, spa_strerror(res));
pw_log_warn("%p: can't get format: %s", node, spa_strerror(res));
return res;
}
if ((res = spa_format_parse(format, media_type, media_subtype)) < 0)
return res;
pw_log_debug(NAME " %p: %s/%s", node,
pw_log_debug("%p: %s/%s", node,
spa_debug_type_find_name(spa_type_media_type, *media_type),
spa_debug_type_find_name(spa_type_media_subtype, *media_subtype));
return 0;
@ -220,7 +223,7 @@ struct pw_impl_node *pw_adapter_new(struct pw_context *context,
goto error;
}
pw_log_debug(NAME " %p: in %d/%d out %d/%d", follower,
pw_log_debug("%p: in %d/%d out %d/%d", follower,
info->n_input_ports, info->max_input_ports,
info->n_output_ports, info->max_output_ports);

View file

@ -35,11 +35,14 @@
#include "module-client-device/client-device.h"
#define NAME "client-device"
/** \page page_module_client_device PipeWire Module: Client Device
*/
#define NAME "client-device"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
static const struct spa_dict_item module_props[] = {
{ PW_KEY_MODULE_AUTHOR, "Wim Taymans <wim.taymans@gmail.com>" },
{ PW_KEY_MODULE_DESCRIPTION, "Allow clients to create and control remote devices" },
@ -150,7 +153,7 @@ static void module_registered(void *data)
pw_impl_factory_update_properties(factory, &SPA_DICT_INIT(items, 1));
if ((res = pw_impl_factory_register(factory, NULL)) < 0) {
pw_log_error(NAME" %p: can't register factory: %s", factory, spa_strerror(res));
pw_log_error("%p: can't register factory: %s", factory, spa_strerror(res));
}
}
@ -167,6 +170,7 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
struct pw_impl_factory *factory;
struct factory_data *data;
PW_LOG_TOPIC_INIT(mod_topic);
factory = pw_context_create_factory(context,
"client-device",
SPA_TYPE_INTERFACE_Device,

View file

@ -41,6 +41,9 @@
#define NAME "client-node"
PW_LOG_TOPIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
static const struct spa_dict_item module_props[] = {
{ PW_KEY_MODULE_AUTHOR, "Wim Taymans <wim.taymans@gmail.com>" },
{ PW_KEY_MODULE_DESCRIPTION, "Allow clients to create and control remote nodes" },
@ -138,7 +141,7 @@ static void module_registered(void *data)
pw_impl_factory_update_properties(factory, &SPA_DICT_INIT(items, 1));
if ((res = pw_impl_factory_register(factory, NULL)) < 0) {
pw_log_error(NAME" %p: can't register factory: %s", factory, spa_strerror(res));
pw_log_error("%p: can't register factory: %s", factory, spa_strerror(res));
}
}
@ -155,6 +158,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
struct pw_impl_factory *factory;
struct factory_data *data;
PW_LOG_TOPIC_INIT(mod_topic);
factory = pw_context_create_factory(context,
"client-node",
PW_TYPE_INTERFACE_ClientNode,

View file

@ -44,6 +44,9 @@
#define NAME "client-node"
PW_LOG_TOPIC_EXTERN(mod_topic);
#define PW_LOG_TOPIC_DEFAULT mod_topic
/** \cond */
#define MAX_INPUTS 1024
@ -257,14 +260,14 @@ static void clear_data(struct node *this, struct spa_data *d)
id = SPA_PTR_TO_UINT32(d->data);
m = pw_mempool_find_id(this->client->pool, id);
if (m) {
pw_log_debug(NAME " %p: mem %d", impl, m->id);
pw_log_debug("%p: mem %d", impl, m->id);
pw_memblock_unref(m);
}
break;
}
case SPA_DATA_MemFd:
case SPA_DATA_DmaBuf:
pw_log_debug(NAME " %p: close fd:%d", impl, (int)d->fd);
pw_log_debug("%p: close fd:%d", impl, (int)d->fd);
close(d->fd);
break;
default:
@ -340,7 +343,7 @@ static int impl_node_enum_params(void *object, int seq,
if (spa_pod_filter(&b, &result.param, param, filter) != 0)
continue;
pw_log_debug(NAME " %p: %d param %u", this, seq, result.index);
pw_log_debug("%p: %d param %u", this, seq, result.index);
spa_node_emit_result(&this->hooks, seq, 0, SPA_RESULT_TYPE_NODE_PARAMS, &result);
if (++count == num)
@ -407,7 +410,7 @@ static int impl_node_send_command(void *object, const struct spa_command *comman
spa_return_val_if_fail(this != NULL, -EINVAL);
spa_return_val_if_fail(command != NULL, -EINVAL);
pw_log_debug(NAME " %p: send command %d", this, SPA_COMMAND_TYPE(command));
pw_log_debug("%p: send command %d", this, SPA_COMMAND_TYPE(command));
if (this->resource == NULL)
return -EIO;
@ -469,7 +472,7 @@ impl_node_sync(void *object, int seq)
spa_return_val_if_fail(this != NULL, -EINVAL);
pw_log_debug(NAME " %p: sync", this);
pw_log_debug("%p: sync", this);
if (this->resource == NULL)
return -EIO;
@ -599,7 +602,7 @@ impl_node_port_enum_params(void *object, int seq,
port = GET_PORT(this, direction, port_id);
pw_log_debug(NAME " %p: seq:%d port %d.%d id:%u start:%u num:%u n_params:%d",
pw_log_debug("%p: seq:%d port %d.%d id:%u start:%u num:%u n_params:%d",
this, seq, direction, port_id, id, start, num, port->n_params);
result.id = id;
@ -626,7 +629,7 @@ impl_node_port_enum_params(void *object, int seq,
if (spa_pod_filter(&b, &result.param, param, filter) < 0)
continue;
pw_log_debug(NAME " %p: %d param %u", this, seq, result.index);
pw_log_debug("%p: %d param %u", this, seq, result.index);
spa_node_emit_result(&this->hooks, seq, 0, SPA_RESULT_TYPE_NODE_PARAMS, &result);
if (++count == num)
@ -649,7 +652,7 @@ impl_node_port_set_param(void *object,
if(!CHECK_PORT(this, direction, port_id))
return param == NULL ? 0 : -EINVAL;
pw_log_debug(NAME" %p: port %d.%d set param %s %d", this,
pw_log_debug("%p: port %d.%d set param %s %d", this,
direction, port_id,
spa_debug_type_find_name(spa_type_param, id), id);
@ -680,7 +683,7 @@ static int do_port_set_io(struct impl *impl,
uint32_t tag[5] = { impl->node_id, direction, port_id, mix_id, id };
struct pw_memmap *mm, *old;
pw_log_debug(NAME " %p: %s port %d.%d set io %p %zd", this,
pw_log_debug("%p: %s port %d.%d set io %p %zd", this,
direction == SPA_DIRECTION_INPUT ? "input" : "output",
port_id, mix_id, data, size);
@ -940,7 +943,7 @@ client_node_get_node(void *data,
struct node *this = &impl->node;
uint32_t new_id = user_data_size;
pw_log_debug(NAME" %p: bind %u/%u", this, new_id, version);
pw_log_debug("%p: bind %u/%u", this, new_id, version);
impl->bind_node_version = version;
impl->bind_node_id = new_id;
@ -961,7 +964,7 @@ client_node_update(void *data,
if (change_mask & PW_CLIENT_NODE_UPDATE_PARAMS) {
uint32_t i;
pw_log_debug(NAME" %p: update %d params", this, n_params);
pw_log_debug("%p: update %d params", this, n_params);
for (i = 0; i < this->n_params; i++)
free(this->params[i]);
@ -974,7 +977,7 @@ client_node_update(void *data,
if (change_mask & PW_CLIENT_NODE_UPDATE_INFO) {
spa_node_emit_info(&this->hooks, info);
}
pw_log_debug(NAME" %p: got node update", this);
pw_log_debug("%p: got node update", this);
return 0;
}
@ -1130,7 +1133,7 @@ static void node_on_data_fd_events(struct spa_source *source)
if (SPA_UNLIKELY(spa_system_eventfd_read(this->data_system,
this->data_source.fd, &cmd) < 0))
pw_log_warn(NAME" %p: read failed %m", this);
pw_log_warn("%p: read failed %m", this);
else if (SPA_UNLIKELY(cmd > 1))
pw_log_warn("(%s-%u) client missed %"PRIu64" wakeups",
node->name, node->info.id, cmd - 1);
@ -1222,7 +1225,7 @@ static void client_node_resource_destroy(void *data)
struct pw_impl_client_node *this = &impl->this;
struct node *node = &impl->node;
pw_log_debug(NAME " %p: destroy", node);
pw_log_debug("%p: destroy", node);
impl->node.resource = this->resource = NULL;
spa_hook_remove(&impl->resource_listener);
@ -1247,7 +1250,7 @@ static void client_node_resource_error(void *data, int seq, int res, const char
struct node *this = &impl->node;
struct spa_result_node_error result;
pw_log_error(NAME " %p: error seq:%d %d (%s)", this, seq, res, message);
pw_log_error("%p: error seq:%d %d (%s)", this, seq, res, message);
result.message = message;
spa_node_emit_result(&this->hooks, seq, res, SPA_RESULT_TYPE_NODE_ERROR, &result);
}
@ -1257,7 +1260,7 @@ static void client_node_resource_pong(void *data, int seq)
struct impl *impl = data;
struct node *this = &impl->node;
pw_log_debug(NAME " %p: got pong, emit result %d", this, seq);
pw_log_debug("%p: got pong, emit result %d", this, seq);
spa_node_emit_result(&this->hooks, seq, 0, 0, NULL);
}
@ -1268,11 +1271,11 @@ void pw_impl_client_node_registered(struct pw_impl_client_node *this, struct pw_
struct pw_impl_client *client = impl->node.client;
uint32_t node_id = global->id;
pw_log_debug(NAME " %p: %d", &impl->node, node_id);
pw_log_debug("%p: %d", &impl->node, node_id);
impl->activation = pw_mempool_import_block(client->pool, node->activation);
if (impl->activation == NULL) {
pw_log_debug(NAME " %p: can't import block: %m", &impl->node);
pw_log_debug("%p: can't import block: %m", &impl->node);
return;
}
impl->node_id = node_id;
@ -1312,7 +1315,7 @@ static void node_initialized(void *data)
node->writefd = impl->fds[1];
spa_loop_add_source(node->data_loop, &node->data_source);
pw_log_debug(NAME " %p: transport read-fd:%d write-fd:%d", node, impl->fds[0], impl->fds[1]);
pw_log_debug("%p: transport read-fd:%d write-fd:%d", node, impl->fds[0], impl->fds[1]);
size = sizeof(struct spa_io_buffers) * MAX_AREAS;
@ -1324,7 +1327,7 @@ static void node_initialized(void *data)
if (impl->io_areas == NULL)
return;
pw_log_debug(NAME " %p: io areas %p", node, impl->io_areas->map->ptr);
pw_log_debug("%p: io areas %p", node, impl->io_areas->map->ptr);
if ((global = pw_impl_node_get_global(this->node)) != NULL)
pw_impl_client_node_registered(this, global);
@ -1341,7 +1344,7 @@ static void node_free(void *data)
this->node = NULL;
pw_log_debug(NAME " %p: free", node);
pw_log_debug("%p: free", node);
node_clear(node);
spa_hook_remove(&impl->node_listener);
@ -1385,7 +1388,7 @@ static int port_init_mix(void *data, struct pw_impl_port_mix *mix)
m->peer_id = mix->peer_id;
pw_log_debug(NAME " %p: init mix id:%d io:%p base:%p", impl,
pw_log_debug("%p: init mix id:%d io:%p base:%p", impl,
mix->id, mix->io, impl->io_areas->map->ptr);
return 0;
@ -1398,7 +1401,7 @@ static int port_release_mix(void *data, struct pw_impl_port_mix *mix)
struct node *this = &impl->node;
struct mix *m;
pw_log_debug(NAME " %p: remove mix id:%d io:%p base:%p",
pw_log_debug("%p: remove mix id:%d io:%p base:%p",
this, mix->id, mix->io, impl->io_areas->map->ptr);
if ((m = find_mix(port, mix->port.port_id)) == NULL || !m->valid)
@ -1445,7 +1448,7 @@ impl_mix_add_port(void *object, enum spa_direction direction, uint32_t mix_id,
const struct spa_dict *props)
{
struct port *port = object;
pw_log_debug(NAME " %p: add port %d:%d.%d", object, direction, port->id, mix_id);
pw_log_debug("%p: add port %d:%d.%d", object, direction, port->id, mix_id);
return 0;
}
@ -1453,7 +1456,7 @@ static int
impl_mix_remove_port(void *object, enum spa_direction direction, uint32_t mix_id)
{
struct port *port = object;
pw_log_debug(NAME " %p: remove port %d:%d.%d", object, direction, port->id, mix_id);
pw_log_debug("%p: remove port %d:%d.%d", object, direction, port->id, mix_id);
return 0;
}
@ -1526,7 +1529,7 @@ static void node_port_init(void *data, struct pw_impl_port *port)
struct port *p = pw_impl_port_get_user_data(port);
struct node *this = &impl->node;
pw_log_debug(NAME " %p: port %p init", this, port);
pw_log_debug("%p: port %p init", this, port);
*p = this->dummy;
p->port = port;
@ -1572,7 +1575,7 @@ static void node_port_removed(void *data, struct pw_impl_port *port)
struct node *this = &impl->node;
struct port *p = pw_impl_port_get_user_data(port);
pw_log_debug(NAME " %p: port %p remove", this, port);
pw_log_debug("%p: port %p remove", this, port);
p->removed = true;
clear_port(this, p);
@ -1589,10 +1592,10 @@ static void node_peer_added(void *data, struct pw_impl_node *peer)
m = pw_mempool_import_block(this->client->pool, peer->activation);
if (m == NULL) {
pw_log_debug(NAME " %p: can't ensure mem: %m", this);
pw_log_debug("%p: can't ensure mem: %m", this);
return;
}
pw_log_debug(NAME " %p: peer %p id:%u added mem_id:%u", &impl->this, peer,
pw_log_debug("%p: peer %p id:%u added mem_id:%u", &impl->this, peer,
peer->info.id, m->id);
if (this->resource == NULL)
@ -1617,11 +1620,11 @@ static void node_peer_removed(void *data, struct pw_impl_node *peer)
m = pw_mempool_find_fd(this->client->pool, peer->activation->fd);
if (m == NULL) {
pw_log_warn(NAME " %p: unknown peer %p fd:%d", this, peer,
pw_log_warn("%p: unknown peer %p fd:%d", this, peer,
peer->source.fd);
return;
}
pw_log_debug(NAME " %p: peer %p %u removed", this, peer,
pw_log_debug("%p: peer %p %u removed", this, peer,
peer->info.id);
if (this->resource != NULL) {
@ -1641,7 +1644,7 @@ static void node_driver_changed(void *data, struct pw_impl_node *old, struct pw_
struct impl *impl = data;
struct node *this = &impl->node;
pw_log_debug(NAME " %p: driver changed %p -> %p", this, old, driver);
pw_log_debug("%p: driver changed %p -> %p", this, old, driver);
node_peer_removed(data, old);
node_peer_added(data, driver);
@ -1708,7 +1711,7 @@ struct pw_impl_client_node *pw_impl_client_node_new(struct pw_resource *resource
impl->context = context;
impl->fds[0] = impl->fds[1] = -1;
pw_log_debug(NAME " %p: new", &impl->node);
pw_log_debug("%p: new", &impl->node);
support = pw_context_get_support(impl->context, &n_support);
node_init(&impl->node, NULL, support, n_support);

View file

@ -33,6 +33,9 @@
#include <pipewire/extensions/protocol-native.h>
#include <pipewire/extensions/client-node.h>
PW_LOG_TOPIC_EXTERN(mod_topic);
#define PW_LOG_TOPIC_DEFAULT mod_topic
static inline void push_item(struct spa_pod_builder *b, const struct spa_dict_item *item)
{
const char *str;

View file

@ -43,6 +43,9 @@
#define MAX_MIX 4096
PW_LOG_TOPIC_EXTERN(mod_topic);
#define PW_LOG_TOPIC_DEFAULT mod_topic
/** \cond */
static bool mlock_warned = false;

View file

@ -110,6 +110,10 @@
*/
#define NAME "echo-cancel"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
/* Hopefully this is enough for any combination of AEC engine and resampler
* input requirement for rate matching */
#define MAX_BUFSIZE_MS 100
@ -820,6 +824,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
const char *str;
int res;
PW_LOG_TOPIC_INIT(mod_topic);
impl = calloc(1, sizeof(struct impl));
if (impl == NULL)
return -errno;

View file

@ -53,6 +53,9 @@
#define NAME "example-sink"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
#define DEFAULT_FORMAT "S16"
#define DEFAULT_RATE "48000"
#define DEFAULT_CHANNELS "2"
@ -369,6 +372,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
const char *str;
int res;
PW_LOG_TOPIC_INIT(mod_topic);
impl = calloc(1, sizeof(struct impl));
if (impl == NULL)
return -errno;

View file

@ -53,6 +53,9 @@
#define NAME "example-source"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
#define DEFAULT_FORMAT "S16"
#define DEFAULT_RATE "48000"
#define DEFAULT_CHANNELS "2"
@ -389,6 +392,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
const char *str;
int res;
PW_LOG_TOPIC_INIT(mod_topic);
impl = calloc(1, sizeof(struct impl));
if (impl == NULL)
return -errno;

View file

@ -49,6 +49,9 @@
#define NAME "filter-chain"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
/**
* \page page_module_filter_chain PipeWire Module: Filter-Chain
*
@ -1640,6 +1643,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
struct spa_cpu *cpu_iface;
int res;
PW_LOG_TOPIC_INIT(mod_topic);
impl = calloc(1, sizeof(struct impl));
if (impl == NULL)
return -errno;

View file

@ -39,6 +39,9 @@
#define NAME "link-factory"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
#define FACTORY_USAGE PW_KEY_LINK_OUTPUT_NODE"=<output-node> " \
"["PW_KEY_LINK_OUTPUT_PORT"=<output-port>] " \
PW_KEY_LINK_INPUT_NODE"=<input-node> " \
@ -487,7 +490,7 @@ static void module_registered(void *data)
pw_impl_factory_update_properties(factory, &SPA_DICT_INIT(items, 1));
if ((res = pw_impl_factory_register(factory, NULL)) < 0) {
pw_log_error(NAME" %p: can't register factory: %s", factory, spa_strerror(res));
pw_log_error("%p: can't register factory: %s", factory, spa_strerror(res));
}
}
@ -505,6 +508,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
struct factory_data *data;
int res;
PW_LOG_TOPIC_INIT(mod_topic);
factory = pw_context_create_factory(context,
"link-factory",
PW_TYPE_INTERFACE_Link,

View file

@ -47,6 +47,9 @@
#define NAME "loopback"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
static const struct spa_dict_item module_props[] = {
{ PW_KEY_MODULE_AUTHOR, "Wim Taymans <wim.taymans@gmail.com>" },
{ PW_KEY_MODULE_DESCRIPTION, "Create loopback streams" },
@ -398,6 +401,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
const char *str;
int res;
PW_LOG_TOPIC_INIT(mod_topic);
impl = calloc(1, sizeof(struct impl));
if (impl == NULL)
return -errno;

View file

@ -39,6 +39,9 @@
#define NAME "metadata"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
static const struct spa_dict_item module_props[] = {
{ PW_KEY_MODULE_AUTHOR, "Wim Taymans <wim.taymans@gmail.com>" },
{ PW_KEY_MODULE_DESCRIPTION, "Allow clients to create metadata store" },
@ -142,7 +145,7 @@ static void module_registered(void *data)
pw_impl_factory_update_properties(factory, &SPA_DICT_INIT(items, 1));
if ((res = pw_impl_factory_register(factory, NULL)) < 0) {
pw_log_error(NAME" %p: can't register factory: %s", factory, spa_strerror(res));
pw_log_error("%p: can't register factory: %s", factory, spa_strerror(res));
}
}
@ -160,6 +163,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
struct factory_data *data;
int res;
PW_LOG_TOPIC_INIT(mod_topic);
if ((res = pw_protocol_native_ext_metadata_init(context)) < 0)
return res;

View file

@ -81,6 +81,9 @@
#define NAME "portal"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
struct impl {
struct pw_context *context;
struct pw_properties *properties;
@ -120,7 +123,7 @@ context_check_access(void *data, struct pw_impl_client *client)
items[0] = SPA_DICT_ITEM_INIT(PW_KEY_ACCESS, "portal");
pw_impl_client_update_properties(client, &SPA_DICT_INIT(items, 1));
pw_log_info(NAME" %p: portal managed client %p added", impl, client);
pw_log_info("%p: portal managed client %p added", impl, client);
/* portal makes this connection and will change the permissions before
* handing this connection to the client */
@ -308,6 +311,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
uint32_t n_support;
int res;
PW_LOG_TOPIC_INIT(mod_topic);
support = pw_context_get_support(context, &n_support);
dbus = spa_support_find(support, n_support, SPA_TYPE_INTERFACE_DBus);

View file

@ -46,6 +46,9 @@
#define NAME "profiler"
PW_LOG_TOPIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
#define TMP_BUFFER (16 * 1024)
#define MAX_BUFFER (8 * 1024 * 1024)
#define MIN_FLUSH (16 * 1024)
@ -135,7 +138,7 @@ static void flush_timeout(void *data, uint64_t expirations)
avail = spa_ringbuffer_get_read_index(&impl->buffer, &idx);
pw_log_trace(NAME"%p avail %d", impl, avail);
pw_log_trace("%p avail %d", impl, avail);
if (avail <= 0) {
if (++impl->empty == DEFAULT_IDLE)
@ -233,12 +236,12 @@ static void context_do_profile(void *data, struct pw_impl_node *node)
filled = spa_ringbuffer_get_write_index(&impl->buffer, &idx);
if (filled < 0 || filled > MAX_BUFFER) {
pw_log_warn(NAME " %p: queue xrun %d", impl, filled);
pw_log_warn("%p: queue xrun %d", impl, filled);
goto done;
}
avail = MAX_BUFFER - filled;
if (avail < b.state.offset) {
pw_log_warn(NAME " %p: queue full %d < %d", impl, avail, b.state.offset);
pw_log_warn("%p: queue full %d < %d", impl, avail, b.state.offset);
goto done;
}
spa_ringbuffer_write_data(&impl->buffer,
@ -280,7 +283,7 @@ static void resource_destroy(void *data)
{
struct impl *impl = data;
if (--impl->busy == 0) {
pw_log_info(NAME" %p: stopping profiler", impl);
pw_log_info("%p: stopping profiler", impl);
stop_listener(impl);
}
}
@ -323,7 +326,7 @@ global_bind(void *_data, struct pw_impl_client *client, uint32_t permissions,
&resource_events, impl);
if (++impl->busy == 1) {
pw_log_info(NAME" %p: starting profiler", impl);
pw_log_info("%p: starting profiler", impl);
pw_loop_invoke(impl->context->data_loop,
do_start, SPA_ID_INVALID, NULL, 0, false, impl);
impl->listening = true;
@ -357,6 +360,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
struct impl *impl;
struct pw_loop *main_loop = pw_context_get_main_loop(context);
PW_LOG_TOPIC_INIT(mod_topic);
impl = calloc(1, sizeof(struct impl));
if (impl == NULL)
return -errno;

View file

@ -33,6 +33,9 @@
#include <pipewire/extensions/protocol-native.h>
#include <pipewire/extensions/profiler.h>
PW_LOG_TOPIC_EXTERN(mod_topic);
#define PW_LOG_TOPIC_DEFAULT mod_topic
static int profiler_proxy_marshal_add_listener(void *object,
struct spa_hook *listener,
const struct pw_profiler_events *events,

View file

@ -54,6 +54,9 @@
#define NAME "protocol-simple"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
#define DEFAULT_PORT 4711
#define DEFAULT_SERVER "[ \"tcp:"SPA_STRINGIFY(DEFAULT_PORT)"\" ]"
@ -155,7 +158,7 @@ static void client_free(struct client *client)
{
struct impl *impl = client->impl;
pw_log_info(NAME" %p: client:%p [%s] free", impl, client, client->name);
pw_log_info("%p: client:%p [%s] free", impl, client, client->name);
client_disconnect(client);
@ -211,9 +214,9 @@ on_client_data(void *data, int fd, uint32_t mask)
error:
if (res == -EPIPE)
pw_log_info(NAME" %p: client:%p [%s] disconnected", impl, client, client->name);
pw_log_info("%p: client:%p [%s] disconnected", impl, client, client->name);
else {
pw_log_error(NAME" %p: client:%p [%s] error %d (%s)", impl,
pw_log_error("%p: client:%p [%s] error %d (%s)", impl,
client, client->name, res, spa_strerror(res));
}
client_cleanup(client);
@ -503,7 +506,7 @@ on_connect(void *data, int fd, uint32_t mask)
if (client->source == NULL)
goto error;
pw_log_info(NAME" %p: client:%p [%s] connected", impl, client, client->name);
pw_log_info("%p: client:%p [%s] connected", impl, client, client->name);
props = pw_properties_new(
PW_KEY_CLIENT_API, "protocol-simple",
@ -544,7 +547,7 @@ on_connect(void *data, int fd, uint32_t mask)
return;
error:
pw_log_error(NAME" %p: failed to create client: %m", impl);
pw_log_error("%p: failed to create client: %m", impl);
pw_properties_free(props);
if (client != NULL)
client_free(client);
@ -578,13 +581,13 @@ static int make_inet_socket(struct server *server, const char *name)
if ((fd = socket(PF_INET, SOCK_STREAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0)) < 0) {
res = -errno;
pw_log_error(NAME" %p: socket() failed: %m", server);
pw_log_error("%p: socket() failed: %m", server);
goto error;
}
on = 1;
if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (const void *) &on, sizeof(on)) < 0)
pw_log_warn(NAME" %p: setsockopt(): %m", server);
pw_log_warn("%p: setsockopt(): %m", server);
spa_zero(addr);
addr.sin_family = AF_INET;
@ -593,16 +596,16 @@ static int make_inet_socket(struct server *server, const char *name)
if (bind(fd, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
res = -errno;
pw_log_error(NAME" %p: bind() failed: %m", server);
pw_log_error("%p: bind() failed: %m", server);
goto error_close;
}
if (listen(fd, 5) < 0) {
res = -errno;
pw_log_error(NAME" %p: listen() failed: %m", server);
pw_log_error("%p: listen() failed: %m", server);
goto error_close;
}
server->type = SERVER_TYPE_INET;
pw_log_info(NAME" listening on tcp:%08x:%u", address, port);
pw_log_info("listening on tcp:%08x:%u", address, port);
return fd;
@ -617,7 +620,7 @@ static void server_free(struct server *server)
struct impl *impl = server->impl;
struct client *c;
pw_log_debug(NAME" %p: free server %p", impl, server);
pw_log_debug("%p: free server %p", impl, server);
spa_list_remove(&server->link);
spa_list_consume(c, &server->client_list, link)
@ -652,7 +655,7 @@ static struct server *create_server(struct impl *impl, const char *address)
server->source = pw_loop_add_io(impl->loop, fd, SPA_IO_IN, true, on_connect, server);
if (server->source == NULL) {
res = -errno;
pw_log_error(NAME" %p: can't create server source: %m", impl);
pw_log_error("%p: can't create server source: %m", impl);
goto error_close;
}
return server;
@ -783,7 +786,7 @@ static int parse_params(struct impl *impl)
if (spa_json_enter_array(&it[0], &it[1]) > 0) {
while (spa_json_get_string(&it[1], value, sizeof(value)-1) > 0) {
if (create_server(impl, value) == NULL) {
pw_log_warn(NAME" %p: can't create server for %s: %m",
pw_log_warn("%p: can't create server for %s: %m",
impl, value);
}
}
@ -811,6 +814,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
struct impl *impl;
int res;
PW_LOG_TOPIC_INIT(mod_topic);
impl = calloc(1, sizeof(struct impl));
if (impl == NULL)
return -errno;

View file

@ -56,6 +56,9 @@
#define NAME "pulse-tunnel"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
#define MODULE_USAGE "[ remote.name=<remote> ] " \
"[ node.latency=<latency as fraction> ] " \
"[ node.name=<name of the nodes> ] " \
@ -201,10 +204,10 @@ static void playback_stream_process(void *d)
filled = spa_ringbuffer_get_write_index(&impl->ring, &write_index);
if (filled < 0) {
pw_log_warn(NAME" %p: underrun write:%u filled:%d",
pw_log_warn("%p: underrun write:%u filled:%d",
impl, write_index, filled);
} else if ((uint32_t)filled + size > RINGBUFFER_SIZE) {
pw_log_debug(NAME" %p: overrun write:%u filled:%d size:%u max:%u",
pw_log_debug("%p: overrun write:%u filled:%d size:%u max:%u",
impl, write_index, filled,
size, RINGBUFFER_SIZE);
}
@ -383,10 +386,10 @@ static void stream_read_request_cb(pa_stream *s, size_t length, void *userdata)
filled = spa_ringbuffer_get_write_index(&impl->ring, &write_index);
if (filled < 0) {
pw_log_warn(NAME" %p: underrun write:%u filled:%d",
pw_log_warn("%p: underrun write:%u filled:%d",
impl, write_index, filled);
} else if (filled + length > RINGBUFFER_SIZE) {
pw_log_warn(NAME" %p: overrun write:%u filled:%d",
pw_log_warn("%p: overrun write:%u filled:%d",
impl, write_index, filled);
}
while (length > 0) {
@ -733,6 +736,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
const char *str;
int res;
PW_LOG_TOPIC_INIT(mod_topic);
impl = calloc(1, sizeof(struct impl));
if (impl == NULL)
return -errno;

View file

@ -85,6 +85,11 @@
*
*/
#define NAME "roc-sink"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
#define ROC_DEFAULT_IP "0.0.0.0"
#define ROC_DEFAULT_SOURCE_PORT 10001
#define ROC_DEFAULT_REPAIR_PORT 10002
@ -384,6 +389,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
char *local_ip = NULL, *remote_ip = NULL;
int res = 0, remote_repair_port, remote_source_port;
PW_LOG_TOPIC_INIT(mod_topic);
data = calloc(1, sizeof(struct module_roc_sink_data));
if (data == NULL)
return -errno;

View file

@ -88,6 +88,11 @@
*
*/
#define NAME "roc-source"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
#define ROC_DEFAULT_IP "0.0.0.0"
#define ROC_DEFAULT_SOURCE_PORT 10001
#define ROC_DEFAULT_REPAIR_PORT 10002
@ -429,6 +434,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
char *local_ip = NULL, *resampler_profile = NULL;
int res = 0, local_repair_port, local_source_port, sess_latency_msec;
PW_LOG_TOPIC_INIT(mod_topic);
data = calloc(1, sizeof(struct module_roc_source_data));
if (data == NULL)
return -errno;

View file

@ -45,6 +45,12 @@
/** \page page_module_rt PipeWire Module: RT
*/
#define NAME "rt"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
#define DEFAULT_POLICY SCHED_FIFO
#define DEFAULT_NICE_LEVEL -11
@ -249,6 +255,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
int nice_level;
int res;
PW_LOG_TOPIC_INIT(mod_topic);
impl = calloc(1, sizeof(struct impl));
if (impl == NULL)
return -ENOMEM;

View file

@ -48,6 +48,11 @@
/** \page page_module_rtkit PipeWire Module: RTKit
*/
#define NAME "rtkit"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
#define DEFAULT_NICE_LEVEL -11
#define DEFAULT_RT_PRIO 88
#define DEFAULT_RT_TIME_SOFT 2000000
@ -675,6 +680,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
const char *str;
int res;
PW_LOG_TOPIC_INIT(mod_topic);
if ((props = pw_context_get_properties(context)) != NULL &&
(str = pw_properties_get(props, "support.dbus")) != NULL &&
!pw_properties_parse_bool(str))

View file

@ -51,6 +51,9 @@
#define NAME "zeroconf-discover"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
#define MODULE_USAGE " "
static const struct spa_dict_item module_props[] = {
@ -479,6 +482,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
struct impl *impl;
int res;
PW_LOG_TOPIC_INIT(mod_topic);
impl = calloc(1, sizeof(struct impl));
if (impl == NULL)
goto error_errno;

View file

@ -37,6 +37,9 @@
#define NAME "spa-device-factory"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
#define FACTORY_USAGE SPA_KEY_FACTORY_NAME"=<factory-name> " \
"["SPA_KEY_LIBRARY_NAME"=<library-name>]"
@ -229,7 +232,7 @@ static void module_registered(void *data)
pw_impl_factory_update_properties(factory, &SPA_DICT_INIT(items, 1));
if ((res = pw_impl_factory_register(factory, NULL)) < 0) {
pw_log_error(NAME" %p: can't register factory: %s", factory, spa_strerror(res));
pw_log_error("%p: can't register factory: %s", factory, spa_strerror(res));
}
}
@ -246,6 +249,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
struct pw_impl_factory *factory;
struct factory_data *data;
PW_LOG_TOPIC_INIT(mod_topic);
factory = pw_context_create_factory(context,
"spa-device-factory",
PW_TYPE_INTERFACE_Device,

View file

@ -31,6 +31,11 @@
#include "spa-device.h"
#define NAME "spa-device"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
#define MODULE_USAGE "<factory> [key=value ...]"
static const struct spa_dict_item module_props[] = {
@ -72,6 +77,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
struct device_data *data;
int res;
PW_LOG_TOPIC_INIT(mod_topic);
if (args == NULL)
goto error_arguments;

View file

@ -37,6 +37,9 @@
#define NAME "spa-node-factory"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
#define FACTORY_USAGE SPA_KEY_FACTORY_NAME"=<factory-name> " \
"["SPA_KEY_LIBRARY_NAME"=<library-name>]"
@ -228,7 +231,7 @@ static void module_registered(void *data)
pw_impl_factory_update_properties(factory, &SPA_DICT_INIT(items, 1));
if ((res = pw_impl_factory_register(factory, NULL)) < 0) {
pw_log_error(NAME" %p: can't register factory: %s", factory, spa_strerror(res));
pw_log_error("%p: can't register factory: %s", factory, spa_strerror(res));
}
}
@ -245,6 +248,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
struct pw_impl_factory *factory;
struct factory_data *data;
PW_LOG_TOPIC_INIT(mod_topic);
factory = pw_context_create_factory(context,
"spa-node-factory",
PW_TYPE_INTERFACE_Node,

View file

@ -33,6 +33,11 @@
#include "spa-node.h"
#define NAME "spa-node"
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME);
#define PW_LOG_TOPIC_DEFAULT mod_topic
#define MODULE_USAGE "<factory> [key=value ...]"
static const struct spa_dict_item module_props[] = {
@ -72,6 +77,8 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
struct pw_impl_node *node;
struct node_data *data;
PW_LOG_TOPIC_INIT(mod_topic);
if (args == NULL)
goto error_arguments;