![]() |
![]() |
![]() |
![]() |
This chapter provides reference information about the interfaces that a filter has to implement to be used by the Multimedia library. Some of the interfaces are defined in the Addon Interface Library (the AO* interfaces), while others are defined in the Multimedia library (Media* interfaces). For a description of how to write a filter, see the Extending the Multimedia library chapter.
| Interface | Description | Used in |
|---|---|---|
| AODeConstructor | Create and destroy interface for a filter | All filters |
| AOStreamInspector | A stream inspection interface | Any filter with a streaming input of raw data |
| AOFormatInspector | A format inspection interface | Decoders and writers working with formatted data |
| AOExtInspector | A file extension interface | Any reader that takes streaming input (not implemented by existing Multimedia filters) |
| AOMimetypeInspector | A mimetype inspection interface | Parsers |
| AOResourceAccess | A filter resource manipulation interface | Any filter that exposes resources |
| MediaReader | An input stream interface | Readers |
| MediaWriter | A stream writer interface | Writers that output to a streamer (such as the raw file or wave file writers) |
| MediaInput | Input channel interface | Filters with one or more input channels |
| MediaOutput | Output channel interface | Filters with one or more output channels |
| MediaControl | Playback control interface | Filters that need to respond to a Pause(), for example, frame-based filters that need to start at the beginning of a frame |
| MediaSeeker | Seek interface | Filters that need to respond to a Seek() |
| MediaClock | Clock synchronization interface | Writers. The library implements a default MediaClock, which is used by the existing audio writer filter. |
| MediaBufferAllocator | Buffer allocation interface | Any filter that uses custom buffer allocation. The library implements a default MediaBufferAllocator, which existing Multimedia filters use. |
More information about the AO* interfaces can be found in the Addon Interfaces Library Reference.
![]() |
![]() |
![]() |
![]() |