IMediaObject::ProcessInput (Windows CE 5.0)
This method delivers a buffer to the specified input stream.
HRESULT ProcessInput(DWORDdwInputStreamIndex,IMediaBuffer* pBuffer,DWORDdwFlags,REFERENCE_TIMErtTimestamp,REFERENCE_TIMErtTimelength);
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 Values
Returns an HRESULT value. Possible values include the following.
Value | Description |
---|---|
S_OK | Success |
S_FALSE | No output to process |
DMO_E_INVALIDSTREAMINDEX | Invalid stream index |
DMO_E_NOTACCEPTING | 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.
Requirements
OS Versions: Windows CE .NET 4.1 and later.
Header:
See Also
IMediaObject | IMediaObject::GetInputStreamInfo | IMediaObject::ProcessOutput | IMediaObject::GetInputStatus | IMediaBuffer | DMO_INPUT_DATA_BUFFER_FLAGS | DMO_INPUT_DATA_BUFFERF_TIME | DMO_INPUT_DATA_BUFFERF_TIMELENGTH | DMO_E_INVALIDSTREAMINDEX
Send Feedback on this topic to the authors