The Multimedia framework can be extended through writing several types of plug-in:
A controller plug-in supports playing or recording one or more multimedia formats (usually for a particular media type, such as audio)
A format decoder plug-in reads a particular media data format; a format encoder plug-in writes a particular media data format
A codec plug-in converts media data between two different encodings (compression/decompression algorithms)
A source plug-in encapsulates handling reading data from a source of media data; a sink plug-in encapsulates handling writing data to a media output device
You are advised to familiarise yourself with the information on how to write a controller plugin before attempting to write any of the other plugins.