QNX® Aviage Multimedia Suite 1.1.0 Alpha 20.6.0 Release Notes

Date of this edition: August 01, 2008

Target OS: This software is compatible with target systems running QNX® Neutrino® 6.3.0 SP3 or 6.3.2.

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

Version of QNX Momentics Microsoft Windows Linux
6.3.0 SP3 Windows Vista, XP SP2, 2000 SP4, or NT SP6a Linux Red Hat 8 or 9, Red Hat Enterprise WS 3 or 4, Red Hat Fedora Core 3 or 4, Debian 3.1, or SUSE 10
6.3.2 Windows Vista, XP SP2, or 2000 SP4 Linux Red Hat Enterprise Workstation 4 or 5, Red Hat Fedora Core 6 or 7, Ubuntu 6.0.6 LTS or 7.0.4, or SUSE 10

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


Caution:
  • A client application compiled against QNX Aviage Multimedia Suite (MME) 1.0.n must be recompiled in order to work with QNX Aviage Multimedia Suite (MME) 1.1.0.
  • You must update all system components to QNX Aviage Multimedia Suite 1.1.0. Your environment must not contain 1.0.n and 1.1.0 multimedia components.

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 available?

This release makes available installation packages for the standard QNX Aviage Multimedia Core 1.1.0 , and for components that support devices, media formats and functionality that require special licenses. These packages can be run on QNX Neutrino, Linux or Microsoft Windows platforms, and will install the QNX Aviage Multimedia Suite for the ARM, PPC, SHLE or x86 target platforms running QNX Neutrino 6.3.0 SP3 or later. See “Host OS” and “Target OS” above for more detailed information about supported host and target platforms.

Installers

This section lists, by host OS, the installers included with this release (with nnnnnnnnnnn representing the build numbers).

QNX Neutrino

Linux

Microsoft Windows

For installation instructions, see the Installation Note. For instructions on how to install and start using the MME, see the “Quickstart Guide” in Introduction to the MME.

Documentation

This release includes the following documentation:


Notices


Caution:
  • Release incompatibility: MME 1.1.0 Alpha 20.5 implemented a new client library, which rendered that and subsequent releases incompatible with releases prior to MME 1.1.0 Alpha 20.4.0. If you are upgrading from a release before MME 1.1.0 Alpha 20.4.0, you must recompile and relink all client applications to use this release.
  • Dynamic linking to libraries: starting with this release, the MME supports dynaimc linking to some libraries. This change means that the following files must be avaialble on your target system:
    • libc.so.2
    • libm.so.2
    • libqdb.so.1

New features

This release includes the following new features:

For information about features implemented since the MME 1.0.0 general availability release but before this release, see Previously implemented features below.


iPod “one-wire” connections through a USB port

The MME now supports connections to iPod devices on a USB bus, using an iPod-specific USB protocol.


Note:

The iPod “one-wire” feature is only supported on QNX Software Development Platform 6.4.0 version M5 or later. In addition, you must apply an audio driver patch file called patch-640-1154-1-wire.tar.

For this particular release, you will be able to download the upcoming release of QNX Software Development Platform 6.4.0 version M5 from the QNX Foundry27 download center. Please contact QNX Software Systems for information about obtaining this upcoming release.


For more information about this new feature, see “Working with iPods” in the MME Developer's Guide chapter Working with External Devices.


Support for Windows Media Player (WPL) playlists

This release implements support for Windows Media Player (WPL) playlists. The MME synchronizes these XML playlists and allows you to use them like other supported playlists.

To implement WPL support you must make sure that the MME configuration file (mme.conf) contains the following inside the <Synchronization> element:

<extensions>
    <playlists>
        <extension value="wpl"/>
...
    </playlists>
</extensions>

Note: You should convert your playlists to UTF-8 before calling the MME's mme_explore_playlist_find_file() function. This function currently assumes that the entry argument is in UTF-8 character encoding. Characters in WPL playlists may not be in UTF-8 encoding, and if they are not converted to UTF-8 may cause the function to fail.

New configuration element for deleting files causing unrecoverable errors

With this release a new element, <DeleteOnNonRecoverableError>, has been added to the <Copying> element in the MME configuration file, mme.conf:

Element Default Description
<DeleteOnNonRecoverableError> false If enabled, delete entries in the copy queue for files that cause unrecoverable copying or ripping errors (MME_COPY_ERROR_NORIGHTS or MME_COPY_ERROR_CORRUPTION) and deliver the event MME_EVENT_COPY_FATAL_ERROR.

New synchronization logging control

This release implements new controls for logging information during synchronizations:


Note:
  • Not all the synchronization logs support these new features at this time, and are still controlled by the mme general -v option. These logs will be upgraded in a future release.

mme command-line option

This release includes a new command-line option for mme that sets the synchronization logging verbosity independently of the MME general logging verbosity:

-o sync_verbosity=level
Set the synchronization log verbosity level.

The -o sync_verbosity= option can be used to set, for example, a lower verbosity for synchronizations than for the rest of the MME so that, when detailed logging is required to debug or fine-tune some other feature, the writing of synchronization logs for large mediastores do not increase synchronization times.


mme_sync_set_debug()

Set the verbosity level for synchronization operations

Synopsis

#include <mme/mme.h>

int mme_sync_set_debug( mme_hdl_t *hdl,
                        uint8_t verbose,
                        uint8_t debug );

Arguments

hdl
An MME connection handle.
verbose
The new verbosity setting.
debug
For future use.

