On 10/23/2012 08:01 AM, Mikel Astiz wrote: > Hi David, > > On Mon, Oct 22, 2012 at 6:10 PM, David Henningsson > <david.henningsson at canonical.com> wrote: >> On 10/22/2012 10:46 AM, Mikel Astiz wrote: >>> >>> From: Mikel Astiz <mikel.astiz at bmw-carit.de> >>> >>> Some cards might need to add profiles during their lifetime, that is, >>> after the card has been created. >> >> >> How are volume control UIs, other modules, etc made aware that the profiles >> or ports of a card has changed? > > I believe the D-Bus API as well as the subscription events would have > to be extended for this purpose, but I haven't addressed either of > these here. Any thoughts? Just that being able to change a card in ways that was not possible before, is something that require careful thought. Removal even more so; what if a volume control UI starts (that was built before we made this change), and suddenly a profile is removed, and then the user tries to select this profile? I'm also not sure if there are other parts of the PulseAudio core that needs to know if things like these change, do you know? I'm not opposed to the change, maybe it is inevitable - e g, the capabilities of HDMI sinks can also change during PulseAudio's life time, so that's another example of dynamic profiles. What I'm trying to say here is that: 1) This is a quite fundamental change of behaviour, have we thought this through thoroughly, with all the consequences not only for us but for our client software as well? and 2) I don't want to release with this being half-done; e g, if we add profiles without a subscription mechanism and then release, we might end up with volume control UIs polling us all the time to work around our own shortcomings. -- David Henningsson, Canonical Ltd. https://launchpad.net/~diwic