mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-03 09:01:54 -05:00
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
This commit is contained in:
parent
1feec309ec
commit
4433203d5f
4 changed files with 8 additions and 4 deletions
|
|
@ -146,6 +146,7 @@ int pw_memblock_alloc(enum pw_memblock_flags flags, size_t size, struct pw_membl
|
||||||
mem->offset = 0;
|
mem->offset = 0;
|
||||||
mem->flags = flags;
|
mem->flags = flags;
|
||||||
mem->size = size;
|
mem->size = size;
|
||||||
|
mem->ptr = NULL;
|
||||||
|
|
||||||
use_fd = ! !(flags & (PW_MEMBLOCK_FLAG_MAP_TWICE | PW_MEMBLOCK_FLAG_WITH_FD));
|
use_fd = ! !(flags & (PW_MEMBLOCK_FLAG_MAP_TWICE | PW_MEMBLOCK_FLAG_WITH_FD));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -516,6 +516,8 @@ static int do_allocation(struct pw_link *this, uint32_t in_state, uint32_t out_s
|
||||||
max_buffers);
|
max_buffers);
|
||||||
minsize = SPA_MAX(minsize, qminsize);
|
minsize = SPA_MAX(minsize, qminsize);
|
||||||
stride = SPA_MAX(stride, qstride);
|
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,
|
1,
|
||||||
data_sizes, data_strides, &impl->buffer_mem);
|
data_sizes, data_strides, &impl->buffer_mem);
|
||||||
|
|
||||||
pw_log_debug("allocating %d input buffers %p", impl->n_buffers,
|
pw_log_debug("allocating %d input buffers %p %zd %zd", impl->n_buffers,
|
||||||
impl->buffers);
|
impl->buffers, minsize, stride);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (out_flags & SPA_PORT_INFO_FLAG_CAN_ALLOC_BUFFERS) {
|
if (out_flags & SPA_PORT_INFO_FLAG_CAN_ALLOC_BUFFERS) {
|
||||||
|
|
|
||||||
|
|
@ -294,7 +294,8 @@ static int do_pull(struct pw_node *this)
|
||||||
if (res == SPA_RESULT_NEED_BUFFER) {
|
if (res == SPA_RESULT_NEED_BUFFER) {
|
||||||
res = do_pull(outport->node);
|
res = do_pull(outport->node);
|
||||||
pw_log_trace("node %p: pull return %d", outport->node, res);
|
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;
|
*pi = *po;
|
||||||
pw_log_trace("node %p: have output %d %d", this, pi->status,
|
pw_log_trace("node %p: have output %d %d", this, pi->status,
|
||||||
pi->buffer_id);
|
pi->buffer_id);
|
||||||
|
|
|
||||||
|
|
@ -481,7 +481,7 @@ impl_node_port_use_buffers(struct spa_node *node,
|
||||||
if (!((d[0].type == this->type.data.MemPtr ||
|
if (!((d[0].type == this->type.data.MemPtr ||
|
||||||
d[0].type == this->type.data.MemFd ||
|
d[0].type == this->type.data.MemFd ||
|
||||||
d[0].type == this->type.data.DmaBuf) && d[0].data != NULL)) {
|
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]);
|
buffers[i]);
|
||||||
return SPA_RESULT_ERROR;
|
return SPA_RESULT_ERROR;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue