IMediaObject::ProcessInput (Compact 2013)
3/26/2014
This method delivers a buffer to the specified input stream.
Syntax
HRESULT ProcessInput(
DWORD dwInputStreamIndex,
IMediaBuffer* pBuffer,
DWORD dwFlags,
REFERENCE_TIME rtTimestamp,
REFERENCE_TIME rtTimelength
);
Parameters
- dwInputStreamIndex
Zero-based index of an input stream on the DMO.
- pBuffer
Pointer to the buffer's IMediaBuffer interface.
- dwFlags
Bitwise combination of zero or more flags from the DMO_INPUT_DATA_BUFFER_FLAGS enumeration.
- rtTimestamp
Time stamp that specifies the start time of the data in the buffer. If the buffer has a valid time stamp, set the DMO_INPUT_DATA_BUFFERF_TIME flag in the dwFlags parameter. Otherwise, the DMO ignores this value.
- rtTimelength
Reference time specifying the duration of the data in the buffer. If this value is valid, set the DMO_INPUT_DATA_BUFFERF_TIMELENGTH flag in the dwFlags parameter. Otherwise, the DMO ignores this value.
Return Value
Returns an HRESULT value. Possible values include the following.
Value |
Description |
---|---|
S_OK |
Success |
S_FALSE |
No output to process |
Invalid stream index |
|
Data cannot be accepted |
Remarks
If the DMO does not process all the data in the buffer, it keeps a reference count on the buffer. It releases the buffer once it has generated all the output, unless it needs to perform a lookahead on the data. To determine whether a DMO performs a lookahead, call the IMediaObject::GetInputStreamInfo method.
If this method returns DMO_E_NOTACCEPTING, call the IMediaObject::ProcessOutput method until the input stream can accept more data. To determine whether the stream can accept more data, call the IMediaObject::GetInputStatus method.
If the method returns S_FALSE, no output was generated from this input and the application does not need to call ProcessOutput. However, a DMO is not required to return S_FALSE in this situation; it might return S_OK.
See Also
Reference
IMediaObject
IMediaObject::GetInputStreamInfo
IMediaObject::ProcessOutput
IMediaObject::GetInputStatus
IMediaBuffer
DMO_INPUT_DATA_BUFFER_FLAGS
DMO_INPUT_DATA_BUFFER_FLAGS
DMO_INPUT_DATA_BUFFER_FLAGS
DMO Error Codes