我想为音频流实现DLNA设备媒体渲染器(DMR)。我在这里找到了文档:http://upnp.org/resources/upnpresources.zip并且发现似乎有三个版本的DMR(MediaRenderer:1,MediaRenderer:2,MediaRenderer:3)。关于选择哪一个,我找不到任何建议。有没有理由不选择MediaRenderer:3?
答案 0 :(得分:1)
UPnP服务的更新保证向后兼容,因此每个MediaRenderer:3设备都将包含v1和v2服务的实现,并将响应vEARCH或v2的MSEARCH作为该版本。
有关更多详细信息,请参阅v1.1设备架构文档(包含在您参考的zip中),具体为
§1.2.2可用设备 - 使用ssdp:alive
通知更新了UPnP设备 和服务类型必须完全向后兼容 以前版本的相同类型。
§1.3.2使用M-SEARCH搜索请求
设备和服务类型的更新版本必须完整 向后兼容以前的版本。设备必须响应 M-SEARCH请求任何支持的版本。例如,如果是设备 实现“urn:schemas-upnporg:service:xyz:2”,它必须响应 搜索该类型和的请求 “瓮:架构通用即插即用型组织:服务:XYZ:1”。响应必须指定 与搜索请求中包含的版本相同
换句话说,正确实现MediaRenderer:3的设备将可用于需要v1,v2或v3服务的控制点。实现早期版本服务的设备将限于使用期望这些早期版本的控制点。
我同意你的看法,实施MediaRenderer:3是你最好的选择。这应该允许您的设备被所有可能的控制点使用。