Я хочу реализовать DLNA Device Media Renderer (DMR) для потоковой передачи аудио. Я нашел документацию здесь: http://upnp.org/resources/upnpresources.zip и выяснил что существует три версии DMR (MediaRenderer:1, MediaRenderer:2, MediaRenderer:3). Не могу найти совет, что выбрать. Есть ли причина не выбирать MediaRenderer:3?
Как узнать, какую версию DMR (Device Media Renderer) выбрать?
Ответы (1)
Обновления служб UPnP гарантированно совместимы с предыдущими версиями, поэтому каждое устройство MediaRenderer:3 будет содержать реализацию служб v1 и v2 и будет отвечать на запрос MSEARCH для v1 или v2 в качестве этой версии.
См. документ по архитектуре устройства 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 — ваш лучший выбор. Это должно позволить использовать ваше устройство всеми возможными точками управления.