On Mon, Jan 31, 2011 at 1:45 PM, Colin Guthrie <gmane at colin.guthr.ie> wrote: > ... Thanks a lot for the explanation! >> I am asking these, because I've managed to make an app restore the >> volume properly using ext-stream-restore.h, but when I turn the flat >> volume on, behaviour is counter-intuitive to say at least. > > Can you elaborate on this a little? When you say "you've manage to make > an app restore the volume properly using ext-stream-restore.h" what do > you mean? Do you mean you are making an editor for the stream restore > database or are you just meaning that you have an audio producing app > and you are manually using ext-stream-restore.h to get it's saved volume > and are doing something with it manually to set it's own volume? > > If the latter, don't do that, the server handles all that for you > automatically. If the former then cool. I have an audio player, and I want it to a) save/restore the volume on shutdown/startup b) be able to show the "future" volume and modify it after the startup, but before the playback b) is a problem: I either have to have stream open all the time (but I can't do that since I do not know the sample format before the start of the playback, so I can't create a stream beforehand), or to manually read/write the m-s-r database. It seems that, unfortunately, it is almost impossible to make such a basic functionality work with PA, if using flat volumes. Because when using m-s-r database + flat volumes, although the "real volume" remains the same after the restart, e.g. displayed volume is wrong. Here's an example: (app | system) 60% | 100% [decrease the system volume] 31% | ~50% [restart the app, do not start the playback] 60% | ~50% (60% is more or less what is in the m-s-r database I assume) [start the playback] 31% | ~50% (finally, displayed volume is correct) ? ? ? ? ? ? ? ? Gregory