/****************************************************************************
**
** Copyright (C) 2012 Research In Motion
** Contact: http://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: http://www.gnu.org/copyleft/fdl.html.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
\page blackberry.html
\title Qt Multimedia on BlackBerry
\brief Platform notes for the BlackBerry Platform

Qt Multimedia supports BlackBerry devices that run the BB10 operating system.
This page covers the availability of different features on BB10.

\section1 Implementation

BB10 ships with a few different multimedia libraries. The main library for audio
and video playback is \e mmrenderer. For low-latency output of raw audio samples,
\e libasound, a variant of the Linux ALSA library, is available. Finally, for
three-dimensional positional audio playback, \e OpenAL is supported and present
on BB10.

The Qt Multimedia BlackBerry backend uses mmrenderer for media playback.

For the positional audio classes in the \l{Qt Audio Engine QML Types}{Qt Audio Engine}
QML module, OpenAL is used as on all other platforms.

For recording videos and taking photos, the camapi library is used.

\section1 Supported Features

Playback of audio and video with QMediaPlayer and related classes is supported.
This includes the corresponding QML elements like MediaPlayer and VideoOutput.
Since the playback is delegated to mmrenderer, the supported formats are the same as in
mmrenderer. As mmrenderer supports streaming from HTTP and other URLs, this is
supported in QMediaPlayer as well. Playlists as sources are also supported.

mmrenderer does not allow access to the pixel data of video frames, hence Qt Multimedia
classes like QVideoFrame and QAbstractVideoSurface will not work since they require access
to the image data. QVideoWidget and the VideoOutput QML element are implemented with an overlay window;
mmrenderer creates a separate window displaying a video and puts that on top of the Qt application.
As a consequence, no other widget or QML element can be put on top of the video, and QML shaders have
no effect.

The \l{Qt Audio Engine QML Types}{Qt Audio Engine} QML module is fully supported, as it is based on OpenAL which is available
in BB10.

The \l {camera} {QCamera} support includes recording of videos and taking photos. The viewfinder
is available through QCameraViewfinder and the VideoOutput QML element.

Note: To use the camera on BB10, your application needs the 'access_shared', 'use_camera' and 'record_audio'
permissions set in the bar-descriptor.xml file.

\section1 Unsupported Features

Low-latency output and input of raw audio samples with QAudioOutput, QAudioInput and related classes is
not yet supported. The SoundEffect QML element and QSoundEffect are based on these classes. In your
QML file, use the MediaPlayer element instead of the SoundEffect element, as the APIs are nearly identical.

QMediaPlayer does not support QIODevice-based streaming sources. However, streaming by specifying, for example,
an HTTP URL as the source does work. In addition, QMediaPlayer does not yet provide metadata like
the artist and album of the current track.

Radio and audio recording are not yet supported.
*/
