IMFTransform::GetOutputStatus method

Queries whether the Media Foundation transform (MFT) is ready to produce output data.

Syntax

HRESULT GetOutputStatus(
  DWORD *pdwFlags
);

Parameters

pdwFlags

Receives a member of the _MFT_OUTPUT_STATUS_FLAGS enumeration, or zero. If the value is MFT_OUTPUT_STATUS_SAMPLE_READY, the MFT can produce an output sample.

Return Value

The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.

Return code Description
S_OK
The method succeeded.
E_NOTIMPL
Not implemented.
MF_E_TRANSFORM_TYPE_NOT_SET
The media type is not set on one or more streams.

Remarks

If the method returns the MFT_OUTPUT_STATUS_SAMPLE_READY flag, it means you can generate one or more output samples by calling IMFTransform::ProcessOutput.

MFTs are not required to implement this method. If the method returns E_NOTIMPL, you must call ProcessOutput to determine whether the transform has output data.

If the MFT has more than one output stream, but it does not produce samples at the same time for each stream, it can set the MFT_OUTPUT_STATUS_SAMPLE_READY flag when just one stream is ready. However, if the MFT normally produces samples at the same time for each output stream, it should not set this flag until all streams are ready.

After the client has set valid media types on all of the streams, the MFT should always be in one of two states: Able to accept more input, or able to produce more output.

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTGetOutputStatus. See Creating Hybrid DMO/MFT Objects.

Requirements

   
Windows version Windows Vista [desktop apps | UWP apps] Windows Server 2008 [desktop apps | UWP apps]
Target Platform Windows
Header mftransform.h
Library Mfuuid.lib

See Also

IMFTransform

Media Foundation Transforms