diff options
author | Wim Taymans <wtaymans@redhat.com> | 2019-08-06 17:07:21 +0200 |
---|---|---|
committer | Wim Taymans <wtaymans@redhat.com> | 2019-08-06 17:07:21 +0200 |
commit | ba118e26a36ccbcb675de32d557a3a42a86efc71 (patch) | |
tree | b98b786e61f18e4bb3245f3efd0ccfd5029185f2 /src/modules/module-client-node | |
parent | d98a6d22d5f5c58d647b054a2734c0ffa47fa267 (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')
-rw-r--r-- | src/modules/module-client-node/client-node.c | 4 |
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; } |