locked
IMFTopoloader::Load() Throwing error MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_MEDIATYPE_COMBINATION RRS feed

  • Question

  • I am trying to record Audio and Video from a web cam currently. The incomming types are YUY2 for Video and IEEE_Float for Audio. I have video correctly recording, using a color converter Transform to NV12 and an H264 Encoder with the MPEG4 file sink (all of these are the built in Microsoft Codecs, Media Sinks, and DSP's)

     

     

    Overall Topology:

     

    VideoSourceNode- Tee - EVR

                                   \_ Color Converter to NV12 --- H264 Transform ---- Video Stream Sink

     

    AudioSourceNode- Tee - SAR

                                   \_ Float To PCM Converter ---- AAC Transform---- Audio Stream Sink

     

    I need to record Audio as well. The audio quality overall will have to be somewhat decent, so I need to keep the sample rate at what it is when I record (44100), but need the format to be converted to PCM 16 bit. The Resampler doesn't seem to convert the 32 bit float to a 16 bit PCM, so I had to make my own transform to accomplish this task. 

    I am setting up a media session- the types all check out according to the documentation, and I get an "S_OK" when I set the topology but nothing happens. Checking the event logs, I get this:

    1- IMFTopoLoader::Load start

    2- Creating Transform "Resampler DMO" returned 0x0

    3- IMFTopoLoader::Load returned 0xc00d6d6f

    The Code returned is "MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_MEDIATYPE_COMBINATION"

    I've checked and double checked the types and they all match what the documentation requires- Does anyone have a suggestion on where I else I might be able to look?


    Friday, March 25, 2011 1:54 AM