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
DMO Reference | DMO Base Class Reference
Send Feedback on this topic to the authors