mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-04 13:30:12 -05:00
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.
This commit is contained in:
parent
d98a6d22d5
commit
ba118e26a3
2 changed files with 26 additions and 31 deletions
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue