Add OriginalLanguage as option to PreferredAudioLanguage (#12579)

* Add OriginalLanguage as option to PreferredAudioLanguage

* Support for multiple original languages

* Add original audio stream indicator

* Fetch OriginalLanguage from TMDB

* Adapt to EFCore refactor

* Fix PlayDefaultAudioTrack OriginalLanguage behavior

* Fix better PlayDefaultAudioTrack OriginalLanguage behavior

* Add comment to ItemFields

* Improved PlayDefaultAudioTrack behavior

* Add migration for original language

* Use sting.Equals for string comparisons

* Always set dto OriginalLanguage

* Remove OriginalLanguage from ItemFields

---------

Co-authored-by: Lampan-git <lampan-git@users.noreply.github.com>
This commit is contained in:
Erik W
2026-05-07 20:07:23 +02:00
committed by GitHub
parent d636b82e83
commit e1e18e8da0
24 changed files with 2238 additions and 137 deletions

View File

@@ -105,10 +105,12 @@ namespace Jellyfin.MediaEncoding.Tests.Probing
var audio1 = res.MediaStreams[1];
Assert.Equal("eac3", audio1.Codec);
Assert.True(audio1.IsOriginal);
Assert.Equal(AudioSpatialFormat.DolbyAtmos, audio1.AudioSpatialFormat);
var audio2 = res.MediaStreams[2];
Assert.Equal("dts", audio2.Codec);
Assert.False(audio2.IsOriginal);
Assert.Equal(AudioSpatialFormat.DTSX, audio2.AudioSpatialFormat);
Assert.Empty(res.Chapters);
@@ -156,6 +158,7 @@ namespace Jellyfin.MediaEncoding.Tests.Probing
Assert.Equal("aac", res.MediaStreams[1].Codec);
Assert.Equal(7, res.MediaStreams[1].Channels);
Assert.True(res.MediaStreams[1].IsDefault);
Assert.False(res.MediaStreams[1].IsOriginal);
Assert.Equal("eng", res.MediaStreams[1].Language);
Assert.Equal("Surround 6.1", res.MediaStreams[1].Title);