Browse Source

Use ICollection for candidateAudioStreams

Maxr1998 2 years ago
parent
commit
23100c9b86
1 changed files with 4 additions and 6 deletions
  1. 4 6
      MediaBrowser.Model/Dlna/StreamBuilder.cs

+ 4 - 6
MediaBrowser.Model/Dlna/StreamBuilder.cs

@@ -589,21 +589,19 @@ namespace MediaBrowser.Model.Dlna
             }
             }
 
 
             // Collect candidate audio streams
             // Collect candidate audio streams
-            IEnumerable<MediaStream> candidateAudioStreams = audioStream == null ? Array.Empty<MediaStream>() : new[] { audioStream };
+            ICollection<MediaStream> candidateAudioStreams = audioStream == null ? Array.Empty<MediaStream>() : new[] { audioStream };
             if (!options.AudioStreamIndex.HasValue || options.AudioStreamIndex < 0)
             if (!options.AudioStreamIndex.HasValue || options.AudioStreamIndex < 0)
             {
             {
                 if (audioStream?.IsDefault == true)
                 if (audioStream?.IsDefault == true)
                 {
                 {
-                    candidateAudioStreams = item.MediaStreams.Where(stream => stream.Type == MediaStreamType.Audio && stream.IsDefault);
+                    candidateAudioStreams = item.MediaStreams.Where(stream => stream.Type == MediaStreamType.Audio && stream.IsDefault).ToArray();
                 }
                 }
                 else
                 else
                 {
                 {
-                    candidateAudioStreams = item.MediaStreams.Where(stream => stream.Type == MediaStreamType.Audio && stream.Language == audioStream?.Language);
+                    candidateAudioStreams = item.MediaStreams.Where(stream => stream.Type == MediaStreamType.Audio && stream.Language == audioStream?.Language).ToArray();
                 }
                 }
             }
             }
 
 
-            candidateAudioStreams = candidateAudioStreams.ToArray();
-
             var videoStream = item.VideoStream;
             var videoStream = item.VideoStream;
 
 
             var directPlayBitrateEligibility = IsBitrateEligibleForDirectPlayback(item, options.GetMaxBitrate(false) ?? 0, options, PlayMethod.DirectPlay);
             var directPlayBitrateEligibility = IsBitrateEligibleForDirectPlayback(item, options.GetMaxBitrate(false) ?? 0, options, PlayMethod.DirectPlay);
@@ -1059,7 +1057,7 @@ namespace MediaBrowser.Model.Dlna
             MediaSourceInfo mediaSource,
             MediaSourceInfo mediaSource,
             MediaStream videoStream,
             MediaStream videoStream,
             MediaStream audioStream,
             MediaStream audioStream,
-            IEnumerable<MediaStream> candidateAudioStreams,
+            ICollection<MediaStream> candidateAudioStreams,
             MediaStream subtitleStream,
             MediaStream subtitleStream,
             bool isEligibleForDirectPlay,
             bool isEligibleForDirectPlay,
             bool isEligibleForDirectStream)
             bool isEligibleForDirectStream)