Skip to content

pulse-server: update all params only after enumeration complete

P V requested to merge pvir/pipewire:pulse-volume-fix into master

For params that don't emit change events, the param enumeration does not start core sync, and its enumeration may be incomplete if a previous core sync completes first.

Fix by always starting a core sync if we are updating params.

This fixes dev_info.active_port being sporadically SPA_ID_INVALID if there is event pressure, which causes do_set_volume randomly set the volume on the node instead of setting it on the device. This can be triggered e.g. by shaking the volume slider in Pavucontrol with mouse.

Merge request reports