Notifies a Media Foundation transform (MFT) that an input stream has ended.

Message Parameter

The ulParam parameter contains the identifier of the input stream, specified as a DWORD value. In 64-bit applications, place this value in the lower 32-bits of the ULONG_PTR.


To send this message, call IMFTransform::ProcessMessage.

The client is not required to send this message.

After a stream ends, the client may call ProcessInput again to send new data for that stream. If so, the client must set the discontinuity attribute (MFSampleExtension_Discontinuity attribute) on the first input sample after the stream ends. (The client should always set this attribute on the first new sample after a stream ends, regardless of whether the client sent the MFT_MESSAGE_NOTIFY_END_OF_STREAM message. For more information about handling discontinuities, see Basic MFT Processing Model.)

After sending this message for every input stream, the client typically sends an MFT_MESSAGE_COMMAND_DRAIN command and then collects the remaining output. However, the client is not required to drain the MFT. If the client does not drain the MFT, the MFT will typically discard any unprocessed data on the next call to ProcessInput, when it detects the stream discontinuity. Alternatively, the client might flush the MFT before calling ProcessInput.

This message does not remove the input stream or reset the media type.


An MFT is not required to respond to this message.


Requirement Value
Minimum supported client
Windows Vista [desktop apps only]
Minimum supported server
Windows Server 2008 [desktop apps only]

See also