mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-04 13:30:12 -05:00
client-node: fix mem_offset of io areas
This commit is contained in:
parent
6d569b132f
commit
fb7a51c6e7
1 changed files with 5 additions and 2 deletions
|
|
@ -617,11 +617,12 @@ impl_node_port_set_io(struct spa_node *node,
|
|||
if ((mem = pw_memblock_find(data)) == NULL)
|
||||
return -EINVAL;
|
||||
|
||||
mem_offset = mem->offset;
|
||||
mem_offset = SPA_PTRDIFF(data, mem->ptr);
|
||||
mem_size = mem->size;
|
||||
if (mem_size - mem_offset < size)
|
||||
return -EINVAL;
|
||||
|
||||
mem_offset += mem->offset;
|
||||
m = ensure_mem(impl, mem->fd, t->data.MemFd, mem->flags);
|
||||
memid = m->id;
|
||||
}
|
||||
|
|
@ -965,7 +966,7 @@ client_node_done(void *data, int seq, int res)
|
|||
struct impl *impl = data;
|
||||
struct node *this = &impl->node;
|
||||
|
||||
if (seq == 0 && res == 0)
|
||||
if (seq == 0 && res == 0 && impl->transport == NULL)
|
||||
setup_transport(impl);
|
||||
|
||||
this->callbacks->done(this->callbacks_data, seq, res);
|
||||
|
|
@ -1144,6 +1145,8 @@ node_init(struct node *this,
|
|||
this->data_source.mask = SPA_IO_IN | SPA_IO_ERR | SPA_IO_HUP;
|
||||
this->data_source.rmask = 0;
|
||||
|
||||
this->seq = 1;
|
||||
|
||||
return SPA_RESULT_RETURN_ASYNC(this->seq++);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue