The Media Center Sandbox

Resources and discussion for developing experiences in the Windows Media Center platform.
Welcome to The Media Center Sandbox Sign in | Join | Help
in Search

Media Center Extender Question

Last post 02-11-2011, 8:58 AM by AndyC. 13 replies.
Sort Posts: Previous Next
  •  07-27-2010, 8:28 AM 9734

    Media Center Extender Question

    Hello,
    I was wondering if you can tell if a MCML page is being accessed by an extender or not,
    I kept thinking about it but thought that the only way to do that only if Media Center provide this functionality in the first place which i might not be aware of..

    for example if you made a MCML addin that prints out "Hello World!"
    and you have an Xbox setup as an extender,

    Is it possible to tell in your MCML code whether its being accessed by Xbox or the normal PC..
    for example print out "Hello World!" on PC and "Hello Xbox" on Xbox.

    Thanks in advance.

    Xive.
  •  07-27-2010, 9:22 AM 9736 in reply to 9734

    Re: Media Center Extender Question

    Search the SDK for "console" - you should see a help entry called "Detecting a Windows Media Center Extender Session"

    Cheers,
    Andrew
  •  07-27-2010, 1:16 PM 9737 in reply to 9736

    Re: Media Center Extender Question

    See the ObjectModelMediaCenterEnvironmentCapabilities.mcml sample in the v6 SDK.

    If Console = False you are on an Extender.

    If Console = False and IntensiveRendering = True you are on an XBox.

    If Console = False and IntensiveRendering = False you are on one of the third party extenders.
    Charlie Owen (Microsoft)
  •  07-29-2010, 4:23 AM 9742 in reply to 9737

    Re: Media Center Extender Question

    Andy and Charlie, Thanks a million.. i didn't notice it was included in the SDK samples.
    This Console attribute is a saver :).

    Also thanks for the clarifying on the IntensiveRendering state.
    Xive.
  •  11-01-2010, 4:00 AM 9966 in reply to 9737

    Re: Media Center Extender Question

    Charlie:
    See the ObjectModelMediaCenterEnvironmentCapabilities.mcml sample in the v6 SDK.

    If Console = False you are on an Extender.

    If Console = False and IntensiveRendering = True you are on an XBox.

    If Console = False and IntensiveRendering = False you are on one of the third party extenders.


    Charlie,

    we have encountered a Problem on the XBox 360 (S). At the moment it’s not clear if its only on the new Xbox S or on all models.

    It’s not possible for us to distinguish between an Xbox 360 (S) or an 3rd Party Extender.
    IntensiveRendering capability is not set on a Extender Session.


    http://thegreenbutton.com/forums/t/94886.aspx

    The MCML Sample from the SDK also don’t work as expected.

    Can You advice ?

    Thanks,

    DanB
    #


  •  11-01-2010, 8:48 AM 9968 in reply to 9966

    Re: Media Center Extender Question

    Sounds like a regression - I'm sure it worked in the past.

    Andrew
  •  11-02-2010, 10:43 AM 9973 in reply to 9968

    Re: Media Center Extender Question

    Hi Andy,

    so if this bug is not on the XBox Side, with an RTM installation of W7 it could proberly still work.

    It would be helpfull if someone test it on an older XBox 360. i dont have the time at the moment to setup an RTM enviroment.

  •  11-06-2010, 4:04 PM 9974 in reply to 9973

    Re: Media Center Extender Question

    I checked with my Windows 7 install with all updates applied as of this date (Nov 6 2010) and this is what I see...

    Capability | Computer | XBox 360 Original | XBox 360 S
    DirectX | True | [Null] | [Null]
    Audio | True | True | True
    Video | True | True | True
    IntensiveRendering | True | [Null] | [Null]
    Console | True | [Null] | [Null]
    TVDisplay | [Null] | True | True

    As far as I can tell, the XBox 360 original console and the slim version match across all of the capabilities, although those values now appear different than when we originally shipped the platform and SDK at Windows 7 RTM. You can still easily tell when you are on an extender vs. computer.

    Frankly, I would simply ignore the existence of the hardware based extenders. There are few out in the wild and shrinking everyday as a percentage of all extenders. It doesn't make sense to specifically code / account for their differences. At this point, they aren't being produced anymore and they sold so few in quantity as to make them a rounding error.
    Charlie Owen (Microsoft)
  •  11-06-2010, 10:24 PM 9975 in reply to 9974

    Re: Media Center Extender Question

    Thanks for the confirm, Charlie. Due to how the devices handle xvid and some other video types, it is very useful to differentiate an xbox from a regular extender. If xbox then I can skip over alot of code I have to write to deal with the transport duration bug when MC starts playing xvid on a DMA2200. Given your closing remarks, it looks the "extender" name should just be Xbox --since it doesn't sound like there will ever be anymore 3rd party extenders. If that's the case,I would love for MS to adopt a straightforward "if it plays on the PC it plays on the Xbox Extender" mantra. :)
  •  02-02-2011, 2:08 AM 10054 in reply to 9975

    Re: Media Center Extender Question

    I know this is an old thread, but it there any way of getting any extra info from the extender?

    By that, I mean I want to (effectively) set up a 'static' reference for each extender. Ie, when an extender (ext1) first connects and loads my plugin, it will register itself with a local service. When another extender (ext2) connects it will also register itself. What I'm wanting is a way to say that '1' always maps to ext1 , and '2' always maps to ext2 in my service so that it doesn't matter which order the extenders connect. I was thinking of something like maybe MAC address or IP address (assuming they do static IP addresses in their network)

    It's not a massive deal, I just though it'd be nice for the end user to not have to know which order the extenders connected to the service to know which one they were trying to control...

    (Sorry if I've not explained that very well)
  •  02-03-2011, 11:01 PM 10057 in reply to 10054

    Re: Media Center Extender Question

    Extenders appear a bit like an RDP session on the PC, with the first connected extender (i.e. the first one that was paired with the PC) using the username Mcx1, the second using the username Mcx2, and so on. So, you can map using this method.

    I wrote a control server for a client several years ago, which used a similar technique - registering the extender "sessions" with a central service. Ultimately I abandoned the approach as it was impossible to unregister reliably. Instead I went to an approach of scanning the system for "ehShell" processes, and got the username from these to track the sessions, as it was guaranteed to be accurate.

    Cheers,
    Andrew
  •  02-07-2011, 2:15 AM 10058 in reply to 10057

    Re: Media Center Extender Question

    Awesome, thanks! I'll look into implementing that style too :)
  •  02-10-2011, 3:51 PM 10059 in reply to 10058

    Re: Media Center Extender Question

    Did this get fixed with SP1? Or is it still there and no one cares?
  •  02-11-2011, 8:58 AM 10060 in reply to 10059

    Re: Media Center Extender Question

    Let me think about that one... :)
View as RSS news feed in XML
Powered by Community Server, by Telligent Systems