Share via


IMediaObject::ProcessInput

A version of this page is also available for

Windows Embedded CE 6.0 R3

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

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

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

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