From 48036f7d131d65007e080b5a9b21d9f66f9e0722 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 21 Apr 2020 15:51:55 +0200 Subject: [PATCH] improve debug --- src/modules/module-protocol-native.c | 11 +++++-- .../module-protocol-native/connection.c | 6 ++-- src/pipewire/mem.c | 33 +++++++++++-------- 3 files changed, 31 insertions(+), 19 deletions(-) diff --git a/src/modules/module-protocol-native.c b/src/modules/module-protocol-native.c index 86a5431bd..f9fa3e112 100644 --- a/src/modules/module-protocol-native.c +++ b/src/modules/module-protocol-native.c @@ -34,8 +34,7 @@ #include #include -#include -#include + #include "config.h" @@ -51,6 +50,12 @@ #include "modules/module-protocol-native/connection.h" #include "modules/module-protocol-native/defs.h" +#undef spa_debug +#define spa_debug pw_log_debug + +#include +#include + #define NAME "protocol-native" #ifndef UNIX_PATH_MAX @@ -130,7 +135,7 @@ struct client_data { static void debug_msg(const char *prefix, const struct pw_protocol_native_message *msg, bool hex) { struct spa_pod *pod; - fprintf(stderr, "%s: id:%d op:%d size:%d seq:%d\n", prefix, + pw_log_debug("%s: id:%d op:%d size:%d seq:%d\n", prefix, msg->id, msg->opcode, msg->size, msg->seq); if ((pod = spa_pod_from_data(msg->data, msg->size, 0, msg->size)) != NULL) diff --git a/src/modules/module-protocol-native/connection.c b/src/modules/module-protocol-native/connection.c index 3a1c973cf..56f777e5f 100644 --- a/src/modules/module-protocol-native/connection.c +++ b/src/modules/module-protocol-native/connection.c @@ -30,12 +30,14 @@ #include #include -#include #include #include #include +#define spa_debug pw_log_debug +#include + #include "connection.h" #define MAX_BUFFER_SIZE (1024 * 32) @@ -466,7 +468,7 @@ pw_protocol_native_connection_end(struct pw_protocol_native_connection *conn, buf->n_fds = buf->msg.n_fds; if (debug_messages) { - fprintf(stderr, ">>>>>>>>> out: id:%d op:%d size:%d seq:%d\n", + pw_log_debug(">>>>>>>>> out: id:%d op:%d size:%d seq:%d\n", buf->msg.id, buf->msg.opcode, size, buf->msg.seq); spa_debug_pod(0, NULL, SPA_MEMBER(p, impl->hdr_size, struct spa_pod)); } diff --git a/src/pipewire/mem.c b/src/pipewire/mem.c index 4433af7d8..30bb91589 100644 --- a/src/pipewire/mem.c +++ b/src/pipewire/mem.c @@ -315,8 +315,8 @@ static struct mapping * memblock_map(struct memblock *b, b->this.ref++; spa_list_append(&b->mappings, &m->link); - pw_log_debug(NAME" %p: fd:%d map:%p ptr:%p (%d %d)", p, - b->this.fd, m, m->ptr, offset, size); + pw_log_debug(NAME" %p: block:%p fd:%d map:%p ptr:%p (%d %d) block-ref:%d", p, &b->this, + b->this.fd, m, m->ptr, offset, size, b->this.ref); return m; } @@ -326,8 +326,8 @@ static void mapping_unmap(struct mapping *m) struct memblock *b = m->block; struct mempool *p = SPA_CONTAINER_OF(b->this.pool, struct mempool, this); - pw_log_debug(NAME" %p: mapping:%p fd:%d ptr:%p size:%d block-ref:%d", - p, m, b->this.fd, m->ptr, m->size, b->this.ref); + pw_log_debug(NAME" %p: mapping:%p block:%p fd:%d ptr:%p size:%d block-ref:%d", + p, m, b, b->this.fd, m->ptr, m->size, b->this.ref); if (m->do_unmap) munmap(m->ptr, m->size); @@ -374,8 +374,8 @@ struct pw_memmap * pw_memblock_map(struct pw_memblock *block, spa_list_append(&b->maps, &mm->link); - pw_log_debug(NAME" %p: map:%p fd:%d ptr:%p (%d %d) mapping:%p ref:%d", p, - &mm->this, b->this.fd, mm->this.ptr, offset, size, m, m->ref); + pw_log_debug(NAME" %p: map:%p block:%p fd:%d ptr:%p (%d %d) mapping:%p ref:%d", p, + &mm->this, b, b->this.fd, mm->this.ptr, offset, size, m, m->ref); return &mm->this; } @@ -403,8 +403,8 @@ int pw_memmap_free(struct pw_memmap *map) struct memblock *b = m->block; struct mempool *p = SPA_CONTAINER_OF(b->this.pool, struct mempool, this); - pw_log_debug(NAME" %p: map:%p fd:%d ptr:%p mapping:%p ref:%d", p, - &mm->this, b->this.fd, mm->this.ptr, m, m->ref); + pw_log_debug(NAME" %p: map:%p block:%p fd:%d ptr:%p mapping:%p ref:%d", p, + &mm->this, b, b->this.fd, mm->this.ptr, m, m->ref); spa_list_remove(&mm->link); @@ -500,7 +500,7 @@ struct pw_memblock * pw_mempool_alloc(struct pw_mempool *pool, enum pw_memblock_ b->this.id = pw_map_insert_new(&impl->map, b); spa_list_append(&impl->blocks, &b->link); - pw_log_debug(NAME" %p: mem %p alloc id:%d type:%u", pool, &b->this, b->this.id, type); + pw_log_debug(NAME" %p: block:%p id:%d type:%u", pool, &b->this, b->this.id, type); pw_mempool_emit_added(impl, &b->this); @@ -557,7 +557,7 @@ struct pw_memblock * pw_mempool_import(struct pw_mempool *pool, b->this.id = pw_map_insert_new(&impl->map, b); spa_list_append(&impl->blocks, &b->link); - pw_log_debug(NAME" %p: import %p id:%u flags:%08x type:%u fd:%d", + pw_log_debug(NAME" %p: block:%p id:%u flags:%08x type:%u fd:%d", pool, b, b->this.id, flags, type, fd); pw_mempool_emit_added(impl, &b->this); @@ -618,6 +618,8 @@ struct pw_memmap * pw_mempool_import_map(struct pw_mempool *pool, if (map == NULL) return NULL; + pw_log_debug(NAME" %p: block:%p id:%u", pool, block, block->id); + return map; } @@ -631,6 +633,9 @@ int pw_mempool_unref_id(struct pw_mempool *pool, uint32_t id) if (b == NULL) return -ENOENT; + pw_log_debug(NAME" %p: block:%p id:%d fd:%d ref:%d", + pool, b, id, b->this.fd, b->this.ref); + pw_memblock_unref(&b->this); return 0; } @@ -649,7 +654,7 @@ void pw_memblock_free(struct pw_memblock *block) spa_return_if_fail(block != NULL); - pw_log_debug(NAME" %p: free mem %p id:%d fd:%d ref:%d", + pw_log_debug(NAME" %p: block:%p id:%d fd:%d ref:%d", pool, block, block->id, block->fd, block->ref); block->ref++; @@ -681,8 +686,8 @@ struct pw_memblock * pw_mempool_find_ptr(struct pw_mempool *pool, const void *pt spa_list_for_each(b, &impl->blocks, link) { spa_list_for_each(m, &b->mappings, link) { if (ptr >= m->ptr && ptr < SPA_MEMBER(m->ptr, m->size, void)) { - pw_log_debug(NAME" %p: found %p id:%d for %p", pool, - m->block, b->this.id, ptr); + pw_log_debug(NAME" %p: block:%p id:%d for %p", pool, + b, b->this.id, ptr); return &b->this; } } @@ -697,7 +702,7 @@ struct pw_memblock * pw_mempool_find_id(struct pw_mempool *pool, uint32_t id) struct memblock *b; b = pw_map_lookup(&impl->map, id); - pw_log_debug(NAME" %p: found %p for %d", pool, b, id); + pw_log_debug(NAME" %p: block:%p for %d", pool, b, id); if (b == NULL) return NULL;