diff options
Diffstat (limited to 'Emby.Dlna')
118 files changed, 2785 insertions, 2977 deletions
diff --git a/Emby.Dlna/Api/DlnaServerService.cs b/Emby.Dlna/Api/DlnaServerService.cs index 194ae73e06..01c9fe50f5 100644 --- a/Emby.Dlna/Api/DlnaServerService.cs +++ b/Emby.Dlna/Api/DlnaServerService.cs @@ -1,14 +1,14 @@ -using MediaBrowser.Controller.Dlna; using System; using System.Collections.Generic; using System.IO; +using System.Linq; +using System.Text; using System.Threading.Tasks; -using MediaBrowser.Model.Services; +using Emby.Dlna.Main; using MediaBrowser.Common.Extensions; -using System.Text; +using MediaBrowser.Controller.Dlna; using MediaBrowser.Controller.Net; -using System.Linq; -using Emby.Dlna.Main; +using MediaBrowser.Model.Services; namespace Emby.Dlna.Api { @@ -115,29 +115,11 @@ namespace Emby.Dlna.Api public IRequest Request { get; set; } private IHttpResultFactory _resultFactory; - private IContentDirectory ContentDirectory - { - get - { - return DlnaEntryPoint.Current.ContentDirectory; - } - } + private IContentDirectory ContentDirectory => DlnaEntryPoint.Current.ContentDirectory; - private IConnectionManager ConnectionManager - { - get - { - return DlnaEntryPoint.Current.ConnectionManager; - } - } + private IConnectionManager ConnectionManager => DlnaEntryPoint.Current.ConnectionManager; - private IMediaReceiverRegistrar MediaReceiverRegistrar - { - get - { - return DlnaEntryPoint.Current.MediaReceiverRegistrar; - } - } + private IMediaReceiverRegistrar MediaReceiverRegistrar => DlnaEntryPoint.Current.MediaReceiverRegistrar; public DlnaServerService(IDlnaManager dlnaManager, IHttpResultFactory httpResultFactory) { @@ -227,7 +209,7 @@ namespace Emby.Dlna.Api // TODO: Work out what this is doing. if (string.Equals(first, "mediabrowser", StringComparison.OrdinalIgnoreCase) || string.Equals(first, "emby", StringComparison.OrdinalIgnoreCase) || - string.Equals(first, "jellyfin", StringComparison.OrdinalIgnoreCase )) + string.Equals(first, "jellyfin", StringComparison.OrdinalIgnoreCase)) { index++; } @@ -259,7 +241,7 @@ namespace Emby.Dlna.Api var cacheLength = TimeSpan.FromDays(365); var cacheKey = Request.RawUrl.GetMD5(); - return _resultFactory.GetStaticResult(Request, cacheKey, null, cacheLength, contentType, () => Task.FromResult<Stream>(_dlnaManager.GetIcon(request.Filename).Stream)); + return _resultFactory.GetStaticResult(Request, cacheKey, null, cacheLength, contentType, () => Task.FromResult(_dlnaManager.GetIcon(request.Filename).Stream)); } public object Subscribe(ProcessContentDirectoryEventRequest request) diff --git a/Emby.Dlna/Api/DlnaService.cs b/Emby.Dlna/Api/DlnaService.cs index fec610d230..7f51f477a7 100644 --- a/Emby.Dlna/Api/DlnaService.cs +++ b/Emby.Dlna/Api/DlnaService.cs @@ -1,4 +1,4 @@ -using System.Linq; +using System.Linq; using MediaBrowser.Controller.Dlna; using MediaBrowser.Controller.Net; using MediaBrowser.Model.Dlna; @@ -80,4 +80,4 @@ namespace Emby.Dlna.Api _dlnaManager.CreateProfile(request); } } -}
\ No newline at end of file +} diff --git a/Emby.Dlna/Common/Argument.cs b/Emby.Dlna/Common/Argument.cs index e6a220a7f4..3e325c41ce 100644 --- a/Emby.Dlna/Common/Argument.cs +++ b/Emby.Dlna/Common/Argument.cs @@ -1,12 +1,12 @@ - + namespace Emby.Dlna.Common { public class Argument { - public string Name { get; set; } + public string Name { get; set; } - public string Direction { get; set; } + public string Direction { get; set; } - public string RelatedStateVariable { get; set; } + public string RelatedStateVariable { get; set; } } } diff --git a/Emby.Dlna/Common/DeviceIcon.cs b/Emby.Dlna/Common/DeviceIcon.cs index 27ae92d6f0..3a91b952ec 100644 --- a/Emby.Dlna/Common/DeviceIcon.cs +++ b/Emby.Dlna/Common/DeviceIcon.cs @@ -1,4 +1,4 @@ - + namespace Emby.Dlna.Common { public class DeviceIcon diff --git a/Emby.Dlna/Common/DeviceService.cs b/Emby.Dlna/Common/DeviceService.cs index 0d91dbe76d..c60d652913 100644 --- a/Emby.Dlna/Common/DeviceService.cs +++ b/Emby.Dlna/Common/DeviceService.cs @@ -1,4 +1,4 @@ - + namespace Emby.Dlna.Common { public class DeviceService diff --git a/Emby.Dlna/Common/ServiceAction.cs b/Emby.Dlna/Common/ServiceAction.cs index 1bcc6a1d68..5e030d396a 100644 --- a/Emby.Dlna/Common/ServiceAction.cs +++ b/Emby.Dlna/Common/ServiceAction.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; namespace Emby.Dlna.Common { diff --git a/Emby.Dlna/Common/StateVariable.cs b/Emby.Dlna/Common/StateVariable.cs index 571e17d060..4ca84bf51c 100644 --- a/Emby.Dlna/Common/StateVariable.cs +++ b/Emby.Dlna/Common/StateVariable.cs @@ -1,4 +1,3 @@ -using System.Collections.Generic; using System; namespace Emby.Dlna.Common diff --git a/Emby.Dlna/Configuration/DlnaOptions.cs b/Emby.Dlna/Configuration/DlnaOptions.cs index 6ab337752d..0ebb490a1f 100644 --- a/Emby.Dlna/Configuration/DlnaOptions.cs +++ b/Emby.Dlna/Configuration/DlnaOptions.cs @@ -1,4 +1,4 @@ - + namespace Emby.Dlna.Configuration { public class DlnaOptions diff --git a/Emby.Dlna/ConfigurationExtension.cs b/Emby.Dlna/ConfigurationExtension.cs index f19f0dfb5d..82d726e018 100644 --- a/Emby.Dlna/ConfigurationExtension.cs +++ b/Emby.Dlna/ConfigurationExtension.cs @@ -1,6 +1,6 @@ -using MediaBrowser.Common.Configuration; -using Emby.Dlna.Configuration; using System.Collections.Generic; +using Emby.Dlna.Configuration; +using MediaBrowser.Common.Configuration; namespace Emby.Dlna { diff --git a/Emby.Dlna/ConnectionManager/ConnectionManager.cs b/Emby.Dlna/ConnectionManager/ConnectionManager.cs index ab747d189b..cc427f2a15 100644 --- a/Emby.Dlna/ConnectionManager/ConnectionManager.cs +++ b/Emby.Dlna/ConnectionManager/ConnectionManager.cs @@ -1,8 +1,8 @@ -using MediaBrowser.Common.Net; +using System.Collections.Generic; +using Emby.Dlna.Service; +using MediaBrowser.Common.Net; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Dlna; -using Emby.Dlna.Service; -using System.Collections.Generic; using MediaBrowser.Model.Xml; using Microsoft.Extensions.Logging; diff --git a/Emby.Dlna/ConnectionManager/ConnectionManagerXmlBuilder.cs b/Emby.Dlna/ConnectionManager/ConnectionManagerXmlBuilder.cs index db18025e65..f5873455a6 100644 --- a/Emby.Dlna/ConnectionManager/ConnectionManagerXmlBuilder.cs +++ b/Emby.Dlna/ConnectionManager/ConnectionManagerXmlBuilder.cs @@ -1,6 +1,6 @@ +using System.Collections.Generic; using Emby.Dlna.Common; using Emby.Dlna.Service; -using System.Collections.Generic; namespace Emby.Dlna.ConnectionManager { diff --git a/Emby.Dlna/ConnectionManager/ControlHandler.cs b/Emby.Dlna/ConnectionManager/ControlHandler.cs index 7e3e5f650a..16211c61f4 100644 --- a/Emby.Dlna/ConnectionManager/ControlHandler.cs +++ b/Emby.Dlna/ConnectionManager/ControlHandler.cs @@ -1,12 +1,11 @@ -using MediaBrowser.Common.Extensions; -using MediaBrowser.Controller.Configuration; -using Emby.Dlna.Server; -using Emby.Dlna.Service; -using MediaBrowser.Model.Dlna; -using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; +using Emby.Dlna.Service; +using MediaBrowser.Common.Extensions; +using MediaBrowser.Controller.Configuration; +using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Xml; +using Microsoft.Extensions.Logging; namespace Emby.Dlna.ConnectionManager { diff --git a/Emby.Dlna/ConnectionManager/ServiceActionListBuilder.cs b/Emby.Dlna/ConnectionManager/ServiceActionListBuilder.cs index 674bc4c8ee..b7727b5580 100644 --- a/Emby.Dlna/ConnectionManager/ServiceActionListBuilder.cs +++ b/Emby.Dlna/ConnectionManager/ServiceActionListBuilder.cs @@ -1,5 +1,5 @@ -using Emby.Dlna.Common; using System.Collections.Generic; +using Emby.Dlna.Common; namespace Emby.Dlna.ConnectionManager { diff --git a/Emby.Dlna/ContentDirectory/ContentDirectory.cs b/Emby.Dlna/ContentDirectory/ContentDirectory.cs index 7c809a952a..cd21599d01 100644 --- a/Emby.Dlna/ContentDirectory/ContentDirectory.cs +++ b/Emby.Dlna/ContentDirectory/ContentDirectory.cs @@ -1,18 +1,18 @@ -using MediaBrowser.Common.Net; +using System; +using System.Collections.Generic; +using Emby.Dlna.Service; +using MediaBrowser.Common.Net; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Dlna; using MediaBrowser.Controller.Drawing; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; -using Emby.Dlna.Service; -using MediaBrowser.Model.Dlna; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Controller.TV; +using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Globalization; using MediaBrowser.Model.Xml; +using Microsoft.Extensions.Logging; namespace Emby.Dlna.ContentDirectory { diff --git a/Emby.Dlna/ContentDirectory/ContentDirectoryXmlBuilder.cs b/Emby.Dlna/ContentDirectory/ContentDirectoryXmlBuilder.cs index 2695a54332..15fdb36c4c 100644 --- a/Emby.Dlna/ContentDirectory/ContentDirectoryXmlBuilder.cs +++ b/Emby.Dlna/ContentDirectory/ContentDirectoryXmlBuilder.cs @@ -1,6 +1,6 @@ +using System.Collections.Generic; using Emby.Dlna.Common; using Emby.Dlna.Service; -using System.Collections.Generic; namespace Emby.Dlna.ContentDirectory { diff --git a/Emby.Dlna/ContentDirectory/ControlHandler.cs b/Emby.Dlna/ContentDirectory/ControlHandler.cs index 57d4078a58..ed2114e6aa 100644 --- a/Emby.Dlna/ContentDirectory/ControlHandler.cs +++ b/Emby.Dlna/ContentDirectory/ControlHandler.cs @@ -1,19 +1,3 @@ -using MediaBrowser.Common.Extensions; -using MediaBrowser.Controller.Channels; -using MediaBrowser.Controller.Configuration; -using MediaBrowser.Controller.Drawing; -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Entities.Movies; -using MediaBrowser.Controller.Entities.TV; -using MediaBrowser.Controller.Library; -using Emby.Dlna.Didl; -using Emby.Dlna.Server; -using Emby.Dlna.Service; -using MediaBrowser.Model.Configuration; -using MediaBrowser.Model.Dlna; -using MediaBrowser.Model.Entities; -using Microsoft.Extensions.Logging; -using MediaBrowser.Model.Querying; using System; using System.Collections.Generic; using System.Globalization; @@ -21,17 +5,28 @@ using System.IO; using System.Linq; using System.Text; using System.Threading; -using System.Threading.Tasks; using System.Xml; +using Emby.Dlna.Didl; +using Emby.Dlna.Service; +using MediaBrowser.Common.Extensions; +using MediaBrowser.Controller.Configuration; +using MediaBrowser.Controller.Drawing; using MediaBrowser.Controller.Dto; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; +using MediaBrowser.Controller.Entities.Movies; +using MediaBrowser.Controller.Entities.TV; +using MediaBrowser.Controller.Library; +using MediaBrowser.Controller.LiveTv; using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Controller.Playlists; using MediaBrowser.Controller.TV; +using MediaBrowser.Model.Dlna; +using MediaBrowser.Model.Entities; using MediaBrowser.Model.Globalization; +using MediaBrowser.Model.Querying; using MediaBrowser.Model.Xml; -using MediaBrowser.Model.Extensions; -using MediaBrowser.Controller.LiveTv; +using Microsoft.Extensions.Logging; namespace Emby.Dlna.ContentDirectory { @@ -197,9 +192,7 @@ namespace Emby.Dlna.ContentDirectory public string GetValueOrDefault(IDictionary<string, string> sparams, string key, string defaultValue) { - string val; - - if (sparams.TryGetValue(key, out val)) + if (sparams.TryGetValue(key, out var val)) { return val; } @@ -221,14 +214,12 @@ namespace Emby.Dlna.ContentDirectory int? requestedCount = null; int? start = 0; - int requestedVal; - if (sparams.ContainsKey("RequestedCount") && int.TryParse(sparams["RequestedCount"], out requestedVal) && requestedVal > 0) + if (sparams.ContainsKey("RequestedCount") && int.TryParse(sparams["RequestedCount"], out var requestedVal) && requestedVal > 0) { requestedCount = requestedVal; } - int startVal; - if (sparams.ContainsKey("StartingIndex") && int.TryParse(sparams["StartingIndex"], out startVal) && startVal > 0) + if (sparams.ContainsKey("StartingIndex") && int.TryParse(sparams["StartingIndex"], out var startVal) && startVal > 0) { start = startVal; } @@ -247,7 +238,7 @@ namespace Emby.Dlna.ContentDirectory var dlnaOptions = _config.GetDlnaConfiguration(); - using (XmlWriter writer = XmlWriter.Create(builder, settings)) + using (var writer = XmlWriter.Create(builder, settings)) { //writer.WriteStartDocument(); @@ -311,7 +302,7 @@ namespace Emby.Dlna.ContentDirectory var resXML = builder.ToString(); - return new [] + return new[] { new KeyValuePair<string,string>("Result", resXML), new KeyValuePair<string,string>("NumberReturned", provided.ToString(_usCulture)), @@ -339,14 +330,12 @@ namespace Emby.Dlna.ContentDirectory int? requestedCount = null; int? start = 0; - int requestedVal; - if (sparams.ContainsKey("RequestedCount") && int.TryParse(sparams["RequestedCount"], out requestedVal) && requestedVal > 0) + if (sparams.ContainsKey("RequestedCount") && int.TryParse(sparams["RequestedCount"], out var requestedVal) && requestedVal > 0) { requestedCount = requestedVal; } - int startVal; - if (sparams.ContainsKey("StartingIndex") && int.TryParse(sparams["StartingIndex"], out startVal) && startVal > 0) + if (sparams.ContainsKey("StartingIndex") && int.TryParse(sparams["StartingIndex"], out var startVal) && startVal > 0) { start = startVal; } @@ -363,7 +352,7 @@ namespace Emby.Dlna.ContentDirectory int totalCount = 0; int provided = 0; - using (XmlWriter writer = XmlWriter.Create(builder, settings)) + using (var writer = XmlWriter.Create(builder, settings)) { //writer.WriteStartDocument(); @@ -1144,7 +1133,7 @@ namespace Emby.Dlna.ContentDirectory StartIndex = query.StartIndex, UserId = query.User.Id - }, new [] { parent }, query.DtoOptions); + }, new[] { parent }, query.DtoOptions); return ToResult(result); } @@ -1298,7 +1287,6 @@ namespace Emby.Dlna.ContentDirectory private ServerItem ParseItemId(string id, User user) { - Guid itemId; StubType? stubType = null; // After using PlayTo, MediaMonkey sends a request to the server trying to get item info @@ -1324,7 +1312,7 @@ namespace Emby.Dlna.ContentDirectory } } - if (Guid.TryParse(id, out itemId)) + if (Guid.TryParse(id, out var itemId)) { var item = _libraryManager.GetItemById(itemId); diff --git a/Emby.Dlna/ContentDirectory/ServiceActionListBuilder.cs b/Emby.Dlna/ContentDirectory/ServiceActionListBuilder.cs index 7749a39af8..e999314fa6 100644 --- a/Emby.Dlna/ContentDirectory/ServiceActionListBuilder.cs +++ b/Emby.Dlna/ContentDirectory/ServiceActionListBuilder.cs @@ -1,5 +1,5 @@ -using Emby.Dlna.Common; using System.Collections.Generic; +using Emby.Dlna.Common; namespace Emby.Dlna.ContentDirectory { @@ -7,7 +7,7 @@ namespace Emby.Dlna.ContentDirectory { public IEnumerable<ServiceAction> GetActions() { - return new [] + return new[] { GetSearchCapabilitiesAction(), GetSortCapabilitiesAction(), diff --git a/Emby.Dlna/ControlRequest.cs b/Emby.Dlna/ControlRequest.cs index 2b8ce844ae..afd9a0b874 100644 --- a/Emby.Dlna/ControlRequest.cs +++ b/Emby.Dlna/ControlRequest.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.IO; namespace Emby.Dlna diff --git a/Emby.Dlna/ControlResponse.cs b/Emby.Dlna/ControlResponse.cs index 889a6940c7..d2b79fc585 100644 --- a/Emby.Dlna/ControlResponse.cs +++ b/Emby.Dlna/ControlResponse.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; namespace Emby.Dlna { @@ -15,4 +15,4 @@ namespace Emby.Dlna Headers = new Dictionary<string, string>(); } } -}
\ No newline at end of file +} diff --git a/Emby.Dlna/Didl/DidlBuilder.cs b/Emby.Dlna/Didl/DidlBuilder.cs index a8217c0d41..d2f635e567 100644 --- a/Emby.Dlna/Didl/DidlBuilder.cs +++ b/Emby.Dlna/Didl/DidlBuilder.cs @@ -1,4 +1,11 @@ -using MediaBrowser.Model.Extensions; +using System; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Text; +using System.Xml; +using Emby.Dlna.Configuration; +using Emby.Dlna.ContentDirectory; using MediaBrowser.Controller.Channels; using MediaBrowser.Controller.Drawing; using MediaBrowser.Controller.Entities; @@ -6,23 +13,15 @@ using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Library; +using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Controller.Playlists; -using Emby.Dlna.ContentDirectory; using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Drawing; using MediaBrowser.Model.Entities; -using Microsoft.Extensions.Logging; -using MediaBrowser.Model.Net; -using System; -using System.Globalization; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Xml; -using MediaBrowser.Controller.MediaEncoding; -using Emby.Dlna.Configuration; +using MediaBrowser.Model.Extensions; using MediaBrowser.Model.Globalization; +using MediaBrowser.Model.Net; +using Microsoft.Extensions.Logging; namespace Emby.Dlna.Didl { @@ -79,7 +78,7 @@ namespace Emby.Dlna.Didl using (StringWriter builder = new StringWriterWithEncoding(Encoding.UTF8)) { - using (XmlWriter writer = XmlWriter.Create(builder, settings)) + using (var writer = XmlWriter.Create(builder, settings)) { //writer.WriteStartDocument(); diff --git a/Emby.Dlna/Didl/Filter.cs b/Emby.Dlna/Didl/Filter.cs index 2c9a1ea184..a0e67870e9 100644 --- a/Emby.Dlna/Didl/Filter.cs +++ b/Emby.Dlna/Didl/Filter.cs @@ -1,6 +1,5 @@ -using MediaBrowser.Model.Extensions; using System; -using System.Collections.Generic; +using MediaBrowser.Model.Extensions; namespace Emby.Dlna.Didl { diff --git a/Emby.Dlna/Didl/StringWriterWithEncoding.cs b/Emby.Dlna/Didl/StringWriterWithEncoding.cs index b5c565801f..c3c4bd393b 100644 --- a/Emby.Dlna/Didl/StringWriterWithEncoding.cs +++ b/Emby.Dlna/Didl/StringWriterWithEncoding.cs @@ -1,8 +1,6 @@ -using System; -using System.Collections.Generic; +using System; using System.IO; using System.Text; -using System.Threading.Tasks; namespace Emby.Dlna.Didl { @@ -53,9 +51,6 @@ namespace Emby.Dlna.Didl _encoding = encoding; } - public override Encoding Encoding - { - get { return (null == _encoding) ? base.Encoding : _encoding; } - } + public override Encoding Encoding => (null == _encoding) ? base.Encoding : _encoding; } } diff --git a/Emby.Dlna/DlnaManager.cs b/Emby.Dlna/DlnaManager.cs index a8777cbac5..45ba44870d 100644 --- a/Emby.Dlna/DlnaManager.cs +++ b/Emby.Dlna/DlnaManager.cs @@ -1,24 +1,22 @@ -using MediaBrowser.Common.Configuration; -using MediaBrowser.Common.Extensions; -using MediaBrowser.Controller; -using MediaBrowser.Controller.Dlna; -using MediaBrowser.Controller.Drawing; -using MediaBrowser.Controller.Plugins; -using Emby.Dlna.Profiles; -using Emby.Dlna.Server; -using MediaBrowser.Model.Dlna; -using MediaBrowser.Model.Drawing; -using Microsoft.Extensions.Logging; -using MediaBrowser.Model.Serialization; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Text.RegularExpressions; +using Emby.Dlna.Profiles; +using Emby.Dlna.Server; +using MediaBrowser.Common.Configuration; +using MediaBrowser.Common.Extensions; +using MediaBrowser.Controller; +using MediaBrowser.Controller.Dlna; +using MediaBrowser.Controller.Drawing; +using MediaBrowser.Model.Dlna; +using MediaBrowser.Model.Drawing; using MediaBrowser.Model.IO; using MediaBrowser.Model.Reflection; -using MediaBrowser.Model.Extensions; +using MediaBrowser.Model.Serialization; +using Microsoft.Extensions.Logging; namespace Emby.Dlna { @@ -241,9 +239,7 @@ namespace Emby.Dlna return false; } - string value; - - if (headers.TryGetValue(header.Name, out value)) + if (headers.TryGetValue(header.Name, out var value)) { switch (header.Match) { @@ -263,21 +259,9 @@ namespace Emby.Dlna return false; } - private string UserProfilesPath - { - get - { - return Path.Combine(_appPaths.ConfigurationDirectoryPath, "dlna", "user"); - } - } + private string UserProfilesPath => Path.Combine(_appPaths.ConfigurationDirectoryPath, "dlna", "user"); - private string SystemProfilesPath - { - get - { - return Path.Combine(_appPaths.ConfigurationDirectoryPath, "dlna", "system"); - } - } + private string SystemProfilesPath => Path.Combine(_appPaths.ConfigurationDirectoryPath, "dlna", "system"); private IEnumerable<DeviceProfile> GetProfiles(string path, DeviceProfileType type) { @@ -302,8 +286,7 @@ namespace Emby.Dlna { lock (_profiles) { - Tuple<InternalProfileInfo, DeviceProfile> profileTuple; - if (_profiles.TryGetValue(path, out profileTuple)) + if (_profiles.TryGetValue(path, out var profileTuple)) { return profileTuple.Item2; } diff --git a/Emby.Dlna/Emby.Dlna.csproj b/Emby.Dlna/Emby.Dlna.csproj index f48816453b..7ddd7c1dc4 100644 --- a/Emby.Dlna/Emby.Dlna.csproj +++ b/Emby.Dlna/Emby.Dlna.csproj @@ -1,61 +1,61 @@ -<Project Sdk="Microsoft.NET.Sdk"> +<Project Sdk="Microsoft.NET.Sdk"> - <ItemGroup> - <Compile Include="..\SharedVersion.cs" Link="SharedVersion.cs" /> - </ItemGroup> + <ItemGroup> + <Compile Include="..\SharedVersion.cs" Link="SharedVersion.cs" /> + </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\MediaBrowser.Model\MediaBrowser.Model.csproj" /> - <ProjectReference Include="..\MediaBrowser.Controller\MediaBrowser.Controller.csproj" /> - <ProjectReference Include="..\MediaBrowser.Common\MediaBrowser.Common.csproj" /> - <ProjectReference Include="..\RSSDP\RSSDP.csproj" /> - </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\MediaBrowser.Model\MediaBrowser.Model.csproj" /> + <ProjectReference Include="..\MediaBrowser.Controller\MediaBrowser.Controller.csproj" /> + <ProjectReference Include="..\MediaBrowser.Common\MediaBrowser.Common.csproj" /> + <ProjectReference Include="..\RSSDP\RSSDP.csproj" /> + </ItemGroup> - <PropertyGroup> - <TargetFramework>netstandard2.0</TargetFramework> - <GenerateAssemblyInfo>false</GenerateAssemblyInfo> - </PropertyGroup> + <PropertyGroup> + <TargetFramework>netstandard2.0</TargetFramework> + <GenerateAssemblyInfo>false</GenerateAssemblyInfo> + </PropertyGroup> - <ItemGroup> - <EmbeddedResource Include="Images\logo120.jpg" /> - <EmbeddedResource Include="Images\logo120.png" /> - <EmbeddedResource Include="Images\logo240.jpg" /> - <EmbeddedResource Include="Images\logo240.png" /> - <EmbeddedResource Include="Images\logo48.jpg" /> - <EmbeddedResource Include="Images\logo48.png" /> - <EmbeddedResource Include="Images\people48.jpg" /> - <EmbeddedResource Include="Images\people48.png" /> - <EmbeddedResource Include="Images\people480.jpg" /> - <EmbeddedResource Include="Images\people480.png" /> - </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="Images\logo120.jpg" /> + <EmbeddedResource Include="Images\logo120.png" /> + <EmbeddedResource Include="Images\logo240.jpg" /> + <EmbeddedResource Include="Images\logo240.png" /> + <EmbeddedResource Include="Images\logo48.jpg" /> + <EmbeddedResource Include="Images\logo48.png" /> + <EmbeddedResource Include="Images\people48.jpg" /> + <EmbeddedResource Include="Images\people48.png" /> + <EmbeddedResource Include="Images\people480.jpg" /> + <EmbeddedResource Include="Images\people480.png" /> + </ItemGroup> - <ItemGroup> - <EmbeddedResource Include="Profiles\Xml\Default.xml" /> - <EmbeddedResource Include="Profiles\Xml\Denon AVR.xml" /> - <EmbeddedResource Include="Profiles\Xml\DirecTV HD-DVR.xml" /> - <EmbeddedResource Include="Profiles\Xml\Dish Hopper-Joey.xml" /> - <EmbeddedResource Include="Profiles\Xml\foobar2000.xml" /> - <EmbeddedResource Include="Profiles\Xml\LG Smart TV.xml" /> - <EmbeddedResource Include="Profiles\Xml\Linksys DMA2100.xml" /> - <EmbeddedResource Include="Profiles\Xml\Marantz.xml" /> - <EmbeddedResource Include="Profiles\Xml\MediaMonkey.xml" /> - <EmbeddedResource Include="Profiles\Xml\Panasonic Viera.xml" /> - <EmbeddedResource Include="Profiles\Xml\Popcorn Hour.xml" /> - <EmbeddedResource Include="Profiles\Xml\Samsung Smart TV.xml" /> - <EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player 2013.xml" /> - <EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player 2014.xml" /> - <EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player 2015.xml" /> - <EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player 2016.xml" /> - <EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player.xml" /> - <EmbeddedResource Include="Profiles\Xml\Sony Bravia %282010%29.xml" /> - <EmbeddedResource Include="Profiles\Xml\Sony Bravia %282011%29.xml" /> - <EmbeddedResource Include="Profiles\Xml\Sony Bravia %282012%29.xml" /> - <EmbeddedResource Include="Profiles\Xml\Sony Bravia %282013%29.xml" /> - <EmbeddedResource Include="Profiles\Xml\Sony Bravia %282014%29.xml" /> - <EmbeddedResource Include="Profiles\Xml\Sony PlayStation 3.xml" /> - <EmbeddedResource Include="Profiles\Xml\Sony PlayStation 4.xml" /> - <EmbeddedResource Include="Profiles\Xml\WDTV Live.xml" /> - <EmbeddedResource Include="Profiles\Xml\Xbox One.xml" /> - </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="Profiles\Xml\Default.xml" /> + <EmbeddedResource Include="Profiles\Xml\Denon AVR.xml" /> + <EmbeddedResource Include="Profiles\Xml\DirecTV HD-DVR.xml" /> + <EmbeddedResource Include="Profiles\Xml\Dish Hopper-Joey.xml" /> + <EmbeddedResource Include="Profiles\Xml\foobar2000.xml" /> + <EmbeddedResource Include="Profiles\Xml\LG Smart TV.xml" /> + <EmbeddedResource Include="Profiles\Xml\Linksys DMA2100.xml" /> + <EmbeddedResource Include="Profiles\Xml\Marantz.xml" /> + <EmbeddedResource Include="Profiles\Xml\MediaMonkey.xml" /> + <EmbeddedResource Include="Profiles\Xml\Panasonic Viera.xml" /> + <EmbeddedResource Include="Profiles\Xml\Popcorn Hour.xml" /> + <EmbeddedResource Include="Profiles\Xml\Samsung Smart TV.xml" /> + <EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player 2013.xml" /> + <EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player 2014.xml" /> + <EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player 2015.xml" /> + <EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player 2016.xml" /> + <EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player.xml" /> + <EmbeddedResource Include="Profiles\Xml\Sony Bravia %282010%29.xml" /> + <EmbeddedResource Include="Profiles\Xml\Sony Bravia %282011%29.xml" /> + <EmbeddedResource Include="Profiles\Xml\Sony Bravia %282012%29.xml" /> + <EmbeddedResource Include="Profiles\Xml\Sony Bravia %282013%29.xml" /> + <EmbeddedResource Include="Profiles\Xml\Sony Bravia %282014%29.xml" /> + <EmbeddedResource Include="Profiles\Xml\Sony PlayStation 3.xml" /> + <EmbeddedResource Include="Profiles\Xml\Sony PlayStation 4.xml" /> + <EmbeddedResource Include="Profiles\Xml\WDTV Live.xml" /> + <EmbeddedResource Include="Profiles\Xml\Xbox One.xml" /> + </ItemGroup> </Project> diff --git a/Emby.Dlna/EventSubscriptionResponse.cs b/Emby.Dlna/EventSubscriptionResponse.cs index 1c405e601d..6dc1aacf4f 100644 --- a/Emby.Dlna/EventSubscriptionResponse.cs +++ b/Emby.Dlna/EventSubscriptionResponse.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; namespace Emby.Dlna { diff --git a/Emby.Dlna/Eventing/EventManager.cs b/Emby.Dlna/Eventing/EventManager.cs index ea9ba3f22c..c17f64a57a 100644 --- a/Emby.Dlna/Eventing/EventManager.cs +++ b/Emby.Dlna/Eventing/EventManager.cs @@ -1,7 +1,3 @@ -using MediaBrowser.Common.Extensions; -using MediaBrowser.Common.Net; -using MediaBrowser.Controller.Dlna; -using Microsoft.Extensions.Logging; using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -9,6 +5,9 @@ using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; +using MediaBrowser.Common.Extensions; +using MediaBrowser.Common.Net; +using Microsoft.Extensions.Logging; namespace Emby.Dlna.Eventing { @@ -83,9 +82,7 @@ namespace Emby.Dlna.Eventing // Starts with SECOND- header = header.Split('-').Last(); - int val; - - if (int.TryParse(header, NumberStyles.Integer, _usCulture, out val)) + if (int.TryParse(header, NumberStyles.Integer, _usCulture, out var val)) { return val; } @@ -98,8 +95,7 @@ namespace Emby.Dlna.Eventing { _logger.LogDebug("Cancelling event subscription {0}", subscriptionId); - EventSubscription sub; - _subscriptions.TryRemove(subscriptionId, out sub); + _subscriptions.TryRemove(subscriptionId, out var sub); return new EventSubscriptionResponse { @@ -130,9 +126,7 @@ namespace Emby.Dlna.Eventing private EventSubscription GetSubscription(string id, bool throwOnMissing) { - EventSubscription e; - - if (!_subscriptions.TryGetValue(id, out e) && throwOnMissing) + if (!_subscriptions.TryGetValue(id, out var e) && throwOnMissing) { throw new ResourceNotFoundException("Event with Id " + id + " not found."); } diff --git a/Emby.Dlna/Eventing/EventSubscription.cs b/Emby.Dlna/Eventing/EventSubscription.cs index adb042d6c4..eb8781e0cd 100644 --- a/Emby.Dlna/Eventing/EventSubscription.cs +++ b/Emby.Dlna/Eventing/EventSubscription.cs @@ -1,4 +1,4 @@ -using System; +using System; namespace Emby.Dlna.Eventing { @@ -23,12 +23,6 @@ namespace Emby.Dlna.Eventing TriggerCount++; } - public bool IsExpired - { - get - { - return SubscriptionTime.AddSeconds(TimeoutSeconds) >= DateTime.UtcNow; - } - } + public bool IsExpired => SubscriptionTime.AddSeconds(TimeoutSeconds) >= DateTime.UtcNow; } } diff --git a/Emby.Dlna/IConnectionManager.cs b/Emby.Dlna/IConnectionManager.cs index 5f889a34ca..855c4454d9 100644 --- a/Emby.Dlna/IConnectionManager.cs +++ b/Emby.Dlna/IConnectionManager.cs @@ -1,4 +1,4 @@ - + namespace Emby.Dlna { public interface IConnectionManager : IEventManager, IUpnpService diff --git a/Emby.Dlna/IContentDirectory.cs b/Emby.Dlna/IContentDirectory.cs index d63af4ef21..b54a17c009 100644 --- a/Emby.Dlna/IContentDirectory.cs +++ b/Emby.Dlna/IContentDirectory.cs @@ -1,4 +1,4 @@ - + namespace Emby.Dlna { public interface IContentDirectory : IEventManager, IUpnpService diff --git a/Emby.Dlna/IEventManager.cs b/Emby.Dlna/IEventManager.cs index e90476fe32..4f67a1b9b6 100644 --- a/Emby.Dlna/IEventManager.cs +++ b/Emby.Dlna/IEventManager.cs @@ -1,4 +1,4 @@ - + namespace Emby.Dlna { public interface IEventManager diff --git a/Emby.Dlna/IMediaReceiverRegistrar.cs b/Emby.Dlna/IMediaReceiverRegistrar.cs index cb43221e56..5dde01f58b 100644 --- a/Emby.Dlna/IMediaReceiverRegistrar.cs +++ b/Emby.Dlna/IMediaReceiverRegistrar.cs @@ -1,4 +1,4 @@ - + namespace Emby.Dlna { public interface IMediaReceiverRegistrar : IEventManager, IUpnpService diff --git a/Emby.Dlna/IUpnpService.cs b/Emby.Dlna/IUpnpService.cs index 0a52e9acfc..ab8aa46192 100644 --- a/Emby.Dlna/IUpnpService.cs +++ b/Emby.Dlna/IUpnpService.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; namespace Emby.Dlna { diff --git a/Emby.Dlna/Main/DlnaEntryPoint.cs b/Emby.Dlna/Main/DlnaEntryPoint.cs index eae3f22de4..1ab6014eb0 100644 --- a/Emby.Dlna/Main/DlnaEntryPoint.cs +++ b/Emby.Dlna/Main/DlnaEntryPoint.cs @@ -1,4 +1,10 @@ -using MediaBrowser.Common.Configuration; +using System; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Emby.Dlna.PlayTo; +using Emby.Dlna.Ssdp; +using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Extensions; using MediaBrowser.Common.Net; using MediaBrowser.Controller; @@ -6,25 +12,19 @@ using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Dlna; using MediaBrowser.Controller.Drawing; using MediaBrowser.Controller.Library; +using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Controller.Plugins; using MediaBrowser.Controller.Session; using MediaBrowser.Controller.TV; -using Emby.Dlna.PlayTo; -using Emby.Dlna.Ssdp; -using Microsoft.Extensions.Logging; -using System; -using System.Linq; -using System.Threading.Tasks; -using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Globalization; using MediaBrowser.Model.Net; using MediaBrowser.Model.System; using MediaBrowser.Model.Threading; using MediaBrowser.Model.Xml; +using Microsoft.Extensions.Logging; using Rssdp; using Rssdp.Infrastructure; -using System.Threading; namespace Emby.Dlna.Main { @@ -282,7 +282,7 @@ namespace Emby.Dlna.Main SetProperies(device, fullService); _Publisher.AddDevice(device); - var embeddedDevices = new [] + var embeddedDevices = new[] { "urn:schemas-upnp-org:service:ContentDirectory:1", "urn:schemas-upnp-org:service:ConnectionManager:1", @@ -308,8 +308,7 @@ namespace Emby.Dlna.Main private string CreateUuid(string text) { - Guid guid; - if (!Guid.TryParse(text, out guid)) + if (!Guid.TryParse(text, out var guid)) { guid = text.GetMD5(); } diff --git a/Emby.Dlna/MediaReceiverRegistrar/ControlHandler.cs b/Emby.Dlna/MediaReceiverRegistrar/ControlHandler.cs index 5ffa30f685..6257892b19 100644 --- a/Emby.Dlna/MediaReceiverRegistrar/ControlHandler.cs +++ b/Emby.Dlna/MediaReceiverRegistrar/ControlHandler.cs @@ -1,11 +1,10 @@ -using MediaBrowser.Common.Extensions; -using MediaBrowser.Controller.Configuration; -using Emby.Dlna.Server; -using Emby.Dlna.Service; -using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; +using Emby.Dlna.Service; +using MediaBrowser.Common.Extensions; +using MediaBrowser.Controller.Configuration; using MediaBrowser.Model.Xml; +using Microsoft.Extensions.Logging; namespace Emby.Dlna.MediaReceiverRegistrar { diff --git a/Emby.Dlna/MediaReceiverRegistrar/MediaReceiverRegistrar.cs b/Emby.Dlna/MediaReceiverRegistrar/MediaReceiverRegistrar.cs index f07af0464a..2b84528eab 100644 --- a/Emby.Dlna/MediaReceiverRegistrar/MediaReceiverRegistrar.cs +++ b/Emby.Dlna/MediaReceiverRegistrar/MediaReceiverRegistrar.cs @@ -1,11 +1,9 @@ -using MediaBrowser.Common.Net; -using MediaBrowser.Controller.Configuration; -using MediaBrowser.Controller.Dlna; -using Emby.Dlna.Service; -using Microsoft.Extensions.Logging; -using System; using System.Collections.Generic; +using Emby.Dlna.Service; +using MediaBrowser.Common.Net; +using MediaBrowser.Controller.Configuration; using MediaBrowser.Model.Xml; +using Microsoft.Extensions.Logging; namespace Emby.Dlna.MediaReceiverRegistrar { diff --git a/Emby.Dlna/MediaReceiverRegistrar/MediaReceiverRegistrarXmlBuilder.cs b/Emby.Dlna/MediaReceiverRegistrar/MediaReceiverRegistrarXmlBuilder.cs index efddbc6705..6413411851 100644 --- a/Emby.Dlna/MediaReceiverRegistrar/MediaReceiverRegistrarXmlBuilder.cs +++ b/Emby.Dlna/MediaReceiverRegistrar/MediaReceiverRegistrarXmlBuilder.cs @@ -1,6 +1,6 @@ +using System.Collections.Generic; using Emby.Dlna.Common; using Emby.Dlna.Service; -using System.Collections.Generic; namespace Emby.Dlna.MediaReceiverRegistrar { diff --git a/Emby.Dlna/MediaReceiverRegistrar/ServiceActionListBuilder.cs b/Emby.Dlna/MediaReceiverRegistrar/ServiceActionListBuilder.cs index a1f3284111..86429f6051 100644 --- a/Emby.Dlna/MediaReceiverRegistrar/ServiceActionListBuilder.cs +++ b/Emby.Dlna/MediaReceiverRegistrar/ServiceActionListBuilder.cs @@ -1,5 +1,5 @@ -using Emby.Dlna.Common; using System.Collections.Generic; +using Emby.Dlna.Common; namespace Emby.Dlna.MediaReceiverRegistrar { @@ -7,7 +7,7 @@ namespace Emby.Dlna.MediaReceiverRegistrar { public IEnumerable<ServiceAction> GetActions() { - return new [] + return new[] { GetIsValidated(), GetIsAuthorized(), diff --git a/Emby.Dlna/PlayTo/CurrentIdEventArgs.cs b/Emby.Dlna/PlayTo/CurrentIdEventArgs.cs index 99aa50bd91..fdf435bcf3 100644 --- a/Emby.Dlna/PlayTo/CurrentIdEventArgs.cs +++ b/Emby.Dlna/PlayTo/CurrentIdEventArgs.cs @@ -1,9 +1,9 @@ -using System; +using System; namespace Emby.Dlna.PlayTo { public class CurrentIdEventArgs : EventArgs { - public string Id { get; set; } + public string Id { get; set; } } } diff --git a/Emby.Dlna/PlayTo/Device.cs b/Emby.Dlna/PlayTo/Device.cs index cf53bb861e..68aa0a6a71 100644 --- a/Emby.Dlna/PlayTo/Device.cs +++ b/Emby.Dlna/PlayTo/Device.cs @@ -1,21 +1,17 @@ -using MediaBrowser.Common.Net; -using MediaBrowser.Controller.Configuration; -using Emby.Dlna.Common; -using Emby.Dlna.Ssdp; -using Microsoft.Extensions.Logging; -using MediaBrowser.Model.Net; using System; using System.Collections.Generic; using System.Globalization; using System.Linq; -using System.Net; -using System.Security; using System.Threading; using System.Threading.Tasks; using System.Xml.Linq; +using Emby.Dlna.Common; using Emby.Dlna.Server; +using Emby.Dlna.Ssdp; +using MediaBrowser.Common.Net; +using MediaBrowser.Controller.Configuration; using MediaBrowser.Model.Threading; -using MediaBrowser.Model.Extensions; +using Microsoft.Extensions.Logging; namespace Emby.Dlna.PlayTo { @@ -39,10 +35,7 @@ namespace Emby.Dlna.PlayTo RefreshVolumeIfNeeded(); return _volume; } - set - { - _volume = value; - } + set => _volume = value; } public TimeSpan? Duration { get; set; } @@ -50,41 +43,17 @@ namespace Emby.Dlna.PlayTo private TimeSpan _position = TimeSpan.FromSeconds(0); public TimeSpan Position { - get - { - return _position; - } - set - { - _position = value; - } + get => _position; + set => _position = value; } public TRANSPORTSTATE TransportState { get; private set; } - public bool IsPlaying - { - get - { - return TransportState == TRANSPORTSTATE.PLAYING; - } - } + public bool IsPlaying => TransportState == TRANSPORTSTATE.PLAYING; - public bool IsPaused - { - get - { - return TransportState == TRANSPORTSTATE.PAUSED || TransportState == TRANSPORTSTATE.PAUSED_PLAYBACK; - } - } + public bool IsPaused => TransportState == TRANSPORTSTATE.PAUSED || TransportState == TRANSPORTSTATE.PAUSED_PLAYBACK; - public bool IsStopped - { - get - { - return TransportState == TRANSPORTSTATE.STOPPED; - } - } + public bool IsStopped => TransportState == TRANSPORTSTATE.STOPPED; #endregion @@ -620,9 +589,7 @@ namespace Emby.Dlna.PlayTo if (transportStateValue != null) { - TRANSPORTSTATE state; - - if (Enum.TryParse(transportStateValue, true, out state)) + if (Enum.TryParse(transportStateValue, true, out TRANSPORTSTATE state)) { return state; } diff --git a/Emby.Dlna/PlayTo/DeviceInfo.cs b/Emby.Dlna/PlayTo/DeviceInfo.cs index d453a3d829..9e7c04bdb3 100644 --- a/Emby.Dlna/PlayTo/DeviceInfo.cs +++ b/Emby.Dlna/PlayTo/DeviceInfo.cs @@ -1,6 +1,6 @@ -using Emby.Dlna.Common; -using MediaBrowser.Model.Dlna; using System.Collections.Generic; +using Emby.Dlna.Common; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.PlayTo { @@ -34,26 +34,14 @@ namespace Emby.Dlna.PlayTo private string _baseUrl = string.Empty; public string BaseUrl { - get - { - return _baseUrl; - } - set - { - _baseUrl = value; - } + get => _baseUrl; + set => _baseUrl = value; } public DeviceIcon Icon { get; set; } private readonly List<DeviceService> _services = new List<DeviceService>(); - public List<DeviceService> Services - { - get - { - return _services; - } - } + public List<DeviceService> Services => _services; public DeviceIdentification ToDeviceIdentification() { diff --git a/Emby.Dlna/PlayTo/PlayToController.cs b/Emby.Dlna/PlayTo/PlayToController.cs index c7e45b8964..c615b9fbc3 100644 --- a/Emby.Dlna/PlayTo/PlayToController.cs +++ b/Emby.Dlna/PlayTo/PlayToController.cs @@ -1,28 +1,25 @@ -using MediaBrowser.Controller.Dlna; -using MediaBrowser.Controller.Drawing; -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Library; -using MediaBrowser.Controller.Session; -using Emby.Dlna.Didl; -using MediaBrowser.Model.Dlna; -using MediaBrowser.Model.Dto; -using MediaBrowser.Model.Entities; -using Microsoft.Extensions.Logging; -using MediaBrowser.Model.Session; -using MediaBrowser.Model.System; using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Threading; using System.Threading.Tasks; +using Emby.Dlna.Didl; using MediaBrowser.Common.Configuration; +using MediaBrowser.Controller.Dlna; +using MediaBrowser.Controller.Drawing; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Library; using MediaBrowser.Controller.MediaEncoding; +using MediaBrowser.Controller.Session; +using MediaBrowser.Model.Dlna; +using MediaBrowser.Model.Dto; +using MediaBrowser.Model.Entities; using MediaBrowser.Model.Events; using MediaBrowser.Model.Globalization; -using MediaBrowser.Model.Extensions; -using System.Net.Http; using MediaBrowser.Model.Services; +using MediaBrowser.Model.Session; +using Microsoft.Extensions.Logging; namespace Emby.Dlna.PlayTo { @@ -47,18 +44,9 @@ namespace Emby.Dlna.PlayTo private readonly string _accessToken; private readonly DateTime _creationTime; - public bool IsSessionActive - { - get - { - return !_disposed && _device != null; - } - } + public bool IsSessionActive => !_disposed && _device != null; - public bool SupportsMediaControl - { - get { return IsSessionActive; } - } + public bool SupportsMediaControl => IsSessionActive; public PlayToController(SessionInfo session, ISessionManager sessionManager, ILibraryManager libraryManager, ILogger logger, IDlnaManager dlnaManager, IUserManager userManager, IImageProcessor imageProcessor, string serverAddress, string accessToken, IDeviceDiscovery deviceDiscovery, IUserDataManager userDataManager, ILocalizationManager localization, IMediaSourceManager mediaSourceManager, IConfigurationManager config, IMediaEncoder mediaEncoder) { @@ -110,14 +98,11 @@ namespace Emby.Dlna.PlayTo { var info = e.Argument; - string nts; - info.Headers.TryGetValue("NTS", out nts); + info.Headers.TryGetValue("NTS", out var nts); - string usn; - if (!info.Headers.TryGetValue("USN", out usn)) usn = string.Empty; + if (!info.Headers.TryGetValue("USN", out var usn)) usn = string.Empty; - string nt; - if (!info.Headers.TryGetValue("NT", out nt)) nt = string.Empty; + if (!info.Headers.TryGetValue("NT", out var nt)) nt = string.Empty; if (usn.IndexOf(_device.Properties.UUID, StringComparison.OrdinalIgnoreCase) != -1 && !_disposed) @@ -439,13 +424,7 @@ namespace Emby.Dlna.PlayTo private int _currentPlaylistIndex; private readonly List<PlaylistItem> _playlist = new List<PlaylistItem>(); - private List<PlaylistItem> Playlist - { - get - { - return _playlist; - } - } + private List<PlaylistItem> Playlist => _playlist; private void AddItemFromId(Guid id, List<BaseItem> list) { @@ -641,9 +620,7 @@ namespace Emby.Dlna.PlayTo private Task SendGeneralCommand(GeneralCommand command, CancellationToken cancellationToken) { - GeneralCommandType commandType; - - if (Enum.TryParse(command.Name, true, out commandType)) + if (Enum.TryParse(command.Name, true, out GeneralCommandType commandType)) { switch (commandType) { @@ -659,13 +636,9 @@ namespace Emby.Dlna.PlayTo return _device.ToggleMute(cancellationToken); case GeneralCommandType.SetAudioStreamIndex: { - string arg; - - if (command.Arguments.TryGetValue("Index", out arg)) + if (command.Arguments.TryGetValue("Index", out var arg)) { - int val; - - if (int.TryParse(arg, NumberStyles.Integer, _usCulture, out val)) + if (int.TryParse(arg, NumberStyles.Integer, _usCulture, out var val)) { return SetAudioStreamIndex(val); } @@ -677,13 +650,9 @@ namespace Emby.Dlna.PlayTo } case GeneralCommandType.SetSubtitleStreamIndex: { - string arg; - - if (command.Arguments.TryGetValue("Index", out arg)) + if (command.Arguments.TryGetValue("Index", out var arg)) { - int val; - - if (int.TryParse(arg, NumberStyles.Integer, _usCulture, out val)) + if (int.TryParse(arg, NumberStyles.Integer, _usCulture, out var val)) { return SetSubtitleStreamIndex(val); } @@ -695,13 +664,9 @@ namespace Emby.Dlna.PlayTo } case GeneralCommandType.SetVolume: { - string arg; - - if (command.Arguments.TryGetValue("Volume", out arg)) + if (command.Arguments.TryGetValue("Volume", out var arg)) { - int volume; - - if (int.TryParse(arg, NumberStyles.Integer, _usCulture, out volume)) + if (int.TryParse(arg, NumberStyles.Integer, _usCulture, out var volume)) { return _device.SetVolume(volume, cancellationToken); } @@ -872,7 +837,7 @@ namespace Emby.Dlna.PlayTo if (index == -1) return request; var query = url.Substring(index + 1); - QueryParamCollection values = MyHttpUtility.ParseQueryString(query); + var values = MyHttpUtility.ParseQueryString(query); request.DeviceProfileId = values.Get("DeviceProfileId"); request.DeviceId = values.Get("DeviceId"); @@ -896,8 +861,7 @@ namespace Emby.Dlna.PlayTo { var value = values.Get(name); - int result; - if (int.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out result)) + if (int.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var result)) { return result; } @@ -909,8 +873,7 @@ namespace Emby.Dlna.PlayTo { var value = values.Get(name); - long result; - if (long.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out result)) + if (long.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var result)) { return result; } diff --git a/Emby.Dlna/PlayTo/PlayToManager.cs b/Emby.Dlna/PlayTo/PlayToManager.cs index 47d00aad56..12280d1bf7 100644 --- a/Emby.Dlna/PlayTo/PlayToManager.cs +++ b/Emby.Dlna/PlayTo/PlayToManager.cs @@ -1,26 +1,23 @@ -using MediaBrowser.Common.Net; +using System; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using MediaBrowser.Common.Extensions; +using MediaBrowser.Common.Net; using MediaBrowser.Controller; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Dlna; using MediaBrowser.Controller.Drawing; using MediaBrowser.Controller.Library; -using MediaBrowser.Controller.Session; -using Microsoft.Extensions.Logging; -using MediaBrowser.Model.Session; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Net; -using System.Threading.Tasks; using MediaBrowser.Controller.MediaEncoding; +using MediaBrowser.Controller.Session; using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Events; using MediaBrowser.Model.Globalization; using MediaBrowser.Model.Net; +using MediaBrowser.Model.Session; using MediaBrowser.Model.Threading; -using System.Threading; -using MediaBrowser.Common.Extensions; -using MediaBrowser.Controller.Devices; +using Microsoft.Extensions.Logging; namespace Emby.Dlna.PlayTo { @@ -81,11 +78,9 @@ namespace Emby.Dlna.PlayTo var info = e.Argument; - string usn; - if (!info.Headers.TryGetValue("USN", out usn)) usn = string.Empty; + if (!info.Headers.TryGetValue("USN", out var usn)) usn = string.Empty; - string nt; - if (!info.Headers.TryGetValue("NT", out nt)) nt = string.Empty; + if (!info.Headers.TryGetValue("NT", out var nt)) nt = string.Empty; string location = info.Location.ToString(); @@ -158,8 +153,7 @@ namespace Emby.Dlna.PlayTo _logger.LogDebug("Attempting to create PlayToController from location {0}", location); _logger.LogDebug("Logging session activity from location {0}", location); - string uuid; - if (info.Headers.TryGetValue("USN", out uuid)) + if (info.Headers.TryGetValue("USN", out var uuid)) { uuid = GetUuid(uuid); } diff --git a/Emby.Dlna/PlayTo/PlaybackProgressEventArgs.cs b/Emby.Dlna/PlayTo/PlaybackProgressEventArgs.cs index b89f7a8645..ffa56419bb 100644 --- a/Emby.Dlna/PlayTo/PlaybackProgressEventArgs.cs +++ b/Emby.Dlna/PlayTo/PlaybackProgressEventArgs.cs @@ -1,4 +1,4 @@ -using System; +using System; namespace Emby.Dlna.PlayTo { @@ -6,4 +6,4 @@ namespace Emby.Dlna.PlayTo { public uBaseObject MediaInfo { get; set; } } -}
\ No newline at end of file +} diff --git a/Emby.Dlna/PlayTo/PlaybackStartEventArgs.cs b/Emby.Dlna/PlayTo/PlaybackStartEventArgs.cs index 17d2540a50..8cd8b47acf 100644 --- a/Emby.Dlna/PlayTo/PlaybackStartEventArgs.cs +++ b/Emby.Dlna/PlayTo/PlaybackStartEventArgs.cs @@ -1,4 +1,4 @@ -using System; +using System; namespace Emby.Dlna.PlayTo { diff --git a/Emby.Dlna/PlayTo/PlaybackStoppedEventArgs.cs b/Emby.Dlna/PlayTo/PlaybackStoppedEventArgs.cs index 847c33ff78..2afdc324d9 100644 --- a/Emby.Dlna/PlayTo/PlaybackStoppedEventArgs.cs +++ b/Emby.Dlna/PlayTo/PlaybackStoppedEventArgs.cs @@ -1,4 +1,4 @@ -using System; +using System; namespace Emby.Dlna.PlayTo { @@ -12,4 +12,4 @@ namespace Emby.Dlna.PlayTo public uBaseObject OldMediaInfo { get; set; } public uBaseObject NewMediaInfo { get; set; } } -}
\ No newline at end of file +} diff --git a/Emby.Dlna/PlayTo/PlaylistItem.cs b/Emby.Dlna/PlayTo/PlaylistItem.cs index b60e6a6fb6..1e62b61e93 100644 --- a/Emby.Dlna/PlayTo/PlaylistItem.cs +++ b/Emby.Dlna/PlayTo/PlaylistItem.cs @@ -1,4 +1,4 @@ -using MediaBrowser.Model.Dlna; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.PlayTo { @@ -12,4 +12,4 @@ namespace Emby.Dlna.PlayTo public DeviceProfile Profile { get; set; } } -}
\ No newline at end of file +} diff --git a/Emby.Dlna/PlayTo/PlaylistItemFactory.cs b/Emby.Dlna/PlayTo/PlaylistItemFactory.cs index 1080320e0c..aceb634e33 100644 --- a/Emby.Dlna/PlayTo/PlaylistItemFactory.cs +++ b/Emby.Dlna/PlayTo/PlaylistItemFactory.cs @@ -1,10 +1,9 @@ -using MediaBrowser.Controller.Entities; -using MediaBrowser.Model.Dlna; -using MediaBrowser.Model.Session; -using System; using System.Globalization; using System.IO; using System.Linq; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Model.Dlna; +using MediaBrowser.Model.Session; namespace Emby.Dlna.PlayTo { diff --git a/Emby.Dlna/PlayTo/SsdpHttpClient.cs b/Emby.Dlna/PlayTo/SsdpHttpClient.cs index 963577169b..1ad99fac5b 100644 --- a/Emby.Dlna/PlayTo/SsdpHttpClient.cs +++ b/Emby.Dlna/PlayTo/SsdpHttpClient.cs @@ -1,13 +1,13 @@ -using MediaBrowser.Common.Net; -using MediaBrowser.Controller.Configuration; -using Emby.Dlna.Common; using System; using System.Globalization; using System.IO; using System.Text; +using System.Threading; using System.Threading.Tasks; using System.Xml.Linq; -using System.Threading; +using Emby.Dlna.Common; +using MediaBrowser.Common.Net; +using MediaBrowser.Controller.Configuration; namespace Emby.Dlna.PlayTo { diff --git a/Emby.Dlna/PlayTo/TRANSPORTSTATE.cs b/Emby.Dlna/PlayTo/TRANSPORTSTATE.cs index 93d306a178..9f1690b04f 100644 --- a/Emby.Dlna/PlayTo/TRANSPORTSTATE.cs +++ b/Emby.Dlna/PlayTo/TRANSPORTSTATE.cs @@ -1,4 +1,4 @@ -namespace Emby.Dlna.PlayTo +namespace Emby.Dlna.PlayTo { public enum TRANSPORTSTATE { @@ -8,4 +8,4 @@ PAUSED_PLAYBACK, PAUSED } -}
\ No newline at end of file +} diff --git a/Emby.Dlna/PlayTo/TransportCommands.cs b/Emby.Dlna/PlayTo/TransportCommands.cs index e34ce87976..b96fa43e50 100644 --- a/Emby.Dlna/PlayTo/TransportCommands.cs +++ b/Emby.Dlna/PlayTo/TransportCommands.cs @@ -1,8 +1,8 @@ -using System; -using Emby.Dlna.Common; +using System; using System.Collections.Generic; using System.Linq; using System.Xml.Linq; +using Emby.Dlna.Common; using Emby.Dlna.Ssdp; namespace Emby.Dlna.PlayTo @@ -12,27 +12,15 @@ namespace Emby.Dlna.PlayTo private List<StateVariable> _stateVariables = new List<StateVariable>(); public List<StateVariable> StateVariables { - get - { - return _stateVariables; - } - set - { - _stateVariables = value; - } + get => _stateVariables; + set => _stateVariables = value; } private List<ServiceAction> _serviceActions = new List<ServiceAction>(); public List<ServiceAction> ServiceActions { - get - { - return _serviceActions; - } - set - { - _serviceActions = value; - } + get => _serviceActions; + set => _serviceActions = value; } public static TransportCommands Create(XDocument document) diff --git a/Emby.Dlna/PlayTo/TransportStateEventArgs.cs b/Emby.Dlna/PlayTo/TransportStateEventArgs.cs index c6a96f58c1..7dcd39e107 100644 --- a/Emby.Dlna/PlayTo/TransportStateEventArgs.cs +++ b/Emby.Dlna/PlayTo/TransportStateEventArgs.cs @@ -1,4 +1,4 @@ -using System; +using System; namespace Emby.Dlna.PlayTo { diff --git a/Emby.Dlna/PlayTo/UpnpContainer.cs b/Emby.Dlna/PlayTo/UpnpContainer.cs index 4c07f36053..943e0347b2 100644 --- a/Emby.Dlna/PlayTo/UpnpContainer.cs +++ b/Emby.Dlna/PlayTo/UpnpContainer.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Xml.Linq; using Emby.Dlna.Ssdp; diff --git a/Emby.Dlna/PlayTo/uBaseObject.cs b/Emby.Dlna/PlayTo/uBaseObject.cs index 3d80d7ed04..f29a126df7 100644 --- a/Emby.Dlna/PlayTo/uBaseObject.cs +++ b/Emby.Dlna/PlayTo/uBaseObject.cs @@ -1,4 +1,4 @@ -using System; +using System; namespace Emby.Dlna.PlayTo { diff --git a/Emby.Dlna/PlayTo/uParser.cs b/Emby.Dlna/PlayTo/uParser.cs index 4d26ee6b37..3a0ffffd41 100644 --- a/Emby.Dlna/PlayTo/uParser.cs +++ b/Emby.Dlna/PlayTo/uParser.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Xml.Linq; diff --git a/Emby.Dlna/PlayTo/uParserObject.cs b/Emby.Dlna/PlayTo/uParserObject.cs index 4e75adf1f1..87a7f69c62 100644 --- a/Emby.Dlna/PlayTo/uParserObject.cs +++ b/Emby.Dlna/PlayTo/uParserObject.cs @@ -1,4 +1,4 @@ -using System.Xml.Linq; +using System.Xml.Linq; namespace Emby.Dlna.PlayTo { @@ -6,4 +6,4 @@ namespace Emby.Dlna.PlayTo { public XElement Element { get; set; } } -}
\ No newline at end of file +} diff --git a/Emby.Dlna/PlayTo/uPnpNamespaces.cs b/Emby.Dlna/PlayTo/uPnpNamespaces.cs index 81acb5e414..7132ecd15c 100644 --- a/Emby.Dlna/PlayTo/uPnpNamespaces.cs +++ b/Emby.Dlna/PlayTo/uPnpNamespaces.cs @@ -1,4 +1,4 @@ -using System.Xml.Linq; +using System.Xml.Linq; namespace Emby.Dlna.PlayTo { diff --git a/Emby.Dlna/Profiles/DefaultProfile.cs b/Emby.Dlna/Profiles/DefaultProfile.cs index 1295c2f9a8..ea50bd4a75 100644 --- a/Emby.Dlna/Profiles/DefaultProfile.cs +++ b/Emby.Dlna/Profiles/DefaultProfile.cs @@ -1,7 +1,5 @@ -using MediaBrowser.Model.Dlna; using System.Linq; -using System.Xml.Serialization; -using MediaBrowser.Model.Extensions; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/DenonAvrProfile.cs b/Emby.Dlna/Profiles/DenonAvrProfile.cs index b8a44396a3..a738851915 100644 --- a/Emby.Dlna/Profiles/DenonAvrProfile.cs +++ b/Emby.Dlna/Profiles/DenonAvrProfile.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/DirectTvProfile.cs b/Emby.Dlna/Profiles/DirectTvProfile.cs index 4243c1c9df..317c0976a2 100644 --- a/Emby.Dlna/Profiles/DirectTvProfile.cs +++ b/Emby.Dlna/Profiles/DirectTvProfile.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/DishHopperJoeyProfile.cs b/Emby.Dlna/Profiles/DishHopperJoeyProfile.cs index c1d1eede25..d501cce0d2 100644 --- a/Emby.Dlna/Profiles/DishHopperJoeyProfile.cs +++ b/Emby.Dlna/Profiles/DishHopperJoeyProfile.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/Foobar2000Profile.cs b/Emby.Dlna/Profiles/Foobar2000Profile.cs index 69a5d05ddd..947194bce4 100644 --- a/Emby.Dlna/Profiles/Foobar2000Profile.cs +++ b/Emby.Dlna/Profiles/Foobar2000Profile.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/LgTvProfile.cs b/Emby.Dlna/Profiles/LgTvProfile.cs index 79cf2ebfd9..145685ab12 100644 --- a/Emby.Dlna/Profiles/LgTvProfile.cs +++ b/Emby.Dlna/Profiles/LgTvProfile.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/LinksysDMA2100Profile.cs b/Emby.Dlna/Profiles/LinksysDMA2100Profile.cs index ffb735d8db..3f0bb4263d 100644 --- a/Emby.Dlna/Profiles/LinksysDMA2100Profile.cs +++ b/Emby.Dlna/Profiles/LinksysDMA2100Profile.cs @@ -1,4 +1,3 @@ -using System.Xml.Serialization; using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles diff --git a/Emby.Dlna/Profiles/MarantzProfile.cs b/Emby.Dlna/Profiles/MarantzProfile.cs index b5b486a9c9..162e284be6 100644 --- a/Emby.Dlna/Profiles/MarantzProfile.cs +++ b/Emby.Dlna/Profiles/MarantzProfile.cs @@ -1,4 +1,3 @@ -using System.Xml.Serialization; using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles diff --git a/Emby.Dlna/Profiles/MediaMonkeyProfile.cs b/Emby.Dlna/Profiles/MediaMonkeyProfile.cs index 441933efad..53cae4e2ff 100644 --- a/Emby.Dlna/Profiles/MediaMonkeyProfile.cs +++ b/Emby.Dlna/Profiles/MediaMonkeyProfile.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { @@ -14,9 +13,9 @@ namespace Emby.Dlna.Profiles Identification = new DeviceIdentification { - FriendlyName = @"MediaMonkey", + FriendlyName = @"MediaMonkey", - Headers = new[] + Headers = new[] { new HttpHeaderInfo { diff --git a/Emby.Dlna/Profiles/PanasonicVieraProfile.cs b/Emby.Dlna/Profiles/PanasonicVieraProfile.cs index 53d6a62bba..5f31ec484e 100644 --- a/Emby.Dlna/Profiles/PanasonicVieraProfile.cs +++ b/Emby.Dlna/Profiles/PanasonicVieraProfile.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { @@ -218,4 +217,4 @@ namespace Emby.Dlna.Profiles }; } } -}
\ No newline at end of file +} diff --git a/Emby.Dlna/Profiles/PopcornHourProfile.cs b/Emby.Dlna/Profiles/PopcornHourProfile.cs index b91089b1bd..aefe8c44f3 100644 --- a/Emby.Dlna/Profiles/PopcornHourProfile.cs +++ b/Emby.Dlna/Profiles/PopcornHourProfile.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/SamsungSmartTvProfile.cs b/Emby.Dlna/Profiles/SamsungSmartTvProfile.cs index b55146ffdf..51a1c81735 100644 --- a/Emby.Dlna/Profiles/SamsungSmartTvProfile.cs +++ b/Emby.Dlna/Profiles/SamsungSmartTvProfile.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { @@ -363,4 +362,4 @@ namespace Emby.Dlna.Profiles }; } } -}
\ No newline at end of file +} diff --git a/Emby.Dlna/Profiles/SharpSmartTvProfile.cs b/Emby.Dlna/Profiles/SharpSmartTvProfile.cs index d27a0e7824..f840cfb346 100644 --- a/Emby.Dlna/Profiles/SharpSmartTvProfile.cs +++ b/Emby.Dlna/Profiles/SharpSmartTvProfile.cs @@ -1,4 +1,3 @@ -using System.Xml.Serialization; using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles diff --git a/Emby.Dlna/Profiles/SonyBlurayPlayer2013.cs b/Emby.Dlna/Profiles/SonyBlurayPlayer2013.cs index dd2ca7a7d0..2af1d3b501 100644 --- a/Emby.Dlna/Profiles/SonyBlurayPlayer2013.cs +++ b/Emby.Dlna/Profiles/SonyBlurayPlayer2013.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/SonyBlurayPlayer2014.cs b/Emby.Dlna/Profiles/SonyBlurayPlayer2014.cs index 69a2f2b618..3de0b51922 100644 --- a/Emby.Dlna/Profiles/SonyBlurayPlayer2014.cs +++ b/Emby.Dlna/Profiles/SonyBlurayPlayer2014.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/SonyBlurayPlayer2015.cs b/Emby.Dlna/Profiles/SonyBlurayPlayer2015.cs index ef443e56ed..889484bea5 100644 --- a/Emby.Dlna/Profiles/SonyBlurayPlayer2015.cs +++ b/Emby.Dlna/Profiles/SonyBlurayPlayer2015.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/SonyBlurayPlayer2016.cs b/Emby.Dlna/Profiles/SonyBlurayPlayer2016.cs index 92e5cb086f..acb90bd01b 100644 --- a/Emby.Dlna/Profiles/SonyBlurayPlayer2016.cs +++ b/Emby.Dlna/Profiles/SonyBlurayPlayer2016.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/SonyBlurayPlayerProfile.cs b/Emby.Dlna/Profiles/SonyBlurayPlayerProfile.cs index 2bf65351e1..e1808b2052 100644 --- a/Emby.Dlna/Profiles/SonyBlurayPlayerProfile.cs +++ b/Emby.Dlna/Profiles/SonyBlurayPlayerProfile.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/SonyBravia2010Profile.cs b/Emby.Dlna/Profiles/SonyBravia2010Profile.cs index 7b452c536c..f8e8faa76d 100644 --- a/Emby.Dlna/Profiles/SonyBravia2010Profile.cs +++ b/Emby.Dlna/Profiles/SonyBravia2010Profile.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/SonyBravia2011Profile.cs b/Emby.Dlna/Profiles/SonyBravia2011Profile.cs index 75fefa9a86..111f36e9b5 100644 --- a/Emby.Dlna/Profiles/SonyBravia2011Profile.cs +++ b/Emby.Dlna/Profiles/SonyBravia2011Profile.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/SonyBravia2012Profile.cs b/Emby.Dlna/Profiles/SonyBravia2012Profile.cs index 1d55d91f9e..d5efe42707 100644 --- a/Emby.Dlna/Profiles/SonyBravia2012Profile.cs +++ b/Emby.Dlna/Profiles/SonyBravia2012Profile.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/SonyBravia2013Profile.cs b/Emby.Dlna/Profiles/SonyBravia2013Profile.cs index 555ce419b2..3b0228694b 100644 --- a/Emby.Dlna/Profiles/SonyBravia2013Profile.cs +++ b/Emby.Dlna/Profiles/SonyBravia2013Profile.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/SonyBravia2014Profile.cs b/Emby.Dlna/Profiles/SonyBravia2014Profile.cs index b6e5bbea51..e860eae346 100644 --- a/Emby.Dlna/Profiles/SonyBravia2014Profile.cs +++ b/Emby.Dlna/Profiles/SonyBravia2014Profile.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/SonyPs3Profile.cs b/Emby.Dlna/Profiles/SonyPs3Profile.cs index fc69d2dd34..88d0646955 100644 --- a/Emby.Dlna/Profiles/SonyPs3Profile.cs +++ b/Emby.Dlna/Profiles/SonyPs3Profile.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/SonyPs4Profile.cs b/Emby.Dlna/Profiles/SonyPs4Profile.cs index 9b444ec243..499cf88038 100644 --- a/Emby.Dlna/Profiles/SonyPs4Profile.cs +++ b/Emby.Dlna/Profiles/SonyPs4Profile.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/WdtvLiveProfile.cs b/Emby.Dlna/Profiles/WdtvLiveProfile.cs index bab5576745..bf7b1ab47e 100644 --- a/Emby.Dlna/Profiles/WdtvLiveProfile.cs +++ b/Emby.Dlna/Profiles/WdtvLiveProfile.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { @@ -17,7 +16,7 @@ namespace Emby.Dlna.Profiles { ModelName = "WD TV", - Headers = new [] + Headers = new[] { new HttpHeaderInfo {Name = "User-Agent", Value = "alphanetworks", Match = HeaderMatchType.Substring}, new HttpHeaderInfo diff --git a/Emby.Dlna/Profiles/XboxOneProfile.cs b/Emby.Dlna/Profiles/XboxOneProfile.cs index 46740cb311..710b891e3d 100644 --- a/Emby.Dlna/Profiles/XboxOneProfile.cs +++ b/Emby.Dlna/Profiles/XboxOneProfile.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Dlna; -using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; namespace Emby.Dlna.Profiles { diff --git a/Emby.Dlna/Profiles/Xml/Default.xml b/Emby.Dlna/Profiles/Xml/Default.xml index 9b862fec3a..95e057fa94 100644 --- a/Emby.Dlna/Profiles/Xml/Default.xml +++ b/Emby.Dlna/Profiles/Xml/Default.xml @@ -1,60 +1,61 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Generic Device</Name> - <Manufacturer>Jellyfin</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Jellyfin Server</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>01</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes /> - <DirectPlayProfiles> - <DirectPlayProfile container="" type="Video" /> - <DirectPlayProfile container="" type="Audio" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles /> - <CodecProfiles /> - <ResponseProfiles> - <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> - <Conditions /> - </ResponseProfile> - </ResponseProfiles> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="External" /> - <SubtitleProfile format="sub" method="External" /> - <SubtitleProfile format="srt" method="Embed" /> - <SubtitleProfile format="ass" method="Embed" /> - <SubtitleProfile format="ssa" method="Embed" /> - <SubtitleProfile format="smi" method="Embed" /> - <SubtitleProfile format="dvdsub" method="Embed" /> - <SubtitleProfile format="pgs" method="Embed" /> - <SubtitleProfile format="pgssub" method="Embed" /> - <SubtitleProfile format="sub" method="Embed" /> - <SubtitleProfile format="subrip" method="Embed" /> - <SubtitleProfile format="vtt" method="Embed" /> - </SubtitleProfiles> +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Generic Device</Name> + <Manufacturer>Jellyfin</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Jellyfin Server</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>01</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes /> + <DirectPlayProfiles> + <DirectPlayProfile container="" type="Video" /> + <DirectPlayProfile container="" type="Audio" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles /> + <CodecProfiles /> + <ResponseProfiles> + <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> + <Conditions /> + </ResponseProfile> + </ResponseProfiles> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="External" /> + <SubtitleProfile format="sub" method="External" /> + <SubtitleProfile format="srt" method="Embed" /> + <SubtitleProfile format="ass" method="Embed" /> + <SubtitleProfile format="ssa" method="Embed" /> + <SubtitleProfile format="smi" method="Embed" /> + <SubtitleProfile format="dvdsub" method="Embed" /> + <SubtitleProfile format="pgs" method="Embed" /> + <SubtitleProfile format="pgssub" method="Embed" /> + <SubtitleProfile format="sub" method="Embed" /> + <SubtitleProfile format="subrip" method="Embed" /> + <SubtitleProfile format="vtt" method="Embed" /> + </SubtitleProfiles> </Profile> diff --git a/Emby.Dlna/Profiles/Xml/Denon AVR.xml b/Emby.Dlna/Profiles/Xml/Denon AVR.xml index 599726c512..a0de799d02 100644 --- a/Emby.Dlna/Profiles/Xml/Denon AVR.xml +++ b/Emby.Dlna/Profiles/Xml/Denon AVR.xml @@ -1,67 +1,68 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Denon AVR</Name> - <Identification> - <FriendlyName>Denon:\[AVR:.*</FriendlyName> - <Manufacturer>Denon</Manufacturer> - <Headers /> - </Identification> - <Manufacturer>Jellyfin</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Jellyfin Server</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>01</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes /> - <DirectPlayProfiles> - <DirectPlayProfile container="mp3,flac,m4a,wma" type="Audio" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles /> - <CodecProfiles> - <CodecProfile type="Audio" container="flac"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioSampleRate" value="96000" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles /> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="External" /> - <SubtitleProfile format="sub" method="External" /> - <SubtitleProfile format="srt" method="Embed" /> - <SubtitleProfile format="ass" method="Embed" /> - <SubtitleProfile format="ssa" method="Embed" /> - <SubtitleProfile format="smi" method="Embed" /> - <SubtitleProfile format="dvdsub" method="Embed" /> - <SubtitleProfile format="pgs" method="Embed" /> - <SubtitleProfile format="pgssub" method="Embed" /> - <SubtitleProfile format="sub" method="Embed" /> - <SubtitleProfile format="subrip" method="Embed" /> - <SubtitleProfile format="vtt" method="Embed" /> - </SubtitleProfiles> +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Denon AVR</Name> + <Identification> + <FriendlyName>Denon:\[AVR:.*</FriendlyName> + <Manufacturer>Denon</Manufacturer> + <Headers /> + </Identification> + <Manufacturer>Jellyfin</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Jellyfin Server</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>01</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes /> + <DirectPlayProfiles> + <DirectPlayProfile container="mp3,flac,m4a,wma" type="Audio" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles /> + <CodecProfiles> + <CodecProfile type="Audio" container="flac"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioSampleRate" value="96000" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles /> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="External" /> + <SubtitleProfile format="sub" method="External" /> + <SubtitleProfile format="srt" method="Embed" /> + <SubtitleProfile format="ass" method="Embed" /> + <SubtitleProfile format="ssa" method="Embed" /> + <SubtitleProfile format="smi" method="Embed" /> + <SubtitleProfile format="dvdsub" method="Embed" /> + <SubtitleProfile format="pgs" method="Embed" /> + <SubtitleProfile format="pgssub" method="Embed" /> + <SubtitleProfile format="sub" method="Embed" /> + <SubtitleProfile format="subrip" method="Embed" /> + <SubtitleProfile format="vtt" method="Embed" /> + </SubtitleProfiles> </Profile> diff --git a/Emby.Dlna/Profiles/Xml/DirecTV HD-DVR.xml b/Emby.Dlna/Profiles/Xml/DirecTV HD-DVR.xml index e640e86bfb..f7927014ad 100644 --- a/Emby.Dlna/Profiles/Xml/DirecTV HD-DVR.xml +++ b/Emby.Dlna/Profiles/Xml/DirecTV HD-DVR.xml @@ -1,66 +1,67 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>DirecTV HD-DVR</Name> - <Identification> - <FriendlyName>^DIRECTV.*$</FriendlyName> - <Headers> - <HttpHeaderInfo name="User-Agent" value="DIRECTV" match="Substring" /> - </Headers> - </Identification> - <Manufacturer>Jellyfin</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Jellyfin Server</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>01</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>10</TimelineOffsetSeconds> - <RequiresPlainVideoItems>true</RequiresPlainVideoItems> - <RequiresPlainFolders>true</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes /> - <DirectPlayProfiles> - <DirectPlayProfile container="mpeg" audioCodec="mp2" videoCodec="mpeg2video" type="Video" /> - <DirectPlayProfile container="jpeg,jpg" type="Photo" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mpeg" type="Video" videoCodec="mpeg2video" audioCodec="mp2" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles /> - <CodecProfiles> - <CodecProfile type="Video" codec="mpeg2video"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="8192000" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="Audio" codec="mp2"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles /> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - </SubtitleProfiles> +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>DirecTV HD-DVR</Name> + <Identification> + <FriendlyName>^DIRECTV.*$</FriendlyName> + <Headers> + <HttpHeaderInfo name="User-Agent" value="DIRECTV" match="Substring" /> + </Headers> + </Identification> + <Manufacturer>Jellyfin</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Jellyfin Server</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>01</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>10</TimelineOffsetSeconds> + <RequiresPlainVideoItems>true</RequiresPlainVideoItems> + <RequiresPlainFolders>true</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes /> + <DirectPlayProfiles> + <DirectPlayProfile container="mpeg" audioCodec="mp2" videoCodec="mpeg2video" type="Video" /> + <DirectPlayProfile container="jpeg,jpg" type="Photo" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mpeg" type="Video" videoCodec="mpeg2video" audioCodec="mp2" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles /> + <CodecProfiles> + <CodecProfile type="Video" codec="mpeg2video"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="8192000" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="Audio" codec="mp2"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles /> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + </SubtitleProfiles> </Profile> diff --git a/Emby.Dlna/Profiles/Xml/Dish Hopper-Joey.xml b/Emby.Dlna/Profiles/Xml/Dish Hopper-Joey.xml index 615774adff..11b00f0374 100644 --- a/Emby.Dlna/Profiles/Xml/Dish Hopper-Joey.xml +++ b/Emby.Dlna/Profiles/Xml/Dish Hopper-Joey.xml @@ -1,95 +1,96 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Dish Hopper-Joey</Name> - <Identification> - <Manufacturer>Echostar Technologies LLC</Manufacturer> - <ManufacturerUrl>http://www.echostar.com</ManufacturerUrl> - <Headers> - <HttpHeaderInfo name="User-Agent" value="Zip_" match="Substring" /> - </Headers> - </Identification> - <Manufacturer>Jellyfin</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Jellyfin Server</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>01</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/mp2t:*,http-get:*:video/MP1S:*,http-get:*:video/mpeg2:*,http-get:*:video/mp4:*,http-get:*:video/x-matroska:*,http-get:*:audio/mpeg:*,http-get:*:audio/mpeg3:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/mp4a-latm:*,http-get:*:image/jpeg:*</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes /> - <DirectPlayProfiles> - <DirectPlayProfile container="mp4,mkv,mpeg,ts" audioCodec="mp3,ac3,aac,he-aac,pcm" videoCodec="h264,mpeg2video" type="Video" /> - <DirectPlayProfile container="mp3,alac,flac" type="Audio" /> - <DirectPlayProfile container="jpeg" type="Photo" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="mp4" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles /> - <CodecProfiles> - <CodecProfile type="Video" codec="h264"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="Video"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="ac3,he-aac"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="aac"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio"> - <Conditions> - <ProfileCondition condition="Equals" property="IsSecondaryAudio" value="false" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles> - <ResponseProfile container="mkv,ts,mpegts" type="Video" mimeType="video/mp4"> - <Conditions /> - </ResponseProfile> - </ResponseProfiles> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - </SubtitleProfiles> +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Dish Hopper-Joey</Name> + <Identification> + <Manufacturer>Echostar Technologies LLC</Manufacturer> + <ManufacturerUrl>http://www.echostar.com</ManufacturerUrl> + <Headers> + <HttpHeaderInfo name="User-Agent" value="Zip_" match="Substring" /> + </Headers> + </Identification> + <Manufacturer>Jellyfin</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Jellyfin Server</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>01</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/mp2t:*,http-get:*:video/MP1S:*,http-get:*:video/mpeg2:*,http-get:*:video/mp4:*,http-get:*:video/x-matroska:*,http-get:*:audio/mpeg:*,http-get:*:audio/mpeg3:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/mp4a-latm:*,http-get:*:image/jpeg:*</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes /> + <DirectPlayProfiles> + <DirectPlayProfile container="mp4,mkv,mpeg,ts" audioCodec="mp3,ac3,aac,he-aac,pcm" videoCodec="h264,mpeg2video" type="Video" /> + <DirectPlayProfile container="mp3,alac,flac" type="Audio" /> + <DirectPlayProfile container="jpeg" type="Photo" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="mp4" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles /> + <CodecProfiles> + <CodecProfile type="Video" codec="h264"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="Video"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="ac3,he-aac"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="aac"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio"> + <Conditions> + <ProfileCondition condition="Equals" property="IsSecondaryAudio" value="false" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles> + <ResponseProfile container="mkv,ts,mpegts" type="Video" mimeType="video/mp4"> + <Conditions /> + </ResponseProfile> + </ResponseProfiles> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + </SubtitleProfiles> </Profile> diff --git a/Emby.Dlna/Profiles/Xml/LG Smart TV.xml b/Emby.Dlna/Profiles/Xml/LG Smart TV.xml index 21dccf5312..22a9e90c66 100644 --- a/Emby.Dlna/Profiles/Xml/LG Smart TV.xml +++ b/Emby.Dlna/Profiles/Xml/LG Smart TV.xml @@ -1,91 +1,92 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>LG Smart TV</Name> - <Identification> - <FriendlyName>LG.*</FriendlyName> - <Headers> - <HttpHeaderInfo name="User-Agent" value="LG" match="Substring" /> - </Headers> - </Identification> - <Manufacturer>Jellyfin</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Jellyfin Server</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>01</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>10</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes /> - <DirectPlayProfiles> - <DirectPlayProfile container="ts,mpegts,avi,mkv,m2ts" audioCodec="aac,ac3,eac3,mp3,dca,dts" videoCodec="h264" type="Video" /> - <DirectPlayProfile container="mp4,m4v" audioCodec="aac,ac3,eac3,mp3,dca,dts" videoCodec="h264,mpeg4" type="Video" /> - <DirectPlayProfile container="mp3" type="Audio" /> - <DirectPlayProfile container="jpeg" type="Photo" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3,aac,mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles> - <ContainerProfile type="Photo"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - </Conditions> - </ContainerProfile> - </ContainerProfiles> - <CodecProfiles> - <CodecProfile type="Video" codec="mpeg4"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="Video" codec="h264"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="ac3,eac3,aac,mp3"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles> - <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="ts,mpegts" type="Video" mimeType="video/mpeg"> - <Conditions /> - </ResponseProfile> - </ResponseProfiles> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - <SubtitleProfile format="srt" method="External" /> - </SubtitleProfiles> +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>LG Smart TV</Name> + <Identification> + <FriendlyName>LG.*</FriendlyName> + <Headers> + <HttpHeaderInfo name="User-Agent" value="LG" match="Substring" /> + </Headers> + </Identification> + <Manufacturer>Jellyfin</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Jellyfin Server</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>01</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>10</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes /> + <DirectPlayProfiles> + <DirectPlayProfile container="ts,mpegts,avi,mkv,m2ts" audioCodec="aac,ac3,eac3,mp3,dca,dts" videoCodec="h264" type="Video" /> + <DirectPlayProfile container="mp4,m4v" audioCodec="aac,ac3,eac3,mp3,dca,dts" videoCodec="h264,mpeg4" type="Video" /> + <DirectPlayProfile container="mp3" type="Audio" /> + <DirectPlayProfile container="jpeg" type="Photo" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3,aac,mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles> + <ContainerProfile type="Photo"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + </Conditions> + </ContainerProfile> + </ContainerProfiles> + <CodecProfiles> + <CodecProfile type="Video" codec="mpeg4"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="Video" codec="h264"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="ac3,eac3,aac,mp3"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles> + <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="ts,mpegts" type="Video" mimeType="video/mpeg"> + <Conditions /> + </ResponseProfile> + </ResponseProfiles> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + <SubtitleProfile format="srt" method="External" /> + </SubtitleProfiles> </Profile> diff --git a/Emby.Dlna/Profiles/Xml/Linksys DMA2100.xml b/Emby.Dlna/Profiles/Xml/Linksys DMA2100.xml index ac081bba30..94c89a2c22 100644 --- a/Emby.Dlna/Profiles/Xml/Linksys DMA2100.xml +++ b/Emby.Dlna/Profiles/Xml/Linksys DMA2100.xml @@ -1,53 +1,54 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Linksys DMA2100</Name> - <Identification> - <ModelName>DMA2100us</ModelName> - <Headers /> - </Identification> - <Manufacturer>Jellyfin</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Jellyfin Server</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>01</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes /> - <DirectPlayProfiles> - <DirectPlayProfile container="mp3,flac,m4a,wma" type="Audio" /> - <DirectPlayProfile container="avi,mp4,mkv,ts,mpegts,m4v" type="Video" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles /> - <CodecProfiles /> - <ResponseProfiles> - <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> - <Conditions /> - </ResponseProfile> - </ResponseProfiles> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - </SubtitleProfiles> +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Linksys DMA2100</Name> + <Identification> + <ModelName>DMA2100us</ModelName> + <Headers /> + </Identification> + <Manufacturer>Jellyfin</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Jellyfin Server</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>01</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes /> + <DirectPlayProfiles> + <DirectPlayProfile container="mp3,flac,m4a,wma" type="Audio" /> + <DirectPlayProfile container="avi,mp4,mkv,ts,mpegts,m4v" type="Video" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles /> + <CodecProfiles /> + <ResponseProfiles> + <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> + <Conditions /> + </ResponseProfile> + </ResponseProfiles> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + </SubtitleProfiles> </Profile> diff --git a/Emby.Dlna/Profiles/Xml/Marantz.xml b/Emby.Dlna/Profiles/Xml/Marantz.xml index 2bbdecde86..1a47865770 100644 --- a/Emby.Dlna/Profiles/Xml/Marantz.xml +++ b/Emby.Dlna/Profiles/Xml/Marantz.xml @@ -1,61 +1,62 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Marantz</Name> - <Identification> - <Manufacturer>Marantz</Manufacturer> - <Headers> - <HttpHeaderInfo name="User-Agent" value="Marantz" match="Substring" /> - </Headers> - </Identification> - <Manufacturer>Jellyfin</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Jellyfin Server</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>01</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes /> - <DirectPlayProfiles> - <DirectPlayProfile container="aac,mp3,wav,wma,flac" type="Audio" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles /> - <CodecProfiles /> - <ResponseProfiles /> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="External" /> - <SubtitleProfile format="sub" method="External" /> - <SubtitleProfile format="srt" method="Embed" /> - <SubtitleProfile format="ass" method="Embed" /> - <SubtitleProfile format="ssa" method="Embed" /> - <SubtitleProfile format="smi" method="Embed" /> - <SubtitleProfile format="dvdsub" method="Embed" /> - <SubtitleProfile format="pgs" method="Embed" /> - <SubtitleProfile format="pgssub" method="Embed" /> - <SubtitleProfile format="sub" method="Embed" /> - <SubtitleProfile format="subrip" method="Embed" /> - <SubtitleProfile format="vtt" method="Embed" /> - </SubtitleProfiles> +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Marantz</Name> + <Identification> + <Manufacturer>Marantz</Manufacturer> + <Headers> + <HttpHeaderInfo name="User-Agent" value="Marantz" match="Substring" /> + </Headers> + </Identification> + <Manufacturer>Jellyfin</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Jellyfin Server</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>01</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes /> + <DirectPlayProfiles> + <DirectPlayProfile container="aac,mp3,wav,wma,flac" type="Audio" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles /> + <CodecProfiles /> + <ResponseProfiles /> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="External" /> + <SubtitleProfile format="sub" method="External" /> + <SubtitleProfile format="srt" method="Embed" /> + <SubtitleProfile format="ass" method="Embed" /> + <SubtitleProfile format="ssa" method="Embed" /> + <SubtitleProfile format="smi" method="Embed" /> + <SubtitleProfile format="dvdsub" method="Embed" /> + <SubtitleProfile format="pgs" method="Embed" /> + <SubtitleProfile format="pgssub" method="Embed" /> + <SubtitleProfile format="sub" method="Embed" /> + <SubtitleProfile format="subrip" method="Embed" /> + <SubtitleProfile format="vtt" method="Embed" /> + </SubtitleProfiles> </Profile> diff --git a/Emby.Dlna/Profiles/Xml/MediaMonkey.xml b/Emby.Dlna/Profiles/Xml/MediaMonkey.xml index 955c30e854..ab5db70789 100644 --- a/Emby.Dlna/Profiles/Xml/MediaMonkey.xml +++ b/Emby.Dlna/Profiles/Xml/MediaMonkey.xml @@ -1,61 +1,62 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>MediaMonkey</Name> - <Identification> - <FriendlyName>MediaMonkey</FriendlyName> - <Headers> - <HttpHeaderInfo name="User-Agent" value="MediaMonkey" match="Substring" /> - </Headers> - </Identification> - <Manufacturer>Jellyfin</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Jellyfin Server</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>01</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes /> - <DirectPlayProfiles> - <DirectPlayProfile container="aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape,opus,flac,m4a" type="Audio" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles /> - <CodecProfiles /> - <ResponseProfiles /> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="External" /> - <SubtitleProfile format="sub" method="External" /> - <SubtitleProfile format="srt" method="Embed" /> - <SubtitleProfile format="ass" method="Embed" /> - <SubtitleProfile format="ssa" method="Embed" /> - <SubtitleProfile format="smi" method="Embed" /> - <SubtitleProfile format="dvdsub" method="Embed" /> - <SubtitleProfile format="pgs" method="Embed" /> - <SubtitleProfile format="pgssub" method="Embed" /> - <SubtitleProfile format="sub" method="Embed" /> - <SubtitleProfile format="subrip" method="Embed" /> - <SubtitleProfile format="vtt" method="Embed" /> - </SubtitleProfiles> +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>MediaMonkey</Name> + <Identification> + <FriendlyName>MediaMonkey</FriendlyName> + <Headers> + <HttpHeaderInfo name="User-Agent" value="MediaMonkey" match="Substring" /> + </Headers> + </Identification> + <Manufacturer>Jellyfin</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Jellyfin Server</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>01</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes /> + <DirectPlayProfiles> + <DirectPlayProfile container="aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape,opus,flac,m4a" type="Audio" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles /> + <CodecProfiles /> + <ResponseProfiles /> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="External" /> + <SubtitleProfile format="sub" method="External" /> + <SubtitleProfile format="srt" method="Embed" /> + <SubtitleProfile format="ass" method="Embed" /> + <SubtitleProfile format="ssa" method="Embed" /> + <SubtitleProfile format="smi" method="Embed" /> + <SubtitleProfile format="dvdsub" method="Embed" /> + <SubtitleProfile format="pgs" method="Embed" /> + <SubtitleProfile format="pgssub" method="Embed" /> + <SubtitleProfile format="sub" method="Embed" /> + <SubtitleProfile format="subrip" method="Embed" /> + <SubtitleProfile format="vtt" method="Embed" /> + </SubtitleProfiles> </Profile> diff --git a/Emby.Dlna/Profiles/Xml/Panasonic Viera.xml b/Emby.Dlna/Profiles/Xml/Panasonic Viera.xml index 0da0e09260..6a5abfb0e2 100644 --- a/Emby.Dlna/Profiles/Xml/Panasonic Viera.xml +++ b/Emby.Dlna/Profiles/Xml/Panasonic Viera.xml @@ -1,86 +1,87 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Panasonic Viera</Name> - <Identification> - <FriendlyName>VIERA</FriendlyName> - <Manufacturer>Panasonic</Manufacturer> - <Headers> - <HttpHeaderInfo name="User-Agent" value="Panasonic MIL DLNA" match="Substring" /> - </Headers> - </Identification> - <Manufacturer>Jellyfin</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Jellyfin Server</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>01</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>10</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes> - <XmlAttribute name="xmlns:pv" value="http://www.pv.com/pvns/" /> - </XmlRootAttributes> - <DirectPlayProfiles> - <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,pcm_dvd" videoCodec="mpeg2video,mpeg4" type="Video" /> - <DirectPlayProfile container="mkv" audioCodec="aac,ac3,dca,mp3,mp2,pcm,dts" videoCodec="h264,mpeg2video" type="Video" /> - <DirectPlayProfile container="ts,mpegts" audioCodec="aac,mp3,mp2" videoCodec="h264,mpeg2video" type="Video" /> - <DirectPlayProfile container="mp4,m4v" audioCodec="aac,ac3,mp3,pcm" videoCodec="h264" type="Video" /> - <DirectPlayProfile container="mov" audioCodec="aac,pcm" videoCodec="h264" type="Video" /> - <DirectPlayProfile container="avi" audioCodec="pcm" videoCodec="mpeg4" type="Video" /> - <DirectPlayProfile container="flv" audioCodec="aac" videoCodec="h264" type="Video" /> - <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" /> - <DirectPlayProfile container="mp4" audioCodec="aac" type="Audio" /> - <DirectPlayProfile container="jpeg" type="Photo" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles> - <ContainerProfile type="Photo"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - </Conditions> - </ContainerProfile> - </ContainerProfiles> - <CodecProfiles> - <CodecProfile type="Video"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitDepth" value="8" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles> - <ResponseProfile container="ts,mpegts" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> - <Conditions /> - </ResponseProfile> - </ResponseProfiles> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - <SubtitleProfile format="srt" method="External" /> - </SubtitleProfiles> +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Panasonic Viera</Name> + <Identification> + <FriendlyName>VIERA</FriendlyName> + <Manufacturer>Panasonic</Manufacturer> + <Headers> + <HttpHeaderInfo name="User-Agent" value="Panasonic MIL DLNA" match="Substring" /> + </Headers> + </Identification> + <Manufacturer>Jellyfin</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Jellyfin Server</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>01</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>10</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes> + <XmlAttribute name="xmlns:pv" value="http://www.pv.com/pvns/" /> + </XmlRootAttributes> + <DirectPlayProfiles> + <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,pcm_dvd" videoCodec="mpeg2video,mpeg4" type="Video" /> + <DirectPlayProfile container="mkv" audioCodec="aac,ac3,dca,mp3,mp2,pcm,dts" videoCodec="h264,mpeg2video" type="Video" /> + <DirectPlayProfile container="ts,mpegts" audioCodec="aac,mp3,mp2" videoCodec="h264,mpeg2video" type="Video" /> + <DirectPlayProfile container="mp4,m4v" audioCodec="aac,ac3,mp3,pcm" videoCodec="h264" type="Video" /> + <DirectPlayProfile container="mov" audioCodec="aac,pcm" videoCodec="h264" type="Video" /> + <DirectPlayProfile container="avi" audioCodec="pcm" videoCodec="mpeg4" type="Video" /> + <DirectPlayProfile container="flv" audioCodec="aac" videoCodec="h264" type="Video" /> + <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" /> + <DirectPlayProfile container="mp4" audioCodec="aac" type="Audio" /> + <DirectPlayProfile container="jpeg" type="Photo" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles> + <ContainerProfile type="Photo"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + </Conditions> + </ContainerProfile> + </ContainerProfiles> + <CodecProfiles> + <CodecProfile type="Video"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitDepth" value="8" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles> + <ResponseProfile container="ts,mpegts" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> + <Conditions /> + </ResponseProfile> + </ResponseProfiles> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + <SubtitleProfile format="srt" method="External" /> + </SubtitleProfiles> </Profile> diff --git a/Emby.Dlna/Profiles/Xml/Popcorn Hour.xml b/Emby.Dlna/Profiles/Xml/Popcorn Hour.xml index 775d40b74d..da65c9e01b 100644 --- a/Emby.Dlna/Profiles/Xml/Popcorn Hour.xml +++ b/Emby.Dlna/Profiles/Xml/Popcorn Hour.xml @@ -1,91 +1,92 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Popcorn Hour</Name> - <Manufacturer>Jellyfin</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Jellyfin Server</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>01</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes /> - <DirectPlayProfiles> - <DirectPlayProfile container="mp4,mov,m4v" audioCodec="aac" videoCodec="h264,mpeg4" type="Video" /> - <DirectPlayProfile container="ts,mpegts" audioCodec="aac,ac3,eac3,mp3,mp2,pcm" videoCodec="h264" type="Video" /> - <DirectPlayProfile container="asf,wmv" audioCodec="wmav2,wmapro" videoCodec="wmv3,vc1" type="Video" /> - <DirectPlayProfile container="avi" audioCodec="mp3,ac3,eac3,mp2,pcm" videoCodec="mpeg4,msmpeg4" type="Video" /> - <DirectPlayProfile container="mkv" audioCodec="aac,mp3,ac3,eac3,mp2,pcm" videoCodec="h264" type="Video" /> - <DirectPlayProfile container="aac,mp3,flac,ogg,wma,wav" type="Audio" /> - <DirectPlayProfile container="jpeg,gif,bmp,png" type="Photo" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="mp4" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles /> - <CodecProfiles> - <CodecProfile type="Video" codec="h264"> - <Conditions> - <ProfileCondition condition="EqualsAny" property="VideoProfile" value="baseline|constrained baseline" isRequired="false" /> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="Video"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="aac"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="Audio" codec="aac"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="Audio" codec="mp3"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="false" /> - <ProfileCondition condition="LessThanEqual" property="AudioBitrate" value="320000" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles> - <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> - <Conditions /> - </ResponseProfile> - </ResponseProfiles> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - </SubtitleProfiles> -</Profile>
\ No newline at end of file +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Popcorn Hour</Name> + <Manufacturer>Jellyfin</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Jellyfin Server</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>01</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes /> + <DirectPlayProfiles> + <DirectPlayProfile container="mp4,mov,m4v" audioCodec="aac" videoCodec="h264,mpeg4" type="Video" /> + <DirectPlayProfile container="ts,mpegts" audioCodec="aac,ac3,eac3,mp3,mp2,pcm" videoCodec="h264" type="Video" /> + <DirectPlayProfile container="asf,wmv" audioCodec="wmav2,wmapro" videoCodec="wmv3,vc1" type="Video" /> + <DirectPlayProfile container="avi" audioCodec="mp3,ac3,eac3,mp2,pcm" videoCodec="mpeg4,msmpeg4" type="Video" /> + <DirectPlayProfile container="mkv" audioCodec="aac,mp3,ac3,eac3,mp2,pcm" videoCodec="h264" type="Video" /> + <DirectPlayProfile container="aac,mp3,flac,ogg,wma,wav" type="Audio" /> + <DirectPlayProfile container="jpeg,gif,bmp,png" type="Photo" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="mp4" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles /> + <CodecProfiles> + <CodecProfile type="Video" codec="h264"> + <Conditions> + <ProfileCondition condition="EqualsAny" property="VideoProfile" value="baseline|constrained baseline" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="Video"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="aac"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="Audio" codec="aac"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="Audio" codec="mp3"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="AudioBitrate" value="320000" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles> + <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> + <Conditions /> + </ResponseProfile> + </ResponseProfiles> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + </SubtitleProfiles> +</Profile> diff --git a/Emby.Dlna/Profiles/Xml/Samsung Smart TV.xml b/Emby.Dlna/Profiles/Xml/Samsung Smart TV.xml index 1362d8c38b..6d9661201b 100644 --- a/Emby.Dlna/Profiles/Xml/Samsung Smart TV.xml +++ b/Emby.Dlna/Profiles/Xml/Samsung Smart TV.xml @@ -1,127 +1,128 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Samsung Smart TV</Name> - <Identification> - <ModelUrl>samsung.com</ModelUrl> - <Headers> - <HttpHeaderInfo name="User-Agent" value="SEC_" match="Substring" /> - </Headers> - </Identification> - <Manufacturer>Jellyfin</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Jellyfin Server</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>01</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>true</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes> - <XmlAttribute name="xmlns:sec" value="http://www.sec.co.kr/" /> - </XmlRootAttributes> - <DirectPlayProfiles> - <DirectPlayProfile container="asf" audioCodec="mp3,ac3,wmav2,wmapro,wmavoice" videoCodec="h264,mpeg4,mjpeg" type="Video" /> - <DirectPlayProfile container="avi" audioCodec="mp3,ac3,dca,dts" videoCodec="h264,mpeg4,mjpeg" type="Video" /> - <DirectPlayProfile container="mkv" audioCodec="mp3,ac3,dca,aac,dts" videoCodec="h264,mpeg4,mjpeg4" type="Video" /> - <DirectPlayProfile container="mp4,m4v" audioCodec="mp3,aac" videoCodec="h264,mpeg4" type="Video" /> - <DirectPlayProfile container="3gp" audioCodec="aac,he-aac" videoCodec="h264,mpeg4" type="Video" /> - <DirectPlayProfile container="mpg,mpeg" audioCodec="ac3,mp2,mp3,aac" videoCodec="mpeg1video,mpeg2video,h264" type="Video" /> - <DirectPlayProfile container="vro,vob" audioCodec="ac3,mp2,mp3" videoCodec="mpeg1video,mpeg2video" type="Video" /> - <DirectPlayProfile container="ts" audioCodec="ac3,aac,mp3,eac3" videoCodec="mpeg2video,h264,vc1" type="Video" /> - <DirectPlayProfile container="asf" audioCodec="wmav2,wmavoice" videoCodec="wmv2,wmv3" type="Video" /> - <DirectPlayProfile container="mp3,flac" type="Audio" /> - <DirectPlayProfile container="jpeg" type="Photo" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles> - <ContainerProfile type="Photo"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - </Conditions> - </ContainerProfile> - </ContainerProfiles> - <CodecProfiles> - <CodecProfile type="Video" codec="mpeg2video"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="30720000" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="Video" codec="mpeg4"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="8192000" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="Video" codec="h264"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="37500000" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="Video" codec="wmv2,wmv3,vc1"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="25600000" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="wmav2,dca,aac,mp3,dts"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles> - <ResponseProfile container="avi" type="Video" mimeType="video/x-msvideo"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="mkv" type="Video" mimeType="video/x-mkv"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="flac" type="Audio" mimeType="audio/x-flac"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> - <Conditions /> - </ResponseProfile> - </ResponseProfiles> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - <SubtitleProfile format="srt" method="External" didlMode="CaptionInfoEx" /> - </SubtitleProfiles> -</Profile>
\ No newline at end of file +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Samsung Smart TV</Name> + <Identification> + <ModelUrl>samsung.com</ModelUrl> + <Headers> + <HttpHeaderInfo name="User-Agent" value="SEC_" match="Substring" /> + </Headers> + </Identification> + <Manufacturer>Jellyfin</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Jellyfin Server</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>01</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>true</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes> + <XmlAttribute name="xmlns:sec" value="http://www.sec.co.kr/" /> + </XmlRootAttributes> + <DirectPlayProfiles> + <DirectPlayProfile container="asf" audioCodec="mp3,ac3,wmav2,wmapro,wmavoice" videoCodec="h264,mpeg4,mjpeg" type="Video" /> + <DirectPlayProfile container="avi" audioCodec="mp3,ac3,dca,dts" videoCodec="h264,mpeg4,mjpeg" type="Video" /> + <DirectPlayProfile container="mkv" audioCodec="mp3,ac3,dca,aac,dts" videoCodec="h264,mpeg4,mjpeg4" type="Video" /> + <DirectPlayProfile container="mp4,m4v" audioCodec="mp3,aac" videoCodec="h264,mpeg4" type="Video" /> + <DirectPlayProfile container="3gp" audioCodec="aac,he-aac" videoCodec="h264,mpeg4" type="Video" /> + <DirectPlayProfile container="mpg,mpeg" audioCodec="ac3,mp2,mp3,aac" videoCodec="mpeg1video,mpeg2video,h264" type="Video" /> + <DirectPlayProfile container="vro,vob" audioCodec="ac3,mp2,mp3" videoCodec="mpeg1video,mpeg2video" type="Video" /> + <DirectPlayProfile container="ts" audioCodec="ac3,aac,mp3,eac3" videoCodec="mpeg2video,h264,vc1" type="Video" /> + <DirectPlayProfile container="asf" audioCodec="wmav2,wmavoice" videoCodec="wmv2,wmv3" type="Video" /> + <DirectPlayProfile container="mp3,flac" type="Audio" /> + <DirectPlayProfile container="jpeg" type="Photo" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles> + <ContainerProfile type="Photo"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + </Conditions> + </ContainerProfile> + </ContainerProfiles> + <CodecProfiles> + <CodecProfile type="Video" codec="mpeg2video"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="30720000" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="Video" codec="mpeg4"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="8192000" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="Video" codec="h264"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="37500000" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="Video" codec="wmv2,wmv3,vc1"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="25600000" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="wmav2,dca,aac,mp3,dts"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles> + <ResponseProfile container="avi" type="Video" mimeType="video/x-msvideo"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="mkv" type="Video" mimeType="video/x-mkv"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="flac" type="Audio" mimeType="audio/x-flac"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> + <Conditions /> + </ResponseProfile> + </ResponseProfiles> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + <SubtitleProfile format="srt" method="External" didlMode="CaptionInfoEx" /> + </SubtitleProfiles> +</Profile> diff --git a/Emby.Dlna/Profiles/Xml/Sharp Smart TV.xml b/Emby.Dlna/Profiles/Xml/Sharp Smart TV.xml index dac2fdea44..e38987e89a 100644 --- a/Emby.Dlna/Profiles/Xml/Sharp Smart TV.xml +++ b/Emby.Dlna/Profiles/Xml/Sharp Smart TV.xml @@ -1,59 +1,60 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Sharp Smart TV</Name> - <Identification> - <Manufacturer>Sharp</Manufacturer> - <Headers> - <HttpHeaderInfo name="User-Agent" value="Sharp" match="Substring" /> - </Headers> - </Identification> - <Manufacturer>Jellyfin</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Jellyfin Server</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>01</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>true</RequiresPlainVideoItems> - <RequiresPlainFolders>true</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes /> - <DirectPlayProfiles> - <DirectPlayProfile container="m4v,mkv,avi,mov,mp4" audioCodec="aac,mp3,ac3,dts,dca" videoCodec="h264,mpeg4" type="Video" /> - <DirectPlayProfile container="asf,wmv" type="Video" /> - <DirectPlayProfile container="mpg,mpeg" audioCodec="mp3,aac" videoCodec="mpeg2video" type="Video" /> - <DirectPlayProfile container="flv" audioCodec="mp3,aac" videoCodec="h264" type="Video" /> - <DirectPlayProfile container="mp3,wav" type="Audio" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3,aac,mp3,dts,dca" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles /> - <CodecProfiles /> - <ResponseProfiles> - <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> - <Conditions /> - </ResponseProfile> - </ResponseProfiles> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - <SubtitleProfile format="srt" method="External" /> - </SubtitleProfiles> -</Profile>
\ No newline at end of file +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Sharp Smart TV</Name> + <Identification> + <Manufacturer>Sharp</Manufacturer> + <Headers> + <HttpHeaderInfo name="User-Agent" value="Sharp" match="Substring" /> + </Headers> + </Identification> + <Manufacturer>Jellyfin</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Jellyfin Server</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>01</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>true</RequiresPlainVideoItems> + <RequiresPlainFolders>true</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes /> + <DirectPlayProfiles> + <DirectPlayProfile container="m4v,mkv,avi,mov,mp4" audioCodec="aac,mp3,ac3,dts,dca" videoCodec="h264,mpeg4" type="Video" /> + <DirectPlayProfile container="asf,wmv" type="Video" /> + <DirectPlayProfile container="mpg,mpeg" audioCodec="mp3,aac" videoCodec="mpeg2video" type="Video" /> + <DirectPlayProfile container="flv" audioCodec="mp3,aac" videoCodec="h264" type="Video" /> + <DirectPlayProfile container="mp3,wav" type="Audio" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3,aac,mp3,dts,dca" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles /> + <CodecProfiles /> + <ResponseProfiles> + <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> + <Conditions /> + </ResponseProfile> + </ResponseProfiles> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + <SubtitleProfile format="srt" method="External" /> + </SubtitleProfiles> +</Profile> diff --git a/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml b/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml index 0cb0c52c23..d4649d9e83 100644 --- a/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml +++ b/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml @@ -1,86 +1,87 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Sony Blu-ray Player 2013</Name> - <Identification> - <ModelNumber>BDP-2013</ModelNumber> - <Headers> - <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S1100" match="Substring" /> - <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S3100" match="Substring" /> - <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S5100" match="Substring" /> - <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S6100" match="Substring" /> - <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S7100" match="Substring" /> - </Headers> - </Identification> - <Manufacturer>Microsoft Corporation</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Windows Media Player Sharing</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>3.0</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/divx:DLNA.ORG_PN=MATROSKA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_PAL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_NTSC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMABASE;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMAFULL;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mp4:DLNA.ORG_PN=AVC_MP4_MP_SD_AAC_MULT5;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/flac:DLNA.ORG_PN=FLAC;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/ogg:DLNA.ORG_PN=OGG;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:*:image/jpeg:DLNA.ORG_PN=JPEG_MED;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/gif:DLNA.ORG_PN=GIF_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG1;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_EU_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_NA_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_KO_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_JP_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-msvideo:DLNA.ORG_PN=AVI;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-flv:DLNA.ORG_PN=FLV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-dvr:DLNA.ORG_PN=DVR_MS;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/wtv:DLNA.ORG_PN=WTV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/ogg:DLNA.ORG_PN=OGV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.rn-realvideo:DLNA.ORG_PN=REAL_VIDEO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_BASE;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L1_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L2_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L3_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_3GPP_P0_L10_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_MP4_P0_L10_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes> - <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> - </XmlRootAttributes> - <DirectPlayProfiles> - <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg1video,mpeg2video,h264" type="Video" /> - <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" /> - <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" /> - <DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" /> - <DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm,dts" videoCodec="mpeg4,h264" type="Video" /> - <DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" /> - <DirectPlayProfile container="wmv,asf" type="Video" /> - <DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" /> - <DirectPlayProfile container="jpeg,png,gif" type="Photo" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="mkv" type="Video" videoCodec="h264" audioCodec="ac3,aac,mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles> - <ContainerProfile type="Photo"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - </Conditions> - </ContainerProfile> - </ContainerProfiles> - <CodecProfiles> - <CodecProfile type="Video" codec="h264"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="ac3"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles /> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - </SubtitleProfiles> -</Profile>
\ No newline at end of file +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Sony Blu-ray Player 2013</Name> + <Identification> + <ModelNumber>BDP-2013</ModelNumber> + <Headers> + <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S1100" match="Substring" /> + <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S3100" match="Substring" /> + <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S5100" match="Substring" /> + <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S6100" match="Substring" /> + <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S7100" match="Substring" /> + </Headers> + </Identification> + <Manufacturer>Microsoft Corporation</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Windows Media Player Sharing</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>3.0</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/divx:DLNA.ORG_PN=MATROSKA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_PAL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_NTSC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMABASE;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMAFULL;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mp4:DLNA.ORG_PN=AVC_MP4_MP_SD_AAC_MULT5;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/flac:DLNA.ORG_PN=FLAC;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/ogg:DLNA.ORG_PN=OGG;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:*:image/jpeg:DLNA.ORG_PN=JPEG_MED;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/gif:DLNA.ORG_PN=GIF_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG1;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_EU_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_NA_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_KO_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_JP_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-msvideo:DLNA.ORG_PN=AVI;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-flv:DLNA.ORG_PN=FLV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-dvr:DLNA.ORG_PN=DVR_MS;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/wtv:DLNA.ORG_PN=WTV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/ogg:DLNA.ORG_PN=OGV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.rn-realvideo:DLNA.ORG_PN=REAL_VIDEO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_BASE;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L1_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L2_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L3_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_3GPP_P0_L10_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_MP4_P0_L10_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes> + <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> + </XmlRootAttributes> + <DirectPlayProfiles> + <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg1video,mpeg2video,h264" type="Video" /> + <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" /> + <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" /> + <DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" /> + <DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm,dts" videoCodec="mpeg4,h264" type="Video" /> + <DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" /> + <DirectPlayProfile container="wmv,asf" type="Video" /> + <DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" /> + <DirectPlayProfile container="jpeg,png,gif" type="Photo" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="mkv" type="Video" videoCodec="h264" audioCodec="ac3,aac,mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles> + <ContainerProfile type="Photo"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + </Conditions> + </ContainerProfile> + </ContainerProfiles> + <CodecProfiles> + <CodecProfile type="Video" codec="h264"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="ac3"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles /> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + </SubtitleProfiles> +</Profile> diff --git a/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2014.xml b/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2014.xml index 602c54f618..2cd4754668 100644 --- a/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2014.xml +++ b/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2014.xml @@ -1,86 +1,87 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Sony Blu-ray Player 2014</Name> - <Identification> - <ModelNumber>BDP-2014</ModelNumber> - <Headers> - <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S1200" match="Substring" /> - <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S3200" match="Substring" /> - <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S5200" match="Substring" /> - <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S6200" match="Substring" /> - <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S7200" match="Substring" /> - </Headers> - </Identification> - <Manufacturer>Microsoft Corporation</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Windows Media Player Sharing</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>3.0</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/divx:DLNA.ORG_PN=MATROSKA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_PAL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_NTSC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMABASE;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMAFULL;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mp4:DLNA.ORG_PN=AVC_MP4_MP_SD_AAC_MULT5;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/flac:DLNA.ORG_PN=FLAC;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/ogg:DLNA.ORG_PN=OGG;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:*:image/jpeg:DLNA.ORG_PN=JPEG_MED;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/gif:DLNA.ORG_PN=GIF_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG1;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_EU_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_NA_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_KO_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_JP_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-msvideo:DLNA.ORG_PN=AVI;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-flv:DLNA.ORG_PN=FLV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-dvr:DLNA.ORG_PN=DVR_MS;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/wtv:DLNA.ORG_PN=WTV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/ogg:DLNA.ORG_PN=OGV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.rn-realvideo:DLNA.ORG_PN=REAL_VIDEO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_BASE;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L1_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L2_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L3_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_3GPP_P0_L10_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_MP4_P0_L10_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes> - <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> - </XmlRootAttributes> - <DirectPlayProfiles> - <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg1video,mpeg2video,h264" type="Video" /> - <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" /> - <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" /> - <DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" /> - <DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm,dts" videoCodec="mpeg4,h264" type="Video" /> - <DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" /> - <DirectPlayProfile container="wmv,asf" type="Video" /> - <DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" /> - <DirectPlayProfile container="jpeg,png,gif" type="Photo" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="mkv" type="Video" videoCodec="h264" audioCodec="ac3,aac,mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles> - <ContainerProfile type="Photo"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - </Conditions> - </ContainerProfile> - </ContainerProfiles> - <CodecProfiles> - <CodecProfile type="Video" codec="h264"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="ac3"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles /> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - </SubtitleProfiles> -</Profile>
\ No newline at end of file +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Sony Blu-ray Player 2014</Name> + <Identification> + <ModelNumber>BDP-2014</ModelNumber> + <Headers> + <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S1200" match="Substring" /> + <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S3200" match="Substring" /> + <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S5200" match="Substring" /> + <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S6200" match="Substring" /> + <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S7200" match="Substring" /> + </Headers> + </Identification> + <Manufacturer>Microsoft Corporation</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Windows Media Player Sharing</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>3.0</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/divx:DLNA.ORG_PN=MATROSKA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_PAL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_NTSC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMABASE;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMAFULL;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mp4:DLNA.ORG_PN=AVC_MP4_MP_SD_AAC_MULT5;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/flac:DLNA.ORG_PN=FLAC;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/ogg:DLNA.ORG_PN=OGG;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:*:image/jpeg:DLNA.ORG_PN=JPEG_MED;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/gif:DLNA.ORG_PN=GIF_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG1;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_EU_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_NA_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_KO_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_JP_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-msvideo:DLNA.ORG_PN=AVI;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-flv:DLNA.ORG_PN=FLV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-dvr:DLNA.ORG_PN=DVR_MS;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/wtv:DLNA.ORG_PN=WTV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/ogg:DLNA.ORG_PN=OGV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.rn-realvideo:DLNA.ORG_PN=REAL_VIDEO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_BASE;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L1_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L2_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L3_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_3GPP_P0_L10_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_MP4_P0_L10_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes> + <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> + </XmlRootAttributes> + <DirectPlayProfiles> + <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg1video,mpeg2video,h264" type="Video" /> + <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" /> + <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" /> + <DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" /> + <DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm,dts" videoCodec="mpeg4,h264" type="Video" /> + <DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" /> + <DirectPlayProfile container="wmv,asf" type="Video" /> + <DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" /> + <DirectPlayProfile container="jpeg,png,gif" type="Photo" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="mkv" type="Video" videoCodec="h264" audioCodec="ac3,aac,mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles> + <ContainerProfile type="Photo"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + </Conditions> + </ContainerProfile> + </ContainerProfiles> + <CodecProfiles> + <CodecProfile type="Video" codec="h264"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="ac3"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles /> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + </SubtitleProfiles> +</Profile> diff --git a/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2015.xml b/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2015.xml index 701aba85ff..73b9998912 100644 --- a/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2015.xml +++ b/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2015.xml @@ -1,84 +1,85 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Sony Blu-ray Player 2015</Name> - <Identification> - <ModelNumber>BDP-2015</ModelNumber> - <Headers> - <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S1500" match="Substring" /> - <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S3500" match="Substring" /> - <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S6500" match="Substring" /> - </Headers> - </Identification> - <Manufacturer>Microsoft Corporation</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Windows Media Player Sharing</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>3.0</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/divx:DLNA.ORG_PN=MATROSKA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_PAL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_NTSC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMABASE;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMAFULL;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mp4:DLNA.ORG_PN=AVC_MP4_MP_SD_AAC_MULT5;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/flac:DLNA.ORG_PN=FLAC;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/ogg:DLNA.ORG_PN=OGG;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:*:image/jpeg:DLNA.ORG_PN=JPEG_MED;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/gif:DLNA.ORG_PN=GIF_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG1;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_EU_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_NA_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_KO_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_JP_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-msvideo:DLNA.ORG_PN=AVI;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-flv:DLNA.ORG_PN=FLV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-dvr:DLNA.ORG_PN=DVR_MS;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/wtv:DLNA.ORG_PN=WTV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/ogg:DLNA.ORG_PN=OGV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.rn-realvideo:DLNA.ORG_PN=REAL_VIDEO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_BASE;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L1_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L2_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L3_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_3GPP_P0_L10_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_MP4_P0_L10_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes> - <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> - </XmlRootAttributes> - <DirectPlayProfiles> - <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg1video,mpeg2video,h264" type="Video" /> - <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" /> - <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" /> - <DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" /> - <DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm,dts" videoCodec="mpeg4,h264" type="Video" /> - <DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" /> - <DirectPlayProfile container="wmv,asf" type="Video" /> - <DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" /> - <DirectPlayProfile container="jpeg,png,gif" type="Photo" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="mkv" type="Video" videoCodec="h264" audioCodec="ac3,aac,mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles> - <ContainerProfile type="Photo"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - </Conditions> - </ContainerProfile> - </ContainerProfiles> - <CodecProfiles> - <CodecProfile type="Video" codec="h264"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="ac3"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles /> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - </SubtitleProfiles> -</Profile>
\ No newline at end of file +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Sony Blu-ray Player 2015</Name> + <Identification> + <ModelNumber>BDP-2015</ModelNumber> + <Headers> + <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S1500" match="Substring" /> + <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S3500" match="Substring" /> + <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S6500" match="Substring" /> + </Headers> + </Identification> + <Manufacturer>Microsoft Corporation</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Windows Media Player Sharing</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>3.0</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/divx:DLNA.ORG_PN=MATROSKA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_PAL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_NTSC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMABASE;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMAFULL;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mp4:DLNA.ORG_PN=AVC_MP4_MP_SD_AAC_MULT5;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/flac:DLNA.ORG_PN=FLAC;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/ogg:DLNA.ORG_PN=OGG;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:*:image/jpeg:DLNA.ORG_PN=JPEG_MED;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/gif:DLNA.ORG_PN=GIF_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG1;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_EU_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_NA_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_KO_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_JP_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-msvideo:DLNA.ORG_PN=AVI;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-flv:DLNA.ORG_PN=FLV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-dvr:DLNA.ORG_PN=DVR_MS;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/wtv:DLNA.ORG_PN=WTV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/ogg:DLNA.ORG_PN=OGV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.rn-realvideo:DLNA.ORG_PN=REAL_VIDEO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_BASE;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L1_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L2_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L3_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_3GPP_P0_L10_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_MP4_P0_L10_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes> + <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> + </XmlRootAttributes> + <DirectPlayProfiles> + <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg1video,mpeg2video,h264" type="Video" /> + <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" /> + <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" /> + <DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" /> + <DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm,dts" videoCodec="mpeg4,h264" type="Video" /> + <DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" /> + <DirectPlayProfile container="wmv,asf" type="Video" /> + <DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" /> + <DirectPlayProfile container="jpeg,png,gif" type="Photo" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="mkv" type="Video" videoCodec="h264" audioCodec="ac3,aac,mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles> + <ContainerProfile type="Photo"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + </Conditions> + </ContainerProfile> + </ContainerProfiles> + <CodecProfiles> + <CodecProfile type="Video" codec="h264"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="ac3"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles /> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + </SubtitleProfiles> +</Profile> diff --git a/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2016.xml b/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2016.xml index 5f90126782..86c7216296 100644 --- a/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2016.xml +++ b/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2016.xml @@ -1,84 +1,85 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Sony Blu-ray Player 2016</Name> - <Identification> - <ModelNumber>BDP-2016</ModelNumber> - <Headers> - <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S1700" match="Substring" /> - <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S3700" match="Substring" /> - <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S6700" match="Substring" /> - </Headers> - </Identification> - <Manufacturer>Microsoft Corporation</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Windows Media Player Sharing</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>3.0</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/divx:DLNA.ORG_PN=MATROSKA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_PAL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_NTSC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMABASE;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMAFULL;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mp4:DLNA.ORG_PN=AVC_MP4_MP_SD_AAC_MULT5;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/flac:DLNA.ORG_PN=FLAC;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/ogg:DLNA.ORG_PN=OGG;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:*:image/jpeg:DLNA.ORG_PN=JPEG_MED;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/gif:DLNA.ORG_PN=GIF_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG1;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_EU_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_NA_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_KO_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_JP_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-msvideo:DLNA.ORG_PN=AVI;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-flv:DLNA.ORG_PN=FLV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-dvr:DLNA.ORG_PN=DVR_MS;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/wtv:DLNA.ORG_PN=WTV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/ogg:DLNA.ORG_PN=OGV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.rn-realvideo:DLNA.ORG_PN=REAL_VIDEO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_BASE;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L1_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L2_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L3_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_3GPP_P0_L10_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_MP4_P0_L10_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes> - <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> - </XmlRootAttributes> - <DirectPlayProfiles> - <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg1video,mpeg2video,h264" type="Video" /> - <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" /> - <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" /> - <DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" /> - <DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm,dts" videoCodec="mpeg4,h264" type="Video" /> - <DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" /> - <DirectPlayProfile container="wmv,asf" type="Video" /> - <DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" /> - <DirectPlayProfile container="jpeg,png,gif" type="Photo" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="mkv" type="Video" videoCodec="h264" audioCodec="ac3,aac,mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles> - <ContainerProfile type="Photo"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - </Conditions> - </ContainerProfile> - </ContainerProfiles> - <CodecProfiles> - <CodecProfile type="Video" codec="h264"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="ac3"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles /> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - </SubtitleProfiles> -</Profile>
\ No newline at end of file +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Sony Blu-ray Player 2016</Name> + <Identification> + <ModelNumber>BDP-2016</ModelNumber> + <Headers> + <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S1700" match="Substring" /> + <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S3700" match="Substring" /> + <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="BDP-S6700" match="Substring" /> + </Headers> + </Identification> + <Manufacturer>Microsoft Corporation</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Windows Media Player Sharing</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>3.0</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/divx:DLNA.ORG_PN=MATROSKA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_PAL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_NTSC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMABASE;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMAFULL;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mp4:DLNA.ORG_PN=AVC_MP4_MP_SD_AAC_MULT5;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/flac:DLNA.ORG_PN=FLAC;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/ogg:DLNA.ORG_PN=OGG;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:*:image/jpeg:DLNA.ORG_PN=JPEG_MED;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/gif:DLNA.ORG_PN=GIF_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG1;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_EU_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_NA_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_KO_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_JP_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-msvideo:DLNA.ORG_PN=AVI;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-flv:DLNA.ORG_PN=FLV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-dvr:DLNA.ORG_PN=DVR_MS;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/wtv:DLNA.ORG_PN=WTV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/ogg:DLNA.ORG_PN=OGV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.rn-realvideo:DLNA.ORG_PN=REAL_VIDEO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_BASE;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L1_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L2_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L3_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_3GPP_P0_L10_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_MP4_P0_L10_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes> + <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> + </XmlRootAttributes> + <DirectPlayProfiles> + <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg1video,mpeg2video,h264" type="Video" /> + <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" /> + <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" /> + <DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" /> + <DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm,dts" videoCodec="mpeg4,h264" type="Video" /> + <DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" /> + <DirectPlayProfile container="wmv,asf" type="Video" /> + <DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" /> + <DirectPlayProfile container="jpeg,png,gif" type="Photo" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="mkv" type="Video" videoCodec="h264" audioCodec="ac3,aac,mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles> + <ContainerProfile type="Photo"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + </Conditions> + </ContainerProfile> + </ContainerProfiles> + <CodecProfiles> + <CodecProfile type="Video" codec="h264"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="ac3"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles /> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + </SubtitleProfiles> +</Profile> diff --git a/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player.xml b/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player.xml index 765d5d5fe5..3afc5bdb8d 100644 --- a/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player.xml +++ b/Emby.Dlna/Profiles/Xml/Sony Blu-ray Player.xml @@ -1,114 +1,115 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Sony Blu-ray Player</Name> - <Identification> - <FriendlyName>Blu-ray Disc Player</FriendlyName> - <Manufacturer>Sony</Manufacturer> - <Headers> - <HttpHeaderInfo name="X-AV-Client-Info" value="(Blu-ray Disc Player|Home Theater System|Home Theatre System|Media Player)" match="Regex" /> - <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="(Blu-ray Disc Player|Home Theater System|Home Theatre System|Media Player)" match="Regex" /> - </Headers> - </Identification> - <Manufacturer>Microsoft Corporation</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Windows Media Player Sharing</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>3.0</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/divx:DLNA.ORG_PN=MATROSKA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_PAL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_NTSC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMABASE;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMAFULL;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mp4:DLNA.ORG_PN=AVC_MP4_MP_SD_AAC_MULT5;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/flac:DLNA.ORG_PN=FLAC;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/ogg:DLNA.ORG_PN=OGG;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:*:image/jpeg:DLNA.ORG_PN=JPEG_MED;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/gif:DLNA.ORG_PN=GIF_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG1;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_EU_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_NA_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_KO_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_JP_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-msvideo:DLNA.ORG_PN=AVI;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-flv:DLNA.ORG_PN=FLV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-dvr:DLNA.ORG_PN=DVR_MS;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/wtv:DLNA.ORG_PN=WTV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/ogg:DLNA.ORG_PN=OGV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.rn-realvideo:DLNA.ORG_PN=REAL_VIDEO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_BASE;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L1_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L2_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L3_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_3GPP_P0_L10_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_MP4_P0_L10_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes> - <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> - </XmlRootAttributes> - <DirectPlayProfiles> - <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg1video,mpeg2video,h264" type="Video" /> - <DirectPlayProfile container="mpeg" audioCodec="ac3,mp3,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" /> - <DirectPlayProfile container="avi,mp4,m4v" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" /> - <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" /> - <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" /> - <DirectPlayProfile container="jpeg" type="Photo" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="mpeg2video" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles> - <ContainerProfile type="Photo"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - </Conditions> - </ContainerProfile> - </ContainerProfiles> - <CodecProfiles> - <CodecProfile type="Video" codec="h264"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> - <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="false" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="15360000" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="ac3"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="aac"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles> - <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264,mpeg4,vc1" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="avi" type="Video" mimeType="video/mpeg"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="mkv" type="Video" mimeType="video/vnd.dlna.mpeg-tts"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="ts,mpegts" type="Video" mimeType="video/vnd.dlna.mpeg-tts"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="mp4" type="Video" mimeType="video/mpeg"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="m4v" type="Video" mimeType="video/mpeg"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="mpeg" type="Video" mimeType="video/mpeg"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="mp3" type="Audio" mimeType="audio/mpeg"> - <Conditions /> - </ResponseProfile> - </ResponseProfiles> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - </SubtitleProfiles> -</Profile>
\ No newline at end of file +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Sony Blu-ray Player</Name> + <Identification> + <FriendlyName>Blu-ray Disc Player</FriendlyName> + <Manufacturer>Sony</Manufacturer> + <Headers> + <HttpHeaderInfo name="X-AV-Client-Info" value="(Blu-ray Disc Player|Home Theater System|Home Theatre System|Media Player)" match="Regex" /> + <HttpHeaderInfo name="X-AV-Physical-Unit-Info" value="(Blu-ray Disc Player|Home Theater System|Home Theatre System|Media Player)" match="Regex" /> + </Headers> + </Identification> + <Manufacturer>Microsoft Corporation</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Windows Media Player Sharing</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>3.0</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/divx:DLNA.ORG_PN=MATROSKA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_PAL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_NTSC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMABASE;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMAFULL;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mp4:DLNA.ORG_PN=AVC_MP4_MP_SD_AAC_MULT5;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/L16;rate=48000;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS_320;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/flac:DLNA.ORG_PN=FLAC;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:audio/ogg:DLNA.ORG_PN=OGG;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:*:image/jpeg:DLNA.ORG_PN=JPEG_MED;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/png:DLNA.ORG_PN=PNG_TN;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:image/gif:DLNA.ORG_PN=GIF_LRG;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG1;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_EU_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_NA_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_KO_ISO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_JP_T;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-msvideo:DLNA.ORG_PN=AVI;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-flv:DLNA.ORG_PN=FLV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-dvr:DLNA.ORG_PN=DVR_MS;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/wtv:DLNA.ORG_PN=WTV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/ogg:DLNA.ORG_PN=OGV;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/vnd.rn-realvideo:DLNA.ORG_PN=REAL_VIDEO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_BASE;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_FULL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVMED_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_PRO;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L1_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L2_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/x-ms-asf:DLNA.ORG_PN=VC1_ASF_AP_L3_WMA;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_3GPP_P0_L10_AMR;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:video/3gpp:DLNA.ORG_PN=MPEG4_H263_MP4_P0_L10_AAC;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes> + <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> + </XmlRootAttributes> + <DirectPlayProfiles> + <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg1video,mpeg2video,h264" type="Video" /> + <DirectPlayProfile container="mpeg" audioCodec="ac3,mp3,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" /> + <DirectPlayProfile container="avi,mp4,m4v" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" /> + <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" /> + <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" /> + <DirectPlayProfile container="jpeg" type="Photo" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="mpeg2video" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles> + <ContainerProfile type="Photo"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + </Conditions> + </ContainerProfile> + </ContainerProfiles> + <CodecProfiles> + <CodecProfile type="Video" codec="h264"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="15360000" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="ac3"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="aac"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles> + <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264,mpeg4,vc1" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="avi" type="Video" mimeType="video/mpeg"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="mkv" type="Video" mimeType="video/vnd.dlna.mpeg-tts"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="ts,mpegts" type="Video" mimeType="video/vnd.dlna.mpeg-tts"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="mp4" type="Video" mimeType="video/mpeg"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="m4v" type="Video" mimeType="video/mpeg"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="mpeg" type="Video" mimeType="video/mpeg"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="mp3" type="Audio" mimeType="audio/mpeg"> + <Conditions /> + </ResponseProfile> + </ResponseProfiles> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + </SubtitleProfiles> +</Profile> diff --git a/Emby.Dlna/Profiles/Xml/Sony Bravia (2010).xml b/Emby.Dlna/Profiles/Xml/Sony Bravia (2010).xml index d845317581..1e9362ca31 100644 --- a/Emby.Dlna/Profiles/Xml/Sony Bravia (2010).xml +++ b/Emby.Dlna/Profiles/Xml/Sony Bravia (2010).xml @@ -1,132 +1,133 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Sony Bravia (2010)</Name> - <Identification> - <FriendlyName>KDL-\d{2}[EHLNPB]X\d[01]\d.*</FriendlyName> - <Manufacturer>Sony</Manufacturer> - <Headers> - <HttpHeaderInfo name="X-AV-Client-Info" value=".*KDL-\d{2}[EHLNPB]X\d[01]\d.*" match="Regex" /> - </Headers> - </Identification> - <Manufacturer>Microsoft Corporation</Manufacturer> - <ManufacturerUrl>http://www.microsoft.com/</ManufacturerUrl> - <ModelName>Windows Media Player Sharing</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>3.0</ModelNumber> - <ModelUrl>http://www.microsoft.com/</ModelUrl> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>true</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_TN</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <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> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes> - <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> - </XmlRootAttributes> - <DirectPlayProfiles> - <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" /> - <DirectPlayProfile container="ts,mpegts" audioCodec="mp3,mp2" videoCodec="mpeg1video,mpeg2video" type="Video" /> - <DirectPlayProfile container="mpeg" audioCodec="mp3,mp2" videoCodec="mpeg2video,mpeg1video" type="Video" /> - <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles> - <ContainerProfile type="Photo"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - </Conditions> - </ContainerProfile> - </ContainerProfiles> - <CodecProfiles> - <CodecProfile type="Video" codec="h264"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="Video" codec="mpeg2video"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="Video"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="ac3"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="aac"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> - <ProfileCondition condition="NotEquals" property="AudioProfile" value="he-aac" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="mp3,mp2"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles> - <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts"> - <Conditions> - <ProfileCondition condition="Equals" property="PacketLength" value="192" isRequired="true" /> - <ProfileCondition condition="Equals" property="VideoTimestamp" value="Valid" isRequired="true" /> - </Conditions> - </ResponseProfile> - <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg"> - <Conditions> - <ProfileCondition condition="Equals" property="PacketLength" value="188" isRequired="true" /> - </Conditions> - </ResponseProfile> - <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="ts,mpegts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="mpeg" videoCodec="mpeg1video,mpeg2video" type="Video" orgPn="MPEG_PS_NTSC,MPEG_PS_PAL" mimeType="video/mpeg"> - <Conditions /> - </ResponseProfile> - </ResponseProfiles> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - </SubtitleProfiles> -</Profile>
\ No newline at end of file +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Sony Bravia (2010)</Name> + <Identification> + <FriendlyName>KDL-\d{2}[EHLNPB]X\d[01]\d.*</FriendlyName> + <Manufacturer>Sony</Manufacturer> + <Headers> + <HttpHeaderInfo name="X-AV-Client-Info" value=".*KDL-\d{2}[EHLNPB]X\d[01]\d.*" match="Regex" /> + </Headers> + </Identification> + <Manufacturer>Microsoft Corporation</Manufacturer> + <ManufacturerUrl>http://www.microsoft.com/</ManufacturerUrl> + <ModelName>Windows Media Player Sharing</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>3.0</ModelNumber> + <ModelUrl>http://www.microsoft.com/</ModelUrl> + <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>true</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_TN</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <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> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes> + <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> + </XmlRootAttributes> + <DirectPlayProfiles> + <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" /> + <DirectPlayProfile container="ts,mpegts" audioCodec="mp3,mp2" videoCodec="mpeg1video,mpeg2video" type="Video" /> + <DirectPlayProfile container="mpeg" audioCodec="mp3,mp2" videoCodec="mpeg2video,mpeg1video" type="Video" /> + <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles> + <ContainerProfile type="Photo"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + </Conditions> + </ContainerProfile> + </ContainerProfiles> + <CodecProfiles> + <CodecProfile type="Video" codec="h264"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="Video" codec="mpeg2video"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="Video"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="ac3"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="aac"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> + <ProfileCondition condition="NotEquals" property="AudioProfile" value="he-aac" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="mp3,mp2"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles> + <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts"> + <Conditions> + <ProfileCondition condition="Equals" property="PacketLength" value="192" isRequired="true" /> + <ProfileCondition condition="Equals" property="VideoTimestamp" value="Valid" isRequired="true" /> + </Conditions> + </ResponseProfile> + <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg"> + <Conditions> + <ProfileCondition condition="Equals" property="PacketLength" value="188" isRequired="true" /> + </Conditions> + </ResponseProfile> + <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="ts,mpegts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="mpeg" videoCodec="mpeg1video,mpeg2video" type="Video" orgPn="MPEG_PS_NTSC,MPEG_PS_PAL" mimeType="video/mpeg"> + <Conditions /> + </ResponseProfile> + </ResponseProfiles> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + </SubtitleProfiles> +</Profile> diff --git a/Emby.Dlna/Profiles/Xml/Sony Bravia (2011).xml b/Emby.Dlna/Profiles/Xml/Sony Bravia (2011).xml index 8e376fbf9a..b9e8206894 100644 --- a/Emby.Dlna/Profiles/Xml/Sony Bravia (2011).xml +++ b/Emby.Dlna/Profiles/Xml/Sony Bravia (2011).xml @@ -1,138 +1,139 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Sony Bravia (2011)</Name> - <Identification> - <FriendlyName>KDL-\d{2}([A-Z]X\d2\d|CX400).*</FriendlyName> - <Manufacturer>Sony</Manufacturer> - <Headers> - <HttpHeaderInfo name="X-AV-Client-Info" value=".*KDL-\d{2}([A-Z]X\d2\d|CX400).*" match="Regex" /> - </Headers> - </Identification> - <Manufacturer>Microsoft Corporation</Manufacturer> - <ManufacturerUrl>http://www.microsoft.com/</ManufacturerUrl> - <ModelName>Windows Media Player Sharing</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>3.0</ModelNumber> - <ModelUrl>http://www.microsoft.com/</ModelUrl> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>true</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_TN</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <SonyAggregationFlags>10</SonyAggregationFlags> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes> - <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> - </XmlRootAttributes> - <DirectPlayProfiles> - <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" /> - <DirectPlayProfile container="ts,mpegts" audioCodec="mp3" videoCodec="mpeg2video" type="Video" /> - <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,mp3" videoCodec="h264,mpeg4" type="Video" /> - <DirectPlayProfile container="mpeg" audioCodec="mp3" videoCodec="mpeg2video,mpeg1video" type="Video" /> - <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" videoCodec="wmv2,wmv3,vc1" type="Video" /> - <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" /> - <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles> - <ContainerProfile type="Photo"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - </Conditions> - </ContainerProfile> - </ContainerProfiles> - <CodecProfiles> - <CodecProfile type="Video" codec="h264"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="Video" codec="mpeg2video"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="Video"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="ac3"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="aac"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> - <ProfileCondition condition="NotEquals" property="AudioProfile" value="he-aac" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="mp3,mp2"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles> - <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts"> - <Conditions> - <ProfileCondition condition="Equals" property="PacketLength" value="192" isRequired="true" /> - <ProfileCondition condition="Equals" property="VideoTimestamp" value="Valid" isRequired="true" /> - </Conditions> - </ResponseProfile> - <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg"> - <Conditions> - <ProfileCondition condition="Equals" property="PacketLength" value="188" isRequired="true" /> - </Conditions> - </ResponseProfile> - <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="ts,mpegts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="mpeg" videoCodec="mpeg1video,mpeg2video" type="Video" orgPn="MPEG_PS_NTSC,MPEG_PS_PAL" mimeType="video/mpeg"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> - <Conditions /> - </ResponseProfile> - </ResponseProfiles> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - </SubtitleProfiles> -</Profile>
\ No newline at end of file +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Sony Bravia (2011)</Name> + <Identification> + <FriendlyName>KDL-\d{2}([A-Z]X\d2\d|CX400).*</FriendlyName> + <Manufacturer>Sony</Manufacturer> + <Headers> + <HttpHeaderInfo name="X-AV-Client-Info" value=".*KDL-\d{2}([A-Z]X\d2\d|CX400).*" match="Regex" /> + </Headers> + </Identification> + <Manufacturer>Microsoft Corporation</Manufacturer> + <ManufacturerUrl>http://www.microsoft.com/</ManufacturerUrl> + <ModelName>Windows Media Player Sharing</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>3.0</ModelNumber> + <ModelUrl>http://www.microsoft.com/</ModelUrl> + <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>true</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_TN</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <SonyAggregationFlags>10</SonyAggregationFlags> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes> + <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> + </XmlRootAttributes> + <DirectPlayProfiles> + <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" /> + <DirectPlayProfile container="ts,mpegts" audioCodec="mp3" videoCodec="mpeg2video" type="Video" /> + <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,mp3" videoCodec="h264,mpeg4" type="Video" /> + <DirectPlayProfile container="mpeg" audioCodec="mp3" videoCodec="mpeg2video,mpeg1video" type="Video" /> + <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" videoCodec="wmv2,wmv3,vc1" type="Video" /> + <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" /> + <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles> + <ContainerProfile type="Photo"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + </Conditions> + </ContainerProfile> + </ContainerProfiles> + <CodecProfiles> + <CodecProfile type="Video" codec="h264"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="Video" codec="mpeg2video"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="Video"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="ac3"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="aac"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> + <ProfileCondition condition="NotEquals" property="AudioProfile" value="he-aac" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="mp3,mp2"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles> + <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts"> + <Conditions> + <ProfileCondition condition="Equals" property="PacketLength" value="192" isRequired="true" /> + <ProfileCondition condition="Equals" property="VideoTimestamp" value="Valid" isRequired="true" /> + </Conditions> + </ResponseProfile> + <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg"> + <Conditions> + <ProfileCondition condition="Equals" property="PacketLength" value="188" isRequired="true" /> + </Conditions> + </ResponseProfile> + <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="ts,mpegts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="mpeg" videoCodec="mpeg1video,mpeg2video" type="Video" orgPn="MPEG_PS_NTSC,MPEG_PS_PAL" mimeType="video/mpeg"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> + <Conditions /> + </ResponseProfile> + </ResponseProfiles> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + </SubtitleProfiles> +</Profile> diff --git a/Emby.Dlna/Profiles/Xml/Sony Bravia (2012).xml b/Emby.Dlna/Profiles/Xml/Sony Bravia (2012).xml index 92a04dc7a5..45319e1622 100644 --- a/Emby.Dlna/Profiles/Xml/Sony Bravia (2012).xml +++ b/Emby.Dlna/Profiles/Xml/Sony Bravia (2012).xml @@ -1,114 +1,115 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Sony Bravia (2012)</Name> - <Identification> - <FriendlyName>KDL-\d{2}[A-Z]X\d5(\d|G).*</FriendlyName> - <Manufacturer>Sony</Manufacturer> - <Headers> - <HttpHeaderInfo name="X-AV-Client-Info" value=".*KDL-\d{2}[A-Z]X\d5(\d|G).*" match="Regex" /> - </Headers> - </Identification> - <Manufacturer>Microsoft Corporation</Manufacturer> - <ManufacturerUrl>http://www.microsoft.com/</ManufacturerUrl> - <ModelName>Windows Media Player Sharing</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>3.0</ModelNumber> - <ModelUrl>http://www.microsoft.com/</ModelUrl> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>true</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_TN</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <SonyAggregationFlags>10</SonyAggregationFlags> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes> - <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> - </XmlRootAttributes> - <DirectPlayProfiles> - <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" /> - <DirectPlayProfile container="ts,mpegts" audioCodec="mp3,mp2" videoCodec="mpeg2video" type="Video" /> - <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,mp3,mp2" videoCodec="h264,mpeg4" type="Video" /> - <DirectPlayProfile container="avi" audioCodec="ac3,mp3" videoCodec="mpeg4" type="Video" /> - <DirectPlayProfile container="mpeg" audioCodec="mp3,mp2" videoCodec="mpeg2video,mpeg1video" type="Video" /> - <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" videoCodec="wmv2,wmv3,vc1" type="Video" /> - <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" /> - <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" /> - <DirectPlayProfile container="jpeg" type="Photo" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles> - <ContainerProfile type="Photo"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - </Conditions> - </ContainerProfile> - </ContainerProfiles> - <CodecProfiles> - <CodecProfile type="Video"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="ac3"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="mp3,mp2"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles> - <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts"> - <Conditions> - <ProfileCondition condition="Equals" property="PacketLength" value="192" isRequired="true" /> - <ProfileCondition condition="Equals" property="VideoTimestamp" value="Valid" isRequired="true" /> - </Conditions> - </ResponseProfile> - <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg"> - <Conditions> - <ProfileCondition condition="Equals" property="PacketLength" value="188" isRequired="true" /> - </Conditions> - </ResponseProfile> - <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="ts,mpegts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="mpeg" videoCodec="mpeg1video,mpeg2video" type="Video" orgPn="MPEG_PS_NTSC,MPEG_PS_PAL" mimeType="video/mpeg"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> - <Conditions /> - </ResponseProfile> - </ResponseProfiles> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - </SubtitleProfiles> -</Profile>
\ No newline at end of file +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Sony Bravia (2012)</Name> + <Identification> + <FriendlyName>KDL-\d{2}[A-Z]X\d5(\d|G).*</FriendlyName> + <Manufacturer>Sony</Manufacturer> + <Headers> + <HttpHeaderInfo name="X-AV-Client-Info" value=".*KDL-\d{2}[A-Z]X\d5(\d|G).*" match="Regex" /> + </Headers> + </Identification> + <Manufacturer>Microsoft Corporation</Manufacturer> + <ManufacturerUrl>http://www.microsoft.com/</ManufacturerUrl> + <ModelName>Windows Media Player Sharing</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>3.0</ModelNumber> + <ModelUrl>http://www.microsoft.com/</ModelUrl> + <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>true</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_TN</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <SonyAggregationFlags>10</SonyAggregationFlags> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes> + <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> + </XmlRootAttributes> + <DirectPlayProfiles> + <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" /> + <DirectPlayProfile container="ts,mpegts" audioCodec="mp3,mp2" videoCodec="mpeg2video" type="Video" /> + <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,mp3,mp2" videoCodec="h264,mpeg4" type="Video" /> + <DirectPlayProfile container="avi" audioCodec="ac3,mp3" videoCodec="mpeg4" type="Video" /> + <DirectPlayProfile container="mpeg" audioCodec="mp3,mp2" videoCodec="mpeg2video,mpeg1video" type="Video" /> + <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" videoCodec="wmv2,wmv3,vc1" type="Video" /> + <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" /> + <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" /> + <DirectPlayProfile container="jpeg" type="Photo" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles> + <ContainerProfile type="Photo"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + </Conditions> + </ContainerProfile> + </ContainerProfiles> + <CodecProfiles> + <CodecProfile type="Video"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="ac3"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="mp3,mp2"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles> + <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts"> + <Conditions> + <ProfileCondition condition="Equals" property="PacketLength" value="192" isRequired="true" /> + <ProfileCondition condition="Equals" property="VideoTimestamp" value="Valid" isRequired="true" /> + </Conditions> + </ResponseProfile> + <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg"> + <Conditions> + <ProfileCondition condition="Equals" property="PacketLength" value="188" isRequired="true" /> + </Conditions> + </ResponseProfile> + <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="ts,mpegts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="mpeg" videoCodec="mpeg1video,mpeg2video" type="Video" orgPn="MPEG_PS_NTSC,MPEG_PS_PAL" mimeType="video/mpeg"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> + <Conditions /> + </ResponseProfile> + </ResponseProfiles> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + </SubtitleProfiles> +</Profile> diff --git a/Emby.Dlna/Profiles/Xml/Sony Bravia (2013).xml b/Emby.Dlna/Profiles/Xml/Sony Bravia (2013).xml index 953ac0a43a..ca32b3492d 100644 --- a/Emby.Dlna/Profiles/Xml/Sony Bravia (2013).xml +++ b/Emby.Dlna/Profiles/Xml/Sony Bravia (2013).xml @@ -1,113 +1,114 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Sony Bravia (2013)</Name> - <Identification> - <FriendlyName>KDL-\d{2}[WR][5689]\d{2}A.*</FriendlyName> - <Manufacturer>Sony</Manufacturer> - <Headers> - <HttpHeaderInfo name="X-AV-Client-Info" value=".*KDL-\d{2}[WR][5689]\d{2}A.*" match="Regex" /> - </Headers> - </Identification> - <Manufacturer>Microsoft Corporation</Manufacturer> - <ManufacturerUrl>http://www.microsoft.com/</ManufacturerUrl> - <ModelName>Windows Media Player Sharing</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>3.0</ModelNumber> - <ModelUrl>http://www.microsoft.com/</ModelUrl> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>true</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_TN</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <SonyAggregationFlags>10</SonyAggregationFlags> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes> - <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> - </XmlRootAttributes> - <DirectPlayProfiles> - <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,eac3,aac,mp3" videoCodec="h264" type="Video" /> - <DirectPlayProfile container="ts,mpegts" audioCodec="mp3,mp2" videoCodec="mpeg2video" type="Video" /> - <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,eac3,aac,mp3,mp2" videoCodec="h264,mpeg4" type="Video" /> - <DirectPlayProfile container="mov" audioCodec="ac3,eac3,aac,mp3,mp2" videoCodec="h264,mpeg4,mjpeg" type="Video" /> - <DirectPlayProfile container="mkv" audioCodec="ac3,eac3,aac,mp3,mp2,pcm,vorbis" videoCodec="h264,mpeg4,vp8" type="Video" /> - <DirectPlayProfile container="avi" audioCodec="ac3,eac3,mp3" videoCodec="mpeg4" type="Video" /> - <DirectPlayProfile container="avi" audioCodec="pcm" videoCodec="mjpeg" type="Video" /> - <DirectPlayProfile container="mpeg" audioCodec="mp3,mp2" videoCodec="mpeg2video,mpeg1video" type="Video" /> - <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" videoCodec="wmv2,wmv3,vc1" type="Video" /> - <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" /> - <DirectPlayProfile container="mp4" audioCodec="aac" type="Audio" /> - <DirectPlayProfile container="wav" audioCodec="pcm" type="Audio" /> - <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" /> - <DirectPlayProfile container="jpeg" type="Photo" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles> - <ContainerProfile type="Photo"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - </Conditions> - </ContainerProfile> - </ContainerProfiles> - <CodecProfiles> - <CodecProfile type="Video"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="mp3,mp2"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles> - <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts"> - <Conditions> - <ProfileCondition condition="Equals" property="PacketLength" value="192" isRequired="true" /> - <ProfileCondition condition="Equals" property="VideoTimestamp" value="Valid" isRequired="true" /> - </Conditions> - </ResponseProfile> - <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg"> - <Conditions> - <ProfileCondition condition="Equals" property="PacketLength" value="188" isRequired="true" /> - </Conditions> - </ResponseProfile> - <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="ts,mpegts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="mpeg" videoCodec="mpeg1video,mpeg2video" type="Video" orgPn="MPEG_PS_NTSC,MPEG_PS_PAL" mimeType="video/mpeg"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> - <Conditions /> - </ResponseProfile> - </ResponseProfiles> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - </SubtitleProfiles> -</Profile>
\ No newline at end of file +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Sony Bravia (2013)</Name> + <Identification> + <FriendlyName>KDL-\d{2}[WR][5689]\d{2}A.*</FriendlyName> + <Manufacturer>Sony</Manufacturer> + <Headers> + <HttpHeaderInfo name="X-AV-Client-Info" value=".*KDL-\d{2}[WR][5689]\d{2}A.*" match="Regex" /> + </Headers> + </Identification> + <Manufacturer>Microsoft Corporation</Manufacturer> + <ManufacturerUrl>http://www.microsoft.com/</ManufacturerUrl> + <ModelName>Windows Media Player Sharing</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>3.0</ModelNumber> + <ModelUrl>http://www.microsoft.com/</ModelUrl> + <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>true</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_TN</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <SonyAggregationFlags>10</SonyAggregationFlags> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes> + <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> + </XmlRootAttributes> + <DirectPlayProfiles> + <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,eac3,aac,mp3" videoCodec="h264" type="Video" /> + <DirectPlayProfile container="ts,mpegts" audioCodec="mp3,mp2" videoCodec="mpeg2video" type="Video" /> + <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,eac3,aac,mp3,mp2" videoCodec="h264,mpeg4" type="Video" /> + <DirectPlayProfile container="mov" audioCodec="ac3,eac3,aac,mp3,mp2" videoCodec="h264,mpeg4,mjpeg" type="Video" /> + <DirectPlayProfile container="mkv" audioCodec="ac3,eac3,aac,mp3,mp2,pcm,vorbis" videoCodec="h264,mpeg4,vp8" type="Video" /> + <DirectPlayProfile container="avi" audioCodec="ac3,eac3,mp3" videoCodec="mpeg4" type="Video" /> + <DirectPlayProfile container="avi" audioCodec="pcm" videoCodec="mjpeg" type="Video" /> + <DirectPlayProfile container="mpeg" audioCodec="mp3,mp2" videoCodec="mpeg2video,mpeg1video" type="Video" /> + <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" videoCodec="wmv2,wmv3,vc1" type="Video" /> + <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" /> + <DirectPlayProfile container="mp4" audioCodec="aac" type="Audio" /> + <DirectPlayProfile container="wav" audioCodec="pcm" type="Audio" /> + <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" /> + <DirectPlayProfile container="jpeg" type="Photo" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles> + <ContainerProfile type="Photo"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + </Conditions> + </ContainerProfile> + </ContainerProfiles> + <CodecProfiles> + <CodecProfile type="Video"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="mp3,mp2"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles> + <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts"> + <Conditions> + <ProfileCondition condition="Equals" property="PacketLength" value="192" isRequired="true" /> + <ProfileCondition condition="Equals" property="VideoTimestamp" value="Valid" isRequired="true" /> + </Conditions> + </ResponseProfile> + <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg"> + <Conditions> + <ProfileCondition condition="Equals" property="PacketLength" value="188" isRequired="true" /> + </Conditions> + </ResponseProfile> + <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="ts,mpegts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="mpeg" videoCodec="mpeg1video,mpeg2video" type="Video" orgPn="MPEG_PS_NTSC,MPEG_PS_PAL" mimeType="video/mpeg"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> + <Conditions /> + </ResponseProfile> + </ResponseProfiles> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + </SubtitleProfiles> +</Profile> diff --git a/Emby.Dlna/Profiles/Xml/Sony Bravia (2014).xml b/Emby.Dlna/Profiles/Xml/Sony Bravia (2014).xml index 34afe7e6e1..27e54a2452 100644 --- a/Emby.Dlna/Profiles/Xml/Sony Bravia (2014).xml +++ b/Emby.Dlna/Profiles/Xml/Sony Bravia (2014).xml @@ -1,113 +1,114 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Sony Bravia (2014)</Name> - <Identification> - <FriendlyName>(KDL-\d{2}W[5-9]\d{2}B|KDL-\d{2}R480|XBR-\d{2}X[89]\d{2}B|KD-\d{2}[SX][89]\d{3}B).*</FriendlyName> - <Manufacturer>Sony</Manufacturer> - <Headers> - <HttpHeaderInfo name="X-AV-Client-Info" value=".*(KDL-\d{2}W[5-9]\d{2}B|KDL-\d{2}R480|XBR-\d{2}X[89]\d{2}B|KD-\d{2}[SX][89]\d{3}B).*" match="Regex" /> - </Headers> - </Identification> - <Manufacturer>Microsoft Corporation</Manufacturer> - <ManufacturerUrl>http://www.microsoft.com/</ManufacturerUrl> - <ModelName>Windows Media Player Sharing</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>3.0</ModelNumber> - <ModelUrl>http://www.microsoft.com/</ModelUrl> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>true</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_TN</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <SonyAggregationFlags>10</SonyAggregationFlags> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes> - <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> - </XmlRootAttributes> - <DirectPlayProfiles> - <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,eac3,aac,mp3" videoCodec="h264" type="Video" /> - <DirectPlayProfile container="ts,mpegts" audioCodec="mp3,mp2" videoCodec="mpeg2video" type="Video" /> - <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,eac3,aac,mp3,mp2" videoCodec="h264,mpeg4" type="Video" /> - <DirectPlayProfile container="mov" audioCodec="ac3,eac3,aac,mp3,mp2" videoCodec="h264,mpeg4,mjpeg" type="Video" /> - <DirectPlayProfile container="mkv" audioCodec="ac3,eac3,aac,mp3,mp2,pcm,vorbis" videoCodec="h264,mpeg4,vp8" type="Video" /> - <DirectPlayProfile container="avi" audioCodec="ac3,eac3,mp3" videoCodec="mpeg4" type="Video" /> - <DirectPlayProfile container="avi" audioCodec="pcm" videoCodec="mjpeg" type="Video" /> - <DirectPlayProfile container="mpeg" audioCodec="mp3,mp2" videoCodec="mpeg2video,mpeg1video" type="Video" /> - <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" videoCodec="wmv2,wmv3,vc1" type="Video" /> - <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" /> - <DirectPlayProfile container="mp4" audioCodec="aac" type="Audio" /> - <DirectPlayProfile container="wav" audioCodec="pcm" type="Audio" /> - <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" /> - <DirectPlayProfile container="jpeg" type="Photo" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles> - <ContainerProfile type="Photo"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - </Conditions> - </ContainerProfile> - </ContainerProfiles> - <CodecProfiles> - <CodecProfile type="Video"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="mp3,mp2"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles> - <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts"> - <Conditions> - <ProfileCondition condition="Equals" property="PacketLength" value="192" isRequired="true" /> - <ProfileCondition condition="Equals" property="VideoTimestamp" value="Valid" isRequired="true" /> - </Conditions> - </ResponseProfile> - <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg"> - <Conditions> - <ProfileCondition condition="Equals" property="PacketLength" value="188" isRequired="true" /> - </Conditions> - </ResponseProfile> - <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="ts,mpegts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="mpeg" videoCodec="mpeg1video,mpeg2video" type="Video" orgPn="MPEG_PS_NTSC,MPEG_PS_PAL" mimeType="video/mpeg"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> - <Conditions /> - </ResponseProfile> - </ResponseProfiles> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - </SubtitleProfiles> -</Profile>
\ No newline at end of file +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Sony Bravia (2014)</Name> + <Identification> + <FriendlyName>(KDL-\d{2}W[5-9]\d{2}B|KDL-\d{2}R480|XBR-\d{2}X[89]\d{2}B|KD-\d{2}[SX][89]\d{3}B).*</FriendlyName> + <Manufacturer>Sony</Manufacturer> + <Headers> + <HttpHeaderInfo name="X-AV-Client-Info" value=".*(KDL-\d{2}W[5-9]\d{2}B|KDL-\d{2}R480|XBR-\d{2}X[89]\d{2}B|KD-\d{2}[SX][89]\d{3}B).*" match="Regex" /> + </Headers> + </Identification> + <Manufacturer>Microsoft Corporation</Manufacturer> + <ManufacturerUrl>http://www.microsoft.com/</ManufacturerUrl> + <ModelName>Windows Media Player Sharing</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>3.0</ModelNumber> + <ModelUrl>http://www.microsoft.com/</ModelUrl> + <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>true</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_TN</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <SonyAggregationFlags>10</SonyAggregationFlags> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes> + <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" /> + </XmlRootAttributes> + <DirectPlayProfiles> + <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,eac3,aac,mp3" videoCodec="h264" type="Video" /> + <DirectPlayProfile container="ts,mpegts" audioCodec="mp3,mp2" videoCodec="mpeg2video" type="Video" /> + <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,eac3,aac,mp3,mp2" videoCodec="h264,mpeg4" type="Video" /> + <DirectPlayProfile container="mov" audioCodec="ac3,eac3,aac,mp3,mp2" videoCodec="h264,mpeg4,mjpeg" type="Video" /> + <DirectPlayProfile container="mkv" audioCodec="ac3,eac3,aac,mp3,mp2,pcm,vorbis" videoCodec="h264,mpeg4,vp8" type="Video" /> + <DirectPlayProfile container="avi" audioCodec="ac3,eac3,mp3" videoCodec="mpeg4" type="Video" /> + <DirectPlayProfile container="avi" audioCodec="pcm" videoCodec="mjpeg" type="Video" /> + <DirectPlayProfile container="mpeg" audioCodec="mp3,mp2" videoCodec="mpeg2video,mpeg1video" type="Video" /> + <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" videoCodec="wmv2,wmv3,vc1" type="Video" /> + <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" /> + <DirectPlayProfile container="mp4" audioCodec="aac" type="Audio" /> + <DirectPlayProfile container="wav" audioCodec="pcm" type="Audio" /> + <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" /> + <DirectPlayProfile container="jpeg" type="Photo" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles> + <ContainerProfile type="Photo"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + </Conditions> + </ContainerProfile> + </ContainerProfiles> + <CodecProfiles> + <CodecProfile type="Video"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="mp3,mp2"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles> + <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts"> + <Conditions> + <ProfileCondition condition="Equals" property="PacketLength" value="192" isRequired="true" /> + <ProfileCondition condition="Equals" property="VideoTimestamp" value="Valid" isRequired="true" /> + </Conditions> + </ResponseProfile> + <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg"> + <Conditions> + <ProfileCondition condition="Equals" property="PacketLength" value="188" isRequired="true" /> + </Conditions> + </ResponseProfile> + <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="ts,mpegts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="mpeg" videoCodec="mpeg1video,mpeg2video" type="Video" orgPn="MPEG_PS_NTSC,MPEG_PS_PAL" mimeType="video/mpeg"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> + <Conditions /> + </ResponseProfile> + </ResponseProfiles> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + </SubtitleProfiles> +</Profile> diff --git a/Emby.Dlna/Profiles/Xml/Sony PlayStation 3.xml b/Emby.Dlna/Profiles/Xml/Sony PlayStation 3.xml index d1afc162ca..2039f123e6 100644 --- a/Emby.Dlna/Profiles/Xml/Sony PlayStation 3.xml +++ b/Emby.Dlna/Profiles/Xml/Sony PlayStation 3.xml @@ -1,104 +1,105 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Sony PlayStation 3</Name> - <Identification> - <FriendlyName>PLAYSTATION 3</FriendlyName> - <Headers> - <HttpHeaderInfo name="User-Agent" value="PLAYSTATION 3" match="Substring" /> - <HttpHeaderInfo name="X-AV-Client-Info" value="PLAYSTATION 3" match="Substring" /> - </Headers> - </Identification> - <Manufacturer>Jellyfin</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Jellyfin Server</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>01</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>true</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_TN</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <SonyAggregationFlags>10</SonyAggregationFlags> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes /> - <DirectPlayProfiles> - <DirectPlayProfile container="avi" audioCodec="mp2,mp3" videoCodec="mpeg4" type="Video" /> - <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,mp2,mp3,aac" videoCodec="mpeg1video,mpeg2video,h264" type="Video" /> - <DirectPlayProfile container="mpeg" audioCodec="mp2" videoCodec="mpeg1video,mpeg2video" type="Video" /> - <DirectPlayProfile container="mp4" audioCodec="aac,ac3" videoCodec="h264,mpeg4" type="Video" /> - <DirectPlayProfile container="aac,mp3,wav" type="Audio" /> - <DirectPlayProfile container="jpeg,png,gif,bmp,tiff" type="Photo" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3,aac,mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles> - <ContainerProfile type="Photo"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - </Conditions> - </ContainerProfile> - </ContainerProfiles> - <CodecProfiles> - <CodecProfile type="Video" codec="h264"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="15360000" isRequired="false" /> - <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="ac3"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="false" /> - <ProfileCondition condition="LessThanEqual" property="AudioBitrate" value="640000" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="wmapro"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="aac"> - <Conditions> - <ProfileCondition condition="NotEquals" property="AudioProfile" value="he-aac" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles> - <ResponseProfile container="mp4,mov" audioCodec="aac" type="Video" mimeType="video/mp4"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="avi" type="Video" orgPn="AVI" mimeType="video/divx"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="wav" type="Audio" mimeType="audio/wav"> - <Conditions /> - </ResponseProfile> - </ResponseProfiles> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - </SubtitleProfiles> -</Profile>
\ No newline at end of file +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Sony PlayStation 3</Name> + <Identification> + <FriendlyName>PLAYSTATION 3</FriendlyName> + <Headers> + <HttpHeaderInfo name="User-Agent" value="PLAYSTATION 3" match="Substring" /> + <HttpHeaderInfo name="X-AV-Client-Info" value="PLAYSTATION 3" match="Substring" /> + </Headers> + </Identification> + <Manufacturer>Jellyfin</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Jellyfin Server</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>01</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>true</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_TN</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <SonyAggregationFlags>10</SonyAggregationFlags> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes /> + <DirectPlayProfiles> + <DirectPlayProfile container="avi" audioCodec="mp2,mp3" videoCodec="mpeg4" type="Video" /> + <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,mp2,mp3,aac" videoCodec="mpeg1video,mpeg2video,h264" type="Video" /> + <DirectPlayProfile container="mpeg" audioCodec="mp2" videoCodec="mpeg1video,mpeg2video" type="Video" /> + <DirectPlayProfile container="mp4" audioCodec="aac,ac3" videoCodec="h264,mpeg4" type="Video" /> + <DirectPlayProfile container="aac,mp3,wav" type="Audio" /> + <DirectPlayProfile container="jpeg,png,gif,bmp,tiff" type="Photo" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3,aac,mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles> + <ContainerProfile type="Photo"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + </Conditions> + </ContainerProfile> + </ContainerProfiles> + <CodecProfiles> + <CodecProfile type="Video" codec="h264"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="15360000" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="ac3"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="AudioBitrate" value="640000" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="wmapro"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="aac"> + <Conditions> + <ProfileCondition condition="NotEquals" property="AudioProfile" value="he-aac" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles> + <ResponseProfile container="mp4,mov" audioCodec="aac" type="Video" mimeType="video/mp4"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="avi" type="Video" orgPn="AVI" mimeType="video/divx"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="wav" type="Audio" mimeType="audio/wav"> + <Conditions /> + </ResponseProfile> + </ResponseProfiles> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + </SubtitleProfiles> +</Profile> diff --git a/Emby.Dlna/Profiles/Xml/Sony PlayStation 4.xml b/Emby.Dlna/Profiles/Xml/Sony PlayStation 4.xml index 090abe4175..d4d804dfe1 100644 --- a/Emby.Dlna/Profiles/Xml/Sony PlayStation 4.xml +++ b/Emby.Dlna/Profiles/Xml/Sony PlayStation 4.xml @@ -1,107 +1,108 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Sony PlayStation 4</Name> - <Identification> - <FriendlyName>PLAYSTATION 4</FriendlyName> - <Headers> - <HttpHeaderInfo name="User-Agent" value="PLAYSTATION 4" match="Substring" /> - <HttpHeaderInfo name="X-AV-Client-Info" value="PLAYSTATION 4" match="Substring" /> - </Headers> - </Identification> - <Manufacturer>Jellyfin</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Jellyfin Server</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>01</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>true</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_TN</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <SonyAggregationFlags>10</SonyAggregationFlags> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes /> - <DirectPlayProfiles> - <DirectPlayProfile container="avi" audioCodec="mp2,mp3" videoCodec="mpeg4" type="Video" /> - <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,mp2,mp3,aac" videoCodec="mpeg1video,mpeg2video,h264" type="Video" /> - <DirectPlayProfile container="mpeg" audioCodec="mp2" videoCodec="mpeg1video,mpeg2video" type="Video" /> - <DirectPlayProfile container="mp4,mkv,m4v" audioCodec="aac,ac3" videoCodec="h264,mpeg4" type="Video" /> - <DirectPlayProfile container="aac,mp3,wav" type="Audio" /> - <DirectPlayProfile container="jpeg,png,gif,bmp,tiff" type="Photo" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Bytes" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles> - <ContainerProfile type="Photo"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - </Conditions> - </ContainerProfile> - </ContainerProfiles> - <CodecProfiles> - <CodecProfile type="Video" codec="h264"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="15360000" isRequired="false" /> - <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="ac3"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="false" /> - <ProfileCondition condition="LessThanEqual" property="AudioBitrate" value="640000" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="wmapro"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="aac"> - <Conditions> - <ProfileCondition condition="NotEquals" property="AudioProfile" value="he-aac" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles> - <ResponseProfile container="mp4,mov" audioCodec="aac" type="Video" mimeType="video/mp4"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="avi" type="Video" orgPn="AVI" mimeType="video/divx"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="wav" type="Audio" mimeType="audio/wav"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> - <Conditions /> - </ResponseProfile> - </ResponseProfiles> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - </SubtitleProfiles> -</Profile>
\ No newline at end of file +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Sony PlayStation 4</Name> + <Identification> + <FriendlyName>PLAYSTATION 4</FriendlyName> + <Headers> + <HttpHeaderInfo name="User-Agent" value="PLAYSTATION 4" match="Substring" /> + <HttpHeaderInfo name="X-AV-Client-Info" value="PLAYSTATION 4" match="Substring" /> + </Headers> + </Identification> + <Manufacturer>Jellyfin</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Jellyfin Server</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>01</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>true</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_TN</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <SonyAggregationFlags>10</SonyAggregationFlags> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes /> + <DirectPlayProfiles> + <DirectPlayProfile container="avi" audioCodec="mp2,mp3" videoCodec="mpeg4" type="Video" /> + <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,mp2,mp3,aac" videoCodec="mpeg1video,mpeg2video,h264" type="Video" /> + <DirectPlayProfile container="mpeg" audioCodec="mp2" videoCodec="mpeg1video,mpeg2video" type="Video" /> + <DirectPlayProfile container="mp4,mkv,m4v" audioCodec="aac,ac3" videoCodec="h264,mpeg4" type="Video" /> + <DirectPlayProfile container="aac,mp3,wav" type="Audio" /> + <DirectPlayProfile container="jpeg,png,gif,bmp,tiff" type="Photo" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Bytes" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles> + <ContainerProfile type="Photo"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + </Conditions> + </ContainerProfile> + </ContainerProfiles> + <CodecProfiles> + <CodecProfile type="Video" codec="h264"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="15360000" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="ac3"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="AudioBitrate" value="640000" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="wmapro"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="aac"> + <Conditions> + <ProfileCondition condition="NotEquals" property="AudioProfile" value="he-aac" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles> + <ResponseProfile container="mp4,mov" audioCodec="aac" type="Video" mimeType="video/mp4"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="avi" type="Video" orgPn="AVI" mimeType="video/divx"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="wav" type="Audio" mimeType="audio/wav"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> + <Conditions /> + </ResponseProfile> + </ResponseProfiles> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + </SubtitleProfiles> +</Profile> diff --git a/Emby.Dlna/Profiles/Xml/WDTV Live.xml b/Emby.Dlna/Profiles/Xml/WDTV Live.xml index db4ce4722b..147d133f41 100644 --- a/Emby.Dlna/Profiles/Xml/WDTV Live.xml +++ b/Emby.Dlna/Profiles/Xml/WDTV Live.xml @@ -1,93 +1,94 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>WDTV Live</Name> - <Identification> - <ModelName>WD TV</ModelName> - <Headers> - <HttpHeaderInfo name="User-Agent" value="alphanetworks" match="Substring" /> - <HttpHeaderInfo name="User-Agent" value="ALPHA Networks" match="Substring" /> - </Headers> - </Identification> - <Manufacturer>Jellyfin</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Jellyfin Server</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>01</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>5</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>true</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes /> - <DirectPlayProfiles> - <DirectPlayProfile container="avi" audioCodec="ac3,eac3,dca,mp2,mp3,pcm,dts" videoCodec="mpeg1video,mpeg2video,mpeg4,h264,vc1" type="Video" /> - <DirectPlayProfile container="mpeg" audioCodec="ac3,eac3,dca,mp2,mp3,pcm,dts" videoCodec="mpeg1video,mpeg2video" type="Video" /> - <DirectPlayProfile container="mkv" audioCodec="ac3,eac3,dca,aac,mp2,mp3,pcm,dts" videoCodec="mpeg1video,mpeg2video,mpeg4,h264,vc1" type="Video" /> - <DirectPlayProfile container="ts,m2ts,mpegts" audioCodec="ac3,eac3,dca,mp2,mp3,aac,dts" videoCodec="mpeg1video,mpeg2video,h264,vc1" type="Video" /> - <DirectPlayProfile container="mp4,mov,m4v" audioCodec="ac3,eac3,aac,mp2,mp3,dca,dts" videoCodec="h264,mpeg4" type="Video" /> - <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro" videoCodec="vc1" type="Video" /> - <DirectPlayProfile container="asf" audioCodec="mp2,ac3" videoCodec="mpeg2video" type="Video" /> - <DirectPlayProfile container="mp3" audioCodec="mp2,mp3" type="Audio" /> - <DirectPlayProfile container="mp4" audioCodec="mp4" type="Audio" /> - <DirectPlayProfile container="flac" type="Audio" /> - <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" /> - <DirectPlayProfile container="ogg" audioCodec="vorbis" type="Audio" /> - <DirectPlayProfile container="jpeg,png,gif,bmp,tiff" type="Photo" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles> - <ContainerProfile type="Photo"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - </Conditions> - </ContainerProfile> - </ContainerProfiles> - <CodecProfiles> - <CodecProfile type="Video" codec="h264"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="aac"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles> - <ResponseProfile container="ts,mpegts" type="Video" orgPn="MPEG_TS_SD_NA"> - <Conditions /> - </ResponseProfile> - </ResponseProfiles> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="External" /> - <SubtitleProfile format="srt" method="Embed" /> - <SubtitleProfile format="sub" method="Embed" /> - <SubtitleProfile format="subrip" method="Embed" /> - <SubtitleProfile format="idx" method="Embed" /> - </SubtitleProfiles> -</Profile>
\ No newline at end of file +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>WDTV Live</Name> + <Identification> + <ModelName>WD TV</ModelName> + <Headers> + <HttpHeaderInfo name="User-Agent" value="alphanetworks" match="Substring" /> + <HttpHeaderInfo name="User-Agent" value="ALPHA Networks" match="Substring" /> + </Headers> + </Identification> + <Manufacturer>Jellyfin</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Jellyfin Server</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>01</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>5</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>true</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes /> + <DirectPlayProfiles> + <DirectPlayProfile container="avi" audioCodec="ac3,eac3,dca,mp2,mp3,pcm,dts" videoCodec="mpeg1video,mpeg2video,mpeg4,h264,vc1" type="Video" /> + <DirectPlayProfile container="mpeg" audioCodec="ac3,eac3,dca,mp2,mp3,pcm,dts" videoCodec="mpeg1video,mpeg2video" type="Video" /> + <DirectPlayProfile container="mkv" audioCodec="ac3,eac3,dca,aac,mp2,mp3,pcm,dts" videoCodec="mpeg1video,mpeg2video,mpeg4,h264,vc1" type="Video" /> + <DirectPlayProfile container="ts,m2ts,mpegts" audioCodec="ac3,eac3,dca,mp2,mp3,aac,dts" videoCodec="mpeg1video,mpeg2video,h264,vc1" type="Video" /> + <DirectPlayProfile container="mp4,mov,m4v" audioCodec="ac3,eac3,aac,mp2,mp3,dca,dts" videoCodec="h264,mpeg4" type="Video" /> + <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro" videoCodec="vc1" type="Video" /> + <DirectPlayProfile container="asf" audioCodec="mp2,ac3" videoCodec="mpeg2video" type="Video" /> + <DirectPlayProfile container="mp3" audioCodec="mp2,mp3" type="Audio" /> + <DirectPlayProfile container="mp4" audioCodec="mp4" type="Audio" /> + <DirectPlayProfile container="flac" type="Audio" /> + <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" /> + <DirectPlayProfile container="ogg" audioCodec="vorbis" type="Audio" /> + <DirectPlayProfile container="jpeg,png,gif,bmp,tiff" type="Photo" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles> + <ContainerProfile type="Photo"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + </Conditions> + </ContainerProfile> + </ContainerProfiles> + <CodecProfiles> + <CodecProfile type="Video" codec="h264"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="aac"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles> + <ResponseProfile container="ts,mpegts" type="Video" orgPn="MPEG_TS_SD_NA"> + <Conditions /> + </ResponseProfile> + </ResponseProfiles> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="External" /> + <SubtitleProfile format="srt" method="Embed" /> + <SubtitleProfile format="sub" method="Embed" /> + <SubtitleProfile format="subrip" method="Embed" /> + <SubtitleProfile format="idx" method="Embed" /> + </SubtitleProfiles> +</Profile> diff --git a/Emby.Dlna/Profiles/Xml/Xbox One.xml b/Emby.Dlna/Profiles/Xml/Xbox One.xml index 40e05f7fca..41ccd49b91 100644 --- a/Emby.Dlna/Profiles/Xml/Xbox One.xml +++ b/Emby.Dlna/Profiles/Xml/Xbox One.xml @@ -1,125 +1,126 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>Xbox One</Name> - <Identification> - <ModelName>Xbox One</ModelName> - <Headers> - <HttpHeaderInfo name="FriendlyName.DLNA.ORG" value="XboxOne" match="Substring" /> - <HttpHeaderInfo name="User-Agent" value="NSPlayer/12" match="Substring" /> - </Headers> - </Identification> - <Manufacturer>Jellyfin</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Jellyfin Server</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>01</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>40</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes /> - <DirectPlayProfiles> - <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264,mpeg2video,hevc" type="Video" /> - <DirectPlayProfile container="avi" audioCodec="ac3,mp3" videoCodec="mpeg4" type="Video" /> - <DirectPlayProfile container="avi" audioCodec="aac" videoCodec="h264" type="Video" /> - <DirectPlayProfile container="mp4,mov,mkv,m4v" audioCodec="aac,ac3" videoCodec="h264,mpeg4,mpeg2video,hevc" type="Video" /> - <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro" videoCodec="wmv2,wmv3,vc1" type="Video" /> - <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" /> - <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" /> - <DirectPlayProfile container="jpeg" type="Photo" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" videoCodec="jpeg" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles> - <ContainerProfile type="Video" container="mp4,mov"> - <Conditions> - <ProfileCondition condition="Equals" property="Has64BitOffsets" value="false" isRequired="false" /> - </Conditions> - </ContainerProfile> - </ContainerProfiles> - <CodecProfiles> - <CodecProfile type="Video" codec="mpeg4"> - <Conditions> - <ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitDepth" value="8" isRequired="false" /> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="5120000" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="Video" codec="h264"> - <Conditions> - <ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitDepth" value="8" isRequired="false" /> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="false" /> - <ProfileCondition condition="EqualsAny" property="VideoProfile" value="high|main|baseline|constrained baseline" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="Video" codec="wmv2,wmv3,vc1"> - <Conditions> - <ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitDepth" value="8" isRequired="false" /> - <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> - <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="15360000" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="Video"> - <Conditions> - <ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" /> - <ProfileCondition condition="LessThanEqual" property="VideoBitDepth" value="8" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="ac3,wmav2,wmapro"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - <CodecProfile type="VideoAudio" codec="aac"> - <Conditions> - <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="false" /> - <ProfileCondition condition="Equals" property="AudioProfile" value="lc" isRequired="false" /> - </Conditions> - <ApplyConditions /> - </CodecProfile> - </CodecProfiles> - <ResponseProfiles> - <ResponseProfile container="avi" type="Video" mimeType="video/avi"> - <Conditions /> - </ResponseProfile> - <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> - <Conditions /> - </ResponseProfile> - </ResponseProfiles> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="Embed" /> - </SubtitleProfiles> -</Profile>
\ No newline at end of file +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>Xbox One</Name> + <Identification> + <ModelName>Xbox One</ModelName> + <Headers> + <HttpHeaderInfo name="FriendlyName.DLNA.ORG" value="XboxOne" match="Substring" /> + <HttpHeaderInfo name="User-Agent" value="NSPlayer/12" match="Substring" /> + </Headers> + </Identification> + <Manufacturer>Jellyfin</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Jellyfin Server</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>01</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>40</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes /> + <DirectPlayProfiles> + <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264,mpeg2video,hevc" type="Video" /> + <DirectPlayProfile container="avi" audioCodec="ac3,mp3" videoCodec="mpeg4" type="Video" /> + <DirectPlayProfile container="avi" audioCodec="aac" videoCodec="h264" type="Video" /> + <DirectPlayProfile container="mp4,mov,mkv,m4v" audioCodec="aac,ac3" videoCodec="h264,mpeg4,mpeg2video,hevc" type="Video" /> + <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro" videoCodec="wmv2,wmv3,vc1" type="Video" /> + <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" /> + <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" /> + <DirectPlayProfile container="jpeg" type="Photo" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" videoCodec="jpeg" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles> + <ContainerProfile type="Video" container="mp4,mov"> + <Conditions> + <ProfileCondition condition="Equals" property="Has64BitOffsets" value="false" isRequired="false" /> + </Conditions> + </ContainerProfile> + </ContainerProfiles> + <CodecProfiles> + <CodecProfile type="Video" codec="mpeg4"> + <Conditions> + <ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitDepth" value="8" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="5120000" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="Video" codec="h264"> + <Conditions> + <ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitDepth" value="8" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="false" /> + <ProfileCondition condition="EqualsAny" property="VideoProfile" value="high|main|baseline|constrained baseline" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="Video" codec="wmv2,wmv3,vc1"> + <Conditions> + <ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitDepth" value="8" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="15360000" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="Video"> + <Conditions> + <ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitDepth" value="8" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="ac3,wmav2,wmapro"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="aac"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="false" /> + <ProfileCondition condition="Equals" property="AudioProfile" value="lc" isRequired="false" /> + </Conditions> + <ApplyConditions /> + </CodecProfile> + </CodecProfiles> + <ResponseProfiles> + <ResponseProfile container="avi" type="Video" mimeType="video/avi"> + <Conditions /> + </ResponseProfile> + <ResponseProfile container="m4v" type="Video" mimeType="video/mp4"> + <Conditions /> + </ResponseProfile> + </ResponseProfiles> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="Embed" /> + </SubtitleProfiles> +</Profile> diff --git a/Emby.Dlna/Profiles/Xml/foobar2000.xml b/Emby.Dlna/Profiles/Xml/foobar2000.xml index 19dc10e83a..57c065e231 100644 --- a/Emby.Dlna/Profiles/Xml/foobar2000.xml +++ b/Emby.Dlna/Profiles/Xml/foobar2000.xml @@ -1,66 +1,67 @@ <?xml version="1.0"?> -<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <Name>foobar2000</Name> - <Identification> - <FriendlyName>foobar</FriendlyName> - <Headers> - <HttpHeaderInfo name="User-Agent" value="foobar" match="Substring" /> - </Headers> - </Identification> - <Manufacturer>Jellyfin</Manufacturer> - <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Jellyfin Server</ModelName> - <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> - <ModelNumber>01</ModelNumber> - <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> - <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> - <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> - <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> - <SupportedMediaTypes>Audio</SupportedMediaTypes> - <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>480</MaxAlbumArtWidth> - <MaxAlbumArtHeight>480</MaxAlbumArtHeight> - <MaxIconWidth>48</MaxIconWidth> - <MaxIconHeight>48</MaxIconHeight> - <MaxStreamingBitrate>140000000</MaxStreamingBitrate> - <MaxStaticBitrate>140000000</MaxStaticBitrate> - <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> - <MaxStaticMusicBitrate xsi:nil="true" /> - <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> - <TimelineOffsetSeconds>0</TimelineOffsetSeconds> - <RequiresPlainVideoItems>false</RequiresPlainVideoItems> - <RequiresPlainFolders>false</RequiresPlainFolders> - <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> - <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <XmlRootAttributes /> - <DirectPlayProfiles> - <DirectPlayProfile container="mp3" audioCodec="mp2,mp3" type="Audio" /> - <DirectPlayProfile container="mp4" audioCodec="mp4" type="Audio" /> - <DirectPlayProfile container="aac,wav" type="Audio" /> - <DirectPlayProfile container="flac" audioCodec="flac" type="Audio" /> - <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" /> - <DirectPlayProfile container="ogg" audioCodec="vorbis" type="Audio" /> - </DirectPlayProfiles> - <TranscodingProfiles> - <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> - </TranscodingProfiles> - <ContainerProfiles /> - <CodecProfiles /> - <ResponseProfiles /> - <SubtitleProfiles> - <SubtitleProfile format="srt" method="External" /> - <SubtitleProfile format="sub" method="External" /> - <SubtitleProfile format="srt" method="Embed" /> - <SubtitleProfile format="ass" method="Embed" /> - <SubtitleProfile format="ssa" method="Embed" /> - <SubtitleProfile format="smi" method="Embed" /> - <SubtitleProfile format="dvdsub" method="Embed" /> - <SubtitleProfile format="pgs" method="Embed" /> - <SubtitleProfile format="pgssub" method="Embed" /> - <SubtitleProfile format="sub" method="Embed" /> - <SubtitleProfile format="subrip" method="Embed" /> - <SubtitleProfile format="vtt" method="Embed" /> - </SubtitleProfiles> +<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Name>foobar2000</Name> + <Identification> + <FriendlyName>foobar</FriendlyName> + <Headers> + <HttpHeaderInfo name="User-Agent" value="foobar" match="Substring" /> + </Headers> + </Identification> + <Manufacturer>Jellyfin</Manufacturer> + <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> + <ModelName>Jellyfin Server</ModelName> + <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> + <ModelNumber>01</ModelNumber> + <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> + <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit> + <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit> + <SupportedMediaTypes>Audio</SupportedMediaTypes> + <AlbumArtPn>JPEG_SM</AlbumArtPn> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> + <MaxStreamingBitrate>140000000</MaxStreamingBitrate> + <MaxStaticBitrate>140000000</MaxStaticBitrate> + <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate> + <MaxStaticMusicBitrate xsi:nil="true" /> + <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo> + <TimelineOffsetSeconds>0</TimelineOffsetSeconds> + <RequiresPlainVideoItems>false</RequiresPlainVideoItems> + <RequiresPlainFolders>false</RequiresPlainFolders> + <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar> + <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> + <XmlRootAttributes /> + <DirectPlayProfiles> + <DirectPlayProfile container="mp3" audioCodec="mp2,mp3" type="Audio" /> + <DirectPlayProfile container="mp4" audioCodec="mp4" type="Audio" /> + <DirectPlayProfile container="aac,wav" type="Audio" /> + <DirectPlayProfile container="flac" audioCodec="flac" type="Audio" /> + <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" /> + <DirectPlayProfile container="ogg" audioCodec="vorbis" type="Audio" /> + </DirectPlayProfiles> + <TranscodingProfiles> + <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" /> + </TranscodingProfiles> + <ContainerProfiles /> + <CodecProfiles /> + <ResponseProfiles /> + <SubtitleProfiles> + <SubtitleProfile format="srt" method="External" /> + <SubtitleProfile format="sub" method="External" /> + <SubtitleProfile format="srt" method="Embed" /> + <SubtitleProfile format="ass" method="Embed" /> + <SubtitleProfile format="ssa" method="Embed" /> + <SubtitleProfile format="smi" method="Embed" /> + <SubtitleProfile format="dvdsub" method="Embed" /> + <SubtitleProfile format="pgs" method="Embed" /> + <SubtitleProfile format="pgssub" method="Embed" /> + <SubtitleProfile format="sub" method="Embed" /> + <SubtitleProfile format="subrip" method="Embed" /> + <SubtitleProfile format="vtt" method="Embed" /> + </SubtitleProfiles> </Profile> diff --git a/Emby.Dlna/Properties/AssemblyInfo.cs b/Emby.Dlna/Properties/AssemblyInfo.cs index fd3b433699..9d3a22c970 100644 --- a/Emby.Dlna/Properties/AssemblyInfo.cs +++ b/Emby.Dlna/Properties/AssemblyInfo.cs @@ -1,6 +1,5 @@ -using System.Resources; using System.Reflection; -using System.Runtime.InteropServices; +using System.Resources; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information diff --git a/Emby.Dlna/Server/DescriptionXmlBuilder.cs b/Emby.Dlna/Server/DescriptionXmlBuilder.cs index bd57f4c43f..e0ecbee43f 100644 --- a/Emby.Dlna/Server/DescriptionXmlBuilder.cs +++ b/Emby.Dlna/Server/DescriptionXmlBuilder.cs @@ -1,12 +1,11 @@ -using Emby.Dlna.Common; -using MediaBrowser.Model.Dlna; -using MediaBrowser.Model.Extensions; using System; using System.Collections.Generic; using System.Globalization; using System.Linq; -using System.Security; using System.Text; +using Emby.Dlna.Common; +using MediaBrowser.Model.Dlna; +using MediaBrowser.Model.Extensions; namespace Emby.Dlna.Server { diff --git a/Emby.Dlna/Service/BaseControlHandler.cs b/Emby.Dlna/Service/BaseControlHandler.cs index ae094cc2f6..5f78674b88 100644 --- a/Emby.Dlna/Service/BaseControlHandler.cs +++ b/Emby.Dlna/Service/BaseControlHandler.cs @@ -1,7 +1,3 @@ -using MediaBrowser.Controller.Configuration; -using MediaBrowser.Controller.Dlna; -using Emby.Dlna.Server; -using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.IO; @@ -9,9 +5,10 @@ using System.Linq; using System.Text; using System.Xml; using Emby.Dlna.Didl; +using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Extensions; using MediaBrowser.Model.Xml; -using MediaBrowser.Model.Extensions; +using Microsoft.Extensions.Logging; namespace Emby.Dlna.Service { @@ -88,7 +85,7 @@ namespace Emby.Dlna.Service StringWriter builder = new StringWriterWithEncoding(Encoding.UTF8); - using (XmlWriter writer = XmlWriter.Create(builder, settings)) + using (var writer = XmlWriter.Create(builder, settings)) { writer.WriteStartDocument(true); @@ -205,7 +202,7 @@ namespace Emby.Dlna.Service return result; } - private void ParseFirstBodyChild(XmlReader reader, IDictionary<string,string> headers) + private void ParseFirstBodyChild(XmlReader reader, IDictionary<string, string> headers) { reader.MoveToContent(); reader.Read(); @@ -229,7 +226,7 @@ namespace Emby.Dlna.Service { public string LocalName; public string NamespaceURI; - public IDictionary<string, string> Headers = new Dictionary<string,string>(StringComparer.OrdinalIgnoreCase); + public IDictionary<string, string> Headers = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase); } protected abstract IEnumerable<KeyValuePair<string, string>> GetResult(string methodName, IDictionary<string, string> methodParams); diff --git a/Emby.Dlna/Service/BaseService.cs b/Emby.Dlna/Service/BaseService.cs index 10ef12c6c2..5359e94c44 100644 --- a/Emby.Dlna/Service/BaseService.cs +++ b/Emby.Dlna/Service/BaseService.cs @@ -1,6 +1,5 @@ -using MediaBrowser.Common.Net; -using MediaBrowser.Controller.Dlna; using Emby.Dlna.Eventing; +using MediaBrowser.Common.Net; using Microsoft.Extensions.Logging; namespace Emby.Dlna.Service diff --git a/Emby.Dlna/Service/ControlErrorHandler.cs b/Emby.Dlna/Service/ControlErrorHandler.cs index 431dea9320..d5eb4a8879 100644 --- a/Emby.Dlna/Service/ControlErrorHandler.cs +++ b/Emby.Dlna/Service/ControlErrorHandler.cs @@ -1,4 +1,3 @@ -using MediaBrowser.Controller.Dlna; using System; using System.IO; using System.Text; @@ -21,7 +20,7 @@ namespace Emby.Dlna.Service StringWriter builder = new StringWriterWithEncoding(Encoding.UTF8); - using (XmlWriter writer = XmlWriter.Create(builder, settings)) + using (var writer = XmlWriter.Create(builder, settings)) { writer.WriteStartDocument(true); diff --git a/Emby.Dlna/Service/ServiceXmlBuilder.cs b/Emby.Dlna/Service/ServiceXmlBuilder.cs index 68782ffb76..bd1f0bf05c 100644 --- a/Emby.Dlna/Service/ServiceXmlBuilder.cs +++ b/Emby.Dlna/Service/ServiceXmlBuilder.cs @@ -1,7 +1,6 @@ -using Emby.Dlna.Common; using System.Collections.Generic; -using System.Security; using System.Text; +using Emby.Dlna.Common; using Emby.Dlna.Server; namespace Emby.Dlna.Service diff --git a/Emby.Dlna/Ssdp/DeviceDiscovery.cs b/Emby.Dlna/Ssdp/DeviceDiscovery.cs index e01ff81497..069d704b88 100644 --- a/Emby.Dlna/Ssdp/DeviceDiscovery.cs +++ b/Emby.Dlna/Ssdp/DeviceDiscovery.cs @@ -1,19 +1,12 @@ -using MediaBrowser.Common.Events; -using MediaBrowser.Controller; -using MediaBrowser.Controller.Configuration; -using MediaBrowser.Controller.Dlna; -using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; -using System.Net; -using System.Threading; -using System.Threading.Tasks; -using MediaBrowser.Common.Net; +using MediaBrowser.Controller.Configuration; using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Events; using MediaBrowser.Model.Net; using MediaBrowser.Model.Threading; +using Microsoft.Extensions.Logging; using Rssdp; using Rssdp.Infrastructure; diff --git a/Emby.Dlna/Ssdp/Extensions.cs b/Emby.Dlna/Ssdp/Extensions.cs index 41a361515b..c680c123ed 100644 --- a/Emby.Dlna/Ssdp/Extensions.cs +++ b/Emby.Dlna/Ssdp/Extensions.cs @@ -1,6 +1,3 @@ -using System; -using System.Net; -using System.Threading.Tasks; using System.Xml.Linq; namespace Emby.Dlna.Ssdp |
