IKsVideoProcessing::ProcessOutput method

The system-supplied KSProxy module calls IKsVideoProcessing::ProcessOutput to retrieve data from the plug-in's output.

Syntax

HRESULT ProcessOutput(
  PKSSTREAM_HEADER pData,
  AsyncStatus *pStatus
);

Parameters

  • pData
    A pointer to a AsyncStatus structure that contains processed media data.

  • pStatus
    A pointer to a AsyncStatus structure that contains the completion event handle. If this method returns E_PENDING, the plug-in should later signal completion by using AsyncStatus.hCompletionEvent.

Return value

This method returns one of the following values:

Return code Description
S_OK

The plug-in has successfully retrieved the output data.

E_PENDING

The method could not process the buffer immediately.

E_FAIL

The plug-in cannot process the buffer.

 

Remarks

The plug-in should fill in the pData buffer with processed data. When a buffer is ready, the plug-in should signal pStatus->hCompletionEvent to notify the client about the availability of a buffer on the plug-in's output.

If the plug-in has to hold on to the data for a long time, it should return E_PENDING from this method, queue the buffer, and signal the pStatus->hCompletionEvent when it is done with the buffer.

This method enables data processing to be asynchronous and enables input and output frame rates to be different.

IKsVideoProcessing is defined in Ksvidprocplugin.h. The contents of this header file are provided in Providing a Video Post-Processing Plug-in.

This method is a pure virtual method that is implemented by the vendor-supplied plug-in.

See also

IKsVideoProcessing::ProcessInput

AsyncStatus

 

 

Send comments about this topic to Microsoft

Build date: 1/23/2012