Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

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 IMediaBufferinterface.

dwFlags

Bitwise combination of zero or more flags from the DMO_INPUT_DATA_BUFFER_FLAGSenumeration.

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_TIMEflag in the dwFlagsparameter. 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_TIMELENGTHflag in the dwFlagsparameter. Otherwise, the DMO ignores this value.

Return Value

Returns an HRESULTvalue. 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::GetInputStreamInfomethod.

If this method returns DMO_E_NOTACCEPTING, call the IMediaObject::ProcessOutputmethod until the input stream can accept more data. To determine whether the stream can accept more data, call the IMediaObject::GetInputStatusmethod.

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

Windows Embedded CE Windows CE .NET 4.1 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also