Writing a Source/Sink Plugin

Multimedia Framework (MMF) data source and data sink plugins are software abstractions for a source and sink of multimedia data. Data source and data sink plugins are ECom plugins that are intended to be used in conjunction with an MMF controller plugin. Examples of MMF source plugins include: audio input plugins for a microphone, a camera, an RTP stream, a file and a descriptor. Examples of MMF sink plugins include: audio output for a speaker, a display, an RTP stream, a file and a descriptor. The MMF provides standard source plugins for an audio input, a file and a descriptor. It is possible to develop source plugins for other sources of multimedia data provided they conform to the MDataSource API. The MMF also provides standard sink plugins for an audio output, a file and a descriptor. It is possible to develop sink plugins for other sinks of multimedia data provided they conform to the MDataSink API.

Sources and sinks are owned by the controller framework and are added to the controller, but not owned by the controller. See writing a controller plugin for more information.

To write a MMF Source/Sink Plugin, the following needs to be done:

  • Write the appropriate source .cpp and .h files that make up the implementation of the source/sink plugin. See Creating a Source Plugin and Creating a Sink Plugin.

  • Write a resource file defining the formats available in the plugin DLL.

  • Write the appropriate build files.