On Thu, 2018-01-04 at 20:54 +0100, Georg Chini wrote: > On 04.01.2018 14:35, Tanu Kaskinen wrote: > > On Thu, 2018-01-04 at 08:52 +0100, Georg Chini wrote: > > > On 03.01.2018 14:51, Tanu Kaskinen wrote: > > > > Your proposal sounds good, if I understand it correctly. I don't think > > > > module-rescue-streams needs or should be involved, however. > > > > > > Don't we still need module-rescue-stream when a non-default HDMI > > > sink is forcefully suspended? Or do you want to move the rescue > > > functionality to the core? > > > > I didn't think of this case. Moving rescuing to the core would make > > sense to me, but for now I think it's fine to handle this in module- > > rescue-streams. I think the rescue trigger should be a sink becoming > > unavailable rather than suspended, though. If we were to use suspending > > as the trigger, we'd anyway only do the move when the suspend cause is > > PA_SUSPEND_UNAVAILABLE, and I don't see why we shouldn't rescue streams > > that are left on unavailable sinks that are not suspended. > > > > I don't understand the argument. module-rescue-stream currently > rescues any stream if the underlying sink becomes unavailable, so > streams that are left on unavailable sinks that are not suspended > are already rescued. > > PA_SUSPEND_UNAVAILABLE would only be an additional trigger for > the case that the sink is not removed. Your current patches change > the state of the sink to unavailable without removing it. > > I do not want to rely on another module like switch-on-port-available > to remove the sink. I see three possible ways to ensure that the > streams are properly rescued: > > - Change your patches so that the sink will be removed instead of suspended. > - Or add PA_SUSPEND_UNAVAILABLE as additional trigger to > module-rescue-stream. > - Or let the core rescue the streams in the suspend case. My plan is to let the core rescue streams that are left on a sink whose active port becomes unavailable. It doesn't matter whether the sink suspends itself or not. -- Tanu https://liberapay.com/tanuk https://www.patreon.com/tanuk