On Wed, 2015-02-25 at 18:48 +0100, Georg Chini wrote: > On 25.02.2015 17:51, Tanu Kaskinen wrote: > > If there was the kind of function that you propose, would it return > > false in this scenario? If so, that would just make module-alsa-card.c > > kill the sink input, because it's not going to cancel the profile change > > just because some sink input refuses to be moved. > > > No, it would not return false in this situation, but I when you read > the description of the may_move_to() function it says: > > 1) this function is called before the sink input is moved away The documentation says "moved to a sink", not "moved away from a sink". So technically it's correct, but a note should indeed be added that the sink input may already have been detached from the old sink. > 2) if it returns false the move will not be allowed > > Both is wrong. During profile switching the sink is already invalid > when the function is called and the profile will be switched anyway, > regardless what the function returns. If the function returns false, moving won't be done, so I don't think the documentation has issues here. In case of a profile switch, the sink input will be killed. I wouldn't call that moving. > That's why I thought maybe there should be a function for which both > is true. But never mind - it was just a thought and I have worked around > the issue meanwhile. But maybe the description of the may_move_to() > function should be modified. Good that a solution was found already! -- Tanu