mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
Merge branch 'dev' of https://github.com/MediaBrowser/MediaBrowser into dev
This commit is contained in:
commit
33f633d37a
@ -389,6 +389,8 @@ namespace MediaBrowser.Api
|
|||||||
game.PlayersSupported = request.Players;
|
game.PlayersSupported = request.Players;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (request.AlbumArtists != null)
|
||||||
|
{
|
||||||
var hasAlbumArtists = item as IHasAlbumArtist;
|
var hasAlbumArtists = item as IHasAlbumArtist;
|
||||||
if (hasAlbumArtists != null)
|
if (hasAlbumArtists != null)
|
||||||
{
|
{
|
||||||
@ -397,7 +399,10 @@ namespace MediaBrowser.Api
|
|||||||
.Select(i => i.Name)
|
.Select(i => i.Name)
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (request.ArtistItems != null)
|
||||||
|
{
|
||||||
var hasArtists = item as IHasArtist;
|
var hasArtists = item as IHasArtist;
|
||||||
if (hasArtists != null)
|
if (hasArtists != null)
|
||||||
{
|
{
|
||||||
@ -406,6 +411,7 @@ namespace MediaBrowser.Api
|
|||||||
.Select(i => i.Name)
|
.Select(i => i.Name)
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var song = item as Audio;
|
var song = item as Audio;
|
||||||
if (song != null)
|
if (song != null)
|
||||||
|
@ -233,6 +233,12 @@ namespace MediaBrowser.Server.Implementations.Devices
|
|||||||
}
|
}
|
||||||
|
|
||||||
var user = _userManager.GetUserById(userId);
|
var user = _userManager.GetUserById(userId);
|
||||||
|
|
||||||
|
if (user == null)
|
||||||
|
{
|
||||||
|
throw new ArgumentException("user not found");
|
||||||
|
}
|
||||||
|
|
||||||
if (!CanAccessDevice(user.Policy, deviceId))
|
if (!CanAccessDevice(user.Policy, deviceId))
|
||||||
{
|
{
|
||||||
var capabilities = GetCapabilities(deviceId);
|
var capabilities = GetCapabilities(deviceId);
|
||||||
|
@ -17,6 +17,7 @@ using MediaBrowser.Model.Dto;
|
|||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.LiveTv;
|
using MediaBrowser.Model.LiveTv;
|
||||||
using MediaBrowser.Model.Logging;
|
using MediaBrowser.Model.Logging;
|
||||||
|
using MediaBrowser.Model.MediaInfo;
|
||||||
using MediaBrowser.Model.Querying;
|
using MediaBrowser.Model.Querying;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
using System;
|
using System;
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
using MediaBrowser.Controller.Entities;
|
using MediaBrowser.Controller;
|
||||||
|
using MediaBrowser.Controller.Entities;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
using MediaBrowser.Controller.LiveTv;
|
using MediaBrowser.Controller.LiveTv;
|
||||||
using MediaBrowser.Controller.MediaEncoding;
|
using MediaBrowser.Controller.MediaEncoding;
|
||||||
using MediaBrowser.Model.Dlna;
|
using MediaBrowser.Model.Dlna;
|
||||||
using MediaBrowser.Model.Dto;
|
using MediaBrowser.Model.Dto;
|
||||||
using MediaBrowser.Model.Logging;
|
using MediaBrowser.Model.Logging;
|
||||||
|
using MediaBrowser.Model.MediaInfo;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -21,13 +23,15 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
|||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
private readonly IMediaSourceManager _mediaSourceManager;
|
private readonly IMediaSourceManager _mediaSourceManager;
|
||||||
private readonly IMediaEncoder _mediaEncoder;
|
private readonly IMediaEncoder _mediaEncoder;
|
||||||
|
private readonly IServerApplicationHost _appHost;
|
||||||
|
|
||||||
public LiveTvMediaSourceProvider(ILiveTvManager liveTvManager, IJsonSerializer jsonSerializer, ILogManager logManager, IMediaSourceManager mediaSourceManager, IMediaEncoder mediaEncoder)
|
public LiveTvMediaSourceProvider(ILiveTvManager liveTvManager, IJsonSerializer jsonSerializer, ILogManager logManager, IMediaSourceManager mediaSourceManager, IMediaEncoder mediaEncoder, IServerApplicationHost appHost)
|
||||||
{
|
{
|
||||||
_liveTvManager = liveTvManager;
|
_liveTvManager = liveTvManager;
|
||||||
_jsonSerializer = jsonSerializer;
|
_jsonSerializer = jsonSerializer;
|
||||||
_mediaSourceManager = mediaSourceManager;
|
_mediaSourceManager = mediaSourceManager;
|
||||||
_mediaEncoder = mediaEncoder;
|
_mediaEncoder = mediaEncoder;
|
||||||
|
_appHost = appHost;
|
||||||
_logger = logManager.GetLogger(GetType().Name);
|
_logger = logManager.GetLogger(GetType().Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,6 +78,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
|||||||
}
|
}
|
||||||
|
|
||||||
var list = sources.ToList();
|
var list = sources.ToList();
|
||||||
|
var serverUrl = _appHost.LocalApiUrl;
|
||||||
|
|
||||||
foreach (var source in list)
|
foreach (var source in list)
|
||||||
{
|
{
|
||||||
@ -86,6 +91,12 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
|||||||
openKeys.Add(item.Id.ToString("N"));
|
openKeys.Add(item.Id.ToString("N"));
|
||||||
openKeys.Add(source.Id ?? string.Empty);
|
openKeys.Add(source.Id ?? string.Empty);
|
||||||
source.OpenToken = string.Join("|", openKeys.ToArray());
|
source.OpenToken = string.Join("|", openKeys.ToArray());
|
||||||
|
|
||||||
|
// Dummy this up so that direct play checks can still run
|
||||||
|
if (string.IsNullOrEmpty(source.Path) && source.Protocol == MediaProtocol.Http)
|
||||||
|
{
|
||||||
|
source.Path = serverUrl;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_logger.Debug("MediaSources: {0}", _jsonSerializer.SerializeToString(list));
|
_logger.Debug("MediaSources: {0}", _jsonSerializer.SerializeToString(list));
|
||||||
|
@ -458,6 +458,13 @@ namespace MediaBrowser.Server.Implementations.Sync
|
|||||||
|
|
||||||
var syncOptions = _config.GetSyncOptions();
|
var syncOptions = _config.GetSyncOptions();
|
||||||
var user = _userManager.GetUserById(job.UserId);
|
var user = _userManager.GetUserById(job.UserId);
|
||||||
|
if (user == null)
|
||||||
|
{
|
||||||
|
jobItem.Status = SyncJobItemStatus.Failed;
|
||||||
|
_logger.Error("User not found. Cannot complete the sync job.");
|
||||||
|
await _syncManager.UpdateSyncJobItemInternal(jobItem).ConfigureAwait(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var video = item as Video;
|
var video = item as Video;
|
||||||
if (video != null)
|
if (video != null)
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
using System.Text.RegularExpressions;
|
using MediaBrowser.Common.IO;
|
||||||
using MediaBrowser.Common.IO;
|
|
||||||
using MediaBrowser.Controller.Configuration;
|
using MediaBrowser.Controller.Configuration;
|
||||||
using MediaBrowser.Controller.Localization;
|
using MediaBrowser.Controller.Localization;
|
||||||
using MediaBrowser.Model.Logging;
|
using MediaBrowser.Model.Logging;
|
||||||
@ -560,7 +559,6 @@ namespace MediaBrowser.WebDashboard.Api
|
|||||||
"nowplayingpage.js",
|
"nowplayingpage.js",
|
||||||
"taskbutton.js",
|
"taskbutton.js",
|
||||||
|
|
||||||
"ratingdialog.js",
|
|
||||||
"alphapicker.js",
|
"alphapicker.js",
|
||||||
"addpluginpage.js",
|
"addpluginpage.js",
|
||||||
"metadataadvanced.js",
|
"metadataadvanced.js",
|
||||||
@ -580,7 +578,6 @@ namespace MediaBrowser.WebDashboard.Api
|
|||||||
"dlnaserversettings.js",
|
"dlnaserversettings.js",
|
||||||
"editcollectionitems.js",
|
"editcollectionitems.js",
|
||||||
"edititemmetadata.js",
|
"edititemmetadata.js",
|
||||||
"edititemimages.js",
|
|
||||||
"edititemsubtitles.js",
|
"edititemsubtitles.js",
|
||||||
|
|
||||||
"playbackconfiguration.js",
|
"playbackconfiguration.js",
|
||||||
@ -649,9 +646,7 @@ namespace MediaBrowser.WebDashboard.Api
|
|||||||
"wizardagreement.js",
|
"wizardagreement.js",
|
||||||
"wizardfinishpage.js",
|
"wizardfinishpage.js",
|
||||||
"wizardservice.js",
|
"wizardservice.js",
|
||||||
"wizardstartpage.js",
|
"wizardstartpage.js"
|
||||||
"wizardsettings.js",
|
|
||||||
"wizarduserpage.js"
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user