iPod Plugin

The mm-player service uses the iPod plugin to play media files stored on iPods.

Figure 1. iPod Plugin Architecture

Note that this plugin doesn't support the mm-player browsing operations. This means that in the HMI, you can see iPod media content only after it's been synchronized to QDB databases. For information on synchronization, see the "synceddb Plugin" section.

The iPod plugin uses C APIs to communicate with the ipodlib library for internally browsing and managing playback of iPod media content, and with the mm-renderer service for managing playback.

When the user plays media files stored on iPods, the plugin directs playback commands to both ipodlib and mm-renderer. The ipodlib library talks to the iPod driver, which sends sample-rate updates to the active audio capture driver (e.g., deva-ctrl-ipod.sa) to control the media stream. This driver receives the media stream from the iPod device, processes the stream, and passes it as input to mm-renderer. The mm-renderer service then directs the media stream to io-audio for output.

To provide playback status updates to the HMI, mm-player uses the car.mediaplayer WebWorks extension (for more information, see the multimedia architecture overview in the QNX CAR Multimedia Architecture Guide).