QNX® Aviage Multimedia Suite 1.2.0 Alpha 20.13.0 Release Notes

Date of this edition: February 17, 2009

Target OS: This software is compatible with target systems running QNX® Neutrino® 6.4.0.

Host OS: You must have already installed the QNX® Momentics® development suite  6.4.0 as a self-hosted QNX Neutrino system, or on one of the following hosts:

Version of QNX Momentics Microsoft Windows Linux
6.4.0 Windows Vista, Vista 64-bit, XP SP2 or SP3, or 2000 SP4 Linux Red Hat Enterprise Workstation 4 or 5, Red Hat Enterprise Server 5.1 64-bit, Red Hat Fedora Core 6 or 7, Ubuntu 6.0.6 LTS or 7, or SUSE 10

Note: For information on installing this package, see the Installation Note.

Contents

Throughout this document, you may see reference numbers associated with particular issues, changes, etc. When corresponding with our Technical Support staff about a given issue, please quote the relevant reference number. You might also find the reference numbers useful for tracking issues as they become fixed.


Note: The QNX Aviage Multimedia Suite:
  • is compatible with generic filesystems, such as FAT32, ISO9660, and others provided with the QNX Neutrino operating system or with a QNX board support package. Media-specific filesystems, such as for Apple iPod devices and Microsoft PlaysForSure devices, are provided in the relevant QNX Aviage Multimedia Suite packages.
  • uses QDB, QNX's embeddable SQL database server that is based on the SQLite project (http://www.sqlite.org) and supports most SQL-92 syntax. For more information about what SQL-92 syntax SQLite doesn't support, see SQL Features That SQLite Does Not Implement on the SQLite web site.

What's in this package?

This package contains libraries, binaries, and source code for sample applications for the Multimedia Engine running on QNX Neutrino.

The main archive, mme_build20.13.0_feb18_09.zip, contains the following:

patch-630SP2-0315-mmedia-02-17-1436.tar
MME core product binaries.
patch-630SP2-0999-extra-aac-02-17-1436.tar
MME software codec for AAC files.
patch-630SP2-0315-extra-drm-02-17-1436.tar
MME binaries for DRM support.
patch-630SP2-0315-extra-mp3-02-17-1436.tar
MME binaries for MP3 support.
patch-630SP2-0315-extra-ipod-02-17-1436.tar
MME binaries for iPod support.
patch-630SP2-0999-extra-ipp-02-17-1436.tar
MME software codec for H.264 files.
patch-630SP2-0315-extra-pfs-02-17-1436.tar
MME binaries for PFS device support.
patch-630SP2-0315-extra-wma9-02-17-1436.tar
MME software codec for WMA files.

Note:
  • You should replace existing .sql and configuration files with the files included in this release.
  • Benchmarks for this release are available on request.
  • This alpha release has not been tested on Jacinto platforms.

 

Notices

This release includes changes and upgrades that require changes to your enviroment:

MME requires Neutrino 6.4

Starting with the Aviage MME 1.2 alpha 20.12 release, the MME requires a Neutrino 6.4 system.

Action:

Upgrade your system to Neutrino 6.4.


Changed data structures and enumerated types

With the release, enumerated types and data structures have changed, making binaries for this release incompatible with all previous releases.

Action:

Update all system components to QNX Aviage Multimedia Suite 1.2.0. Alpha 20.13.0. Your environment must not contain components from this release and from earlier releases.


New client library

The Aviage MME 1.2 alpha 20.12 release implemented a new client library, which rendered it and subsequent releases incompatible with releases older than the Aviage MME alpha 20.4 releases.

Action:

Recompile and relink all client applications to use this release.


Changes to locations of binaries

Starting with this release, some binary files are installed in a new location. Binaries that in previous releases were installed under target/qnx6/bin/, target/qnx6/sbin/ or target/qnx6/lib/ are now installed under target/qnx6/usr/bin/, target/qnx6/usr/sbin/ or target/qnx6/usr/lib/, as appropriate.

Affected components include:

The items under target/qnx6/lib/dll/ have not been moved.

Action:

Before installing this release, manually remove the old binaries from the old locations . If you do not remove the old binaries, you will not load the updated binaries when you execute.


