|
|
@ -4,8 +4,9 @@ using System;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Globalization;
|
|
|
|
using System.Globalization;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Security;
|
|
|
|
using System.Security;a
|
|
|
|
using System.Text;
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
using Emby.Dlna.Common;
|
|
|
|
using MediaBrowser.Model.Dlna;
|
|
|
|
using MediaBrowser.Model.Dlna;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Emby.Dlna.Server
|
|
|
|
namespace Emby.Dlna.Server
|
|
|
@ -19,9 +20,8 @@ namespace Emby.Dlna.Server
|
|
|
|
private readonly string _serverAddress;
|
|
|
|
private readonly string _serverAddress;
|
|
|
|
private readonly string _serverName;
|
|
|
|
private readonly string _serverName;
|
|
|
|
private readonly string _serverId;
|
|
|
|
private readonly string _serverId;
|
|
|
|
private readonly string _customName;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public DescriptionXmlBuilder(DeviceProfile profile, string serverUdn, string serverAddress, string serverName, string serverId, string customName)
|
|
|
|
public DescriptionXmlBuilder(DeviceProfile profile, string serverUdn, string serverAddress, string serverName, string serverId)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (string.IsNullOrEmpty(serverUdn))
|
|
|
|
if (string.IsNullOrEmpty(serverUdn))
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -38,7 +38,6 @@ namespace Emby.Dlna.Server
|
|
|
|
_serverAddress = serverAddress;
|
|
|
|
_serverAddress = serverAddress;
|
|
|
|
_serverName = serverName;
|
|
|
|
_serverName = serverName;
|
|
|
|
_serverId = serverId;
|
|
|
|
_serverId = serverId;
|
|
|
|
_customName = customName;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private static bool EnableAbsoluteUrls => false;
|
|
|
|
private static bool EnableAbsoluteUrls => false;
|
|
|
@ -169,12 +168,7 @@ namespace Emby.Dlna.Server
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (string.IsNullOrEmpty(_profile.FriendlyName))
|
|
|
|
if (string.IsNullOrEmpty(_profile.FriendlyName))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (string.IsNullOrEmpty(_customName))
|
|
|
|
return "Jellyfin - " + _serverName;
|
|
|
|
{
|
|
|
|
|
|
|
|
return "Jellyfin - " + _serverName;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return _customName;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var characterList = new List<char>();
|
|
|
|
var characterList = new List<char>();
|
|
|
@ -281,7 +275,7 @@ namespace Emby.Dlna.Server
|
|
|
|
return SecurityElement.Escape(url);
|
|
|
|
return SecurityElement.Escape(url);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private static IEnumerable<DeviceIcon> GetIcons()
|
|
|
|
private IEnumerable<DeviceIcon> GetIcons()
|
|
|
|
=> new[]
|
|
|
|
=> new[]
|
|
|
|
{
|
|
|
|
{
|
|
|
|
new DeviceIcon
|
|
|
|
new DeviceIcon
|
|
|
@ -341,26 +335,25 @@ namespace Emby.Dlna.Server
|
|
|
|
|
|
|
|
|
|
|
|
private IEnumerable<DeviceService> GetServices()
|
|
|
|
private IEnumerable<DeviceService> GetServices()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var list = new List<DeviceService>
|
|
|
|
var list = new List<DeviceService>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
list.Add(new DeviceService
|
|
|
|
{
|
|
|
|
{
|
|
|
|
new DeviceService
|
|
|
|
ServiceType = "urn:schemas-upnp-org:service:ContentDirectory:1",
|
|
|
|
{
|
|
|
|
ServiceId = "urn:upnp-org:serviceId:ContentDirectory",
|
|
|
|
ServiceType = "urn:schemas-upnp-org:service:ContentDirectory:1",
|
|
|
|
ScpdUrl = "contentdirectory/contentdirectory.xml",
|
|
|
|
ServiceId = "urn:upnp-org:serviceId:ContentDirectory",
|
|
|
|
ControlUrl = "contentdirectory/control",
|
|
|
|
ScpdUrl = "contentdirectory/contentdirectory.xml",
|
|
|
|
EventSubUrl = "contentdirectory/events"
|
|
|
|
ControlUrl = "contentdirectory/control",
|
|
|
|
});
|
|
|
|
EventSubUrl = "contentdirectory/events"
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
new DeviceService
|
|
|
|
list.Add(new DeviceService
|
|
|
|
{
|
|
|
|
{
|
|
|
|
ServiceType = "urn:schemas-upnp-org:service:ConnectionManager:1",
|
|
|
|
ServiceType = "urn:schemas-upnp-org:service:ConnectionManager:1",
|
|
|
|
ServiceId = "urn:upnp-org:serviceId:ConnectionManager",
|
|
|
|
ServiceId = "urn:upnp-org:serviceId:ConnectionManager",
|
|
|
|
ScpdUrl = "connectionmanager/connectionmanager.xml",
|
|
|
|
ScpdUrl = "connectionmanager/connectionmanager.xml",
|
|
|
|
ControlUrl = "connectionmanager/control",
|
|
|
|
ControlUrl = "connectionmanager/control",
|
|
|
|
EventSubUrl = "connectionmanager/events"
|
|
|
|
EventSubUrl = "connectionmanager/events"
|
|
|
|
}
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (_profile.EnableMSMediaReceiverRegistrar)
|
|
|
|
if (_profile.EnableMSMediaReceiverRegistrar)
|
|
|
|
{
|
|
|
|
{
|
|
|
|