Microsoft DirectX 8.1 (C++)

Step 4. Process Input

At this point, you can deliver input buffers to the DMO.

For each input stream, fill one or more input buffers with media data. You can write data directly into a buffer, or use an output buffer from another DMO. Call the ProcessInput method to deliver each buffer. Typically, the DMO holds a reference count on the buffer. It releases the buffer when it has generated all of the output that it can, or when the application flushes the DMO. Do not re-use the buffer until the DMO releases it.

To determine whether an input stream can accept more data, call the IMediaObject::GetInputStatus method. If the stream can accept more data, the method returns the DMO_INPUT_STATUSF_ACCEPT_DATA flag.