【问题标题】:How to know which version of DMR (Device Media Renderer) to choose?如何知道选择哪个版本的 DMR(设备媒体渲染器)?
【发布时间】:2013-04-24 14:08:13
【问题描述】:

我想为音频流实现 DLNA 设备媒体渲染器 (DMR)。我在这里找到了文档:http://upnp.org/resources/upnpresources.zip 并发现似乎有三个版本的 DMR(MediaRenderer:1、MediaRenderer:2、MediaRenderer:3)。我找不到任何关于选择哪一个的建议。有什么理由不选择 MediaRenderer:3?

【问题讨论】:

    标签: upnp dlna


    【解决方案1】:

    保证对 UPnP 服务的更新是向后兼容的,因此每个 MediaRenderer:3 设备都将包含 v1 和 v2 服务的实现,并将响应作为该版本的 v1 或 v2 的 MSEARCH。

    请参阅 v1.1 设备架构文档(包含在您参考的 zip 中)以获取更多详细信息,具体而言

    §1.2.2 设备可用 - 使用 ssdp:alive 通知

    更新了 UPnP 设备 和服务类型需要完全向后兼容 相同类型的先前版本。

    §1.3.2 使用 M-SEARCH 搜索请求

    设备和服务类型的更新版本需要完全 向后兼容以前的版本。设备必须响应 M-SEARCH 请求任何支持的版本。例如,如果一个设备 实现“urn:schemas-upnporg: service:xyz:2”,它必须响应 该类型的搜索请求和 “urn:schemas-upnp-org:service:xyz:1”。响应必须指定 与搜索请求中包含的版本相同

    换句话说,正确实现 MediaRenderer:3 的设备将可供需要 v1、v2 或 v3 服务的控制点使用。实现早期版本服务的设备将仅限于使用需要这些早期版本的控制点。

    我同意你的观点,实施 MediaRenderer:3 是你最好的选择。这应该允许所有可能的控制点使用您的设备。

    【讨论】:

    • 感谢您的回答,但我不确定我是否理解。所以选择 MediaRenderer:1 而不是 MediaRenderer:3 的原因只是我知道我将与其他 v1 服务/设备一起使用它?如果我不知道我将使用哪些服务(v1、v2 或 v3),那么我可能应该选择 MediaRenderer:3,因为它可以与所有设备一起使用?您是否通过阅读有关不同媒体渲染器的描述获得此信息,或者您知道我可以在哪里找到此信息的任何其他好的来源?
    • 再读一遍,我的回答比较混乱(结论是错误的)。我现在对其进行了编辑,表示我同意您的评估,即实施 MediaRenderer:3 最适合您。有关向后兼容性的信息来自阅读设备架构文档和实现 UPnP 堆栈。我会在我的答案中添加一个具体的参考。
    • 好的,感谢您的回答。我不能说一切都一清二楚,我可能会再问一些问题,但我想当我阅读更多这些规范时,这些问题将发布在另一个主题下。
    猜你喜欢
    • 2018-11-19
    • 2013-03-29
    • 1970-01-01
    • 2017-07-06
    • 2014-10-08
    • 2014-04-17
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    相关资源
    最近更新 更多