From 4433203d5fb9146ec635de0963690d3082aee595 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 6 Jun 2017 09:10:42 +0200 Subject: [PATCH] Small fixes Init ptr in mem Use a default memory size when no params Improve debug Always push after we have a buffer from pull --- pipewire/client/mem.c | 1 + pipewire/server/link.c | 6 ++++-- pipewire/server/node.c | 3 ++- spa/plugins/audiomixer/audiomixer.c | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/pipewire/client/mem.c b/pipewire/client/mem.c index 6c2fbbbd8..fb8a2779c 100644 --- a/pipewire/client/mem.c +++ b/pipewire/client/mem.c @@ -146,6 +146,7 @@ int pw_memblock_alloc(enum pw_memblock_flags flags, size_t size, struct pw_membl mem->offset = 0; mem->flags = flags; mem->size = size; + mem->ptr = NULL; use_fd = ! !(flags & (PW_MEMBLOCK_FLAG_MAP_TWICE | PW_MEMBLOCK_FLAG_WITH_FD)); diff --git a/pipewire/server/link.c b/pipewire/server/link.c index ca31afa21..051d71331 100644 --- a/pipewire/server/link.c +++ b/pipewire/server/link.c @@ -516,6 +516,8 @@ static int do_allocation(struct pw_link *this, uint32_t in_state, uint32_t out_s max_buffers); minsize = SPA_MAX(minsize, qminsize); stride = SPA_MAX(stride, qstride); + } else { + minsize = 4096; } } @@ -554,8 +556,8 @@ static int do_allocation(struct pw_link *this, uint32_t in_state, uint32_t out_s 1, data_sizes, data_strides, &impl->buffer_mem); - pw_log_debug("allocating %d input buffers %p", impl->n_buffers, - impl->buffers); + pw_log_debug("allocating %d input buffers %p %zd %zd", impl->n_buffers, + impl->buffers, minsize, stride); } if (out_flags & SPA_PORT_INFO_FLAG_CAN_ALLOC_BUFFERS) { diff --git a/pipewire/server/node.c b/pipewire/server/node.c index 149368294..737d51b1b 100644 --- a/pipewire/server/node.c +++ b/pipewire/server/node.c @@ -294,7 +294,8 @@ static int do_pull(struct pw_node *this) if (res == SPA_RESULT_NEED_BUFFER) { res = do_pull(outport->node); pw_log_trace("node %p: pull return %d", outport->node, res); - } else if (res == SPA_RESULT_HAVE_BUFFER) { + } + if (res == SPA_RESULT_HAVE_BUFFER) { *pi = *po; pw_log_trace("node %p: have output %d %d", this, pi->status, pi->buffer_id); diff --git a/spa/plugins/audiomixer/audiomixer.c b/spa/plugins/audiomixer/audiomixer.c index 1cc96b7bc..0f32346b2 100644 --- a/spa/plugins/audiomixer/audiomixer.c +++ b/spa/plugins/audiomixer/audiomixer.c @@ -481,7 +481,7 @@ impl_node_port_use_buffers(struct spa_node *node, if (!((d[0].type == this->type.data.MemPtr || d[0].type == this->type.data.MemFd || d[0].type == this->type.data.DmaBuf) && d[0].data != NULL)) { - spa_log_error(this->log, "volume %p: invalid memory on buffer %p", this, + spa_log_error(this->log, NAME " %p: invalid memory on buffer %p", this, buffers[i]); return SPA_RESULT_ERROR; }