| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | 
							- using MediaBrowser.Model.MediaInfo;
 
- using MediaBrowser.Model.Session;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- namespace MediaBrowser.Model.Dlna
 
- {
 
-     public class StreamInfoSorter
 
-     {
 
-         public static List<StreamInfo> SortMediaSources(List<StreamInfo> streams)
 
-         {
 
-             return streams.OrderBy(i =>
 
-             {
 
-                 // Nothing beats direct playing a file
 
-                 if (i.PlayMethod == PlayMethod.DirectPlay && i.MediaSource.Protocol == MediaProtocol.File)
 
-                 {
 
-                     return 0;
 
-                 }
 
-                 return 1;
 
-             }).ThenBy(i =>
 
-             {
 
-                 switch (i.PlayMethod)
 
-                 {
 
-                     // Let's assume direct streaming a file is just as desirable as direct playing a remote url
 
-                     case PlayMethod.DirectStream:
 
-                     case PlayMethod.DirectPlay:
 
-                         return 0;
 
-                     default:
 
-                         return 1;
 
-                 }
 
-             }).ThenBy(i =>
 
-             {
 
-                 switch (i.MediaSource.Protocol)
 
-                 {
 
-                     case MediaProtocol.File:
 
-                         return 0;
 
-                     default:
 
-                         return 1;
 
-                 }
 
-             }).ToList();
 
-         }
 
-     }
 
- }
 
 
  |