The multimedia renderer provides contexts, each of which can play stream of media content concurrently with and independently of other contexts. Each context can direct output to a different set of output devices, creating independent zones of operation.
mm-renderer determines the operations that are valid for a particular context based on the inputs and outputs that are attached to it. You can use a context for operations other than playing, by setting its output appropriately. Depending on the operation being performed by the context, some function calls may not be supported. For example, if the input is an audio media source and the output is a file, the context will record the audio stream to the file rather than playing it through a media device. In this case, mmr_play(), mmr_seek(), and similar functions won't work.
Your application must connect to the mm-renderer service before it can create a context. When your application creates a context, the context has a unique name but no other properties are set. For subsequent operations, your application accesses the context through the context handle.
You can control properties of the context's operation (for example, audio volume) by attaching parameters to the context or to each input or output. For more information, see Parameters .