diff -rupN a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp --- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp 2019-01-28 19:02:31.000000000 +0100 +++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp 2019-02-15 22:20:14.000000000 +0100 @@ -1329,6 +1329,10 @@ void CAESinkALSA::EnumerateDevice(AEDevi if (snd_card_get_name(cardNr, &cardName) == 0) info.m_displayName = cardName; + /* hifiberry digi doesn't correctly report as iec958 device. Needs fixing in kernel driver */ + if (info.m_displayName == "snd_rpi_hifiberry_digi") + info.m_deviceType = AE_DEVTYPE_IEC958; + if (info.m_deviceType == AE_DEVTYPE_HDMI && info.m_displayName.size() > 5 && info.m_displayName.substr(info.m_displayName.size()-5) == " HDMI") {