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
Send comments about this topic to Microsoft
Build date: 1/23/2012