client-node: send the mix_info before Buffer IO

We don't always need to send buffers to a remote port, when the port
is an output port, all the mix ports use the same buffers. This means
that when we add another link to a port, we don't get the mix_info
anymore and then we don't know the peer_id and we don't complete the
link and we don't call the connection_callback.

Instead, send the mix_info right before sending the Buffer Io area. We
always do this for all mix io and after we have sent the buffers so this
is a better place.

Fixes #2841
This commit is contained in:
Wim Taymans 2022-11-20 19:24:01 +01:00
parent a0adb52124
commit 0918899bf8
2 changed files with 8 additions and 8 deletions

View file

@ -2484,7 +2484,7 @@ static int client_node_port_set_mix_info(void *data,
else
mix->peer_port = l->port_link.our_input;
pw_log_info("peer port %p %p %p", mix->peer_port,
pw_log_debug("peer port %p %p %p", mix->peer_port,
l->port_link.our_output, l->port_link.our_input);
if (!l->port_link.is_complete) {