QNX OpenMAX-Compliant Media Engine

Updated: April 19, 2023

The Multimedia for QNX SDP includes a media engine that implements the Khronos Group's standard OpenMAX AL interface as well as some QNX additions. These additions let you extract, transcode, play, and record audio and video content in specific formats.

The QNX-extended interface complies with the OpenMAX AL 1.1 specification and supports the Media Player and Media Player/Recorder profiles for the following objects:
Note: The other objects in the specification (e.g., Radio) are unsupported at this time.
You can use this interface for operations that the mm-renderer service doesn't support, such as video recording. The OpenMAX engine fulfills the same basic purpose as mm-renderer, managing media flows between inputs and outputs, as illustrated here:

Diagram showing media flow between possible input sources, OpenMAX engine, and possible output sinks
Figure 1. Media flow between inputs, OpenMAX engine, and outputs

The input can be raw audio content delivered by io-audio, a media file, or a video buffer in memory written to by the Screen Graphics Subsystem or the Camera framework. The output can be another driver loaded into io-audio (to direct the audio to a different hardware device), a window in Screen, a media file, or memory belonging to the application. For this last output type, the application can decide what to do with the media content (e.g., stream it over the network).

Note: For a listing of all supported file containers and associated file extensions, audio and video formats, audio and video codecs, and playlist types, see the product release notes.