Merge pull request #2675 from MediaBrowser/dev

Dev
This commit is contained in:
Luke 2017-05-30 16:55:57 -04:00 committed by GitHub
commit 6c5fe7935b
5 changed files with 34 additions and 1 deletions

View File

@ -170,6 +170,11 @@ namespace Emby.Server.Implementations.Collections
{
var item = _libraryManager.GetItemById(itemId);
if (string.IsNullOrWhiteSpace(item.Path))
{
continue;
}
if (item == null)
{
throw new ArgumentException("No item exists with the supplied Id");

View File

@ -864,6 +864,11 @@ namespace Emby.Server.Implementations.Library
// If this returns multiple items it could be tricky figuring out which one is correct.
// In most cases, the newest one will be and the others obsolete but not yet cleaned up
if (string.IsNullOrWhiteSpace(path))
{
throw new ArgumentNullException("path");
}
var query = new InternalItemsQuery
{
Path = path,

View File

@ -198,6 +198,11 @@ namespace Emby.Server.Implementations.Playlists
foreach (var item in items)
{
if (string.IsNullOrWhiteSpace(item.Path))
{
continue;
}
list.Add(LinkedChild.Create(item));
}

View File

@ -279,6 +279,20 @@ namespace MediaBrowser.Api.UserLibrary
return dto;
}
private PlayMethod ValidatePlayMethod(PlayMethod method, string playSessionId)
{
if (method == PlayMethod.Transcode)
{
var job = string.IsNullOrWhiteSpace(playSessionId) ? null : ApiEntryPoint.Instance.GetTranscodingJob(playSessionId);
if (job == null)
{
return PlayMethod.DirectPlay;
}
}
return method;
}
/// <summary>
/// Posts the specified request.
/// </summary>
@ -300,6 +314,8 @@ namespace MediaBrowser.Api.UserLibrary
public void Post(ReportPlaybackStart request)
{
request.PlayMethod = ValidatePlayMethod(request.PlayMethod, request.PlaySessionId);
request.SessionId = GetSession(_sessionContext).Result.Id;
var task = _sessionManager.OnPlaybackStart(request);
@ -332,6 +348,8 @@ namespace MediaBrowser.Api.UserLibrary
public void Post(ReportPlaybackProgress request)
{
request.PlayMethod = ValidatePlayMethod(request.PlayMethod, request.PlaySessionId);
request.SessionId = GetSession(_sessionContext).Result.Id;
var task = _sessionManager.OnPlaybackProgress(request);

View File

@ -1733,7 +1733,7 @@ namespace MediaBrowser.Controller.Entities
private BaseItem FindLinkedChild(LinkedChild info)
{
if (!string.IsNullOrEmpty(info.Path))
if (!string.IsNullOrWhiteSpace(info.Path))
{
var itemByPath = LibraryManager.FindByPath(info.Path, null);