2013-10-06 3 views
1

Я пытаюсь настроить контроллер DLNA для управления iPush Renderer device. iPush Renderer device становится очень популярным, так как многие контроллеры iphone DLNA и даже родной Airplay отлично справляются с этим. Он поддерживает почти все форматы видеофайлов. Мой DLNA-контроллер работает со всеми устройствами, на которых я тестировал их до сих пор (WDTV, Intels Media Renderer, XBox360 и многие другие iphone Renderers), за исключением этого iPush Renderer device.DLNA renderer throwing COMException (0x80040501)

Когда я использую UPNPLid.dll [UPnP 1.0 Type Library (контрольная точка)], я получаю все рендеры включая iPush

UPnPDeviceFinder finder = new UPnPDeviceFinder(); 
UPnPDevices devs = finder.FindByType(type, 0); 

Далее, когда я пытаюсь перебирать услуг iPush я получаю " COMException (0x80040501)»

foreach (var service in device.Services) {//get the right service} 

Я попытался с помощью INTELS устройств Spy и INTELS медиа контроллер для Нажмите на iPush. Когда вызывается Play, iPush просто показывает экран загрузки навсегда. Обратите внимание, что iPush отлично работает со всеми контроллерами iphone, которые я тестировал на нем.
После проверки в Интернете для этой ошибки я увидел similar вопрос о WMP и xBox, дающий это же исключение, но ответа не было.

ответ

1

0x80040501 - UPNP_E_EVENT_SUBSCRIPTION_FAILED, который предполагает, что средство визуализации не понимает запрос вашего контроллера. К сожалению, этот конкретный Windows API строго документирован. Я бы предложил взять Wireshark и захватить первоначальное рукопожатие от iWhatever и сравнить с тем же трафиком от вашей реализации. Захватив вашу реализацию, вы также должны увидеть более описательную ошибку из iDevice. Это SOAP в конце концов. Я не удивлюсь, узнав, что эти iDevices делают некоторые эксклюзивные вещи. Набор UPnP от Intel является эталонной реализацией, поэтому, если THAT не работает, что-то подозрительное. Хотя, если я правильно понимаю, у Intel нет проблем с подпиской и перечислением, но более поздними этапами фактической работы. Но в любом случае Wireshark теперь твой друг. Создание DLNA-работы с аппаратными устройствами - это бесконечный поиск захвата пакетов.

Эта ссылка может быть полезно также: http://www.archivum.info/microsoft.public.upnp/2007-08/00009/Device-gt-get_Service-failed.html

Отказ от ответственности: я не являюсь особенно друг с Windows, UPnP API, тем меньше C#. Я просто привык много работать с UPnP на C++.

Смежные вопросы