我想爲音頻流實現DLNA設備媒體渲染器(DMR)。我在這裏找到了文檔:http://upnp.org/resources/upnpresources.zip,發現似乎有三個版本的DMR(MediaRenderer:1,MediaRenderer:2,MediaRenderer:3)。我無法找到關於選擇哪一個的建議。有沒有理由不選擇MediaRenderer:3?如何知道選擇哪個版本的DMR(設備媒體渲染器)?
1
A
回答
1
UPnP服務的更新保證向後兼容,因此每個MediaRenderer:3設備都將包含v1和v2服務的實施,並將針對v1或v2的MSEARCH作爲該版本進行響應。
見1.1版設備架構文檔(包含在您引用ZIP)瞭解更多詳情,具體
§1.2.2設備可用 - 與SSDP NOTIFY:活着
更新UPnP設備 和服務類型需要完全向後兼容 先前版本的相同類型。
§1.3.2搜索與M-SEARCH請求
設備和服務類型的更新版本都必須與以前的版本完全 向後兼容。設備必須迴應 任何支持版本的M-SEARCH請求。例如,如果設備 實現「urn:schemas-upnporg:service:xyz:2」,它必須對 對該類型和 「urn:schemas-upnp-org:service:xyz:1」的搜索請求做出響應。 。它期望V1,V2或V3的服務3將是由控制點可用的:如在搜索請求中載
換言之,一個能正確實現MediaRenderer一個設備的響應必須指定 相同的版本。實現早期版本服務的設備將侷限於使用期望這些早期版本的控制點。
我同意你的觀點,即實施MediaRenderer:3是你最好的選擇。這應該允許您的設備被所有可能的控制點使用。
相關問題
- 1. 如何知道選擇哪個項目?
- 2. 如何玩android本地媒體到DLNA渲染器?
- 3. 如何知道瀏覽器使用javascript的哪個版本?
- 4. 如何知道哪個選擇器是活動的?
- 5. 如何知道哪些JDK包含JAX-WS的哪個版本
- 6. 如何知道哪個控制器在cakePHP中渲染了佈局?
- 7. 知道選擇了哪個選項卡
- 8. 我如何知道哪個版本是版本庫中的最新版本號?
- 9. 哪個版本選擇
- 10. 電子 - 如何知道什麼時候渲染窗口準備
- 11. 我如何知道我運行的是哪個版本的RichFaces?
- 12. 我如何知道我使用的是哪個版本的Javascript?
- 13. 我如何知道我使用的是哪個版本的OpenGL?
- 14. 如何知道哪個身體碰撞?
- 15. 如何知道設備?
- 16. 如何知道在jquery中選擇了哪個單選按鈕?
- 17. 如何知道使用jquery選擇哪個數字選項
- 18. 如何知道選擇了哪個單選按鈕?
- 19. 如何知道在HTML表單中選擇了哪個選項?
- 20. 如何知道選擇了哪個複選框?
- 21. 如何知道在Qt中選擇了哪個選項卡?
- 22. 如何知道選擇哪個選項PHP
- 23. 如何設置「渲染器」?
- 24. 我如何知道特定版本的Python支持哪個版本的pickle?
- 25. 如何知道我正在使用哪個版本的CrafterCMS?
- 26. 如何知道我安裝了哪個版本的vs2010?
- 27. 我如何知道安裝了哪個版本的mysqli?
- 28. 如何知道我的SSL支持哪個版本?
- 29. 如何知道安裝了哪個版本的MDAC?
- 30. Python瓶 - 如何知道使用Jinja的哪個版本?
感謝您的回答,但我不確定我的理解。因此,選擇MediaRenderer:1而不是MediaRenderer:3是因爲我知道我將與其他v1服務/設備一起使用它?如果我不知道我將使用哪些服務(v1,v2或v3),那麼我應該選擇MediaRenderer:3,因爲它可以與所有設備一起使用?您是通過閱讀關於不同媒體渲染器的描述獲得這些信息的嗎?或者您是否知道其他任何我能找到這些信息的好源? – Olppah 2013-04-26 14:33:39
重新閱讀它,我的回答相當混亂(並且結論是錯誤的)。我現在編輯它,說我同意你的評估,即實施MediaRenderer:3最適合你。向後兼容性的信息來自閱讀設備體系結構文檔並實現UPnP協議棧。我會在我的答案中添加一個具體的參考。 – simonc 2013-04-26 14:38:22
好的,謝謝你的回答。我不能說一切都很清楚,我可能會問更多的問題,但我想這些問題將在另一個主題下發布,當我閱讀了更多的這些規範。 – Olppah 2013-04-26 16:10:21