MF_MT_AUDIO_SAMPLES_PER_SECOND can't dynamic chage

I'm making audio decoder MFT and using AudioRenderer as a sink.

I tried to dynamic chage MF_MT_AUDIO_SAMPLES_PER_SECOND. it didn't work.

I tried to chage 44.1khz to 48khz. GetOutputAvailableType() was called and I set 48000to MF_MT_AUDIO_SAMPLES_PER_SECOND. after that SetOutputType() was called but MF_MT_AUDIO_SAMPLES_PER_SECOND was still set to 44100.

I all so tried to dynamic chage MF_MT_AUDIO_NUM_CHANNELS 6 channels to 2 channedls and MF_MT_AUDIO_SAMPLES_PER_SECOND at same time.
Channels and MF_MT_AUDIO_SAMPLES_PER_SECOND changed succesufly.

How to dynamic chage MF_MT_AUDIO_SAMPLES_PER_SECOND with out chaging MF_MT_AUDIO_NUM_CHANNELS

Thanks.

kasumi



Answer this question

MF_MT_AUDIO_SAMPLES_PER_SECOND can't dynamic chage

  • bohiti

    The MF audio renderer doesn't handle dynamic changes between sample rates.

    But it should be pretty easy to do the dynamic format changes you want to do in audio: Put a resampler MFT in your topology just upstream of the output node for the audio renderer. Vista has an audio resampler availabler which you can get to through MFTEnum (category=MFT_CATEGORY_AUDIO_EFFECT). This MFT will handle a changing input type.

    Becky



  • MF_MT_AUDIO_SAMPLES_PER_SECOND can't dynamic chage