diff --git a/src/modules/module-client-node/remote-node.c b/src/modules/module-client-node/remote-node.c index 2429e9746..230eec92c 100644 --- a/src/modules/module-client-node/remote-node.c +++ b/src/modules/module-client-node/remote-node.c @@ -496,17 +496,18 @@ static int clear_buffers(struct node_data *data, struct mix *mix) struct buffer *b; int res; - pw_log_debug("port %p: clear buffers mix:%d", port, mix->mix_id); + pw_log_debug("port %p: clear buffers mix:%d %zd", port, mix->mix_id, mix->buffers.size); + if ((res = pw_port_use_buffers(port, mix->mix_id, 0, NULL, 0)) < 0) { pw_log_error("port %p: error clear buffers %s", port, spa_strerror(res)); return res; } pw_array_for_each(b, &mix->buffers) { - pw_log_debug("port %p: clear buffer %d map %p", - port, b->id, b->mem); + pw_log_debug("port %p: clear buffer %d map %p %p", + port, b->id, b->mem, b->buf); pw_memmap_free(b->mem); - free(b->buf); + free(b->buf); } mix->buffers.size = 0; return 0; @@ -619,8 +620,8 @@ client_node_port_use_buffers(void *object, b->datas = SPA_MEMBER(b->metas, sizeof(struct spa_meta) * b->n_metas, struct spa_data); - pw_log_debug("add buffer %d %d %u %u", mm->block->id, - bid->id, buffers[i].offset, buffers[i].size); + pw_log_debug("add buffer %d %d %u %u %p", mm->block->id, + bid->id, buffers[i].offset, buffers[i].size, bid->buf); offset = 0; for (j = 0; j < b->n_metas; j++) { @@ -685,7 +686,7 @@ client_node_port_use_buffers(void *object, error_exit_cleanup: clear_buffers(data, mix); error_exit: - pw_log_error("port %p: use_buffers: %s", mix, spa_strerror(res)); + pw_log_error("port %p: use_buffers: %d %s", mix, res, spa_strerror(res)); pw_proxy_error(proxy, res, "port_use_buffers error: %s", spa_strerror(res)); return res; } diff --git a/src/pipewire/link.c b/src/pipewire/link.c index 17b638560..38a443f96 100644 --- a/src/pipewire/link.c +++ b/src/pipewire/link.c @@ -183,7 +183,7 @@ static void complete_paused(void *obj, void *data, int res, uint32_t id) struct pw_port_mix *mix = obj == this->input->node ? &this->rt.in_mix : &this->rt.out_mix; struct pw_port *port = mix->p; - pw_log_debug("port %p: complete PAUSED: %s", port, spa_strerror(res)); + pw_log_debug("link %p: port %p: complete PAUSED: %s", this, port, spa_strerror(res)); if (SPA_RESULT_IS_OK(res)) { pw_port_update_state(port, PW_PORT_STATE_PAUSED, NULL); diff --git a/src/pipewire/port.c b/src/pipewire/port.c index ad2453345..37be23ef9 100644 --- a/src/pipewire/port.c +++ b/src/pipewire/port.c @@ -223,8 +223,8 @@ int pw_port_init_mix(struct pw_port *port, struct pw_port_mix *mix) } } - pw_log_debug("port %p: init mix %d.%d io %p: (%s)", port, - port->port_id, mix->port.port_id, mix->io, spa_strerror(res)); + pw_log_debug("port %p: init mix %d %d.%d io %p: (%s)", port, + port->n_mix, port->port_id, mix->port.port_id, mix->io, spa_strerror(res)); return res; } @@ -243,8 +243,8 @@ int pw_port_release_mix(struct pw_port *port, struct pw_port_mix *mix) spa_node_remove_port(port->mix, port->direction, port_id); - pw_log_debug("port %p: release mix %d.%d", port, - port->port_id, mix->port.port_id); + pw_log_debug("port %p: release mix %d %d.%d", port, + port->n_mix, port->port_id, mix->port.port_id); return res; } @@ -1058,9 +1058,9 @@ int pw_port_use_buffers(struct pw_port *port, uint32_t mix_id, uint32_t flags, struct pw_node *node = port->node; struct pw_port_mix *mix = NULL; - pw_log_debug("port %p: %d:%d.%d: %d buffers state:%d", port, + pw_log_debug("port %p: %d:%d.%d: %d buffers state:%d n_mix:%d", port, port->direction, port->port_id, mix_id, - n_buffers, port->state); + n_buffers, port->state, port->n_mix); if (n_buffers == 0 && port->state <= PW_PORT_STATE_READY) return 0; @@ -1072,11 +1072,12 @@ int pw_port_use_buffers(struct pw_port *port, uint32_t mix_id, uint32_t flags, res = spa_node_port_use_buffers(port->mix, mix->port.direction, mix->port.port_id, flags, buffers, n_buffers); - if (res == -ENOTSUP) - res = 0; pw_log_debug("port %p: use buffers on mix: %p %d (%s)", port, port->mix, res, spa_strerror(res)); + + if (res == -ENOTSUP) + res = 0; } if (n_buffers == 0) {