Metadata plugins replace metadata synchronizers

In release MME 1.2 alpha 20.12, MDSs (metadata synchronizers) were been replaced by MDPs (metadata plugins).

Action:

If you are upgrading from a release prior to alpha 20.12, change the <MDS> element in your configuration file to <MDP>.


SQLite upgrade

In release MME 1.2 alpha 20.12, SQLite was upgraded to SQLite 3.6.3, and the MME and QDB now use SQLite 3.6.3:

Action:

Recompile any applications that link against the SQLite library directly.


Documentation

This release includes the following preliminary MME 1.2 documentation:

mme_patch_build20.13.0_inst.html
The installation note. Please read it before installing.
mme_patch_build20.13.0_rel.html
The release notes (this file).
ReleaseNotesMMF.20.x-7.mht
Release notes for the Margi component.
mme_intro.pdf
The Introduction to the MME, which includes:
mme_dev_guide.pdf
The MME Developer's Guide.
mme_api_ref.pdf
The MME API Library Reference.
mme_utils_ref.pdf
The MME Utilities Reference.
mme_config_guide.pdf
The MME Configuration Guide.
mme_tn_ref.pdf
MME Technotes.
qdb_dev_guide.pdf
The QDB Developer's Guide.

What's new in this release

This release introduces many new features and improvements, and deprecates some features available in older releases:

New features

The table below lists the most significant new features and updates that were implemented in this release. For more complete information about these and other features in this release, please refer to the MME documentation.

Feature See
New playlist exploration API “Examining playlists” in the MME Developer's Guide chapter Playlists, and the entries for the various mme_playlist_*() functions in the MME API Library Reference.
New event informs clients with asynchronous connections of change to preferred default language for media. New event delivered by mme_media_set_def_lang() below.
New qdb thread management options New qdb -o thread* options below.
New image processing capabilities. PR 65438 below; and “Enabling an image processing module” and “The <Transcode> element and its sub-elements” in the MME Configuration Guide chapter Configuring Metadata Support.
MM_IPP_VIDEO_DECODER_NUM_THREADS mmf resource MM_IPP_VIDEO_DECODER_NUM_THREADS resource below.
Improved method for counting consecutive play errors “Configuring track session failure settings” in the MME Configuration Guide chapter Configuring Playback.

New event delivered by mme_media_set_def_lang()

Starting with this release, the function mme_media_set_default() delivers the event MME_EVENT_DEFAULT_LANGUAGE so that asynchronous clients are notified that the default preferred language has been successfully set, or that the attempt to change the default language has failed.

MME_EVENT_DEFAULT_LANGUAGE

The MME function mme_media_set_def_lang() delivers the event MME_EVENT_DEFAULT_LANGUAGE to indicate that the default preferred language for a media item has been set.

Event data

The success or failure of the default preferred language update, and the preferred language, in mme_event_default_language_t.


Note: The string in mme_event_default_language_t.language always indicates the current default preferred language. That is, if mme_media_set_def_lang() is unable to change the default language to the requested language, this string will indicate the preferred language before the function call was made (because it is still the set preferred language).

Database tables updated

No database tables are updated.


mme_event_default_language_t

Default language event information

Synopsis

#include <mme/types.h>

typedef struct s_mme_default_language_event {
    int        error;
    const char language[1];
} mme_event_default_language_t;

Description

The structure mme_event_default_language_t carries information delivered with a MME_EVENT_DEFAULT_LANGUAGE event, including the result of the last attempt to set the default language, and a NULL termianted string indicating the current default language. It includes at least the members described in the table below.

Member Type Description
error int The result of the last request; this member is set to EOK on success.
language const char A NULL terminated string that indicates the current default language.

New qdb -o thread* options

In order to ensure that the MME and QDB do not enter into a deadlock due to an inadequate number of available threads for the QDB:

See also “QDB/MME lockup problem and solution” in the MME Configuration Guide chapter MME Configuration Tips and Troubleshooting.


MM_IPP_VIDEO_DECODER_NUM_THREADS resource

The mmf MM_IPP_VIDEO_DECODER_NUM_THREADS resource is used to configure the number of threads available for video decoding. It was formerly called MM_IPP_H264_DECODER_NUM_THREADS .

