Pergunta

I am currently investigating the implementation of UPnP.

First of all, i luckily found a open-source application that implements

the renderer(DMR) based on the cybergarage library in Android device.

You can find it here:

http://code.google.com/p/stream2android/ (Thanks the developer for this source as my start-up material.)

However, I have some questions below:

  1. The description files puzzle me. Can anyone let me know how to write the description file .xml? I have searched this topic but not yet found anything can instruct me
    comprehensively. what does description file exactly do and how does this file interact with UPnP?

  2. The project so far implements the renderer(DMR) function and only supports the video streaming. I want to do it supporting both image and audio media types. What is/are the key(s) I should pay attention?

Thanks for your reply and instruction in advance. : )

Foi útil?

Solução

  1. Device description file, well, describes the UPnP device :-) Any device wanting to participate in UPnP network must serve this file in a well known location (URL), so that any other device in the UPnP network can get this XML and know what is the device type, name, serial number and most importantly, what services it implements. I recommend you download the UPnP specs bundle and navigate yourself to documents/UPnP-arch-DeviceArchitecture pdf. This is the starting point for understanding UPnP. It is written very understandably and goes in the exact steps of the device which wants to join UPnP network. Device description is there complete with example and explanation of each single entry.

  2. "Streaming" in UPnP is simply downloading the media binary with HTTP GET. I simplify for the moment because i don't expect you to use any other transport like RTSP or FireWire. So, "streaming" itself is not a problem, you just need to inform the UPnP network that you accept (example) also image/jpeg and audio/mpeg, not only video/mpeg. "the key you should pay attention" is the fact that you must be able to render all that binary data which you asked for. It's not as much about the "streaming" as about having proper codecs and know how to use them on your platform.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top