Softsled Architecture

Below are some links to powerpoint presentations provided by Microsoft themselves that gives a basic outline as to how their extender software works. It seems like a pretty good knowledge source. It mentions which protocol methods and transport streams are used etc. I hope this helps kick start the process.

UI Remoting and AV Streaming Architecture:
http://download.microsoft.com/download/5/b/9/5b97017b-e28a-4bae-ba48-174cf47d23cd/CON063_WH06.ppt
Adaptation Kit:
http://download.microsoft.com/download/5/b/9/5b97017b-e28a-4bae-ba48-174cf47d23cd/CON003_WH06.ppt

First steps...

After reading through these, I think a good first step would be to have a computer be discovered by a media center computer so that the little pop up shows up that says "Found Media Center Extender". I know it isn't much but I think it would be a good first step. I have some background in developing stuff in .NET but most of the stuff I do is web based. Hopefully I will get some time soon that I can maybe look into this some more.

-jason

One small step for softsled...

Well, using Intel's UPnP.dll I was able to emulate an extender to the point of having Vista recognize it and put up the prompt. Here is a screenshot and the code I used...

            UPnPDevice device = UPnPDevice.CreateRootDevice(1801, 1.0, "\\XD\\DeviceDescription.xml");
            device.FriendlyName = "SoftSled Media Center Extender";
            device.Manufacturer = "SoftSled Project";
            device.ManufacturerURL = "http://softsled.net";
            device.ModelName = "SoftSled Extender";
            device.ModelURL = new Uri("http://softsled.net");
            device.ModelDescription = "SoftSled Extender Software";
            device.DeviceURN = "urn:schemas-microsoft-com:device:MediaCenterExtenderMFD:1";
            device.HasPresentation = false;
            device.LocationURL = "/XD/DeviceDescription.xml";
            device.AddCustomFieldInDescription("X_deviceCategory", "MediaDevices", "http://schemas.microsoft.com/windows/pnpx/2005/11");

            UPnPDevice subDevice1 = UPnPDevice.CreateEmbeddedDevice(1.0, device.UniqueDeviceName);
            subDevice1.DeviceURN = "urn:schemas-microsoft-com:device:MediaCenterExtender:1";
            subDevice1.FriendlyName = "SoftSled Media Center Extender";
            subDevice1.Manufacturer = "SoftSled Project";
            subDevice1.ModelName = "SoftSled Extender";
            subDevice1.ModelURL = new Uri("http://softsled.net");
            subDevice1.ModelDescription = "SoftSled Extender Software";
            subDevice1.AddCustomFieldInDescription("X_compatibleId", "MICROSOFT_MCX_0001", "http://schemas.microsoft.com/windows/pnpx/2005/11");
            subDevice1.AddCustomFieldInDescription("X_deviceCategory", "MediaDevices", "http://schemas.microsoft.com/windows/pnpx/2005/11");

            device.AddDevice(subDevice1);

            device.StartDevice(3391);

Good to see some progress

Sorry, I haven't been checking the site lately so I didn't see this post. I will bump it to the front page.