Improve display of "DTS:HD" and "DTS:HD MA" audio tracks (#1064)

<!-- By submitting this pull request, you acknowledge that you have read
the [contributing
guide](https://github.com/damontecres/Wholphin/blob/main/CONTRIBUTING.md,
including the AI/LLM policy, and [developer's
guide](https://github.com/damontecres/Wholphin/blob/main/DEVELOPMENT.md)
-->

## Description
The formatter for audio codecs did only match the profile of high
definition DTS streams against "DTS:HD" or "DTS:X". At least for DTS:HD
there are also cases where the profile contains "DTS-HD" with "-"
instead of ":".

Made the matcher more generic by allowing both "-"" or ":"" and also
checking if the profile contains "MA" for Master Audio tracks.

This will now correctly display the following high definition DTS types
in the UI:
- DTS:HD
- DTS:HD MA
- DTS:X

**Note:** This is my first public pull request ever, let me know if I
did it wrong :)

### Related issues
Relates to (but does not fix):
https://github.com/damontecres/Wholphin/issues/1057

### Testing
Tested on a Fire TV Cube Gen 3 with multiple files containing DTS HD
audio tracks.

---------

Co-authored-by: Damontecres <damontecres@gmail.com>
This commit is contained in:
Jannik Mahr 2026-03-11 04:44:44 +01:00 committed by GitHub
parent 0dca02b919
commit cca818fabb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 22 additions and 6 deletions

View file

@ -92,12 +92,13 @@ object StreamFormatting {
context.getString(R.string.dolby_atmos) context.getString(R.string.dolby_atmos)
} }
profile?.contains("DTS:X", true) == true -> { profile?.contains("DTS", true) == true -> {
context.getString(R.string.dts_x) when {
} profile.contains("X", true) -> context.getString(R.string.dts_x)
profile.contains("MA", true) -> context.getString(R.string.dts_hd_ma)
profile?.contains("DTS:HD", true) == true -> { profile.contains("HD", true) -> context.getString(R.string.dts_hd)
context.getString(R.string.dts_hd) else -> context.getString(R.string.dts)
}
} }
else -> { else -> {

View file

@ -401,6 +401,7 @@
<string name="clear_track_choices">Vyčistit výběr skladeb</string> <string name="clear_track_choices">Vyčistit výběr skladeb</string>
<string name="dts_x">DTS:X</string> <string name="dts_x">DTS:X</string>
<string name="dts_hd">DTS:HD</string> <string name="dts_hd">DTS:HD</string>
<string name="dts_hd_ma">DTS:HD MA</string>
<string name="truehd">True HD</string> <string name="truehd">True HD</string>
<string name="dolby_digital">DD</string> <string name="dolby_digital">DD</string>
<string name="dolby_digital_plus">DD+</string> <string name="dolby_digital_plus">DD+</string>

View file

@ -397,6 +397,7 @@
<string name="clear_track_choices">Ryd valg af spor</string> <string name="clear_track_choices">Ryd valg af spor</string>
<string name="dts_x">DTS:X</string> <string name="dts_x">DTS:X</string>
<string name="dts_hd">DTS:HD</string> <string name="dts_hd">DTS:HD</string>
<string name="dts_hd_ma">DTS:HD MA</string>
<string name="truehd">TrueHD</string> <string name="truehd">TrueHD</string>
<string name="dolby_digital">DD</string> <string name="dolby_digital">DD</string>
<string name="dolby_digital_plus">DD+</string> <string name="dolby_digital_plus">DD+</string>

View file

@ -365,6 +365,7 @@
<string name="request_4k">In 4K anfragen</string> <string name="request_4k">In 4K anfragen</string>
<string name="dts_x">DTS:X</string> <string name="dts_x">DTS:X</string>
<string name="dts_hd">DTS:HD</string> <string name="dts_hd">DTS:HD</string>
<string name="dts_hd_ma">DTS:HD MA</string>
<string name="truehd">TrueHD</string> <string name="truehd">TrueHD</string>
<string name="dolby_digital">DD</string> <string name="dolby_digital">DD</string>
<string name="dolby_digital_plus">DD+</string> <string name="dolby_digital_plus">DD+</string>

View file

@ -401,6 +401,7 @@
<string name="clear_track_choices">Opciones de pista claras</string> <string name="clear_track_choices">Opciones de pista claras</string>
<string name="dts_x">DTS:X</string> <string name="dts_x">DTS:X</string>
<string name="dts_hd">DTS:HD</string> <string name="dts_hd">DTS:HD</string>
<string name="dts_hd_ma">DTS:HD MA</string>
<string name="truehd">TrueHD</string> <string name="truehd">TrueHD</string>
<string name="dolby_digital">DD</string> <string name="dolby_digital">DD</string>
<string name="dolby_digital_plus">DD+</string> <string name="dolby_digital_plus">DD+</string>

View file

@ -367,6 +367,7 @@
<string name="only_forced_subtitles">Vaid sundkorras kuvatud subtiitrid</string> <string name="only_forced_subtitles">Vaid sundkorras kuvatud subtiitrid</string>
<string name="dts_x">DTS:X</string> <string name="dts_x">DTS:X</string>
<string name="dts_hd">DTS:HD</string> <string name="dts_hd">DTS:HD</string>
<string name="dts_hd_ma">DTS:HD MA</string>
<string name="truehd">TrueHD</string> <string name="truehd">TrueHD</string>
<string name="dolby_digital">DD</string> <string name="dolby_digital">DD</string>
<string name="dolby_digital_plus">DD+</string> <string name="dolby_digital_plus">DD+</string>

View file

@ -382,6 +382,7 @@
<string name="no_trailers">Pas de bandes-annonces</string> <string name="no_trailers">Pas de bandes-annonces</string>
<string name="dts_x">DTS:X</string> <string name="dts_x">DTS:X</string>
<string name="dts_hd">DTS:HD</string> <string name="dts_hd">DTS:HD</string>
<string name="dts_hd_ma">DTS:HD MA</string>
<string name="truehd">TrueHD</string> <string name="truehd">TrueHD</string>
<string name="dolby_digital">DD</string> <string name="dolby_digital">DD</string>
<string name="dolby_digital_plus">DD+</string> <string name="dolby_digital_plus">DD+</string>

View file

@ -369,6 +369,7 @@
<string name="clear_track_choices">Hapus pilihan trek</string> <string name="clear_track_choices">Hapus pilihan trek</string>
<string name="dts_x">DTS:X</string> <string name="dts_x">DTS:X</string>
<string name="dts_hd">DTS:HD</string> <string name="dts_hd">DTS:HD</string>
<string name="dts_hd_ma">DTS:HD MA</string>
<string name="truehd">TrueHD</string> <string name="truehd">TrueHD</string>
<string name="dolby_digital">DD</string> <string name="dolby_digital">DD</string>
<string name="dolby_digital_plus">DD+</string> <string name="dolby_digital_plus">DD+</string>

View file

@ -383,6 +383,7 @@
<string name="only_forced_subtitles">Solo sottotitoli forzati</string> <string name="only_forced_subtitles">Solo sottotitoli forzati</string>
<string name="dts_x">DTS:X</string> <string name="dts_x">DTS:X</string>
<string name="dts_hd">DTS:HD</string> <string name="dts_hd">DTS:HD</string>
<string name="dts_hd_ma">DTS:HD MA</string>
<string name="truehd">TrueHD</string> <string name="truehd">TrueHD</string>
<string name="dolby_digital">DD</string> <string name="dolby_digital">DD</string>
<string name="dolby_digital_plus">DD+</string> <string name="dolby_digital_plus">DD+</string>

View file

@ -405,6 +405,7 @@
<string name="clear_track_choices">Limpar escolhas de faixas</string> <string name="clear_track_choices">Limpar escolhas de faixas</string>
<string name="dts_x">DTS:X</string> <string name="dts_x">DTS:X</string>
<string name="dts_hd">DTS:HD</string> <string name="dts_hd">DTS:HD</string>
<string name="dts_hd_ma">DTS:HD MA</string>
<string name="truehd">TrueHD</string> <string name="truehd">TrueHD</string>
<string name="dolby_digital">DD</string> <string name="dolby_digital">DD</string>
<string name="dolby_digital_plus">DD+</string> <string name="dolby_digital_plus">DD+</string>

View file

@ -382,6 +382,7 @@
<string name="clear_track_choices">Apagar seleções de faixas</string> <string name="clear_track_choices">Apagar seleções de faixas</string>
<string name="dts_x">DTS:X</string> <string name="dts_x">DTS:X</string>
<string name="dts_hd">DTS:HD</string> <string name="dts_hd">DTS:HD</string>
<string name="dts_hd_ma">DTS:HD MA</string>
<string name="truehd">TrueHD</string> <string name="truehd">TrueHD</string>
<string name="dolby_digital">DD</string> <string name="dolby_digital">DD</string>
<string name="dolby_digital_plus">DD+</string> <string name="dolby_digital_plus">DD+</string>

View file

@ -394,6 +394,7 @@
<string name="clear_track_choices">Parça seçimlerini temizle</string> <string name="clear_track_choices">Parça seçimlerini temizle</string>
<string name="dts_x">DTS:X</string> <string name="dts_x">DTS:X</string>
<string name="dts_hd">DTS:HD</string> <string name="dts_hd">DTS:HD</string>
<string name="dts_hd_ma">DTS:HD MA</string>
<string name="truehd">TrueHD</string> <string name="truehd">TrueHD</string>
<string name="dolby_digital">DD</string> <string name="dolby_digital">DD</string>
<string name="dolby_digital_plus">DD+</string> <string name="dolby_digital_plus">DD+</string>

View file

@ -432,6 +432,7 @@
<string name="clear_track_choices">Чіткий вибір доріжки</string> <string name="clear_track_choices">Чіткий вибір доріжки</string>
<string name="dts_x">DTS:X</string> <string name="dts_x">DTS:X</string>
<string name="dts_hd">DTS:HD</string> <string name="dts_hd">DTS:HD</string>
<string name="dts_hd_ma">DTS:HD MA</string>
<string name="truehd">TrueHD</string> <string name="truehd">TrueHD</string>
<string name="dolby_digital">DD</string> <string name="dolby_digital">DD</string>
<string name="dolby_digital_plus">DD+</string> <string name="dolby_digital_plus">DD+</string>

View file

@ -351,6 +351,7 @@
<string name="only_forced_subtitles">仅强制字幕</string> <string name="only_forced_subtitles">仅强制字幕</string>
<string name="dts_x">DTS:X</string> <string name="dts_x">DTS:X</string>
<string name="dts_hd">DTS:HD</string> <string name="dts_hd">DTS:HD</string>
<string name="dts_hd_ma">DTS:HD MA</string>
<string name="truehd">TrueHD</string> <string name="truehd">TrueHD</string>
<string name="dolby_digital">DD</string> <string name="dolby_digital">DD</string>
<string name="dolby_digital_plus">DD+</string> <string name="dolby_digital_plus">DD+</string>

View file

@ -349,6 +349,7 @@
<string name="no_trailers">無預告片</string> <string name="no_trailers">無預告片</string>
<string name="dts_x">DTS:X</string> <string name="dts_x">DTS:X</string>
<string name="dts_hd">DTS:HD</string> <string name="dts_hd">DTS:HD</string>
<string name="dts_hd_ma">DTS:HD MA</string>
<string name="truehd">TrueHD</string> <string name="truehd">TrueHD</string>
<string name="dolby_digital">DD</string> <string name="dolby_digital">DD</string>
<string name="dolby_digital_plus">DD+</string> <string name="dolby_digital_plus">DD+</string>

View file

@ -451,6 +451,7 @@
<string name="clear_track_choices">Clear track choices</string> <string name="clear_track_choices">Clear track choices</string>
<string name="dts_x">DTS:X</string> <string name="dts_x">DTS:X</string>
<string name="dts_hd">DTS:HD</string> <string name="dts_hd">DTS:HD</string>
<string name="dts_hd_ma">DTS:HD MA</string>
<string name="truehd">TrueHD</string> <string name="truehd">TrueHD</string>
<string name="dolby_digital">DD</string> <string name="dolby_digital">DD</string>
<string name="dolby_digital_plus">DD+</string> <string name="dolby_digital_plus">DD+</string>