This is a second version of my previous set of patches posted the other day regarding reinitiasing the sink/source's flags when changing port. As changing port can trigger a change from h/w volumes to software volumes the flags PA_SINK_HW_VOLUME_CTRL, PA_SINK_HW_MUTE_CTRL, PA_SINK_SYNC_VOLUME and PA_SINK_FLAT_VOLUME (and the PA_SOURCE_ equivs) can change at runtime. In the previous patch I dropped these flags and changed them to properties, but after discussions, we've just decided to say that these flags are 'dynamic' and can thus change at runtime. This is now clearly documented and we will send out a 'change' event if they do change at runtime so clients can know about this. Most of the other changes are the same as before, (but slightly modified to fit in with this change), or just small extensions thereof. The final two patches are an attempt to fix a problem of volumes not being pushed to ALSA on startup and on port changes. These are still WIP, but if wants to have a think about the real problems involved here I'd really appreciate it as the whole SYNC volume stuff is a bit hard to get your head around! Cheers Col