Fix Blu-ray metadata processing: preserve external streams and language metadata (#14077)

This commit is contained in:
theguymadmax
2025-05-09 14:35:54 +00:00
committed by GitHub
parent 140de04f94
commit 6c57ad4772

View File

@@ -322,16 +322,19 @@ namespace MediaBrowser.Providers.MediaInfo
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 externalStreams = mediaStreams.Where(s => s.IsExternal).ToList();
// Fill video properties from the BDInfo result
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)
{