After the update to Kodi 19 on my Vero 4K+, optical audio output on my HDMI extractor stopped working. Could you help me understand how I can fix this issue?
Here’s my setup:
Vero 4k+ connected over HDMI to StarTech HDMI Audio Extractor
HDMI Extractor connected over HDMI to a beamer
HDMI Extractor connected over an optical cable (Toslink) to a soundbar (Samsung HW-A450)
With Kodi 18 every worked fine. Exactly after the update to Kodi 19, I get no audio over the optical cable.
I’ve tried the following:
Connecting the optical cable directly to Vero 4k+, audio works (i.e., the optical cable works)
Connecting the HDMI Extractor to Switch, audio works (i.e., the extractor still works).
Switching to different extractors: Delock HDMI Audio Extractor and Lindy Audio Extractor. Both suffered from the same issue (i.e., it shouldn’t be some special extractor incompatibility).
Turning the audio on the beamer, it works, so the HDMI does emit audio information.
Believing the manual this device supports “Supported play formats (DTS 2.0 sound is played in DTS format.) … LPCM 2ch, Dolby Audio™ (supporting Dolby® Digital), DTS”, only.
Only the Startech Audio extractor HD202A offers an SPDIF port and supports “SPDIF: PCM 2.0, Dolby Digital und DTS 5.1” by that.
Obviously several things should be corrected in your settings including @grahamh’s suggestion:
settings → player → adjust display refresh rate to always or start/stop (this should be set in any case!)
settings → system → audio → output device to AML-MESONAUDO, HDMI
settings → system → audio → number of channels to 2.0
settings → system → audio → enable Dolby Digital (AC3) transcoding to TRUE
settings → system → audio → Dolby Digital Plus (E-AC3) Receiver to FALSE
settings → system → audio → TrueHD capable receiver to FALSE
settings → system → audio → DTS-HD capable receiver to FALSE
We have had a look into the provided logs but do not see any issue, there. At timestamp “20:36:25” the Vero started to send 2 channel PCM 48kHz via hdmi since the Vero finds 2 channel audio AAC LC in the video source … all as configured and as expected.
settings → system → audio → keep audio device active to ALWAYS
settings → system → audio → send low volume noise to TRUE
Last question: Why you have to use this hdmi splitter at all? The output device is a beamer and the only function for this splitter is to provide an audio signal using S/PDIF … which you can get directly from the Vero itself. You mention in your opening post a “switch” … but it is not clear what you mean by that?
The two videos you tried have AAC audio. This is not a passthrough format so by default it’s decoded to PCM. But if multi-channel, it’s re-encoded to AC-3 (Dolby). The first video is ‘5.1’, although actually only 3 channels are used: CAESinkALSA::Initialize - Requested layout: FL, FR, LFE
That was Vero trying to send 3 channel PCM, which failed since S/PDIF is only two channels for PCM. The second video is 2.0 so is being sent as PCM.
Everything works as expected - I’m getting 2.0 PCM from AAC 2.0 with the settings @JimKnopf recommended. Note that the position of the EDID switch doesn’t matter as Vero doesn’t check the audio capabilities of the display/AVR.
What happens if you play a video with stereo PCM with passthrough turned off on Vero?
Yes, I’ve rechecked the connection and have tried all EDID modes. They didn’t work.
The “switch” in question is Nintendo Switch. I use a HDMI to splitter to channel audio from both devices using one audio cable (my speaker is far away from Vero and Switch). I can draw a diagram to explain if needed.
Yes. I didn’t mention the switch in my original post, because my intention was to create a minimal reproducible environment, i.e., I didn’t use the switch.