Note also that this resource does not use a filter attribute. For example:

resource {
    name = "MM_IPP_VIDEO_DECODER_NUM_THREADS"
    type = long
    value = 2
    optional = yes
}

Deprecated and removed features

The table below lists the features and capabilities that have be deprecated or removed from this release.

Feature Status Reference
qdb_transaction() Previously deprecated; removed from the QDB client library. 48615
qdb -o thread option Deprecated; see New qdb -o thread* options above. 65069

QNX Aviage Multimedia Core 1.2.0 binaries

The standard QNX Aviage Multimedia Suite binaries are delivered in the patch-630SP2-0315-mmedia-mm-dd-hhmm.tar pathc. They include the binaries, DLLs, and SQL configuration files required to run the QNX Aviage Multimedia Core 1.2.0 and support binaries. Binaries for features requiring special licenses are listed under Binaries requiring special licenses below.

These files are installed under target/qnx6/, under the subdirectories for the supported target platform:

These SQL support files are installed under target/qnx6/sql/:

These configuration files are installed under target/qnx6/etc/:

Headers and libraries

The following files are included under target/qnx6/[target]/:

The following files are included under target/qnx6/usr/include/:

In addition to the files listed above, target/qnx6/usr/include/ includes the libxml directory with third-party header files for libxml2.

Sample applications

Sample applications with their source code and required headers and libraries are delivered in the QNX Aviage Multimedia Core 1.2.0 patch patch-630SP2-0315-mmedia-mm-dd-hhmm.tar.

Sample source code

The sample source code is installed under target/qnx6/examples/*. These applications illustrate various features and functionality provided by the MME. You can view command-line options for these applications by typing “use” then the application name. For example: use mmecli will list the command-line options for mmecli.

The sample applications are:

If you have QNX Momentics PE, you can compile the sample applications using the IDE or the command-line tools; if you have SE, you have to use the command-line tools.

Binaries for packages requiring special licenses

Binaries for features requiring special licenses are delivered in individual patches.

QNX Aviage Multimedia Software Codec for AAC 1.2.0

The patch patch-630SP2-0999-extra-aac-mm-dd-hhmm.tar contains the binaries for AAC codec support:

QNX Aviage Multimedia Software Codec for MP3 1.2.0

The patch patch-630SP2-0315-extra-mp3-mm-dd-hhmm.tar contains the binaries for MP3 codec support. They include the following files:

QNX Aviage Multimedia Software Codec for WMA9 1.2.0

The patch patch-630SP2-0315-extra-wma9-mm-dd-hhmm.tar contains the binaries for WMA codec support. They include the following files:

QNX Aviage Multimedia Interface for iPod 1.2.0

The patch patch-630SP2-0315-extra-ipod-mm-dd-hhmm.tar contains the binaries for iPod support, and a sample application. They include the following files:


Note: This package is designed for use with the QNX Aviage Multimedia Core package. If you intend to use this package independently of the Multimedia Core, please contact your QNX sales support team.

QNX Aviage Multimedia Interface for PlaysForSure 1.2.0

The patch patch-630SP2-0999-extra-pfs-mm-dd-hhmm.tar contains the binaries for PFS device support. They include the following file:


Note: This package is designed for use with the QNX Aviage Multimedia Core package. If you intend to use this package independently of the Multimedia Core, please contact your QNX sales support team.

QNX Aviage Multimedia Interface for WMDRM10-ND 1.2.0

The patch patch-630SP2-0315-extra-wma9-mm-dd-hhmm.tar contain binaries for DRM support. They include the following files:

Binaries for other packages

Binaries for packages requiring distribution licenses acquired directly from a third party are delivered separately.

QNX Aviage Multimedia Software Codec for H.264 1.2.0

The patch with the binary for H.264 video codec support is patch-630SP2-0590-extra-ipp-632-mm-dd-hhmm.tar. This package contains:


Note:

Known issues

At time of release, the issues listed below were identified and under investigation. Check the QNX web site (www.qnx.com) for the latest information.


Technical support

If you have any questions, comments, or problems with a QNX product, please contact Technical Support. For more information, see the How to Get Help chapter of the Welcome to QNX Momentics guide or visit our website, www.qnx.com.