mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-05-31 20:24:21 -04:00
Fix Blu-ray metadata processing: preserve external streams and language metadata (#14077)
This commit is contained in:
parent
140de04f94
commit
6c57ad4772
@ -322,16 +322,19 @@ namespace MediaBrowser.Providers.MediaInfo
|
|||||||
|
|
||||||
private void FetchBdInfo(Video video, ref ChapterInfo[] chapters, List<MediaStream> mediaStreams, BlurayDiscInfo blurayInfo)
|
private void FetchBdInfo(Video video, ref ChapterInfo[] chapters, List<MediaStream> mediaStreams, BlurayDiscInfo blurayInfo)
|
||||||
{
|
{
|
||||||
if (blurayInfo.Files.Length <= 1)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var ffmpegVideoStream = mediaStreams.FirstOrDefault(s => s.Type == MediaStreamType.Video);
|
var ffmpegVideoStream = mediaStreams.FirstOrDefault(s => s.Type == MediaStreamType.Video);
|
||||||
|
var externalStreams = mediaStreams.Where(s => s.IsExternal).ToList();
|
||||||
|
|
||||||
// Fill video properties from the BDInfo result
|
// Fill video properties from the BDInfo result
|
||||||
mediaStreams.Clear();
|
mediaStreams.Clear();
|
||||||
mediaStreams.AddRange(blurayInfo.MediaStreams);
|
|
||||||
|
// Rebuild the list with external streams first
|
||||||
|
int index = 0;
|
||||||
|
foreach (var stream in externalStreams.Concat(blurayInfo.MediaStreams))
|
||||||
|
{
|
||||||
|
stream.Index = index++;
|
||||||
|
mediaStreams.Add(stream);
|
||||||
|
}
|
||||||
|
|
||||||
if (blurayInfo.RunTimeTicks.HasValue && blurayInfo.RunTimeTicks.Value > 0)
|
if (blurayInfo.RunTimeTicks.HasValue && blurayInfo.RunTimeTicks.Value > 0)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user