2017-12-28 18:09 GMT+08:00 Tanu Kaskinen <tanuk at iki.fi>: > The Intel HDMI LPE driver works in a peculiar way when the HDMI cable is > not plugged in: any written audio is immediately discarded and underrun > is reported. That resulted in an infinite loop, because PulseAudio tried > to keep the buffer filled, which was futile since the written audio was > immediately consumed/discarded. > > This patch adds special handling for the LPE driver: if the active port > of the sink is unavailable, the sink suspends itself. A new suspend > cause is added: PA_SUSPEND_UNAVAILABLE. I think this is not a complete fix. There was a case in the past where some other card started eating samples too quickly (some Radeon? unfortunately, can't find it now). While blacklisting one known bad driver helps, I think it would be better to detect the misbehavior at runtime, based on the number of samples written and the wall-clock time. If the card stalls or eats samples too quickly, set a flag that it misbehaves, accept the xrun, and then set it to off when convenient. Sorry, I have no time to help with the code :( -- Alexander E. Patrakov