DTS Passthrough problems

I just got a new TV (TCL 55" Roku TV). I’m using Passthrough via Toslink to my old (15 years or so) Yamaha receiver that supports PCM, DD (AC3) and DTS. The TV also appears to support DTS.

But I’ve had odd problems with DTS playback. If I play an AC3 movie, and then a DTS movie, I get no sound. (Amp shows that it’s getting PCM). If the movie has additional tracks, switching to another track (either AC3 or a foreign language DTS track) then the sound comes back. Then I can switch the track back to DTS, and it works fine. The amp at this time shows DTS. I can then play other DTS movies with no problem.

I checked tvservice -a and it shows that only PCM and AC3 are supported. I added hdmi_force_edid_audio=1 to my config.txt and that seemed to improve things, I can now switch from an AC3 movie to a DTS movie and the sound works. But if I play music (mp3 or FLAC) then I lose DTS again.

I think the ultimate solution would be to create a custom EDID file that adds DTS support, but I haven’t been able to figure out a way to do this. (I’ve seen EDID editors, but they are all for Windows and I have no windows systems, only linux)

I do have the options in the TV setup for passthrough to tell it that the amp supports AC3, DTS and PCM. OSMC is also configured to know that it’s AC3 and DTS compatible.

Eventually I’d like to replace the old amp with a modern one with HDMI support, but that’s in the future (unless someone would like to send me one as a Christmas present :wink:)

Bumping this one, it’s been 20 days with no ideas?

Isn’t there any way that I can create a custom EDID file that forces OSMC to think that the TV supports DTS?

I’ve played with this some more, and the only thing that works the most reliable is to have force_audio=1 set. With that turned off, DTS rarely works. With it on, DTS mostly works. (That’s when switching from a PCM source. DTS always works when switching from a DD AC3 source)

If you set DTS to passthrough … it will passthrough … if you get no sound, then your TV doesn’t decode it properly

DTS is set to passthrough. And it does, as long as the previous movie was AC3 or DTS. If the last thing played was PCM (mp3 etc) then it stops working. If force_audio is off, DTS is very unreliable as to when it will work. If force_audio is on, DTS is more stable, but still not perfect. That’s why I’d like to be able to create a EDID file that correctly identifies that the TV can support.

Forget about the EDID. Kodi ignores the EDID. hdmi_force_edid_audio has no effect on kodi.

Does it behave any differently when you enable/disable omxplayer in video/acceleration settings?

I haven’t tried disabling OMXplayer, I’ll give that a go and let you know.

Disabling OMXplayer totally breaks DTS. No sound at all for DTS tracks, even after switching from AC-3 back to DTS (which works with OMXplayer)

Try:
disable omxplayer
number of channels 2.0
enable AC3 passthrough
disable DTS passthough
enable AC3 trancode

Thank you popcornmix, that works (The amp now shows DD instead of DTS).

Won’t I lose some sound quality by transcoding the DTS to DD? And how about processor usage, won’t that go up by having to transcode DTS to DD? (Looking at it with htop it seems higher than normal, but since I’ve never had real problems in the past I haven’t really paid much attention to processor usage)

So far, early testing (Playing 1080p Jurassic World ripped directly from BluRay using MakeMKV) is going good. I’ll need to play around some more to be sure.

Thank you for the help!

While transcode requires some extra CPU it is not a problem on Pi2.
It is commonly used by users who connect from TV to AVR by optical, as DTS is frequently not supported.
There is a theoretical loss of quality, but I doubt most users will notice the difference.