node: add flags to port_use_buffer

Remove the CAN_USE_BUFFERS flag, it is redundant. We can know this
because of the IO params and buffer params.

Add flags to the port_use_buffer call. We also want this call to
replace port_alloc_buffer. Together with a new result event we can
ask the node to (a)synchronously fill up the buffer data for us. This
is part of a plan to let remote nodes provide buffer data.
This commit is contained in:
Wim Taymans 2019-07-25 13:19:39 +02:00
parent b314547702
commit 8590ac158b
33 changed files with 153 additions and 122 deletions

View file

@ -652,7 +652,7 @@ static int negotiate_buffers(struct impl *this)
}
else {
if ((res = spa_node_port_use_buffers(this->convert,
SPA_DIRECTION_REVERSE(this->direction), 0,
SPA_DIRECTION_REVERSE(this->direction), 0, 0,
this->buffers, this->n_buffers)) < 0)
return res;
}
@ -665,7 +665,7 @@ static int negotiate_buffers(struct impl *this)
}
}
else {
if ((res = spa_node_port_use_buffers(this->slave,
if ((res = spa_node_port_use_buffers(this->slave, 0,
this->direction, 0,
this->buffers, this->n_buffers)) < 0) {
return res;
@ -733,6 +733,7 @@ static int
impl_node_port_use_buffers(void *object,
enum spa_direction direction,
uint32_t port_id,
uint32_t flags,
struct spa_buffer **buffers,
uint32_t n_buffers)
{
@ -745,7 +746,7 @@ impl_node_port_use_buffers(void *object,
port_id++;
if ((res = spa_node_port_use_buffers(this->target,
direction, port_id, buffers, n_buffers)) < 0)
direction, port_id, flags, buffers, n_buffers)) < 0)
return res;