Update to use SupportsMediaControl

This commit is contained in:
Luke Pulverenti 2015-02-19 14:21:03 -05:00
parent 5343630e0a
commit 8610a9b7ef
5 changed files with 31 additions and 27 deletions

View file

@ -14,17 +14,8 @@ namespace MediaBrowser.Controller.Session
public SessionInfo() public SessionInfo()
{ {
QueueableMediaTypes = new List<string>(); QueueableMediaTypes = new List<string>();
PlayableMediaTypes = new List<string>
{
MediaType.Audio,
MediaType.Book,
MediaType.Game,
MediaType.Photo,
MediaType.Video
};
AdditionalUsers = new List<SessionUserInfo>(); AdditionalUsers = new List<SessionUserInfo>();
SupportedCommands = new List<string>();
PlayState = new PlayerStateInfo(); PlayState = new PlayerStateInfo();
} }
@ -32,6 +23,8 @@ namespace MediaBrowser.Controller.Session
public List<SessionUserInfo> AdditionalUsers { get; set; } public List<SessionUserInfo> AdditionalUsers { get; set; }
public ClientCapabilities Capabilities { get; set; }
/// <summary> /// <summary>
/// Gets or sets the remote end point. /// Gets or sets the remote end point.
/// </summary> /// </summary>
@ -48,7 +41,17 @@ namespace MediaBrowser.Controller.Session
/// Gets or sets the playable media types. /// Gets or sets the playable media types.
/// </summary> /// </summary>
/// <value>The playable media types.</value> /// <value>The playable media types.</value>
public List<string> PlayableMediaTypes { get; set; } public List<string> PlayableMediaTypes
{
get
{
if (Capabilities == null)
{
return new List<string>();
}
return Capabilities.PlayableMediaTypes;
}
}
/// <summary> /// <summary>
/// Gets or sets the id. /// Gets or sets the id.
@ -126,7 +129,17 @@ namespace MediaBrowser.Controller.Session
/// Gets or sets the supported commands. /// Gets or sets the supported commands.
/// </summary> /// </summary>
/// <value>The supported commands.</value> /// <value>The supported commands.</value>
public List<string> SupportedCommands { get; set; } public List<string> SupportedCommands
{
get
{
if (Capabilities == null)
{
return new List<string>();
}
return Capabilities.SupportedCommands;
}
}
public TranscodingInfo TranscodingInfo { get; set; } public TranscodingInfo TranscodingInfo { get; set; }
@ -151,6 +164,11 @@ namespace MediaBrowser.Controller.Session
{ {
get get
{ {
if (Capabilities == null || !Capabilities.SupportsMediaControl)
{
return false;
}
if (SessionController != null) if (SessionController != null)
{ {
return SessionController.SupportsMediaControl; return SessionController.SupportsMediaControl;

View file

@ -20,11 +20,6 @@ namespace MediaBrowser.Model.Session
public DeviceProfile DeviceProfile { get; set; } public DeviceProfile DeviceProfile { get; set; }
/// <summary>
/// Usage should be migrated to SupportsPersistentIdentifier. Keeping this to preserve data.
/// </summary>
public bool? SupportsUniqueIdentifier { get; set; }
public ClientCapabilities() public ClientCapabilities()
{ {
PlayableMediaTypes = new List<string>(); PlayableMediaTypes = new List<string>();

View file

@ -82,14 +82,6 @@ namespace MediaBrowser.Providers.Manager
{ {
saveLocally = true; saveLocally = true;
} }
if (item is IItemByName)
{
var hasDualAccess = item as IHasDualAccess;
if (hasDualAccess == null || hasDualAccess.IsAccessedByName)
{
saveLocally = true;
}
}
if (type != ImageType.Primary && item is Episode) if (type != ImageType.Primary && item is Episode)
{ {

View file

@ -109,7 +109,7 @@ namespace MediaBrowser.Server.Implementations.Devices
devices = devices.Where(i => devices = devices.Where(i =>
{ {
var caps = GetCapabilities(i.Id); var caps = GetCapabilities(i.Id);
var deviceVal = caps.SupportsUniqueIdentifier ?? caps.SupportsPersistentIdentifier; var deviceVal = caps.SupportsPersistentIdentifier;
return deviceVal == val; return deviceVal == val;
}); });
} }

View file

@ -1327,8 +1327,7 @@ namespace MediaBrowser.Server.Implementations.Session
ClientCapabilities capabilities, ClientCapabilities capabilities,
bool saveCapabilities) bool saveCapabilities)
{ {
session.PlayableMediaTypes = capabilities.PlayableMediaTypes; session.Capabilities = capabilities;
session.SupportedCommands = capabilities.SupportedCommands;
if (!string.IsNullOrWhiteSpace(capabilities.MessageCallbackUrl)) if (!string.IsNullOrWhiteSpace(capabilities.MessageCallbackUrl))
{ {