# The graph's clock, floored where the audio sender needs it. # # Inside a virtual machine, pipewire.conf raises the graph's minimum quantum to # 1024 frames (21.3 ms), because a VM's timers jitter and small quanta then # underrun on real audio hardware. A box is a VM, so that rule applies, and it # silently overrides neswire's request for its 5 ms packet size. Every sample # then waits for a 21 ms cycle before it can be encoded. # # The floor comes down to 256 frames (5.3 ms), the smallest power of two that # holds one of neswire's packets. It is not lower than that on purpose: nothing # here needs less, and the reason for the rule, a VM's timer driving the graph, # still holds, because the Dummy-Driver is exactly that. # # A drop-in appends to a rules array, and every matching rule applies in order, # so this one runs after the shipped one and wins. context.properties.rules = [ { matches = [ { cpu.vm.name = !null } ] actions = { update-props = { default.clock.min-quantum = 256 } } } ]