Deciding whether to run mm-control

You can choose whether or not to run mm-control in your car system. The mm-control service is a convenience feature that allows you to issue a default set of media commands through PPS. But you can replace mm-control with your own PPS-based service or write applications that access the lower-level multimedia services.

By default, mm-control is launched during bootup by the System Launch Monitor (SLM) utility. To prevent mm-control from being started, you can edit the SLM configuration file (see the Preventing mm-control from running section).

When to use mm-control

You should use mm-control if you want to:

When not to use mm-control

You shouldn't use mm-control, but instead use an alternative mechanism for handling media operations if you want to:

There are three alternatives to using mm-control. You can:

Note: To use Media Player when you're not running mm-control, you must modify the application so it uses one of the mechanisms listed in the first two alternatives.

Writing a replacement for mm-control

You can write your own middle layer for processing media commands sent by HMI applications written in HTML5.

A middle-layer component with a PPS interface is an easy design option because the QNX CAR application platform 2.0 RR includes the JNEXT PPS extension, which provides JavaScript functions for accessing PPS objects. Using this provided extension saves you from writing your own extension that wraps the API calls to native (i.e., nonweb) applications in JavaScript.

For an example of accessing PPS by using JNEXT, see the Media Player code, located in /apps/MediaPlayer.testDev_MediaPlayer49ba23c5/native/.

Writing applications that use the HTML5 media extensions

You can write HMI applications that use the standard HTML5 audio and video extensions for media operations. This lets you avoid using a middle layer or writing any JNEXT extensions.

The web browser in the HMI uses the HTML5 audio and video extensions to play media files. These extensions are part of a webkit that transparently invokes mm-renderer to manage media playback.

Writing applications that directly access multimedia services

If your system design requires that you program in C, you can write HMI applications that directly access individual multimedia services instead of sending PPS commands through a middle layer. With this design, your code can call the API functions of the mm-trkmgr, mm-renderer, and DLNA services, and then read the return codes and error information sent back by these APIs to interpret the results of media operations.