IVMRMixerControl::SetMixingPrefs

 
Microsoft DirectShow 9.0

IVMRMixerControl::SetMixingPrefs

Sets the mixing preferences for the stream.

Syntax

  HRESULT SetMixingPrefs(
  DWORD dwMixerPrefs
);

Parameters

*dwMixerPrefs *

[in]  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:

// 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

Header: Declared in Strmif.h; include Dshow.h.

Library: Use Strmiids.lib.

See Also