Update DescriptionXmlBuilder.cs

This commit is contained in:
BaronGreenback 2020-09-16 12:02:00 +01:00 committed by GitHub
parent 6bf0acb854
commit 86ad04b657
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -6,7 +6,6 @@ using System.Globalization;
using System.Linq;
using System.Security;
using System.Text;
using Emby.Dlna.Common;
using MediaBrowser.Model.Dlna;
namespace Emby.Dlna.Server
@ -20,8 +19,9 @@ namespace Emby.Dlna.Server
private readonly string _serverAddress;
private readonly string _serverName;
private readonly string _serverId;
private readonly string _customName;
public DescriptionXmlBuilder(DeviceProfile profile, string serverUdn, string serverAddress, string serverName, string serverId)
public DescriptionXmlBuilder(DeviceProfile profile, string serverUdn, string serverAddress, string serverName, string serverId, string customName)
{
if (string.IsNullOrEmpty(serverUdn))
{
@ -38,6 +38,7 @@ namespace Emby.Dlna.Server
_serverAddress = serverAddress;
_serverName = serverName;
_serverId = serverId;
_customName = customName;
}
private static bool EnableAbsoluteUrls => false;
@ -168,7 +169,12 @@ namespace Emby.Dlna.Server
{
if (string.IsNullOrEmpty(_profile.FriendlyName))
{
return "Jellyfin - " + _serverName;
if (string.IsNullOrEmpty(_customName))
{
return "Jellyfin - " + _serverName;
}
return _customName;
}
var characterList = new List<char>();
@ -235,13 +241,13 @@ namespace Emby.Dlna.Server
.Append(SecurityElement.Escape(service.ServiceId ?? string.Empty))
.Append("</serviceId>");
builder.Append("<SCPDURL>")
.Append(BuildUrl(service.ScpdUrl))
.Append(BuildUrl(service.ScpdUrl, true))
.Append("</SCPDURL>");
builder.Append("<controlURL>")
.Append(BuildUrl(service.ControlUrl))
.Append(BuildUrl(service.ControlUrl, true))
.Append("</controlURL>");
builder.Append("<eventSubURL>")
.Append(BuildUrl(service.EventSubUrl))
.Append(BuildUrl(service.EventSubUrl, true))
.Append("</eventSubURL>");
builder.Append("</service>");
@ -250,7 +256,7 @@ namespace Emby.Dlna.Server
builder.Append("</serviceList>");
}
private string BuildUrl(string url)
private string BuildUrl(string url, bool absoluteUrl = false)
{
if (string.IsNullOrEmpty(url))
{
@ -261,7 +267,7 @@ namespace Emby.Dlna.Server
url = "/dlna/" + _serverUdn + "/" + url;
if (EnableAbsoluteUrls)
if (EnableAbsoluteUrls || absoluteUrl)
{
url = _serverAddress.TrimEnd('/') + url;
}
@ -269,7 +275,7 @@ namespace Emby.Dlna.Server
return SecurityElement.Escape(url);
}
private IEnumerable<DeviceIcon> GetIcons()
private static IEnumerable<DeviceIcon> GetIcons()
=> new[]
{
new DeviceIcon
@ -329,25 +335,26 @@ namespace Emby.Dlna.Server
private IEnumerable<DeviceService> GetServices()
{
var list = new List<DeviceService>();
list.Add(new DeviceService
var list = new List<DeviceService>
{
ServiceType = "urn:schemas-upnp-org:service:ContentDirectory:1",
ServiceId = "urn:upnp-org:serviceId:ContentDirectory",
ScpdUrl = "contentdirectory/contentdirectory.xml",
ControlUrl = "contentdirectory/control",
EventSubUrl = "contentdirectory/events"
});
new DeviceService
{
ServiceType = "urn:schemas-upnp-org:service:ContentDirectory:1",
ServiceId = "urn:upnp-org:serviceId:ContentDirectory",
ScpdUrl = "contentdirectory/contentdirectory.xml",
ControlUrl = "contentdirectory/control",
EventSubUrl = "contentdirectory/events"
},
list.Add(new DeviceService
{
ServiceType = "urn:schemas-upnp-org:service:ConnectionManager:1",
ServiceId = "urn:upnp-org:serviceId:ConnectionManager",
ScpdUrl = "connectionmanager/connectionmanager.xml",
ControlUrl = "connectionmanager/control",
EventSubUrl = "connectionmanager/events"
});
new DeviceService
{
ServiceType = "urn:schemas-upnp-org:service:ConnectionManager:1",
ServiceId = "urn:upnp-org:serviceId:ConnectionManager",
ScpdUrl = "connectionmanager/connectionmanager.xml",
ControlUrl = "connectionmanager/control",
EventSubUrl = "connectionmanager/events"
}
};
if (_profile.EnableMSMediaReceiverRegistrar)
{