mirror of
https://gitlab.freedesktop.org/pipewire/pipewire
synced 2024-10-14 20:02:38 +00:00
impl-node: set_io on the port mixers
This commit is contained in:
parent
e9f4b55eb2
commit
cb716bcce7
|
@ -724,6 +724,7 @@ SPA_EXPORT
|
|||
int pw_impl_node_set_io(struct pw_impl_node *this, uint32_t id, void *data, size_t size)
|
||||
{
|
||||
int res;
|
||||
struct pw_impl_port *port;
|
||||
|
||||
res = spa_node_set_io(this->node, id, data, size);
|
||||
|
||||
|
@ -743,6 +744,11 @@ int pw_impl_node_set_io(struct pw_impl_node *this, uint32_t id, void *data, size
|
|||
this->driving = this->rt.clock && this->rt.position &&
|
||||
this->rt.position->clock.id == this->rt.clock->id;
|
||||
|
||||
spa_list_for_each(port, &this->input_ports, link)
|
||||
spa_node_set_io(port->mix, id, data, size);
|
||||
spa_list_for_each(port, &this->output_ports, link)
|
||||
spa_node_set_io(port->mix, id, data, size);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
|
|
@ -698,6 +698,12 @@ int pw_impl_port_set_mix(struct pw_impl_port *port, struct spa_node *node, uint3
|
|||
pw_direction_reverse(port->direction), 0,
|
||||
SPA_IO_Buffers,
|
||||
&port->rt.io, sizeof(port->rt.io));
|
||||
|
||||
if (port->node && port->node->rt.position)
|
||||
spa_node_set_io(port->mix,
|
||||
SPA_IO_Position,
|
||||
port->node->rt.position,
|
||||
sizeof(struct spa_io_position));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue