1
0
Fork 0
forked from wry/wry

pipewire: updates buffer metadata in correct order

This commit is contained in:
Julian Orth 2024-05-20 14:07:41 +02:00
parent 3c61dd5fd4
commit b3931999f4
2 changed files with 46 additions and 47 deletions

View file

@ -120,7 +120,7 @@ pub struct PwClientNodePort {
pub buffer_config: Cell<Option<PwClientNodeBufferConfig>>,
pub io_buffers: CopyHashMap<u32, Rc<PwMemTyped<spa_io_buffers>>>,
pub io_buffers: CloneCell<Option<Rc<PwMemTyped<spa_io_buffers>>>>,
pub serial: Cell<bool>,
}
@ -705,12 +705,12 @@ impl PwClientNode {
let size = p2.read_uint()?;
let port = self.get_port(direction, port_id)?;
match id {
SPA_IO_Buffers => {
SPA_IO_Buffers if mix_id == 0 => {
if mem_id == !0 {
port.io_buffers.remove(&mix_id);
port.io_buffers.take();
} else {
port.io_buffers
.set(mix_id, self.con.mem.map(mem_id, offset, size)?.typed());
.set(Some(self.con.mem.map(mem_id, offset, size)?.typed()));
}
}
_ => {}