[ https://issues.apache.org/jira/browse/FELIX-2730?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Patrik Sagelius updated FELIX-2730: ----------------------------------- Attachment: site.patch I have attached a patch that will do just the described in this improvement. > UPnP exposed to/used by DLNA devices > ------------------------------------ > > Key: FELIX-2730 > URL: https://issues.apache.org/jira/browse/FELIX-2730 > Project: Felix > Issue Type: New Feature > Components: UPnP Subproject > Environment: All platforms using the Felix UPnP bundle > Reporter: Patrik Sagelius > Priority: Minor > Attachments: site.patch > > > One of the larger areas of usage with UPnP is to expose a DMS. There are also > many consumers of DMS devices, e.g. TVs. Many of the new TVs coming to the > market are branded "DLNA compatible". This means they will require DMS > devices to have the XML tag shown below in the device description: > <dlna:X_DLNADOC > xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMS-1.00</dlna:X_DLNADOC> > This is described in paragraph 7.2.10 in the document named "DLNA Networked > Device Interoperability Guidelines". This is just one of many DLNA specific > tags. However, it seems that a great number of DMR devices (consumers of DMS > devices, e.g. TVs) expects this tag and only shows the DMS as a valid DMS if > it is included. > I know this has nothing to do with UPnP since it is a DLNA specific tag, but > it increases the usability of the UPnP stack and the number of usecases > supported a great deal! Moreover, there is no way to set this XML tag in the > device description using the OSGi UPnP API as it is currently specified. > What is needed is that the developer needs some way of controlling the > content of the device description to include this tag. > So when creating the device the programmer supplies properties to control > various things, such as name and description. It would be good to supply a > property called "X_DLNADOC" with the value of the tag, e.g. DMS-1.00. So the > code to create a DLNA supported device would look like: > public class DmsDevice implements UPnPDevice { > private Dictionary dictionary = new Hashtable(); > public DmsDevice() { > dictionary.put(UPnPDevice.FRIENDLY_NAME, "My Name"); > dictionary.put("X_DLNADOC", "DMS-1.00"); > .... > } > public Dictionary getDescriptions(String locale) { > return this.dictionary; > } > .... > } > This should result in an XML like: > <?xml version="1.0" encoding="utf-8"?> > <root xmlns="urn:schemas-upnp-org:device-1-0"> > <specVersion> > <major>1</major> > <minor>0</minor> > </specVersion> > <URLBase>http://<myip>:<myport></URLBase> > <device> > <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType> > <dlna:X_DLNADOC > xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMS-1.00</dlna:X_DLNADOC> > <friendlyName>My Name</friendlyName> > ........ > </root> -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.