Implementing the DMO Methods (Compact 2013)

3/26/2014

The IMediaObjectImpl template provides partial implementations for the following IMediaObject methods.

The derived class must provide a corresponding method, which the IMediaObject method calls internally. The internal methods have the prefix Internal- to the method name. The internal methods use the same parameters as the interface methods.

IMediaObject method

Derived class method

IMediaObject::AllocateStreamingResources

InternalAllocateStreamingResources

IMediaObject::Discontinuity

InternalDiscontinuity

IMediaObject::Flush

InternalFlush

IMediaObject::FreeStreamingResources

InternalFreeStreamingResources

IMediaObject::GetInputMaxLatency

InternalGetInputMaxLatency

IMediaObject::GetInputSizeInfo

InternalGetInputSizeInfo

IMediaObject::GetInputStreamInfo

InternalGetInputStreamInfo

IMediaObject::GetInputType

InternalGetInputType

IMediaObject::GetOutputSizeInfo

InternalGetOutputSizeInfo

IMediaObject::GetOutputStreamInfo

InternalGetOutputStreamInfo

IMediaObject::GetOutputType

InternalGetOutputType

IMediaObject::ProcessInput

InternalProcessInput

IMediaObject::ProcessOutput

InternalProcessOutput

IMediaObject::SetInputMaxLatency

InternalSetInputMaxLatency

For the remaining IMediaObject methods, there is not a one-to-one correspondence between interface methods and internal methods.

The following table summarizes which methods are fully implemented by the template and which methods call helper methods from the derived class.

IMediaObject method

IMediaObjectImpl implementation

IMediaObject::GetInputCurrentType

Fully implemented.

IMediaObject::GetOutputCurrentType

Fully implemented.

IMediaObject::GetStreamCount

Fully implemented.

IMediaObject::GetInputStatus

Calls InternalAcceptingInput.

IMediaObject::Lock

Implemented as DMOLock.

Calls Lock or Unlock.

IMediaObject::SetInputType

Calls InternalCheckInputType.

IMediaObject::SetOutputType

Calls InternalCheckOutputType.

See Also

Reference

Using the DMO Base Class
DirectX Media Objects Reference
DMO Base Class Reference