mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-06-03 21:54:26 -04:00
get channel media info at runtime
This commit is contained in:
parent
124754a04f
commit
dc8c24ed29
@ -5,8 +5,10 @@ using MediaBrowser.Controller.Entities.Audio;
|
|||||||
using MediaBrowser.Controller.Entities.Movies;
|
using MediaBrowser.Controller.Entities.Movies;
|
||||||
using MediaBrowser.Controller.Entities.TV;
|
using MediaBrowser.Controller.Entities.TV;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
|
using MediaBrowser.Controller.LiveTv;
|
||||||
using MediaBrowser.Controller.Net;
|
using MediaBrowser.Controller.Net;
|
||||||
using MediaBrowser.Controller.Persistence;
|
using MediaBrowser.Controller.Persistence;
|
||||||
|
using MediaBrowser.Controller.Playlists;
|
||||||
using MediaBrowser.Controller.Session;
|
using MediaBrowser.Controller.Session;
|
||||||
using MediaBrowser.Model.Dto;
|
using MediaBrowser.Model.Dto;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
@ -146,7 +148,7 @@ namespace MediaBrowser.Api.Library
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Route("/Items/{Id}", "DELETE", Summary = "Deletes an item from the library and file system")]
|
[Route("/Items/{Id}", "DELETE", Summary = "Deletes an item from the library and file system")]
|
||||||
[Authenticated(Roles = "Delete")]
|
[Authenticated]
|
||||||
public class DeleteItem : IReturnVoid
|
public class DeleteItem : IReturnVoid
|
||||||
{
|
{
|
||||||
[ApiMember(Name = "Id", Description = "Item Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "DELETE")]
|
[ApiMember(Name = "Id", Description = "Item Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "DELETE")]
|
||||||
@ -241,12 +243,13 @@ namespace MediaBrowser.Api.Library
|
|||||||
private readonly IDtoService _dtoService;
|
private readonly IDtoService _dtoService;
|
||||||
private readonly IChannelManager _channelManager;
|
private readonly IChannelManager _channelManager;
|
||||||
private readonly ISessionManager _sessionManager;
|
private readonly ISessionManager _sessionManager;
|
||||||
|
private readonly IAuthorizationContext _authContext;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initializes a new instance of the <see cref="LibraryService" /> class.
|
/// Initializes a new instance of the <see cref="LibraryService" /> class.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public LibraryService(IItemRepository itemRepo, ILibraryManager libraryManager, IUserManager userManager,
|
public LibraryService(IItemRepository itemRepo, ILibraryManager libraryManager, IUserManager userManager,
|
||||||
IDtoService dtoService, IUserDataManager userDataManager, IChannelManager channelManager, ISessionManager sessionManager)
|
IDtoService dtoService, IUserDataManager userDataManager, IChannelManager channelManager, ISessionManager sessionManager, IAuthorizationContext authContext)
|
||||||
{
|
{
|
||||||
_itemRepo = itemRepo;
|
_itemRepo = itemRepo;
|
||||||
_libraryManager = libraryManager;
|
_libraryManager = libraryManager;
|
||||||
@ -255,6 +258,7 @@ namespace MediaBrowser.Api.Library
|
|||||||
_userDataManager = userDataManager;
|
_userDataManager = userDataManager;
|
||||||
_channelManager = channelManager;
|
_channelManager = channelManager;
|
||||||
_sessionManager = sessionManager;
|
_sessionManager = sessionManager;
|
||||||
|
_authContext = authContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
public object Get(GetMediaFolders request)
|
public object Get(GetMediaFolders request)
|
||||||
@ -466,6 +470,28 @@ namespace MediaBrowser.Api.Library
|
|||||||
{
|
{
|
||||||
var item = _libraryManager.GetItemById(request.Id);
|
var item = _libraryManager.GetItemById(request.Id);
|
||||||
|
|
||||||
|
var auth = _authContext.GetAuthorizationInfo(Request);
|
||||||
|
var user = _userManager.GetUserById(auth.UserId);
|
||||||
|
|
||||||
|
if (item is Playlist)
|
||||||
|
{
|
||||||
|
// For now this is allowed if user can see the playlist
|
||||||
|
}
|
||||||
|
else if (item is ILiveTvRecording)
|
||||||
|
{
|
||||||
|
if (!user.Configuration.EnableLiveTvManagement)
|
||||||
|
{
|
||||||
|
throw new UnauthorizedAccessException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!user.Configuration.EnableContentDeletion)
|
||||||
|
{
|
||||||
|
throw new UnauthorizedAccessException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var task = _libraryManager.DeleteItem(item);
|
var task = _libraryManager.DeleteItem(item);
|
||||||
|
|
||||||
Task.WaitAll(task);
|
Task.WaitAll(task);
|
||||||
|
@ -79,6 +79,7 @@
|
|||||||
<Compile Include="FilterService.cs" />
|
<Compile Include="FilterService.cs" />
|
||||||
<Compile Include="Library\ChapterService.cs" />
|
<Compile Include="Library\ChapterService.cs" />
|
||||||
<Compile Include="Playback\Hls\MpegDashService.cs" />
|
<Compile Include="Playback\Hls\MpegDashService.cs" />
|
||||||
|
<Compile Include="Playback\MediaInfoService.cs" />
|
||||||
<Compile Include="PlaylistService.cs" />
|
<Compile Include="PlaylistService.cs" />
|
||||||
<Compile Include="StartupWizardService.cs" />
|
<Compile Include="StartupWizardService.cs" />
|
||||||
<Compile Include="Subtitles\SubtitleService.cs" />
|
<Compile Include="Subtitles\SubtitleService.cs" />
|
||||||
|
64
MediaBrowser.Api/Playback/MediaInfoService.cs
Normal file
64
MediaBrowser.Api/Playback/MediaInfoService.cs
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
using MediaBrowser.Controller.Channels;
|
||||||
|
using MediaBrowser.Controller.Entities;
|
||||||
|
using MediaBrowser.Controller.Library;
|
||||||
|
using MediaBrowser.Controller.Net;
|
||||||
|
using MediaBrowser.Model.Dto;
|
||||||
|
using MediaBrowser.Model.MediaInfo;
|
||||||
|
using ServiceStack;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace MediaBrowser.Api.Playback
|
||||||
|
{
|
||||||
|
[Route("/Items/{Id}/MediaInfo", "GET", Summary = "Gets live playback media info for an item")]
|
||||||
|
public class GetLiveMediaInfo : IReturn<LiveMediaInfoResult>
|
||||||
|
{
|
||||||
|
[ApiMember(Name = "Id", Description = "Item Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
||||||
|
public string Id { get; set; }
|
||||||
|
|
||||||
|
[ApiMember(Name = "UserId", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "GET")]
|
||||||
|
public string UserId { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Authenticated]
|
||||||
|
public class MediaInfoService : BaseApiService
|
||||||
|
{
|
||||||
|
private readonly ILibraryManager _libraryManager;
|
||||||
|
private readonly IChannelManager _channelManager;
|
||||||
|
private readonly IUserManager _userManager;
|
||||||
|
|
||||||
|
public MediaInfoService(ILibraryManager libraryManager, IChannelManager channelManager, IUserManager userManager)
|
||||||
|
{
|
||||||
|
_libraryManager = libraryManager;
|
||||||
|
_channelManager = channelManager;
|
||||||
|
_userManager = userManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<object> Get(GetLiveMediaInfo request)
|
||||||
|
{
|
||||||
|
var item = _libraryManager.GetItemById(request.Id);
|
||||||
|
IEnumerable<MediaSourceInfo> mediaSources;
|
||||||
|
|
||||||
|
var channelItem = item as IChannelMediaItem;
|
||||||
|
var user = _userManager.GetUserById(request.UserId);
|
||||||
|
|
||||||
|
if (channelItem != null)
|
||||||
|
{
|
||||||
|
mediaSources = await _channelManager.GetChannelItemMediaSources(request.Id, true, CancellationToken.None)
|
||||||
|
.ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var hasMediaSources = (IHasMediaSources)item;
|
||||||
|
mediaSources = hasMediaSources.GetMediaSources(true, user);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ToOptimizedResult(new LiveMediaInfoResult
|
||||||
|
{
|
||||||
|
MediaSources = mediaSources.ToList()
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -357,7 +357,12 @@ namespace MediaBrowser.Api.Session
|
|||||||
|
|
||||||
if (!user.Configuration.EnableRemoteControlOfOtherUsers)
|
if (!user.Configuration.EnableRemoteControlOfOtherUsers)
|
||||||
{
|
{
|
||||||
result = result.Where(i => !i.UserId.HasValue || i.ContainsUser(request.ControllableByUserId.Value));
|
result = result.Where(i => i.ContainsUser(request.ControllableByUserId.Value));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!user.Configuration.EnableSharedDeviceControl)
|
||||||
|
{
|
||||||
|
result = result.Where(i => !i.UserId.HasValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -764,6 +764,9 @@
|
|||||||
<Compile Include="..\MediaBrowser.Model\MediaInfo\IBlurayExaminer.cs">
|
<Compile Include="..\MediaBrowser.Model\MediaInfo\IBlurayExaminer.cs">
|
||||||
<Link>MediaInfo\IBlurayExaminer.cs</Link>
|
<Link>MediaInfo\IBlurayExaminer.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="..\MediaBrowser.Model\MediaInfo\LiveMediaInfoResult.cs">
|
||||||
|
<Link>MediaInfo\LiveMediaInfoResult.cs</Link>
|
||||||
|
</Compile>
|
||||||
<Compile Include="..\MediaBrowser.Model\MediaInfo\MediaProtocol.cs">
|
<Compile Include="..\MediaBrowser.Model\MediaInfo\MediaProtocol.cs">
|
||||||
<Link>MediaInfo\MediaProtocol.cs</Link>
|
<Link>MediaInfo\MediaProtocol.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
@ -723,6 +723,9 @@
|
|||||||
<Compile Include="..\MediaBrowser.Model\MediaInfo\IBlurayExaminer.cs">
|
<Compile Include="..\MediaBrowser.Model\MediaInfo\IBlurayExaminer.cs">
|
||||||
<Link>MediaInfo\IBlurayExaminer.cs</Link>
|
<Link>MediaInfo\IBlurayExaminer.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="..\MediaBrowser.Model\MediaInfo\LiveMediaInfoResult.cs">
|
||||||
|
<Link>MediaInfo\LiveMediaInfoResult.cs</Link>
|
||||||
|
</Compile>
|
||||||
<Compile Include="..\MediaBrowser.Model\MediaInfo\MediaProtocol.cs">
|
<Compile Include="..\MediaBrowser.Model\MediaInfo\MediaProtocol.cs">
|
||||||
<Link>MediaInfo\MediaProtocol.cs</Link>
|
<Link>MediaInfo\MediaProtocol.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
@ -6,6 +6,7 @@ using MediaBrowser.Model.Entities;
|
|||||||
using MediaBrowser.Model.Events;
|
using MediaBrowser.Model.Events;
|
||||||
using MediaBrowser.Model.Globalization;
|
using MediaBrowser.Model.Globalization;
|
||||||
using MediaBrowser.Model.LiveTv;
|
using MediaBrowser.Model.LiveTv;
|
||||||
|
using MediaBrowser.Model.MediaInfo;
|
||||||
using MediaBrowser.Model.Notifications;
|
using MediaBrowser.Model.Notifications;
|
||||||
using MediaBrowser.Model.Playlists;
|
using MediaBrowser.Model.Playlists;
|
||||||
using MediaBrowser.Model.Plugins;
|
using MediaBrowser.Model.Plugins;
|
||||||
@ -223,6 +224,13 @@ namespace MediaBrowser.Model.ApiClient
|
|||||||
/// <returns>Task{BaseItemDto[]}.</returns>
|
/// <returns>Task{BaseItemDto[]}.</returns>
|
||||||
Task<ItemsResult> GetAdditionalParts(string itemId, string userId);
|
Task<ItemsResult> GetAdditionalParts(string itemId, string userId);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the live media information.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="itemId">The item identifier.</param>
|
||||||
|
/// <returns>Task<LiveMediaInfoResult>.</returns>
|
||||||
|
Task<LiveMediaInfoResult> GetLiveMediaInfo(string itemId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the users async.
|
/// Gets the users async.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -47,6 +47,7 @@ namespace MediaBrowser.Model.Configuration
|
|||||||
public bool DisplayMissingEpisodes { get; set; }
|
public bool DisplayMissingEpisodes { get; set; }
|
||||||
public bool DisplayUnairedEpisodes { get; set; }
|
public bool DisplayUnairedEpisodes { get; set; }
|
||||||
public bool EnableRemoteControlOfOtherUsers { get; set; }
|
public bool EnableRemoteControlOfOtherUsers { get; set; }
|
||||||
|
public bool EnableSharedDeviceControl { get; set; }
|
||||||
|
|
||||||
public bool EnableLiveTvManagement { get; set; }
|
public bool EnableLiveTvManagement { get; set; }
|
||||||
public bool EnableLiveTvAccess { get; set; }
|
public bool EnableLiveTvAccess { get; set; }
|
||||||
@ -95,6 +96,7 @@ namespace MediaBrowser.Model.Configuration
|
|||||||
EnableLiveTvManagement = true;
|
EnableLiveTvManagement = true;
|
||||||
EnableMediaPlayback = true;
|
EnableMediaPlayback = true;
|
||||||
EnableLiveTvAccess = true;
|
EnableLiveTvAccess = true;
|
||||||
|
EnableSharedDeviceControl = true;
|
||||||
|
|
||||||
LatestItemsExcludes = new string[] { };
|
LatestItemsExcludes = new string[] { };
|
||||||
OrderedViews = new string[] { };
|
OrderedViews = new string[] { };
|
||||||
|
@ -126,6 +126,7 @@
|
|||||||
<Compile Include="Dlna\SubtitleStreamInfo.cs" />
|
<Compile Include="Dlna\SubtitleStreamInfo.cs" />
|
||||||
<Compile Include="Drawing\ImageOrientation.cs" />
|
<Compile Include="Drawing\ImageOrientation.cs" />
|
||||||
<Compile Include="Dto\IHasServerId.cs" />
|
<Compile Include="Dto\IHasServerId.cs" />
|
||||||
|
<Compile Include="MediaInfo\LiveMediaInfoResult.cs" />
|
||||||
<Compile Include="Dto\MediaSourceType.cs" />
|
<Compile Include="Dto\MediaSourceType.cs" />
|
||||||
<Compile Include="Dto\StreamOptions.cs" />
|
<Compile Include="Dto\StreamOptions.cs" />
|
||||||
<Compile Include="Dto\VideoStreamOptions.cs" />
|
<Compile Include="Dto\VideoStreamOptions.cs" />
|
||||||
|
25
MediaBrowser.Model/MediaInfo/LiveMediaInfoResult.cs
Normal file
25
MediaBrowser.Model/MediaInfo/LiveMediaInfoResult.cs
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
using MediaBrowser.Model.Dto;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace MediaBrowser.Model.MediaInfo
|
||||||
|
{
|
||||||
|
public class LiveMediaInfoResult
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the media sources.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The media sources.</value>
|
||||||
|
public List<MediaSourceInfo> MediaSources { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the live stream identifier.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The live stream identifier.</value>
|
||||||
|
public string LiveStreamId { get; set; }
|
||||||
|
|
||||||
|
public LiveMediaInfoResult()
|
||||||
|
{
|
||||||
|
MediaSources = new List<MediaSourceInfo>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -53,8 +53,9 @@
|
|||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\packages\MediaBrowser.BdInfo.1.0.0.10\lib\net35\DvdLib.dll</HintPath>
|
<HintPath>..\packages\MediaBrowser.BdInfo.1.0.0.10\lib\net35\DvdLib.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="MediaBrowser.Naming">
|
<Reference Include="MediaBrowser.Naming, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MediaBrowser.Naming.1.0.0.6\lib\portable-net45+sl4+wp71+win8+wpa81\MediaBrowser.Naming.dll</HintPath>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>..\packages\MediaBrowser.Naming.1.0.0.7\lib\portable-net45+sl4+wp71+win8+wpa81\MediaBrowser.Naming.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="MoreLinq, Version=1.1.17511.0, Culture=neutral, PublicKeyToken=384d532d7e88985d, processorArchitecture=MSIL">
|
<Reference Include="MoreLinq, Version=1.1.17511.0, Culture=neutral, PublicKeyToken=384d532d7e88985d, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="MediaBrowser.BdInfo" version="1.0.0.10" targetFramework="net45" />
|
<package id="MediaBrowser.BdInfo" version="1.0.0.10" targetFramework="net45" />
|
||||||
<package id="MediaBrowser.Naming" version="1.0.0.6" targetFramework="net45" />
|
<package id="MediaBrowser.Naming" version="1.0.0.7" targetFramework="net45" />
|
||||||
<package id="morelinq" version="1.1.0" targetFramework="net45" />
|
<package id="morelinq" version="1.1.0" targetFramework="net45" />
|
||||||
<package id="taglib" version="2.1.0.0" targetFramework="net45" />
|
<package id="taglib" version="2.1.0.0" targetFramework="net45" />
|
||||||
</packages>
|
</packages>
|
@ -453,6 +453,14 @@ namespace MediaBrowser.Server.Implementations.Connect
|
|||||||
throw new ArgumentNullException("ConnectServerId");
|
throw new ArgumentNullException("ConnectServerId");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var sendingUser = GetUser(sendingUserId);
|
||||||
|
var requesterUserName = sendingUser.ConnectUserName;
|
||||||
|
|
||||||
|
if (string.IsNullOrWhiteSpace(requesterUserName))
|
||||||
|
{
|
||||||
|
throw new ArgumentException("A Connect account is required in order to send invitations.");
|
||||||
|
}
|
||||||
|
|
||||||
string connectUserId = null;
|
string connectUserId = null;
|
||||||
var result = new UserLinkResult();
|
var result = new UserLinkResult();
|
||||||
|
|
||||||
@ -482,14 +490,6 @@ namespace MediaBrowser.Server.Implementations.Connect
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var sendingUser = GetUser(sendingUserId);
|
|
||||||
var requesterUserName = sendingUser.ConnectUserName;
|
|
||||||
|
|
||||||
if (string.IsNullOrWhiteSpace(requesterUserName))
|
|
||||||
{
|
|
||||||
requesterUserName = sendingUser.Name;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (string.IsNullOrWhiteSpace(connectUserId))
|
if (string.IsNullOrWhiteSpace(connectUserId))
|
||||||
{
|
{
|
||||||
return await SendNewUserInvitation(requesterUserName, connectUsername).ConfigureAwait(false);
|
return await SendNewUserInvitation(requesterUserName, connectUsername).ConfigureAwait(false);
|
||||||
@ -781,6 +781,7 @@ namespace MediaBrowser.Server.Implementations.Connect
|
|||||||
user.Configuration.EnableLiveTvManagement = false;
|
user.Configuration.EnableLiveTvManagement = false;
|
||||||
user.Configuration.EnableContentDeletion = false;
|
user.Configuration.EnableContentDeletion = false;
|
||||||
user.Configuration.EnableRemoteControlOfOtherUsers = false;
|
user.Configuration.EnableRemoteControlOfOtherUsers = false;
|
||||||
|
user.Configuration.EnableSharedDeviceControl = false;
|
||||||
user.Configuration.IsAdministrator = false;
|
user.Configuration.IsAdministrator = false;
|
||||||
|
|
||||||
if (currentPendingEntry != null)
|
if (currentPendingEntry != null)
|
||||||
|
@ -631,5 +631,8 @@
|
|||||||
"MessageForgotPasswordFileCreated": "The following file has been created on your server and contains instructions on how to proceed:",
|
"MessageForgotPasswordFileCreated": "The following file has been created on your server and contains instructions on how to proceed:",
|
||||||
"MessageForgotPasswordFileExpiration": "The reset pin will expire at {0}.",
|
"MessageForgotPasswordFileExpiration": "The reset pin will expire at {0}.",
|
||||||
"MessageInvalidForgotPasswordPin": "An invalid or expired pin was entered. Please try again.",
|
"MessageInvalidForgotPasswordPin": "An invalid or expired pin was entered. Please try again.",
|
||||||
"MessagePasswordResetForUsers": "Passwords have been reset for the following users:"
|
"MessagePasswordResetForUsers": "Passwords have been reset for the following users:",
|
||||||
|
"HeaderInviteGuest": "Invite Guest",
|
||||||
|
"ButtonLinkMyMediaBrowserAccount": "Link my account now",
|
||||||
|
"MessageConnectAccountRequiredToInviteGuest": "In order to invite guests you need to first link your Media Browser account to this server."
|
||||||
}
|
}
|
||||||
|
@ -145,7 +145,7 @@
|
|||||||
"OptionBudget": "Budget",
|
"OptionBudget": "Budget",
|
||||||
"OptionRevenue": "Revenue",
|
"OptionRevenue": "Revenue",
|
||||||
"OptionPoster": "Poster",
|
"OptionPoster": "Poster",
|
||||||
"OptionPosterCard": "Poster card",
|
"OptionPosterCard": "Poster card",
|
||||||
"OptionBackdrop": "Backdrop",
|
"OptionBackdrop": "Backdrop",
|
||||||
"OptionTimeline": "Timeline",
|
"OptionTimeline": "Timeline",
|
||||||
"OptionThumb": "Thumb",
|
"OptionThumb": "Thumb",
|
||||||
@ -234,6 +234,9 @@
|
|||||||
"OptionAllowDeleteLibraryContent": "Allow this user to delete library content",
|
"OptionAllowDeleteLibraryContent": "Allow this user to delete library content",
|
||||||
"OptionAllowManageLiveTv": "Allow management of live tv recordings",
|
"OptionAllowManageLiveTv": "Allow management of live tv recordings",
|
||||||
"OptionAllowRemoteControlOthers": "Allow this user to remote control other users",
|
"OptionAllowRemoteControlOthers": "Allow this user to remote control other users",
|
||||||
|
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||||
|
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||||
|
"HeaderRemoteControl": "Remote Control",
|
||||||
"OptionMissingTmdbId": "Missing Tmdb Id",
|
"OptionMissingTmdbId": "Missing Tmdb Id",
|
||||||
"OptionIsHD": "HD",
|
"OptionIsHD": "HD",
|
||||||
"OptionIsSD": "SD",
|
"OptionIsSD": "SD",
|
||||||
@ -1237,7 +1240,7 @@
|
|||||||
"LabelConnectGuestUserNameHelp": "This is the username that your friend uses to sign in to the Media Browser website, or their email address.",
|
"LabelConnectGuestUserNameHelp": "This is the username that your friend uses to sign in to the Media Browser website, or their email address.",
|
||||||
"HeaderInviteUserHelp": "Sharing your media with friends is easier than ever before with Media Browser Connect.",
|
"HeaderInviteUserHelp": "Sharing your media with friends is easier than ever before with Media Browser Connect.",
|
||||||
"ButtonSendInvitation": "Send Invitation",
|
"ButtonSendInvitation": "Send Invitation",
|
||||||
"HeaderSignInWithConnect": "Sign in with Media Browser Connect",
|
"HeaderSignInWithConnect": "Sign in with Media Browser Connect",
|
||||||
"HeaderGuests": "Guests",
|
"HeaderGuests": "Guests",
|
||||||
"HeaderLocalUsers": "Local Users",
|
"HeaderLocalUsers": "Local Users",
|
||||||
"HeaderPendingInvitations": "Pending Invitations",
|
"HeaderPendingInvitations": "Pending Invitations",
|
||||||
|
@ -51,7 +51,7 @@
|
|||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="MediaBrowser.Naming, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="MediaBrowser.Naming, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\packages\MediaBrowser.Naming.1.0.0.6\lib\portable-net45+sl4+wp71+win8+wpa81\MediaBrowser.Naming.dll</HintPath>
|
<HintPath>..\packages\MediaBrowser.Naming.1.0.0.7\lib\portable-net45+sl4+wp71+win8+wpa81\MediaBrowser.Naming.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Mono.Nat, Version=1.2.21.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="Mono.Nat, Version=1.2.21.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="MediaBrowser.Naming" version="1.0.0.6" targetFramework="net45" />
|
<package id="MediaBrowser.Naming" version="1.0.0.7" targetFramework="net45" />
|
||||||
<package id="Mono.Nat" version="1.2.21.0" targetFramework="net45" />
|
<package id="Mono.Nat" version="1.2.21.0" targetFramework="net45" />
|
||||||
<package id="morelinq" version="1.1.0" targetFramework="net45" />
|
<package id="morelinq" version="1.1.0" targetFramework="net45" />
|
||||||
</packages>
|
</packages>
|
@ -2,7 +2,7 @@
|
|||||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||||
<metadata>
|
<metadata>
|
||||||
<id>MediaBrowser.Common.Internal</id>
|
<id>MediaBrowser.Common.Internal</id>
|
||||||
<version>3.0.509</version>
|
<version>3.0.510</version>
|
||||||
<title>MediaBrowser.Common.Internal</title>
|
<title>MediaBrowser.Common.Internal</title>
|
||||||
<authors>Luke</authors>
|
<authors>Luke</authors>
|
||||||
<owners>ebr,Luke,scottisafool</owners>
|
<owners>ebr,Luke,scottisafool</owners>
|
||||||
@ -12,7 +12,7 @@
|
|||||||
<description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
|
<description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
|
||||||
<copyright>Copyright © Media Browser 2013</copyright>
|
<copyright>Copyright © Media Browser 2013</copyright>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency id="MediaBrowser.Common" version="3.0.509" />
|
<dependency id="MediaBrowser.Common" version="3.0.510" />
|
||||||
<dependency id="NLog" version="3.1.0.0" />
|
<dependency id="NLog" version="3.1.0.0" />
|
||||||
<dependency id="SimpleInjector" version="2.6.1" />
|
<dependency id="SimpleInjector" version="2.6.1" />
|
||||||
<dependency id="sharpcompress" version="0.10.2" />
|
<dependency id="sharpcompress" version="0.10.2" />
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||||
<metadata>
|
<metadata>
|
||||||
<id>MediaBrowser.Common</id>
|
<id>MediaBrowser.Common</id>
|
||||||
<version>3.0.509</version>
|
<version>3.0.510</version>
|
||||||
<title>MediaBrowser.Common</title>
|
<title>MediaBrowser.Common</title>
|
||||||
<authors>Media Browser Team</authors>
|
<authors>Media Browser Team</authors>
|
||||||
<owners>ebr,Luke,scottisafool</owners>
|
<owners>ebr,Luke,scottisafool</owners>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||||
<metadata>
|
<metadata>
|
||||||
<id>MediaBrowser.Model.Signed</id>
|
<id>MediaBrowser.Model.Signed</id>
|
||||||
<version>3.0.509</version>
|
<version>3.0.510</version>
|
||||||
<title>MediaBrowser.Model - Signed Edition</title>
|
<title>MediaBrowser.Model - Signed Edition</title>
|
||||||
<authors>Media Browser Team</authors>
|
<authors>Media Browser Team</authors>
|
||||||
<owners>ebr,Luke,scottisafool</owners>
|
<owners>ebr,Luke,scottisafool</owners>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
||||||
<metadata>
|
<metadata>
|
||||||
<id>MediaBrowser.Server.Core</id>
|
<id>MediaBrowser.Server.Core</id>
|
||||||
<version>3.0.509</version>
|
<version>3.0.510</version>
|
||||||
<title>Media Browser.Server.Core</title>
|
<title>Media Browser.Server.Core</title>
|
||||||
<authors>Media Browser Team</authors>
|
<authors>Media Browser Team</authors>
|
||||||
<owners>ebr,Luke,scottisafool</owners>
|
<owners>ebr,Luke,scottisafool</owners>
|
||||||
@ -12,7 +12,7 @@
|
|||||||
<description>Contains core components required to build plugins for Media Browser Server.</description>
|
<description>Contains core components required to build plugins for Media Browser Server.</description>
|
||||||
<copyright>Copyright © Media Browser 2013</copyright>
|
<copyright>Copyright © Media Browser 2013</copyright>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency id="MediaBrowser.Common" version="3.0.509" />
|
<dependency id="MediaBrowser.Common" version="3.0.510" />
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</metadata>
|
</metadata>
|
||||||
<files>
|
<files>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user