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
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

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)
{