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