added SupportsExternalStream to MediaStream

This commit is contained in:
Luke Pulverenti
2015-02-07 16:03:09 -05:00
parent 49c0878a4b
commit 9110d23710
14 changed files with 108 additions and 21 deletions

View File

@@ -239,7 +239,7 @@ namespace MediaBrowser.Controller.Entities.Audio
{
Id = i.Id.ToString("N"),
Protocol = locationType == LocationType.Remote ? MediaProtocol.Http : MediaProtocol.File,
MediaStreams = ItemRepository.GetMediaStreams(new MediaStreamQuery { ItemId = i.Id }).ToList(),
MediaStreams = MediaSourceManager.GetMediaStreams(new MediaStreamQuery { ItemId = i.Id }).ToList(),
Name = i.Name,
Path = enablePathSubstituion ? GetMappedPath(i.Path, locationType) : i.Path,
RunTimeTicks = i.RunTimeTicks,

View File

@@ -300,6 +300,7 @@ namespace MediaBrowser.Controller.Entities
public static IChannelManager ChannelManager { get; set; }
public static ICollectionManager CollectionManager { get; set; }
public static IImageProcessor ImageProcessor { get; set; }
public static IMediaSourceManager MediaSourceManager { get; set; }
/// <summary>
/// Returns a <see cref="System.String" /> that represents this instance.

View File

@@ -422,7 +422,7 @@ namespace MediaBrowser.Controller.Entities
public virtual IEnumerable<MediaStream> GetMediaStreams()
{
return ItemRepository.GetMediaStreams(new MediaStreamQuery
return MediaSourceManager.GetMediaStreams(new MediaStreamQuery
{
ItemId = Id
});
@@ -435,7 +435,7 @@ namespace MediaBrowser.Controller.Entities
return null;
}
return ItemRepository.GetMediaStreams(new MediaStreamQuery
return MediaSourceManager.GetMediaStreams(new MediaStreamQuery
{
ItemId = Id,
Index = DefaultVideoStreamIndex.Value
@@ -474,7 +474,8 @@ namespace MediaBrowser.Controller.Entities
private static MediaSourceInfo GetVersionInfo(bool enablePathSubstitution, Video i, MediaSourceType type)
{
var mediaStreams = ItemRepository.GetMediaStreams(new MediaStreamQuery { ItemId = i.Id }).ToList();
var mediaStreams = MediaSourceManager.GetMediaStreams(new MediaStreamQuery { ItemId = i.Id })
.ToList();
var locationType = i.LocationType;

View File

@@ -0,0 +1,11 @@
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Model.Entities;
using System.Collections.Generic;
namespace MediaBrowser.Controller.Library
{
public interface IMediaSourceManager
{
IEnumerable<MediaStream> GetMediaStreams(MediaStreamQuery query);
}
}

View File

@@ -170,6 +170,7 @@
<Compile Include="FileOrganization\IFileOrganizationService.cs" />
<Compile Include="Library\DeleteOptions.cs" />
<Compile Include="Library\ILibraryPostScanTask.cs" />
<Compile Include="Library\IMediaSourceManager.cs" />
<Compile Include="Library\IMetadataFileSaver.cs" />
<Compile Include="Library\IMetadataSaver.cs" />
<Compile Include="Library\IMusicManager.cs" />

View File

@@ -90,10 +90,16 @@ namespace MediaBrowser.Controller.MediaEncoding
return index == -1 ? 100 : index;
})
.ThenBy(i => i.IsDefault)
.ThenBy(i => i.IsTextSubtitleStream)
.ThenBy(i => i.IsExternal)
.ThenBy(i => GetBooleanOrderBy(i.IsDefault))
.ThenBy(i => GetBooleanOrderBy(i.SupportsExternalStream))
.ThenBy(i => GetBooleanOrderBy(i.IsTextSubtitleStream))
.ThenBy(i => GetBooleanOrderBy(i.IsExternal))
.ThenBy(i => i.Index);
}
private static int GetBooleanOrderBy(bool value)
{
return value ? 0 : 1;
}
}
}