Explorar el Código

make dlna protocol optional

Luke Pulverenti hace 10 años
padre
commit
9307d515e6
Se han modificado 1 ficheros con 20 adiciones y 11 borrados
  1. 20 11
      MediaBrowser.Dlna/Server/DescriptionXmlBuilder.cs

+ 20 - 11
MediaBrowser.Dlna/Server/DescriptionXmlBuilder.cs

@@ -54,11 +54,14 @@ namespace MediaBrowser.Dlna.Server
 
             var attributes = _profile.XmlRootAttributes.ToList();
 
-            attributes.Insert(0, new XmlAttribute
+            if (_profile.EnableDlnaProtocol)
             {
-                Name = "xmlns:dlna",
-                Value = "urn:schemas-dlna-org:device-1-0"
-            });
+                attributes.Insert(0, new XmlAttribute
+                {
+                    Name = "xmlns:dlna",
+                    Value = "urn:schemas-dlna-org:device-1-0"
+                });
+            }
             attributes.Insert(0, new XmlAttribute
             {
                 Name = "xmlns",
@@ -89,27 +92,32 @@ namespace MediaBrowser.Dlna.Server
             builder.Append("<device>");
             AppendDeviceProperties(builder);
 
-            AppendIconList(builder);
+            if (_profile.EnableDlnaProtocol)
+            {
+                AppendIconList(builder);
+            }
             AppendServiceList(builder);
             builder.Append("</device>");
         }
 
         private void AppendDeviceProperties(StringBuilder builder)
         {
-            builder.Append("<UDN>uuid:" + SecurityElement.Escape(_serverUdn) + "</UDN>");
+            builder.Append("<deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>");
 
-            builder.Append("<dlna:X_DLNACAP>" + SecurityElement.Escape(_profile.XDlnaCap ?? string.Empty) + "</dlna:X_DLNACAP>");
+            if (_profile.EnableDlnaProtocol)
+            {
+                builder.Append("<dlna:X_DLNACAP>" + SecurityElement.Escape(_profile.XDlnaCap ?? string.Empty) + "</dlna:X_DLNACAP>");
 
-            builder.Append("<dlna:X_DLNADOC xmlns:dlna=\"urn:schemas-dlna-org:device-1-0\">M-DMS-1.50</dlna:X_DLNADOC>");
-            builder.Append("<dlna:X_DLNADOC xmlns:dlna=\"urn:schemas-dlna-org:device-1-0\">" + SecurityElement.Escape(_profile.XDlnaDoc ?? string.Empty) + "</dlna:X_DLNADOC>");
+                builder.Append("<dlna:X_DLNADOC xmlns:dlna=\"urn:schemas-dlna-org:device-1-0\">M-DMS-1.50</dlna:X_DLNADOC>");
+                builder.Append("<dlna:X_DLNADOC xmlns:dlna=\"urn:schemas-dlna-org:device-1-0\">" + SecurityElement.Escape(_profile.XDlnaDoc ?? string.Empty) + "</dlna:X_DLNADOC>");
+            }
 
             builder.Append("<friendlyName>" + SecurityElement.Escape(GetFriendlyName()) + "</friendlyName>");
-            builder.Append("<deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>");
             builder.Append("<manufacturer>" + SecurityElement.Escape(_profile.Manufacturer ?? string.Empty) + "</manufacturer>");
             builder.Append("<manufacturerURL>" + SecurityElement.Escape(_profile.ManufacturerUrl ?? string.Empty) + "</manufacturerURL>");
-            builder.Append("<modelName>" + SecurityElement.Escape(_profile.ModelName ?? string.Empty) + "</modelName>");
 
             builder.Append("<modelDescription>" + SecurityElement.Escape(_profile.ModelDescription ?? string.Empty) + "</modelDescription>");
+            builder.Append("<modelName>" + SecurityElement.Escape(_profile.ModelName ?? string.Empty) + "</modelName>");
 
             builder.Append("<modelNumber>" + SecurityElement.Escape(_profile.ModelNumber ?? string.Empty) + "</modelNumber>");
             builder.Append("<modelURL>" + SecurityElement.Escape(_profile.ModelUrl ?? string.Empty) + "</modelURL>");
@@ -123,6 +131,7 @@ namespace MediaBrowser.Dlna.Server
                 builder.Append("<serialNumber>" + SecurityElement.Escape(_profile.SerialNumber) + "</serialNumber>");
             }
 
+            builder.Append("<UDN>uuid:" + SecurityElement.Escape(_serverUdn) + "</UDN>");
             builder.Append("<presentationURL>" + SecurityElement.Escape(_serverAddress) + "</presentationURL>");
 
             if (!EnableAbsoluteUrls)