rename album art property

This commit is contained in:
Luke Pulverenti 2014-03-26 12:10:46 -04:00
parent de19966074
commit 3f2d10ca62
25 changed files with 87 additions and 82 deletions

View file

@ -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; }

View file

@ -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>
{ {
} }

View file

@ -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)

View file

@ -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();
} }

View file

@ -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);

View file

@ -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
}); });

View file

@ -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",

View file

@ -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
{ {

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>