summaryrefslogtreecommitdiff
path: root/src/modules/module-client-node/client-node.c
diff options
context:
space:
mode:
authorWim Taymans <wtaymans@redhat.com>2019-08-06 17:07:21 +0200
committerWim Taymans <wtaymans@redhat.com>2019-08-06 17:07:21 +0200
commitba118e26a36ccbcb675de32d557a3a42a86efc71 (patch)
treeb98b786e61f18e4bb3245f3efd0ccfd5029185f2 /src/modules/module-client-node/client-node.c
parentd98a6d22d5f5c58d647b054a2734c0ffa47fa267 (diff)
link: improve buffer negotiation
Don't free the buffers when the mix is released, this will happen when nothing is using them anymore with port_use_buffers later. Mark a mixer as having buffers when the output port has buffers. Don't set buffers on a mixer port that already has buffers.
Diffstat (limited to 'src/modules/module-client-node/client-node.c')
-rw-r--r--src/modules/module-client-node/client-node.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/modules/module-client-node/client-node.c b/src/modules/module-client-node/client-node.c
index 2f2f2bc8..ddfd2fd6 100644
--- a/src/modules/module-client-node/client-node.c
+++ b/src/modules/module-client-node/client-node.c
@@ -1319,7 +1319,6 @@ static int port_release_mix(void *data, struct pw_port_mix *mix)
{
struct port *port = data;
struct impl *impl = port->impl;
- struct node *this = &impl->node;
struct mix *m;
pw_log_debug(NAME " %p: remove mix io %d %p %p", impl, mix->id, mix->io,
@@ -1329,7 +1328,8 @@ static int port_release_mix(void *data, struct pw_port_mix *mix)
return -EINVAL;
pw_map_remove(&impl->io_map, mix->id);
- mix_clear(this, m);
+ m->valid = false;
+
return 0;
}