Skip to content

Commit cefafe8

Browse files
make dlna protocol optional
1 parent 9909b68 commit cefafe8

File tree

1 file changed

+20
-11
lines changed

1 file changed

+20
-11
lines changed

MediaBrowser.Dlna/Server/DescriptionXmlBuilder.cs

+20-11
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,14 @@ public string GetXml()
5454

5555
var attributes = _profile.XmlRootAttributes.ToList();
5656

57-
attributes.Insert(0, new XmlAttribute
57+
if (_profile.EnableDlnaProtocol)
5858
{
59-
Name = "xmlns:dlna",
60-
Value = "urn:schemas-dlna-org:device-1-0"
61-
});
59+
attributes.Insert(0, new XmlAttribute
60+
{
61+
Name = "xmlns:dlna",
62+
Value = "urn:schemas-dlna-org:device-1-0"
63+
});
64+
}
6265
attributes.Insert(0, new XmlAttribute
6366
{
6467
Name = "xmlns",
@@ -89,27 +92,32 @@ private void AppendDeviceInfo(StringBuilder builder)
8992
builder.Append("<device>");
9093
AppendDeviceProperties(builder);
9194

92-
AppendIconList(builder);
95+
if (_profile.EnableDlnaProtocol)
96+
{
97+
AppendIconList(builder);
98+
}
9399
AppendServiceList(builder);
94100
builder.Append("</device>");
95101
}
96102

97103
private void AppendDeviceProperties(StringBuilder builder)
98104
{
99-
builder.Append("<UDN>uuid:" + SecurityElement.Escape(_serverUdn) + "</UDN>");
105+
builder.Append("<deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>");
100106

101-
builder.Append("<dlna:X_DLNACAP>" + SecurityElement.Escape(_profile.XDlnaCap ?? string.Empty) + "</dlna:X_DLNACAP>");
107+
if (_profile.EnableDlnaProtocol)
108+
{
109+
builder.Append("<dlna:X_DLNACAP>" + SecurityElement.Escape(_profile.XDlnaCap ?? string.Empty) + "</dlna:X_DLNACAP>");
102110

103-
builder.Append("<dlna:X_DLNADOC xmlns:dlna=\"urn:schemas-dlna-org:device-1-0\">M-DMS-1.50</dlna:X_DLNADOC>");
104-
builder.Append("<dlna:X_DLNADOC xmlns:dlna=\"urn:schemas-dlna-org:device-1-0\">" + SecurityElement.Escape(_profile.XDlnaDoc ?? string.Empty) + "</dlna:X_DLNADOC>");
111+
builder.Append("<dlna:X_DLNADOC xmlns:dlna=\"urn:schemas-dlna-org:device-1-0\">M-DMS-1.50</dlna:X_DLNADOC>");
112+
builder.Append("<dlna:X_DLNADOC xmlns:dlna=\"urn:schemas-dlna-org:device-1-0\">" + SecurityElement.Escape(_profile.XDlnaDoc ?? string.Empty) + "</dlna:X_DLNADOC>");
113+
}
105114

106115
builder.Append("<friendlyName>" + SecurityElement.Escape(GetFriendlyName()) + "</friendlyName>");
107-
builder.Append("<deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>");
108116
builder.Append("<manufacturer>" + SecurityElement.Escape(_profile.Manufacturer ?? string.Empty) + "</manufacturer>");
109117
builder.Append("<manufacturerURL>" + SecurityElement.Escape(_profile.ManufacturerUrl ?? string.Empty) + "</manufacturerURL>");
110-
builder.Append("<modelName>" + SecurityElement.Escape(_profile.ModelName ?? string.Empty) + "</modelName>");
111118

112119
builder.Append("<modelDescription>" + SecurityElement.Escape(_profile.ModelDescription ?? string.Empty) + "</modelDescription>");
120+
builder.Append("<modelName>" + SecurityElement.Escape(_profile.ModelName ?? string.Empty) + "</modelName>");
113121

114122
builder.Append("<modelNumber>" + SecurityElement.Escape(_profile.ModelNumber ?? string.Empty) + "</modelNumber>");
115123
builder.Append("<modelURL>" + SecurityElement.Escape(_profile.ModelUrl ?? string.Empty) + "</modelURL>");
@@ -123,6 +131,7 @@ private void AppendDeviceProperties(StringBuilder builder)
123131
builder.Append("<serialNumber>" + SecurityElement.Escape(_profile.SerialNumber) + "</serialNumber>");
124132
}
125133

134+
builder.Append("<UDN>uuid:" + SecurityElement.Escape(_serverUdn) + "</UDN>");
126135
builder.Append("<presentationURL>" + SecurityElement.Escape(_serverAddress) + "</presentationURL>");
127136

128137
if (!EnableAbsoluteUrls)

0 commit comments

Comments
 (0)