Implementing the DMO Methods
A version of this page is also available for
4/8/2010
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 |
---|---|
InternalAllocateStreamingResources |
|
InternalDiscontinuity |
|
InternalFlush |
|
InternalFreeStreamingResources |
|
InternalGetInputMaxLatency |
|
InternalGetInputSizeInfo |
|
InternalGetInputStreamInfo |
|
InternalGetInputType |
|
InternalGetOutputSizeInfo |
|
InternalGetOutputStreamInfo |
|
InternalGetOutputType |
|
InternalProcessInput |
|
InternalProcessOutput |
|
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 |
---|---|
Fully implemented. |
|
Fully implemented. |
|
Fully implemented. |
|
Calls InternalAcceptingInput. |
|
Implemented as DMOLock. Calls Lock or Unlock. |
|
Calls InternalCheckInputType. |
|
Calls InternalCheckOutputType. |