IVMRMixerControl::SetMixingPrefs method (strmif.h)

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

Sets the mixing preferences for the stream.

Syntax

HRESULT SetMixingPrefs(
  [in] DWORD dwMixerPrefs
);

Parameters

[in] dwMixerPrefs

Bitwise OR combination of VMRMixerPrefs flags.

Return value

If the method succeeds, it returns S_OK. If it fails, it returns an error code.

Remarks

The flags for the mixing preferences are divided into three groups: decimation, filtering, and render target. The VMRMixerPrefs enumeration defines bitmasks to isolate these flags:

  • MixerPref_DecimateMask
  • MixerPref_FilteringMask
  • MixerPref_RenderTargetMask
You must specify a valid flag for each group. If you want to change a single flag, you can get the current preferences, remove the flag you don't want, and add the flag you want. For example:
C++
// Get the current mixing preferences.
DWORD dwPrefs;
pMixControl->GetMixingPrefs(&dwPrefs);  

// Remove the current render target flag. dwPrefs &= ~MixerPref_RenderTargetMask;

// Add the render target flag that we want. dwPrefs |= MixerPref_RenderTargetYUV;

// Set the new flags. pMixControl->SetMixingPrefs(dwPrefs);

If the VMR is in renderless mode, you must set the allocator-presenter before calling SetMixingPrefs. Otherwise, the VMR cannot determine the capabilities of the Direct3D device.

Requirements

Requirement Value
Minimum supported client Windows XP with SP1 [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header strmif.h (include Dshow.h)
Library Strmiids.lib

See also

Error and Success Codes

IVMRMixerControl Interface

Using the Video Mixing Renderer