aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Entities/Audio/Audio.cs2
-rw-r--r--MediaBrowser.Controller/Entities/Video.cs15
-rw-r--r--MediaBrowser.Controller/Library/IMediaSourceManager.cs18
3 files changed, 29 insertions, 6 deletions
diff --git a/MediaBrowser.Controller/Entities/Audio/Audio.cs b/MediaBrowser.Controller/Entities/Audio/Audio.cs
index 902447999..d868227d9 100644
--- a/MediaBrowser.Controller/Entities/Audio/Audio.cs
+++ b/MediaBrowser.Controller/Entities/Audio/Audio.cs
@@ -239,7 +239,7 @@ namespace MediaBrowser.Controller.Entities.Audio
{
Id = i.Id.ToString("N"),
Protocol = locationType == LocationType.Remote ? MediaProtocol.Http : MediaProtocol.File,
- MediaStreams = MediaSourceManager.GetMediaStreams(new MediaStreamQuery { ItemId = i.Id }).ToList(),
+ MediaStreams = MediaSourceManager.GetMediaStreams(i.Id).ToList(),
Name = i.Name,
Path = enablePathSubstituion ? GetMappedPath(i.Path, locationType) : i.Path,
RunTimeTicks = i.RunTimeTicks,
diff --git a/MediaBrowser.Controller/Entities/Video.cs b/MediaBrowser.Controller/Entities/Video.cs
index d4507bc33..a0c3a6cf9 100644
--- a/MediaBrowser.Controller/Entities/Video.cs
+++ b/MediaBrowser.Controller/Entities/Video.cs
@@ -420,12 +420,17 @@ namespace MediaBrowser.Controller.Entities
return base.GetDeletePaths();
}
- public virtual IEnumerable<MediaStream> GetMediaStreams()
+ public IEnumerable<MediaStream> GetMediaStreams()
{
- return MediaSourceManager.GetMediaStreams(new MediaStreamQuery
+ var mediaSource = GetMediaSources(false)
+ .FirstOrDefault();
+
+ if (mediaSource == null)
{
- ItemId = Id
- });
+ return new List<MediaStream>();
+ }
+
+ return mediaSource.MediaStreams;
}
public virtual MediaStream GetDefaultVideoStream()
@@ -474,7 +479,7 @@ namespace MediaBrowser.Controller.Entities
private static MediaSourceInfo GetVersionInfo(bool enablePathSubstitution, Video i, MediaSourceType type)
{
- var mediaStreams = MediaSourceManager.GetMediaStreams(new MediaStreamQuery { ItemId = i.Id })
+ var mediaStreams = MediaSourceManager.GetMediaStreams(i.Id)
.ToList();
var locationType = i.LocationType;
diff --git a/MediaBrowser.Controller/Library/IMediaSourceManager.cs b/MediaBrowser.Controller/Library/IMediaSourceManager.cs
index 4378bc85d..5d79f613d 100644
--- a/MediaBrowser.Controller/Library/IMediaSourceManager.cs
+++ b/MediaBrowser.Controller/Library/IMediaSourceManager.cs
@@ -1,11 +1,29 @@
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Model.Entities;
+using System;
using System.Collections.Generic;
namespace MediaBrowser.Controller.Library
{
public interface IMediaSourceManager
{
+ /// <summary>
+ /// Gets the media streams.
+ /// </summary>
+ /// <param name="itemId">The item identifier.</param>
+ /// <returns>IEnumerable&lt;MediaStream&gt;.</returns>
+ IEnumerable<MediaStream> GetMediaStreams(Guid itemId);
+ /// <summary>
+ /// Gets the media streams.
+ /// </summary>
+ /// <param name="mediaSourceId">The media source identifier.</param>
+ /// <returns>IEnumerable&lt;MediaStream&gt;.</returns>
+ IEnumerable<MediaStream> GetMediaStreams(string mediaSourceId);
+ /// <summary>
+ /// Gets the media streams.
+ /// </summary>
+ /// <param name="query">The query.</param>
+ /// <returns>IEnumerable&lt;MediaStream&gt;.</returns>
IEnumerable<MediaStream> GetMediaStreams(MediaStreamQuery query);
}
}