Abstraction layers
Media applications link in the mm-renderer client library, libmmrndclient.so, so they can talk to the mm-renderer service. The service uses a layered architecture to process client commands, manage playback contexts and event queues, and load plugins to handle media flows from input to outputs.
The mm-renderer architecture consists of three abstraction layers:
- Messaging layer
- This layer receives messages from the client library, unpacks the arguments, and calls the corresponding functions in the core library. Essentially, this layer ensures client messages are delivered to the right contexts (playback zones). It also reads the event queues and function call results written by the core library and returns the appropriate data to clients.
- Core library
- This layer is the central component of mm-renderer. In addition to implementing the API so it can process client requests sent through the higher layer, the core library handles the initial setup and manages all components involved in media playback and event reporting.
- Plugins
- The plugins handle the flow of media content between inputs and outputs.
Page updated:
