Custom Topology Loader RRS feed

  • Question

  • Hi,

    I want to use a custom topology loader and as I understand you just set the attribute MF_SESSION_TOPOLOADER on the media session: hr = attr->(MF_SESSION_TOPOLOADER, myTopoLoaderCLSID)

    This will work if the class is registered because the media session calls CoCreateInstance etc.

    But what can be done if the class is not registered?

    Is there something similair to MFTRegisterLocal(...)?

    best regards,


    Wednesday, January 15, 2014 9:36 AM

All replies

  • Hello.

    I think it's possible, but i don't remember exactly how.

    You have to use struct for your custom topology and CLSID, all inside the code. The last sample code i saw using this technic, was a DirectShow source code for a custom video renderer filter. Try to find it other internet.

    • Edited by Miaou77 Wednesday, January 15, 2014 9:17 PM
    Wednesday, January 15, 2014 9:12 PM
  • Hello,

    I think you can use a custom topoloader, without registering it.

    First you create partial topology, the you instantiate your IMFTopoLoader-derived class, then you call Load() on your custom loader, passing your partial topology.

    And if it succeed, the new topology can be set on the media session via

    IMFMediaSession::SetTopology( MFSESSION_SETTOPOLOGY_NORESOLUTION, pNewTopologyFromCustomTopoLoader );

    Friday, June 20, 2014 1:51 PM