Xbox+UPnP patch

Here’s the way to add UPnP to Xbox:

- Download UPnPDirectory.rar and extract in xbmc\FileSystem

- Download libUPnP.rar and extract in docs\libUPnP

- Open libUPnP\libPlatinum.sln and compile both in Debug & Release

- run libUPnP\MakeLibPlatinum.bat (this will copy the proper header files and libs to xbmc\lib\libUPnP

- Download patch and apply to xbmc code

- Download SsdpProxy.exe and run it on your host, if somehow the default port (1901) is in used, you can specify a different port in the command line. (This is Win32 only for now. The linux version is coming soon…)
- Edit the XBMC UserData/Sources.xml and put your host IP in upnp://host/ (If you specified a different port with SsdpProxy, specify it here in upnp://host:port/)

- Run Windows Media Connect on your host

- Compile XBMC, Run & Enjoy

Update: If you have a standalone UPnP Media Server, most likely you won’t need the SsdpProxy. Just specify the ip address of the device in place of the host.

spiff
July 2nd, 2006 6:47 am

added to cvs :)

elupus
July 2nd, 2006 11:27 am

just a though.. how about moving the ssdp proxy to broadcast instead? that way you wouldn’t need to specify ip address of the proxy. i suppose that would require more work on the client side. but it’s an idea

elupus
July 2nd, 2006 2:48 pm

hmm.. can’t get it to work.. log level settings doesn’t seem to have any affect, and it throws an exception in the debug build during ctrl point start

July 3rd, 2006 12:08 am
July 3rd, 2006 12:27 am

the XBMS (Xbox Media Stream Protocol) client in XBMC supports auto-discovery of XBMS servers (a.k.a. ccXStream, a.k.a. XStream Servers) by using broadcast, (kind of like a DHCP server and client works).

I think it works like this; the XBMS servers is constantly listening to a specific network port, when the user clicks the share in XBMS the client (built-into XBMC) sends out a broadcast on the network on that same port asking “are there any XBMS servers out there?”, all and any XBMS servers then reply “yes you can find me on IP-address xxx.xxx.xxx.xxx” and so the client recieved that and saves/caches that IP-address for that session.

It can also work the other way around; meaning that the XBMS server is broadcasting on a specific port for example once every second saying “I’m an XBMS server and you can find me on IP-address xxx.xxx.xxx.xxx” but that is not very smart as you are then kind of spamming the network and it is also a security risc.

More info on the XBMS protocol can be found in the CVS source code (for the client-side) and here on the server-side source code:
http://prdownloads.sourceforge.net/xbmc/ccxstream-1.0.15.tar.gz
http://prdownloads.sourceforge.net/xbmc/ccxstream-1.0.15-win.rar
http://sourceforge.net/projects/mfxstream
http://sourceforge.net/projects/pxbmsps

Name
Mail
Website
Comment