Hi folks, Following from the discussion on flat volumes, here's a patch series to enable a stream volume API. The API itself makes sense from a client perspective independent of the flat volume discussion. One thing worth noting is that I've got a single callback for notifications of both volume and mute settings. My thinking was that while this makes the API not quite as symmetric as it could be, from a client perspective, this is likely more sensible. I'm open to being persuaded otherwise, though. :) I did try to implement a fallback mechanism to allow all of this to work without protocol changes, using the subscribe API. This turned out to be hairier than expected since we'd have to do a bunch of extra bookkeeping to ensure callback order is kept the same as the newer API across multiple concurrent async calls. The fallback mechanism can be revisited if we want to, independently of this patch set (the tests make it easy to verify basic functionality). Cheers, Arun