Library

mme

Description

The function mme_sync_set_debug() sets the verbosity level for synchronization operations. It does not affect the verbosity levels of other operations.

You can call mme_sync_set_debug() at any time to change the amount of information synchronizations write to the log files. You can use it to help you debug and tune your implementation. For example, you can call it before a second synchronization pass to increase the information logged during this pass, then call it again when the pass is complete to lower the verbosity for other synchronization operations.

Events

None delivered.

Blocking and validation

This function makes no validations and does not block.

Returns

0
Success.
-1
An error occurred (errno is set).

mmecli

The command-line utility mmecli now supports the synchronization-specific verbosity settings. Change these settings through mmecli as follows:

# mmecli sync_set_debug verbosity

Note: mmecli includes a debug parameter for future use.


New mediacopier template string $SRCMSID

This release includes a new template string you can use to name ripping destination folders and files: $SRCMSID. You can use this template string to add the source mediastore ID to destination folder and file names for copying and ripping operations.


Previously implemented features

The table below lists the most significant new features and updates that were after the MME 1.0.0 general availability release but before this release.

For more complete information about these and other features in this release, please refer to the MME documentation.

Feature See
Explorer API “Exploring unsynchronized mediastores” in the MME Developer's Guide.
File-based track sessions See “About track sessions” in the MME Developer's Guide.
Pre-copy synchronization “Pre-copy synchronization” in the MME Developer's Guide.
Support for external DLLs for character encoding “Creating an external DLL to provide character encoding routines” in the MME Configuration Guide.
Improved handling of damaged media “Managing playback errors” in the MME Developer's Guide and “Configuring how io-media handles playback read errors” in the MME Configuration Guide.
Notification of corrupt database “Handling of corrupt database” in the MME Developer's Guide.
Configurable limit to the number of entries in the library table “Configurable maximum entries for library table” in the MME Configuration Guide.
Configurable limit to the number of items per folder “Limiting the number of items synchronized in a folder” in the MME Configuration Guide.
New io-media features, including optimizations for selecting parsers and decoders, and a damping_audio_writer filter “Configuring other MME components” in the MME Configuration Guide and io-media-generic in the MME Utilities reference.
New functions for reading and setting the default playback language mme_media_get_def_lang() and mme_media_set_def_lang() in the MME API Library Reference.
New synchronization event indicating that the files per folder limit has been exceeded. “Synchronization error events” in the MME API Library Reference.
Pruning options for unavailable mediastores “Database pruning” in the MME Configuration Guide.
User-created playlists “User-created playlists” in the MME Developer's Guide.
Improved synchronization features and metadata handling “Configuring synchronization behavior” in the MME Configuration Guide.
Customizable language sort order “Adding languages” in the MME Configuration Guide.
Configuration options for track session view behavior. “Configuring playback behavior” in the MME Configuration Guide.
Directed PFS device startup “Directed PFS device startup” in the MME Developer's Guide.
Bluetooth integration kit “Working with Bluetooth devices” in the MME Developer's Guide.
iPod support, including HD radio tagging, album art and synchronization configurations “Working with iPod devices” in the MME Developer's Guide.
New and changed database tables “MME Database Schema Reference” in the MME API Library Reference.
Solution for database deadlock issues “Solutions for database deadlock issues” in the MME Developer's Guide.

Note:

Video support is documented, but is not yet implemented.


API changes

The following API changes were implemented in this release:

See also New features above.

Deprecated and removed features

None in this release.

QNX Aviage Multimedia Core 1.1.0 binaries

The standard QNX Aviage Multimedia Suite binaries are delivered in the mmedia-core-1.1.0-nnnnnnnnnnn-* installers. They include the binaries, DLLs, and SQL configuration files required to run the QNX Aviage Multimedia Core 1.1.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 each 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/:

Sample applications

Sample applications with their source code and required headers and libraries are delivered in the QNX Aviage Multimedia Core 1.1.0 installer mmedia-core-1.1.0-nnnnnnnnnnn-*.

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 installers.

QNX Aviage Multimedia Software Codec for AAC 1.1.0

The installers mmedia-aac-1.1.0-nnnnnnnnnnn-* contain the binary for AAC codec support:

QNX Aviage Multimedia Software Codec for MP3 1.1.0

The installers mmedia-mp3-1.1.0-nnnnnnnnnnn-* contain the binaries for MP3 codec support. They include the following files:

QNX Aviage Multimedia Software Codec for WMA9 1.1.0

The installers mmedia-wma9-1.1.0-nnnnnnnnnnn-* contain the binaries for WMA codec support. They include the following files:

QNX Aviage Multimedia Interface for iPod 1.1.0

The installers mmedia-ipod-1.1.0-nnnnnnnnnnn-* contain binaries for iPod support. 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.

Note also that if you want to support a two-wire USB connection to an iPod, additional support is required from QNX Software Systems. Please contact your QNX sales support team.


QNX Aviage Multimedia Interface for PlaysForSure 1.1.0

The installers mmedia-pfs-1.1.0-nnnnnnnnnnn-* contain 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.1.0

The installers mmedia-wmdrm10-nd-1.1.0-nnnnnnnnnnn-* contain binaries for DRM support. They include the following files:

Known issues

This section lists issues that were identified in an earlier release and have been resolved in this release, and issues that are outstanding in this release.

Resolved

The following issues identified in an earleir release have been resolved in this release:

Outstanding

The following issues have been identified in this release:

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.