2024-03-26, 12:53 AM
Kodi is kind of a pain. It all worked until I loaded a Skin that ate it up. And I never found anything that really just worked without putting a lot of stuff on the Shield that wasn't needed. I really prefer the Jellyfin Android TV app.
That being said, I'm pretty sure this all comes down to the fact that ffmpeg does not identify dts-hd ma differently than dts. For instance, from ffprobe: Stream #0:1(eng): Audio: dts (DTS-HD MA)
From the log, being passed to the client, we have: AudioCodec=dts&AudioStreamIndex=1 which maps to the dts mimeType in the player and so we get DTS output. However, if JellyFin could tell the client the audio is dts-hd, then we could code the client to map the ffmpeg codec name, perhaps the non-existant dts-hd codec name, to a mimeType for DTS-HD on the Android. Such a mimeType does exist.
public static final String AUDIO_DTS_HD = "audio/vnd.dts.hd"
from https://developer.android.com/reference/...O_DTS_HD()
So, I guess the first step is to communicate with the ffmpeg developers? ffmpeg can certainly tell it has DTS-HD stream, it just doesn't communicate this in a way we can use it in the client. In my opinion, given that I have zero experience working in this environment, but 40 years of working in many other environments. Maybe this isn't even remotely new information, but I've not seen it and I have been looking.
Mike
That being said, I'm pretty sure this all comes down to the fact that ffmpeg does not identify dts-hd ma differently than dts. For instance, from ffprobe: Stream #0:1(eng): Audio: dts (DTS-HD MA)
From the log, being passed to the client, we have: AudioCodec=dts&AudioStreamIndex=1 which maps to the dts mimeType in the player and so we get DTS output. However, if JellyFin could tell the client the audio is dts-hd, then we could code the client to map the ffmpeg codec name, perhaps the non-existant dts-hd codec name, to a mimeType for DTS-HD on the Android. Such a mimeType does exist.
public static final String AUDIO_DTS_HD = "audio/vnd.dts.hd"
from https://developer.android.com/reference/...O_DTS_HD()
So, I guess the first step is to communicate with the ffmpeg developers? ffmpeg can certainly tell it has DTS-HD stream, it just doesn't communicate this in a way we can use it in the client. In my opinion, given that I have zero experience working in this environment, but 40 years of working in many other environments. Maybe this isn't even remotely new information, but I've not seen it and I have been looking.
Mike