rename album art property
This commit is contained in:
parent
de19966074
commit
3f2d10ca62
|
@ -7,8 +7,7 @@ using System.Threading;
|
||||||
|
|
||||||
namespace MediaBrowser.Api
|
namespace MediaBrowser.Api
|
||||||
{
|
{
|
||||||
[Route("/Channels", "GET")]
|
[Route("/Channels", "GET", Summary = "Gets available channels")]
|
||||||
[Api(("Gets available channels"))]
|
|
||||||
public class GetChannels : IReturn<QueryResult<BaseItemDto>>
|
public class GetChannels : IReturn<QueryResult<BaseItemDto>>
|
||||||
{
|
{
|
||||||
public string UserId { get; set; }
|
public string UserId { get; set; }
|
||||||
|
@ -18,8 +17,7 @@ namespace MediaBrowser.Api
|
||||||
public int? Limit { get; set; }
|
public int? Limit { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/Channels/{Id}/Items", "GET")]
|
[Route("/Channels/{Id}/Items", "GET", Summary = "Gets channel items")]
|
||||||
[Api(("Gets channel items"))]
|
|
||||||
public class GetChannelItems : IReturn<QueryResult<BaseItemDto>>
|
public class GetChannelItems : IReturn<QueryResult<BaseItemDto>>
|
||||||
{
|
{
|
||||||
public string Id { get; set; }
|
public string Id { get; set; }
|
||||||
|
|
|
@ -12,14 +12,12 @@ using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace MediaBrowser.Api.LiveTv
|
namespace MediaBrowser.Api.LiveTv
|
||||||
{
|
{
|
||||||
[Route("/LiveTv/Info", "GET")]
|
[Route("/LiveTv/Info", "GET", Summary = "Gets available live tv services.")]
|
||||||
[Api(Description = "Gets available live tv services.")]
|
|
||||||
public class GetLiveTvInfo : IReturn<LiveTvInfo>
|
public class GetLiveTvInfo : IReturn<LiveTvInfo>
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/Channels", "GET")]
|
[Route("/LiveTv/Channels", "GET", Summary = "Gets available live tv channels.")]
|
||||||
[Api(Description = "Gets available live tv channels.")]
|
|
||||||
public class GetChannels : IReturn<QueryResult<ChannelInfoDto>>
|
public class GetChannels : IReturn<QueryResult<ChannelInfoDto>>
|
||||||
{
|
{
|
||||||
[ApiMember(Name = "Type", Description = "Optional filter by channel type.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
|
[ApiMember(Name = "Type", Description = "Optional filter by channel type.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
|
||||||
|
@ -43,8 +41,7 @@ namespace MediaBrowser.Api.LiveTv
|
||||||
public int? Limit { get; set; }
|
public int? Limit { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/Channels/{Id}", "GET")]
|
[Route("/LiveTv/Channels/{Id}", "GET", Summary = "Gets a live tv channel")]
|
||||||
[Api(Description = "Gets a live tv channel")]
|
|
||||||
public class GetChannel : IReturn<ChannelInfoDto>
|
public class GetChannel : IReturn<ChannelInfoDto>
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -58,8 +55,7 @@ namespace MediaBrowser.Api.LiveTv
|
||||||
public string UserId { get; set; }
|
public string UserId { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/Recordings", "GET")]
|
[Route("/LiveTv/Recordings", "GET", Summary = "Gets live tv recordings")]
|
||||||
[Api(Description = "Gets live tv recordings")]
|
|
||||||
public class GetRecordings : IReturn<QueryResult<RecordingInfoDto>>
|
public class GetRecordings : IReturn<QueryResult<RecordingInfoDto>>
|
||||||
{
|
{
|
||||||
[ApiMember(Name = "ChannelId", Description = "Optional filter by channel id.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
|
[ApiMember(Name = "ChannelId", Description = "Optional filter by channel id.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
|
||||||
|
@ -87,16 +83,14 @@ namespace MediaBrowser.Api.LiveTv
|
||||||
public string SeriesTimerId { get; set; }
|
public string SeriesTimerId { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/Recordings/Groups", "GET")]
|
[Route("/LiveTv/Recordings/Groups", "GET", Summary = "Gets live tv recording groups")]
|
||||||
[Api(Description = "Gets live tv recording groups")]
|
|
||||||
public class GetRecordingGroups : IReturn<QueryResult<RecordingGroupDto>>
|
public class GetRecordingGroups : IReturn<QueryResult<RecordingGroupDto>>
|
||||||
{
|
{
|
||||||
[ApiMember(Name = "UserId", Description = "Optional filter by user and attach user data.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
|
[ApiMember(Name = "UserId", Description = "Optional filter by user and attach user data.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
|
||||||
public string UserId { get; set; }
|
public string UserId { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/Recordings/{Id}", "GET")]
|
[Route("/LiveTv/Recordings/{Id}", "GET", Summary = "Gets a live tv recording")]
|
||||||
[Api(Description = "Gets a live tv recording")]
|
|
||||||
public class GetRecording : IReturn<RecordingInfoDto>
|
public class GetRecording : IReturn<RecordingInfoDto>
|
||||||
{
|
{
|
||||||
[ApiMember(Name = "Id", Description = "Recording Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
[ApiMember(Name = "Id", Description = "Recording Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
||||||
|
@ -106,32 +100,28 @@ namespace MediaBrowser.Api.LiveTv
|
||||||
public string UserId { get; set; }
|
public string UserId { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/Tuners/{Id}/Reset", "POST")]
|
[Route("/LiveTv/Tuners/{Id}/Reset", "POST", Summary = "Resets a tv tuner")]
|
||||||
[Api(Description = "Resets a tv tuner")]
|
|
||||||
public class ResetTuner : IReturnVoid
|
public class ResetTuner : IReturnVoid
|
||||||
{
|
{
|
||||||
[ApiMember(Name = "Id", Description = "Tuner Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
[ApiMember(Name = "Id", Description = "Tuner Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
||||||
public string Id { get; set; }
|
public string Id { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/Timers/{Id}", "GET")]
|
[Route("/LiveTv/Timers/{Id}", "GET", Summary = "Gets a live tv timer")]
|
||||||
[Api(Description = "Gets a live tv timer")]
|
|
||||||
public class GetTimer : IReturn<TimerInfoDto>
|
public class GetTimer : IReturn<TimerInfoDto>
|
||||||
{
|
{
|
||||||
[ApiMember(Name = "Id", Description = "Timer Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
[ApiMember(Name = "Id", Description = "Timer Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
||||||
public string Id { get; set; }
|
public string Id { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/Timers/Defaults", "GET")]
|
[Route("/LiveTv/Timers/Defaults", "GET", Summary = "Gets default values for a new timer")]
|
||||||
[Api(Description = "Gets default values for a new timer")]
|
|
||||||
public class GetDefaultTimer : IReturn<SeriesTimerInfoDto>
|
public class GetDefaultTimer : IReturn<SeriesTimerInfoDto>
|
||||||
{
|
{
|
||||||
[ApiMember(Name = "ProgramId", Description = "Optional, to attach default values based on a program.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
|
[ApiMember(Name = "ProgramId", Description = "Optional, to attach default values based on a program.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
|
||||||
public string ProgramId { get; set; }
|
public string ProgramId { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/Timers", "GET")]
|
[Route("/LiveTv/Timers", "GET", Summary = "Gets live tv timers")]
|
||||||
[Api(Description = "Gets live tv timers")]
|
|
||||||
public class GetTimers : IReturn<QueryResult<TimerInfoDto>>
|
public class GetTimers : IReturn<QueryResult<TimerInfoDto>>
|
||||||
{
|
{
|
||||||
[ApiMember(Name = "ChannelId", Description = "Optional filter by channel id.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
|
[ApiMember(Name = "ChannelId", Description = "Optional filter by channel id.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
|
||||||
|
@ -141,8 +131,7 @@ namespace MediaBrowser.Api.LiveTv
|
||||||
public string SeriesTimerId { get; set; }
|
public string SeriesTimerId { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/Programs", "GET,POST")]
|
[Route("/LiveTv/Programs", "GET,POST", Summary = "Gets available live tv epgs..")]
|
||||||
[Api(Description = "Gets available live tv epgs..")]
|
|
||||||
public class GetPrograms : IReturn<QueryResult<ProgramInfoDto>>
|
public class GetPrograms : IReturn<QueryResult<ProgramInfoDto>>
|
||||||
{
|
{
|
||||||
[ApiMember(Name = "ChannelIds", Description = "The channels to return guide information for.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET,POST")]
|
[ApiMember(Name = "ChannelIds", Description = "The channels to return guide information for.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET,POST")]
|
||||||
|
@ -164,8 +153,7 @@ namespace MediaBrowser.Api.LiveTv
|
||||||
public string MaxEndDate { get; set; }
|
public string MaxEndDate { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/Programs/Recommended", "GET")]
|
[Route("/LiveTv/Programs/Recommended", "GET", Summary = "Gets available live tv epgs..")]
|
||||||
[Api(Description = "Gets available live tv epgs..")]
|
|
||||||
public class GetRecommendedPrograms : IReturn<QueryResult<ProgramInfoDto>>
|
public class GetRecommendedPrograms : IReturn<QueryResult<ProgramInfoDto>>
|
||||||
{
|
{
|
||||||
[ApiMember(Name = "UserId", Description = "Optional filter by user id.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET,POST")]
|
[ApiMember(Name = "UserId", Description = "Optional filter by user id.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET,POST")]
|
||||||
|
@ -181,8 +169,7 @@ namespace MediaBrowser.Api.LiveTv
|
||||||
public bool? HasAired { get; set; }
|
public bool? HasAired { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/Programs/{Id}", "GET")]
|
[Route("/LiveTv/Programs/{Id}", "GET", Summary = "Gets a live tv program")]
|
||||||
[Api(Description = "Gets a live tv program")]
|
|
||||||
public class GetProgram : IReturn<ProgramInfoDto>
|
public class GetProgram : IReturn<ProgramInfoDto>
|
||||||
{
|
{
|
||||||
[ApiMember(Name = "Id", Description = "Program Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
[ApiMember(Name = "Id", Description = "Program Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
||||||
|
@ -193,44 +180,38 @@ namespace MediaBrowser.Api.LiveTv
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
[Route("/LiveTv/Recordings/{Id}", "DELETE")]
|
[Route("/LiveTv/Recordings/{Id}", "DELETE", Summary = "Deletes a live tv recording")]
|
||||||
[Api(Description = "Deletes a live tv recording")]
|
|
||||||
public class DeleteRecording : IReturnVoid
|
public class DeleteRecording : IReturnVoid
|
||||||
{
|
{
|
||||||
[ApiMember(Name = "Id", Description = "Recording Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
[ApiMember(Name = "Id", Description = "Recording Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
||||||
public string Id { get; set; }
|
public string Id { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/Timers/{Id}", "DELETE")]
|
[Route("/LiveTv/Timers/{Id}", "DELETE", Summary = "Cancels a live tv timer")]
|
||||||
[Api(Description = "Cancels a live tv timer")]
|
|
||||||
public class CancelTimer : IReturnVoid
|
public class CancelTimer : IReturnVoid
|
||||||
{
|
{
|
||||||
[ApiMember(Name = "Id", Description = "Timer Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
[ApiMember(Name = "Id", Description = "Timer Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
||||||
public string Id { get; set; }
|
public string Id { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/Timers/{Id}", "POST")]
|
[Route("/LiveTv/Timers/{Id}", "POST", Summary = "Updates a live tv timer")]
|
||||||
[Api(Description = "Updates a live tv timer")]
|
|
||||||
public class UpdateTimer : TimerInfoDto, IReturnVoid
|
public class UpdateTimer : TimerInfoDto, IReturnVoid
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/Timers", "POST")]
|
[Route("/LiveTv/Timers", "POST", Summary = "Creates a live tv timer")]
|
||||||
[Api(Description = "Creates a live tv timer")]
|
|
||||||
public class CreateTimer : TimerInfoDto, IReturnVoid
|
public class CreateTimer : TimerInfoDto, IReturnVoid
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/SeriesTimers/{Id}", "GET")]
|
[Route("/LiveTv/SeriesTimers/{Id}", "GET", Summary = "Gets a live tv series timer")]
|
||||||
[Api(Description = "Gets a live tv series timer")]
|
|
||||||
public class GetSeriesTimer : IReturn<TimerInfoDto>
|
public class GetSeriesTimer : IReturn<TimerInfoDto>
|
||||||
{
|
{
|
||||||
[ApiMember(Name = "Id", Description = "Timer Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
[ApiMember(Name = "Id", Description = "Timer Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
||||||
public string Id { get; set; }
|
public string Id { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/SeriesTimers", "GET")]
|
[Route("/LiveTv/SeriesTimers", "GET", Summary = "Gets live tv series timers")]
|
||||||
[Api(Description = "Gets live tv series timers")]
|
|
||||||
public class GetSeriesTimers : IReturn<QueryResult<SeriesTimerInfoDto>>
|
public class GetSeriesTimers : IReturn<QueryResult<SeriesTimerInfoDto>>
|
||||||
{
|
{
|
||||||
[ApiMember(Name = "SortBy", Description = "Optional. Sort by SortName or Priority", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET,POST")]
|
[ApiMember(Name = "SortBy", Description = "Optional. Sort by SortName or Priority", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET,POST")]
|
||||||
|
@ -240,36 +221,31 @@ namespace MediaBrowser.Api.LiveTv
|
||||||
public SortOrder SortOrder { get; set; }
|
public SortOrder SortOrder { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/SeriesTimers/{Id}", "DELETE")]
|
[Route("/LiveTv/SeriesTimers/{Id}", "DELETE", Summary = "Cancels a live tv series timer")]
|
||||||
[Api(Description = "Cancels a live tv series timer")]
|
|
||||||
public class CancelSeriesTimer : IReturnVoid
|
public class CancelSeriesTimer : IReturnVoid
|
||||||
{
|
{
|
||||||
[ApiMember(Name = "Id", Description = "Timer Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
[ApiMember(Name = "Id", Description = "Timer Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
||||||
public string Id { get; set; }
|
public string Id { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/SeriesTimers/{Id}", "POST")]
|
[Route("/LiveTv/SeriesTimers/{Id}", "POST", Summary = "Updates a live tv series timer")]
|
||||||
[Api(Description = "Updates a live tv series timer")]
|
|
||||||
public class UpdateSeriesTimer : SeriesTimerInfoDto, IReturnVoid
|
public class UpdateSeriesTimer : SeriesTimerInfoDto, IReturnVoid
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/SeriesTimers", "POST")]
|
[Route("/LiveTv/SeriesTimers", "POST", Summary = "Creates a live tv series timer")]
|
||||||
[Api(Description = "Creates a live tv series timer")]
|
|
||||||
public class CreateSeriesTimer : SeriesTimerInfoDto, IReturnVoid
|
public class CreateSeriesTimer : SeriesTimerInfoDto, IReturnVoid
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/Recordings/Groups/{Id}", "GET")]
|
[Route("/LiveTv/Recordings/Groups/{Id}", "GET", Summary = "Gets a recording group")]
|
||||||
[Api(Description = "Gets a recording group")]
|
|
||||||
public class GetRecordingGroup : IReturn<RecordingGroupDto>
|
public class GetRecordingGroup : IReturn<RecordingGroupDto>
|
||||||
{
|
{
|
||||||
[ApiMember(Name = "Id", Description = "Recording group Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
[ApiMember(Name = "Id", Description = "Recording group Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
||||||
public string Id { get; set; }
|
public string Id { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Route("/LiveTv/GuideInfo", "GET")]
|
[Route("/LiveTv/GuideInfo", "GET", Summary = "Gets guide info")]
|
||||||
[Api(Description = "Gets guide info")]
|
|
||||||
public class GetGuideInfo : IReturn<GuideInfo>
|
public class GetGuideInfo : IReturn<GuideInfo>
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Runtime.Serialization;
|
using System.Runtime.Serialization;
|
||||||
using System.Xml.Serialization;
|
using System.Xml.Serialization;
|
||||||
|
@ -33,7 +34,9 @@ namespace MediaBrowser.Controller.Dlna
|
||||||
public string ModelNumber { get; set; }
|
public string ModelNumber { get; set; }
|
||||||
public string ModelUrl { get; set; }
|
public string ModelUrl { get; set; }
|
||||||
public bool IgnoreTranscodeByteRangeRequests { get; set; }
|
public bool IgnoreTranscodeByteRangeRequests { get; set; }
|
||||||
public bool SupportsAlbumArtInDidl { get; set; }
|
public bool EnableAlbumArtInDidl { get; set; }
|
||||||
|
|
||||||
|
public string SupportedMediaTypes { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Controls the content of the X_DLNADOC element in the urn:schemas-dlna-org:device-1-0 namespace.
|
/// Controls the content of the X_DLNADOC element in the urn:schemas-dlna-org:device-1-0 namespace.
|
||||||
|
@ -78,6 +81,13 @@ namespace MediaBrowser.Controller.Dlna
|
||||||
MediaProfiles = new MediaProfile[] { };
|
MediaProfiles = new MediaProfile[] { };
|
||||||
CodecProfiles = new CodecProfile[] { };
|
CodecProfiles = new CodecProfile[] { };
|
||||||
ContainerProfiles = new ContainerProfile[] { };
|
ContainerProfiles = new ContainerProfile[] { };
|
||||||
|
|
||||||
|
SupportedMediaTypes = "Audio,Photo,Video";
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<string> GetSupportedMediaTypes()
|
||||||
|
{
|
||||||
|
return (SupportedMediaTypes ?? string.Empty).Split(',').Where(i => !string.IsNullOrWhiteSpace(i)).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public TranscodingProfile GetAudioTranscodingProfile(string container, string audioCodec)
|
public TranscodingProfile GetAudioTranscodingProfile(string container, string audioCodec)
|
||||||
|
|
|
@ -70,7 +70,9 @@ namespace MediaBrowser.Dlna
|
||||||
|
|
||||||
foreach (var item in list)
|
foreach (var item in list)
|
||||||
{
|
{
|
||||||
_xmlSerializer.SerializeToFile(item, "d:\\" + _fileSystem.GetValidFilename(item.Name) + ".xml");
|
var path = Path.Combine(_appPaths.ProgramDataPath, _fileSystem.GetValidFilename(item.Name) + ".xml");
|
||||||
|
|
||||||
|
_xmlSerializer.SerializeToFile(item, path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,6 +104,8 @@ namespace MediaBrowser.Dlna
|
||||||
|
|
||||||
public DeviceProfile GetDefaultProfile()
|
public DeviceProfile GetDefaultProfile()
|
||||||
{
|
{
|
||||||
|
ExtractProfilesIfNeeded();
|
||||||
|
|
||||||
return new DefaultProfile();
|
return new DefaultProfile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -172,8 +172,8 @@ namespace MediaBrowser.Dlna.PlayTo
|
||||||
{
|
{
|
||||||
Item = _currentItem,
|
Item = _currentItem,
|
||||||
SessionId = _session.Id,
|
SessionId = _session.Id,
|
||||||
CanSeek = true,
|
CanSeek = true,
|
||||||
QueueableMediaTypes = new List<string> { "Audio", "Video" }
|
QueueableMediaTypes = new List<string> { _currentItem.MediaType }
|
||||||
|
|
||||||
}).ConfigureAwait(false);
|
}).ConfigureAwait(false);
|
||||||
|
|
||||||
|
|
|
@ -239,14 +239,12 @@ namespace MediaBrowser.Dlna.PlayTo
|
||||||
|
|
||||||
controller.Init(device);
|
controller.Init(device);
|
||||||
|
|
||||||
|
var profile = _dlnaManager.GetProfile(device.Properties.ToDeviceIdentification()) ??
|
||||||
|
_dlnaManager.GetDefaultProfile();
|
||||||
|
|
||||||
_sessionManager.ReportCapabilities(sessionInfo.Id, new SessionCapabilities
|
_sessionManager.ReportCapabilities(sessionInfo.Id, new SessionCapabilities
|
||||||
{
|
{
|
||||||
PlayableMediaTypes = new[]
|
PlayableMediaTypes = profile.GetSupportedMediaTypes().ToArray(),
|
||||||
{
|
|
||||||
MediaType.Audio,
|
|
||||||
MediaType.Video,
|
|
||||||
MediaType.Photo
|
|
||||||
},
|
|
||||||
|
|
||||||
SupportsFullscreenToggle = false
|
SupportsFullscreenToggle = false
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
using System.Xml.Serialization;
|
using MediaBrowser.Controller.Dlna;
|
||||||
using MediaBrowser.Controller.Dlna;
|
using System.Xml.Serialization;
|
||||||
|
|
||||||
namespace MediaBrowser.Dlna.Profiles
|
namespace MediaBrowser.Dlna.Profiles
|
||||||
{
|
{
|
||||||
|
@ -10,6 +10,8 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
{
|
{
|
||||||
Name = "foobar2000";
|
Name = "foobar2000";
|
||||||
|
|
||||||
|
SupportedMediaTypes = "Audio";
|
||||||
|
|
||||||
Identification = new DeviceIdentification
|
Identification = new DeviceIdentification
|
||||||
{
|
{
|
||||||
FriendlyName = @"foobar",
|
FriendlyName = @"foobar",
|
||||||
|
|
|
@ -10,7 +10,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
{
|
{
|
||||||
Name = "Samsung Smart TV";
|
Name = "Samsung Smart TV";
|
||||||
|
|
||||||
SupportsAlbumArtInDidl = true;
|
EnableAlbumArtInDidl = true;
|
||||||
|
|
||||||
Identification = new DeviceIdentification
|
Identification = new DeviceIdentification
|
||||||
{
|
{
|
||||||
|
|
|
@ -8,7 +8,8 @@
|
||||||
<ModelNumber>Media Browser</ModelNumber>
|
<ModelNumber>Media Browser</ModelNumber>
|
||||||
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
||||||
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
||||||
<SupportsAlbumArtInDidl>false</SupportsAlbumArtInDidl>
|
<EnableAlbumArtInDidl>false</EnableAlbumArtInDidl>
|
||||||
|
<SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
|
||||||
<ProtocolInfo>DLNA</ProtocolInfo>
|
<ProtocolInfo>DLNA</ProtocolInfo>
|
||||||
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
||||||
<RequiresPlainVideoItems>false</RequiresPlainVideoItems>
|
<RequiresPlainVideoItems>false</RequiresPlainVideoItems>
|
||||||
|
|
|
@ -13,7 +13,8 @@
|
||||||
<ModelNumber>Media Browser</ModelNumber>
|
<ModelNumber>Media Browser</ModelNumber>
|
||||||
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
||||||
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
||||||
<SupportsAlbumArtInDidl>false</SupportsAlbumArtInDidl>
|
<EnableAlbumArtInDidl>false</EnableAlbumArtInDidl>
|
||||||
|
<SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
|
||||||
<ProtocolInfo>DLNA</ProtocolInfo>
|
<ProtocolInfo>DLNA</ProtocolInfo>
|
||||||
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
||||||
<RequiresPlainVideoItems>false</RequiresPlainVideoItems>
|
<RequiresPlainVideoItems>false</RequiresPlainVideoItems>
|
||||||
|
|
|
@ -14,7 +14,8 @@
|
||||||
<ModelNumber>Media Browser</ModelNumber>
|
<ModelNumber>Media Browser</ModelNumber>
|
||||||
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
||||||
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
||||||
<SupportsAlbumArtInDidl>false</SupportsAlbumArtInDidl>
|
<EnableAlbumArtInDidl>false</EnableAlbumArtInDidl>
|
||||||
|
<SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
|
||||||
<ProtocolInfo>DLNA</ProtocolInfo>
|
<ProtocolInfo>DLNA</ProtocolInfo>
|
||||||
<TimelineOffsetSeconds>10</TimelineOffsetSeconds>
|
<TimelineOffsetSeconds>10</TimelineOffsetSeconds>
|
||||||
<RequiresPlainVideoItems>false</RequiresPlainVideoItems>
|
<RequiresPlainVideoItems>false</RequiresPlainVideoItems>
|
||||||
|
|
|
@ -12,7 +12,8 @@
|
||||||
<ModelNumber>Media Browser</ModelNumber>
|
<ModelNumber>Media Browser</ModelNumber>
|
||||||
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
||||||
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
||||||
<SupportsAlbumArtInDidl>false</SupportsAlbumArtInDidl>
|
<EnableAlbumArtInDidl>false</EnableAlbumArtInDidl>
|
||||||
|
<SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
|
||||||
<ProtocolInfo>DLNA</ProtocolInfo>
|
<ProtocolInfo>DLNA</ProtocolInfo>
|
||||||
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
||||||
<RequiresPlainVideoItems>false</RequiresPlainVideoItems>
|
<RequiresPlainVideoItems>false</RequiresPlainVideoItems>
|
||||||
|
|
|
@ -15,7 +15,8 @@
|
||||||
<ModelNumber>Media Browser</ModelNumber>
|
<ModelNumber>Media Browser</ModelNumber>
|
||||||
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
||||||
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
||||||
<SupportsAlbumArtInDidl>false</SupportsAlbumArtInDidl>
|
<EnableAlbumArtInDidl>false</EnableAlbumArtInDidl>
|
||||||
|
<SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
|
||||||
<ProtocolInfo>DLNA</ProtocolInfo>
|
<ProtocolInfo>DLNA</ProtocolInfo>
|
||||||
<TimelineOffsetSeconds>10</TimelineOffsetSeconds>
|
<TimelineOffsetSeconds>10</TimelineOffsetSeconds>
|
||||||
<RequiresPlainVideoItems>false</RequiresPlainVideoItems>
|
<RequiresPlainVideoItems>false</RequiresPlainVideoItems>
|
||||||
|
|
|
@ -12,7 +12,8 @@
|
||||||
<ModelNumber>Media Browser</ModelNumber>
|
<ModelNumber>Media Browser</ModelNumber>
|
||||||
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
||||||
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
||||||
<SupportsAlbumArtInDidl>true</SupportsAlbumArtInDidl>
|
<EnableAlbumArtInDidl>true</EnableAlbumArtInDidl>
|
||||||
|
<SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
|
||||||
<ProtocolInfo>DLNA</ProtocolInfo>
|
<ProtocolInfo>DLNA</ProtocolInfo>
|
||||||
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
||||||
<RequiresPlainVideoItems>false</RequiresPlainVideoItems>
|
<RequiresPlainVideoItems>false</RequiresPlainVideoItems>
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -15,7 +15,8 @@
|
||||||
<ModelNumber>3.0</ModelNumber>
|
<ModelNumber>3.0</ModelNumber>
|
||||||
<ModelUrl>http://www.microsoft.com/</ModelUrl>
|
<ModelUrl>http://www.microsoft.com/</ModelUrl>
|
||||||
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
||||||
<SupportsAlbumArtInDidl>false</SupportsAlbumArtInDidl>
|
<EnableAlbumArtInDidl>false</EnableAlbumArtInDidl>
|
||||||
|
<SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
|
||||||
<SonyAggregationFlags>10</SonyAggregationFlags>
|
<SonyAggregationFlags>10</SonyAggregationFlags>
|
||||||
<ProtocolInfo>http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_SM;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_PAL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000</ProtocolInfo>
|
<ProtocolInfo>http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_SM;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_PAL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000</ProtocolInfo>
|
||||||
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
||||||
|
|
|
@ -15,7 +15,8 @@
|
||||||
<ModelNumber>3.0</ModelNumber>
|
<ModelNumber>3.0</ModelNumber>
|
||||||
<ModelUrl>http://www.microsoft.com/</ModelUrl>
|
<ModelUrl>http://www.microsoft.com/</ModelUrl>
|
||||||
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
||||||
<SupportsAlbumArtInDidl>false</SupportsAlbumArtInDidl>
|
<EnableAlbumArtInDidl>false</EnableAlbumArtInDidl>
|
||||||
|
<SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
|
||||||
<SonyAggregationFlags>10</SonyAggregationFlags>
|
<SonyAggregationFlags>10</SonyAggregationFlags>
|
||||||
<ProtocolInfo>DLNA</ProtocolInfo>
|
<ProtocolInfo>DLNA</ProtocolInfo>
|
||||||
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
||||||
|
|
|
@ -15,7 +15,8 @@
|
||||||
<ModelNumber>3.0</ModelNumber>
|
<ModelNumber>3.0</ModelNumber>
|
||||||
<ModelUrl>http://www.microsoft.com/</ModelUrl>
|
<ModelUrl>http://www.microsoft.com/</ModelUrl>
|
||||||
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
||||||
<SupportsAlbumArtInDidl>false</SupportsAlbumArtInDidl>
|
<EnableAlbumArtInDidl>false</EnableAlbumArtInDidl>
|
||||||
|
<SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
|
||||||
<SonyAggregationFlags>10</SonyAggregationFlags>
|
<SonyAggregationFlags>10</SonyAggregationFlags>
|
||||||
<ProtocolInfo>DLNA</ProtocolInfo>
|
<ProtocolInfo>DLNA</ProtocolInfo>
|
||||||
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
||||||
|
|
|
@ -15,7 +15,8 @@
|
||||||
<ModelNumber>3.0</ModelNumber>
|
<ModelNumber>3.0</ModelNumber>
|
||||||
<ModelUrl>http://www.microsoft.com/</ModelUrl>
|
<ModelUrl>http://www.microsoft.com/</ModelUrl>
|
||||||
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
||||||
<SupportsAlbumArtInDidl>false</SupportsAlbumArtInDidl>
|
<EnableAlbumArtInDidl>false</EnableAlbumArtInDidl>
|
||||||
|
<SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
|
||||||
<SonyAggregationFlags>10</SonyAggregationFlags>
|
<SonyAggregationFlags>10</SonyAggregationFlags>
|
||||||
<ProtocolInfo>DLNA</ProtocolInfo>
|
<ProtocolInfo>DLNA</ProtocolInfo>
|
||||||
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
||||||
|
|
|
@ -15,7 +15,8 @@
|
||||||
<ModelNumber>Media Browser</ModelNumber>
|
<ModelNumber>Media Browser</ModelNumber>
|
||||||
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
||||||
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
||||||
<SupportsAlbumArtInDidl>false</SupportsAlbumArtInDidl>
|
<EnableAlbumArtInDidl>false</EnableAlbumArtInDidl>
|
||||||
|
<SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
|
||||||
<XDlnaDoc>DMS-1.50</XDlnaDoc>
|
<XDlnaDoc>DMS-1.50</XDlnaDoc>
|
||||||
<SonyAggregationFlags>10</SonyAggregationFlags>
|
<SonyAggregationFlags>10</SonyAggregationFlags>
|
||||||
<ProtocolInfo>DLNA</ProtocolInfo>
|
<ProtocolInfo>DLNA</ProtocolInfo>
|
||||||
|
|
|
@ -15,7 +15,8 @@
|
||||||
<ModelNumber>Media Browser</ModelNumber>
|
<ModelNumber>Media Browser</ModelNumber>
|
||||||
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
||||||
<IgnoreTranscodeByteRangeRequests>true</IgnoreTranscodeByteRangeRequests>
|
<IgnoreTranscodeByteRangeRequests>true</IgnoreTranscodeByteRangeRequests>
|
||||||
<SupportsAlbumArtInDidl>false</SupportsAlbumArtInDidl>
|
<EnableAlbumArtInDidl>false</EnableAlbumArtInDidl>
|
||||||
|
<SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
|
||||||
<ProtocolInfo>DLNA</ProtocolInfo>
|
<ProtocolInfo>DLNA</ProtocolInfo>
|
||||||
<TimelineOffsetSeconds>5</TimelineOffsetSeconds>
|
<TimelineOffsetSeconds>5</TimelineOffsetSeconds>
|
||||||
<RequiresPlainVideoItems>false</RequiresPlainVideoItems>
|
<RequiresPlainVideoItems>false</RequiresPlainVideoItems>
|
||||||
|
|
|
@ -15,7 +15,8 @@
|
||||||
<ModelNumber>12.0</ModelNumber>
|
<ModelNumber>12.0</ModelNumber>
|
||||||
<ModelUrl>http://www.microsoft.com/</ModelUrl>
|
<ModelUrl>http://www.microsoft.com/</ModelUrl>
|
||||||
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
||||||
<SupportsAlbumArtInDidl>false</SupportsAlbumArtInDidl>
|
<EnableAlbumArtInDidl>false</EnableAlbumArtInDidl>
|
||||||
|
<SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
|
||||||
<XDlnaDoc>DMS-1.50</XDlnaDoc>
|
<XDlnaDoc>DMS-1.50</XDlnaDoc>
|
||||||
<ProtocolInfo>DLNA</ProtocolInfo>
|
<ProtocolInfo>DLNA</ProtocolInfo>
|
||||||
<TimelineOffsetSeconds>40</TimelineOffsetSeconds>
|
<TimelineOffsetSeconds>40</TimelineOffsetSeconds>
|
||||||
|
|
|
@ -13,7 +13,8 @@
|
||||||
<ModelNumber>Media Browser</ModelNumber>
|
<ModelNumber>Media Browser</ModelNumber>
|
||||||
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
||||||
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
||||||
<SupportsAlbumArtInDidl>false</SupportsAlbumArtInDidl>
|
<EnableAlbumArtInDidl>false</EnableAlbumArtInDidl>
|
||||||
|
<SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
|
||||||
<ProtocolInfo>DLNA</ProtocolInfo>
|
<ProtocolInfo>DLNA</ProtocolInfo>
|
||||||
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
||||||
<RequiresPlainVideoItems>false</RequiresPlainVideoItems>
|
<RequiresPlainVideoItems>false</RequiresPlainVideoItems>
|
||||||
|
|
|
@ -14,7 +14,8 @@
|
||||||
<ModelNumber>Media Browser</ModelNumber>
|
<ModelNumber>Media Browser</ModelNumber>
|
||||||
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
<ModelUrl>http://mediabrowser3.com/</ModelUrl>
|
||||||
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
|
||||||
<SupportsAlbumArtInDidl>false</SupportsAlbumArtInDidl>
|
<EnableAlbumArtInDidl>false</EnableAlbumArtInDidl>
|
||||||
|
<SupportedMediaTypes>Audio</SupportedMediaTypes>
|
||||||
<ProtocolInfo>DLNA</ProtocolInfo>
|
<ProtocolInfo>DLNA</ProtocolInfo>
|
||||||
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
<TimelineOffsetSeconds>0</TimelineOffsetSeconds>
|
||||||
<RequiresPlainVideoItems>false</RequiresPlainVideoItems>
|
<RequiresPlainVideoItems>false</RequiresPlainVideoItems>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user