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.
 |