platform/upstream/qtmultimedia.git
12 years agoMake gstreamer player backend reserve/release video resource.
Ling Hu [Thu, 22 Mar 2012 00:41:50 +0000 (10:41 +1000)]
Make gstreamer player backend reserve/release video resource.

Use request/release of various video related controls as an indication for the decision.

Change-Id: I3a2a288c7c46ca62459896745bbdda26961bb181
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoImplemented availability control for gstreamer player backend
Ling Hu [Wed, 21 Mar 2012 05:22:58 +0000 (15:22 +1000)]
Implemented availability control for gstreamer player backend

Change-Id: I6d736b90ad59e258eb6f20befea8cfe1afce423a
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoAdded resource policy support though internal plugin system
Ling Hu [Wed, 21 Mar 2012 04:25:23 +0000 (14:25 +1000)]
Added resource policy support though internal plugin system

Change-Id: I374be17d49b6a5eed0b1ed94d0b9ca5f9a2caa9b
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoDon't delete video node factories owned by the plugin loader.
Andrew den Exter [Fri, 23 Mar 2012 06:00:08 +0000 (16:00 +1000)]
Don't delete video node factories owned by the plugin loader.

Make the fallback factories members instead of creating on the
heap so there's no need to delete members of the m_videoNodeFactories
some of which may be shared with other current and future video
outputs.

Change-Id: I3d2e32e52479b12ff64e31a2ed527336d94a191b
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoFixes to qmediaplayerbackend integration test: use ogg video on Linux.
Lev Zelenskiy [Thu, 22 Mar 2012 07:10:19 +0000 (17:10 +1000)]
Fixes to qmediaplayerbackend integration test: use ogg video on Linux.

Attempt to find supported video format before running tests.
Tests are skipped if no video format is supported by the system.

Change-Id: Iad5b26438b6407f0808e288c5e6184f220f30e36
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoresolving some warnings in qtmultimedia docs
Angus Cummings [Mon, 19 Mar 2012 07:32:31 +0000 (17:32 +1000)]
resolving some warnings in qtmultimedia docs

Change-Id: I9df926f64548a5d53382448ca4eef8d428339aa3
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoAdded VideoLight camera flash mode.
Dmytro Poplavskiy [Wed, 21 Mar 2012 06:30:35 +0000 (16:30 +1000)]
Added VideoLight camera flash mode.

Unlike the torch mode, it's enabled only while camera is active.

Change-Id: Ib92349ac190586c5aa8e49a8fddbdf937e757fd0
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoFixed media service provider auto test on Mac OS X
Jonas Rabbe [Wed, 21 Mar 2012 01:48:27 +0000 (11:48 +1000)]
Fixed media service provider auto test on Mac OS X

Change-Id: I424ef50188244b5f4232534f9088bdc0071ea63e
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agochanging include from qdeclarativeinfo to qmlinfo in qdeclarativeaudio.cpp
Thomas Senyk [Wed, 21 Mar 2012 14:21:32 +0000 (15:21 +0100)]
changing include from qdeclarativeinfo to qmlinfo in qdeclarativeaudio.cpp

Change-Id: I7244f6c7b3743dfe5532f1d13c2afef256a2cdbc
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoQMediaPlaylist: Added ability to load from provided QNetworkRequest.
Lev Zelenskiy [Wed, 14 Mar 2012 23:41:18 +0000 (09:41 +1000)]
QMediaPlaylist: Added ability to load from provided QNetworkRequest.

Change-Id: I7d8fc8a432810ff87650808b9ca6af53f7356d4e
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoAdded integration test for new playlist functionality.
Lev Zelenskiy [Fri, 9 Mar 2012 01:54:42 +0000 (11:54 +1000)]
Added integration test for new playlist functionality.

Change-Id: I9cc4a3d140003de737b81b4dcfa1e4a94d4a2ba4
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoQMediaPlayer: GStreamer backend changes for playlist support.
Lev Zelenskiy [Mon, 5 Mar 2012 04:16:06 +0000 (14:16 +1000)]
QMediaPlayer: GStreamer backend changes for playlist support.

Register type find function to check if unrecognized media is a playlist.
Emit MediaIsPlaylist error and let frontend handle playlists.

Change-Id: Ib17da1c46014ac3c0f2f48b75ea9de2f0428b573
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoQMediaPlayer frontend: changes to playlist support.
Lev Zelenskiy [Thu, 8 Mar 2012 23:53:21 +0000 (09:53 +1000)]
QMediaPlayer frontend: changes to playlist support.

Allow to load playlists using setMedia().
Use QNetworkMediaPlaylistProvider for playlist parsing.
Updated unit tests.

Change-Id: If4dba07be8b2e8a9e9549d5bed58e552dfb958b7
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoNew playlist parsers to support network playlists.
Lev Zelenskiy [Thu, 8 Mar 2012 23:49:30 +0000 (09:49 +1000)]
New playlist parsers to support network playlists.

Added new playlist parsers for M3U and PLS.
Added QNetworkMediaPlaylistProvider.

Change-Id: I4c64018e44b8ae2401d6846a0c3c326d8c2ca5cc
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoMarked media service provide test as insignificant on mac
Jonas Rabbe [Tue, 20 Mar 2012 22:38:05 +0000 (08:38 +1000)]
Marked media service provide test as insignificant on mac

Temporary measure to ensure that IID and plugin changes make it through
CI, will be investigated once those changes have been integrated.

Change-Id: Ie9313a0fa6081ebeff62a83f183ab2534c0469ee
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoUpdated IID, services, and controls to use qt-project URL
Jonas Rabbe [Mon, 19 Mar 2012 03:35:30 +0000 (13:35 +1000)]
Updated IID, services, and controls to use qt-project URL

Instead of com.nokia.qt we should use org.qt-project.qt.
All the identifiers have also been updated to use pure lowercase, and
where used the version numbers have been updated to 5.0.

Change-Id: Ib209327f5205f5a086a5932394504a8a52e1f712
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoUpdated plugins to use new plugin architecture
Jonas Rabbe [Wed, 14 Mar 2012 03:02:32 +0000 (13:02 +1000)]
Updated plugins to use new plugin architecture

Changed QMediaPluginLoader to use QFactoryLoader instead of QPluginLoader
and used metadata to get keys.
Removed QAudioPluginLoader and changed audio classes to use instead use
QMediaPluginLoader.
The plugins must include the Q_PLUGIN_METADATA macro, and no longer use
the Q_PLUGIN_EXPORT/Q_PLUGIN_EXPORT2 macros.
A json file has been added for each plugin which can contain metadata
which is available to the plugin loader before the plugin is actually
loaded, and is used to read the keys for the plugin, e.g. supported
services.
QFactoryInterface will be deprecated and has been removed from all
plugins.

Change-Id: I035b82f9c9c65717bebf704d560ea8f891df21da
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoCompile on Windows
Marius Storm-Olsen [Fri, 16 Mar 2012 16:41:42 +0000 (11:41 -0500)]
Compile on Windows

Conversion of WId to HWND requires reinterpret_cast.

Comment out RatingOrganisation for directshow as it is commented out in
the gstreamer plugins too.
(Note that both directshow and gstreamer plugins spell it incorrectly.
It's spelled "RatingOrganization" in qtmedianamespace.h)

Change-Id: I4cbcecfeb62ad795facf498d1c3d84a776d2ca35
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoFixed the qml Camera.imageCapture.imageExposed signal connection
Dmytro Poplavskiy [Mon, 19 Mar 2012 03:58:55 +0000 (13:58 +1000)]
Fixed the qml Camera.imageCapture.imageExposed signal connection

Trivial fix.

Change-Id: I522e3186ce9284e3aa0fb84296bc3c1e663e8577
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoMake QDeclarativeAudio use QMediaPlayer instead of the controls.
Michael Goddard [Tue, 13 Mar 2012 03:29:26 +0000 (13:29 +1000)]
Make QDeclarativeAudio use QMediaPlayer instead of the controls.

Very minor changes in semantics due to previous differences:
* negative positions are not supported any more (clamped to >= 0)
* setting muted to the same value previously set to the control itself
  won't signal any more.

Change-Id: Iacf4310508d853ae82b63dee28095fce12b6ff28
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoMerge the QDeclarativeMediaBase and QDeclarativeAudio classes.
Michael Goddard [Mon, 12 Mar 2012 07:25:54 +0000 (17:25 +1000)]
Merge the QDeclarativeMediaBase and QDeclarativeAudio classes.

Since there is only one subclass of base.

Next step is to clean up QDeclarativeAudio

Change-Id: Ibda8c3006efa165b58372a011121f04a39458562
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoHandle more errors from GStreamer.
Michael Goddard [Thu, 15 Mar 2012 05:41:19 +0000 (15:41 +1000)]
Handle more errors from GStreamer.

Corrupted etc files can throw GST_STREAM_ERROR_DECODE and those should
generally stop playback.  So now any error is fatal, not just the
recognised ones.

Change-Id: I7b6dd2a460d94f70c459a313a9d4dc84028f8002
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoAdd use of TESTDATA feature to integration tests
Kalle Juhani Lehtonen [Tue, 13 Mar 2012 01:46:44 +0000 (11:46 +1000)]
Add use of TESTDATA feature to integration tests

Use TESTDATA and QFINDTESTDATA in integration tests. Also remove
unused path defines from unit test .pro files.

Change-Id: I46dc6a96b918e989acf79eb3bd23c53125c7c3d6
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoUpdated declarative components to use the QML module
Jonas Rabbe [Tue, 13 Mar 2012 22:39:43 +0000 (08:39 +1000)]
Updated declarative components to use the QML module

Change-Id: I4b49466ba5248683c2285f98ce17bc2c24bba515
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agogst video surface sink: start surface with correct handle type
Dmytro Poplavskiy [Wed, 14 Mar 2012 01:52:43 +0000 (11:52 +1000)]
gst video surface sink: start surface with correct handle type

The handle type should match one from the currently used buffer pool.

Change-Id: I33f7856a742299ce0640f331898c3cbe5cfbdf97
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoMade QRadioData bind to QRadioTuner to avoid using multiple services
Jonas Rabbe [Thu, 8 Mar 2012 01:05:30 +0000 (11:05 +1000)]
Made QRadioData bind to QRadioTuner to avoid using multiple services

QRadioData has been updated to be a QMediaBindableInterface, and it
will bind to a QRadioTuner instance, i.e. a QMediaObject that provides
a service which implements the QRadioDataControl.
This change is reflected in the declarative implementations of radio
tuner and data. There is a new `radioData` property in the Radio element
which will give access to the declarative RadioData element for the
tuner.
If a RadioData element is created in QML, it will have an anonymous
tuner which communicates with the underlying media service (which is
pretty much the same how the QRadioTuner and QRadioData classes work
previously).
Updated radio tuner and data test cases to use availability control
and extended the mock media service to allow providing a number of
controls rather than just one (needed for testing availability of
all classes extending from or using QMediaObject).

Change-Id: Id41dde66eee529decd828fd2dcdfe4a54c0e81f4
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoQCamera capture documentation fixes
Dmytro Poplavskiy [Mon, 12 Mar 2012 03:27:42 +0000 (13:27 +1000)]
QCamera capture documentation fixes

Added documentation for camera capture queue behavior.

Change-Id: I4989f94c5de0edb3ac99135dcb3e11d76195a880
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoUse small-screen layout in qmlvideo, qmlvideofx examples on Harmattan
Gareth Stockwell [Fri, 9 Mar 2012 15:39:33 +0000 (15:39 +0000)]
Use small-screen layout in qmlvideo, qmlvideofx examples on Harmattan

Change-Id: Ieaaca763630acfb81a1b5b5cfef2d08367a9e265
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoUpdated qmlvideofx to use MediaPlayer.autoPlay instead of playing
Gareth Stockwell [Fri, 9 Mar 2012 14:52:49 +0000 (14:52 +0000)]
Updated qmlvideofx to use MediaPlayer.autoPlay instead of playing

Change-Id: Iee9066a6c7fcddbe6054e9c505b24e478f63cb4d
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoUpdate Qt Multimedia tests to use TESTDATA
Kalle Juhani Lehtonen [Fri, 9 Mar 2012 03:18:34 +0000 (13:18 +1000)]
Update Qt Multimedia tests to use TESTDATA

Qt5 brought support for general for test data install and find. This
change replaces old Qt4 time deployment supported in WinCE and Symbian
with the new general solution using TESTDATA in .pro files and
QFINDTESTDATA in source code.

Change-Id: I5dbe3ca22e2259f249ebb4df570ea91f17d23526
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoAdded playlist property to QMediaContent
Lev Zelenskiy [Mon, 5 Mar 2012 02:25:50 +0000 (12:25 +1000)]
Added playlist property to QMediaContent

This is a part of changes to QMediaPlayer related to playlist handling.
Updated unit test.

Change-Id: Ic2460dc4d3121788cd5eb08df71e6d45aac032bc
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoDon't request renderer control if null surface is set as video output.
Dmytro Poplavskiy [Fri, 9 Mar 2012 04:51:07 +0000 (14:51 +1000)]
Don't request renderer control if null surface is set as video output.

QCamera and QMediaPlayer are likely to wait for valid
surface to be passed to the renderer control before startup, so after
player->setVideoOutput(nullSurface)
player will not start playback.

If the renderer control was already requested before for valid
surface it should be released when the null surface is assigned.

Change-Id: I3f78f2d82e61fae5f305874874c0ffbc4cb7dc1d
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoMove most of playlist API to private.
Lev Zelenskiy [Tue, 6 Mar 2012 02:23:09 +0000 (12:23 +1000)]
Move most of playlist API to private.

Moved objects either not needed to be public or require API review/redesign.

Change-Id: Ibeb8b8c9c9a74bea32191c119fa4daaffde57c17
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoRemove unimplemented BG playback feature.
Michael Goddard [Fri, 2 Mar 2012 01:41:18 +0000 (11:41 +1000)]
Remove unimplemented BG playback feature.

Prototype that wasn't implemented should be removed for 5.0.

Change-Id: I3b90658ad8dc0b64003a5bb741fc3c93c7d87dff
Reviewed-by: Ling Hu <ling.hu@nokia.com>
12 years agoFix a few memory leaks.
Michael Goddard [Mon, 5 Mar 2012 09:01:02 +0000 (19:01 +1000)]
Fix a few memory leaks.

XV Buffer pool was leaking, the sink delegate was leaking, and the
sink wasn't chaining to parent class so GstObject stuff was leaking.

Change-Id: I5d6b6fe59dfb2b3c5367dfde8331e5943167b55d
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoRemove pin of qtbase for qtmultimedia.
Sergio Ahumada [Sat, 3 Mar 2012 12:18:21 +0000 (13:18 +0100)]
Remove pin of qtbase for qtmultimedia.

Change-Id: I2e57bab345b90943613466b4bc655af1d5a5b831
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoFix some memory leaks.
Michael Goddard [Mon, 5 Mar 2012 01:00:10 +0000 (11:00 +1000)]
Fix some memory leaks.

Adjusted a unit test or two to make leaks easier to find, and then fixed
a few leaks.

Change-Id: I47a20df8de7cac113d34a2015f76a65ab957dedd
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoChange bugreports.qt.nokia.com -> bugreports.qt-project.org
Sergio Ahumada [Fri, 2 Mar 2012 12:27:12 +0000 (13:27 +0100)]
Change bugreports.qt.nokia.com -> bugreports.qt-project.org

Change-Id: I76a8727e12e3d19a2e2f5808080ee25b9af905c1
Reviewed-by: Jyri Tahtela <jyri.tahtela@nokia.com>
12 years agoExpose availability from the backend to C++ and QML.
Michael Goddard [Thu, 1 Mar 2012 14:21:04 +0000 (00:21 +1000)]
Expose availability from the backend to C++ and QML.

The availabilityError property was static based on the service, but it
can change at run time, so add the plumbing to allow the backend to
report it itself.

Also make sure that both QML and C++ expose the availability.

The radio tuner and data controls previously had properties (but no
signals) for availability - these have been removed.

Change-Id: I9240cf93e2a51b14cd38642f9312ae3c75f05361
Reviewed-by: Ling Hu <ling.hu@nokia.com>
12 years agoRemove the usage of deprecated qdoc macros.
Casper van Donderen [Thu, 1 Mar 2012 17:50:38 +0000 (18:50 +0100)]
Remove the usage of deprecated qdoc macros.

QDoc now has support for Doxygen style commands for italics, bold
and list items. This change applies that change in QDoc to the
actual documentation.

Task-number: QTBUG-24578
Change-Id: Iec1c616e0d9a915a31a661916805916e19495dc9
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoPin QtBase SHA1 until it's fixed.
Michael Goddard [Fri, 2 Mar 2012 02:52:42 +0000 (12:52 +1000)]
Pin QtBase SHA1 until it's fixed.

Also remove QtSvg dependency that came from QtDeclarative a long time
ago.

Change-Id: Iac851e027a6a6f61896fecd36b43a4036dd1b717
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoExpose the audio and video encoding modes through QML as well.
Michael Goddard [Sun, 26 Feb 2012 04:47:05 +0000 (14:47 +1000)]
Expose the audio and video encoding modes through QML as well.

They were missing.

Change-Id: I0bb08c5e4721c27d2dcec818c0ee33f42c8df959
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoAudio decoder example.
Lev Zelenskiy [Fri, 24 Feb 2012 03:00:35 +0000 (13:00 +1000)]
Audio decoder example.

Change-Id: I0f9fb755ef8bc6f66696a06996ac7a9f13de69cc
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoDon't reset saved playback position if playback resource is denied.
Michael Goddard [Sun, 26 Feb 2012 04:47:05 +0000 (14:47 +1000)]
Don't reset saved playback position if playback resource is denied.

Resource denied and resource lost should be handled differently,
on resource lost the current playback position should be preserved,
while on resource denied player state should be changed to paused
with pending position unchanged.

(from qtmobility, SHA1 4e457432ef0f50cb91a1043f0390427cafcaef0d)

Change-Id: I5ce755409c430598d68ee6a6a90f9d0858ea9da9
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoAudio recorder example updated to display level using QAudioProbe.
Lev Zelenskiy [Tue, 21 Feb 2012 07:35:51 +0000 (17:35 +1000)]
Audio recorder example updated to display level using QAudioProbe.

Change-Id: I7d5aea306aeb3cd9109615f9ed4905c53125233a
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoVideo player example updated to display histogram using QVideoProbe.
Lev Zelenskiy [Tue, 21 Feb 2012 07:23:47 +0000 (17:23 +1000)]
Video player example updated to display histogram using QVideoProbe.

Change-Id: Iaeba751280133bd405fe90a0d5d07be446c95738
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoChanges to GStreamer backend for audio decoder.
Lev Zelenskiy [Fri, 24 Feb 2012 02:50:32 +0000 (12:50 +1000)]
Changes to GStreamer backend for audio decoder.

Removed WaitingState.
New signals: finished(), positionChanged(), durationChanged().
New methods: position(), duration().
A parameter removed from read() method.
Unit tests updated.

Change-Id: Ie9d8a2804285c5542e592cce69963adbdf6ebfb8
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoChanges to QAudioBuffer and QAudioDecoder (position and duration).
Lev Zelenskiy [Fri, 24 Feb 2012 00:55:17 +0000 (10:55 +1000)]
Changes to QAudioBuffer and QAudioDecoder (position and duration).

QAudioBuffer:
- Allow to specify startTime in the constructor.
QAudioDecoder:
- Removed WaitingState.
- New signals: finished(), positionChanged(), durationChanged().
- New methods: position(), duration().
- A parameter removed from read() method.

Change-Id: Ifb71502d0756aa306abd0a6bf7873934029952c4
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoDon't use QT_ARCH to detect ARM or OpenGL ES 2 on ARM
Bradley T. Hughes [Tue, 14 Feb 2012 13:14:42 +0000 (14:14 +0100)]
Don't use QT_ARCH to detect ARM or OpenGL ES 2 on ARM

Use Q_PROCESSOR_ARM instead of QT_ARCH_ARM.

On maemo6, don't use QT_ARCH==armv6 to conditionally include egl
code. Instead check for opengles2 in QT_CONFIG, which is detected
by the configure script.

Change-Id: Ib3062fbd81c3a3acd318df32c49ad133a5b0d07c
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoDocs: fix qml links and standalone build for Multimedia
Peter Yard [Tue, 21 Feb 2012 05:58:01 +0000 (15:58 +1000)]
Docs: fix qml links and standalone build for Multimedia

Change-Id: Ia3f1e49aef203911bb5cf1ee062c9100be213b38
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoclean up qmake-generated projects
Oswald Buddenhagen [Tue, 21 Feb 2012 16:34:53 +0000 (17:34 +0100)]
clean up qmake-generated projects

remove assignmets which are defaults or bogus

Change-Id: I7130f22a66b294f92b0ed03749895136d0890a64
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoUpdate audioengine overview doc & reference doc
Ling Hu [Tue, 14 Feb 2012 01:59:13 +0000 (11:59 +1000)]
Update audioengine overview doc & reference doc

Change-Id: If1061b3dc113f4354d741c536d63cbe36e7a65eb
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoFix a few audiodecoder things.
Michael Goddard [Fri, 17 Feb 2012 09:10:35 +0000 (19:10 +1000)]
Fix a few audiodecoder things.

Beef up the autotest a little, and check the conversion.

Change-Id: Ifffca118e092eb6c388db50a6eb12810a87aa32a
Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoFix QAudioBuffer sampleCount vs. channelCount.
Michael Goddard [Tue, 21 Feb 2012 05:19:38 +0000 (15:19 +1000)]
Fix QAudioBuffer sampleCount vs. channelCount.

There were some inconsistencies in when the sample count was per channel
or in total.  The docs mention that it is in total, so fix a few cases
where it went wrong and test it.

Change-Id: I55c855911fcde66a218d6cdd327e09ad5406d5a4
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoAdd the hasAudio/hasVideo properties from MediaPlayer to Video.
Michael Goddard [Fri, 17 Feb 2012 07:43:04 +0000 (17:43 +1000)]
Add the hasAudio/hasVideo properties from MediaPlayer to Video.

Change-Id: I167184c3622c4fcb0843b17f2ab803b0bbf104fa
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoGStreamer backend for audio decoder service.
Lev Zelenskiy [Thu, 16 Feb 2012 06:54:46 +0000 (16:54 +1000)]
GStreamer backend for audio decoder service.

Includes basic integration test.

Change-Id: I4c6d1dbefa1f27e107b3556a3d4da58811eeb122
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoAdded QAudioDecoderControl::sourceChanged signal.
Lev Zelenskiy [Thu, 16 Feb 2012 06:46:21 +0000 (16:46 +1000)]
Added QAudioDecoderControl::sourceChanged signal.

The signal is mentioned in QAudioDecoder but is missing from
QAudioDecoderControl.

Change-Id: I0cd13c53541585098edd02093858501ffb5af1fb
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoAdd a partial gstreamer based audio decoder service.
Michael Goddard [Tue, 14 Feb 2012 06:14:08 +0000 (16:14 +1000)]
Add a partial gstreamer based audio decoder service.

Doesn't work yet.

Change-Id: Iebd085d68346cb73af8df59c84e8e52a17de2a52
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoUse QTESTFINDDATA to FIND TEST DATA.
Michael Goddard [Fri, 17 Feb 2012 04:40:58 +0000 (14:40 +1000)]
Use QTESTFINDDATA to FIND TEST DATA.

Change-Id: I5fd222e562045085b3d08e19c6544f674e9429d4
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoUse a PA function to compare specs instead of memcmp.
Michael Goddard [Fri, 17 Feb 2012 04:41:39 +0000 (14:41 +1000)]
Use a PA function to compare specs instead of memcmp.

Otherwise valgrind complains a lot.  Probably holes in the spec
structure.

Change-Id: I9580a73255820f49c0ac947eed1595a758f19ccd
Reviewed-by: Ling Hu <ling.hu@nokia.com>
12 years agoAdd Video_4.qml to the packaging.
Michael Goddard [Fri, 17 Feb 2012 05:20:50 +0000 (15:20 +1000)]
Add Video_4.qml to the packaging.

Change-Id: I0a6036a979ab00a2885c56450d1db9497b1cff0c
Reviewed-by: Angus Cummings <angus.cummings@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
12 years agoQMediaRecorder: GStreamer backend changes for media probing API.
Lev Zelenskiy [Wed, 15 Feb 2012 04:45:18 +0000 (14:45 +1000)]
QMediaRecorder: GStreamer backend changes for media probing API.

QGstreamerCaptureSession: Using GStreamer buffer probe
to access media data.

Change-Id: I2ee38e864fbd69fcba9efe90d4dcf138528e00c0
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoGStreamer backend changes for media probing API.
Lev Zelenskiy [Thu, 9 Feb 2012 06:50:30 +0000 (16:50 +1000)]
GStreamer backend changes for media probing API.

QGstreamerPlayerSession: Using GStreamer buffer probes
to access media data.

Change-Id: Ibc056283fdedaebba90456cc4e86ab63eae5f5f7
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoFix some compiler warnings.
Michael Goddard [Tue, 14 Feb 2012 00:56:04 +0000 (10:56 +1000)]
Fix some compiler warnings.

As it turns out, we had an overloaded virtual from an earlier era,
with the extra parameter never used.  So cleaning that up was a
bonus to remove the compiler warning.

Change-Id: I780287f8a5d2b0a1ec84ec62c88ba50e051f372b
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoTweak some more documentation.
Michael Goddard [Mon, 13 Feb 2012 11:05:35 +0000 (21:05 +1000)]
Tweak some more documentation.

A lot of the previous Qt Mobility API methods were still present,
so they are gone now.  Also removed some of the C++ documentation
since it's not public API anyway.
Made a group for camera QML APIs and used that for the list in the
camera overview documentation.

Change-Id: I0864bd2230a42596e951b68d0df1211766c90dfc
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoUpdated audio recorder example with screenshot and correct information.
Jonas Rabbe [Mon, 13 Feb 2012 22:41:51 +0000 (08:41 +1000)]
Updated audio recorder example with screenshot and correct information.

Change-Id: Ibf0dc8df55f20988a949e49b1b434710373f0095
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoDocumentation updates for declarative camera elements.
Michael Goddard [Fri, 10 Feb 2012 13:35:33 +0000 (23:35 +1000)]
Documentation updates for declarative camera elements.

A number of things were missing.

Change-Id: Ic4eb2e88804b519478eeae733cc5f473b717270d
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoRemove duplicates definitions of QTRY_VERIFY and QTRY_COMPARE.
Jason McDonald [Mon, 13 Feb 2012 04:35:46 +0000 (14:35 +1000)]
Remove duplicates definitions of QTRY_VERIFY and QTRY_COMPARE.

These definitions were already ignored due to #ifndef directives
surrounding them, so presumably the differences in timeout values
between these definitions and those in testlib are acceptable.

Change-Id: Ib860fc1ed27ef0690e619ffeed516f7417ae4cd0
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoFix shader file loading in qmlvideofx example
Gareth Stockwell [Fri, 10 Feb 2012 14:09:59 +0000 (14:09 +0000)]
Fix shader file loading in qmlvideofx example

Each effect is implemented as a QML element, whose
fragment/vertexShaderFilename properties specify paths from which
shader programs are loaded.  These paths are relative to the application
installation directory, e.g. "shaders/billboard.fsh".  If the current
directory from which the application is launched does not match the
installation directory, shader program loading fails.  This patch
converts the relative filename provided by the QML element into an
absolute path before attempting to open the file.

Change-Id: I8ed39d271c4f1f59180588843e500ed73a93a543
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoDisable flicking of qmlvideofx example parameter panel
Gareth Stockwell [Fri, 10 Feb 2012 10:37:11 +0000 (10:37 +0000)]
Disable flicking of qmlvideofx example parameter panel

Change-Id: I4cf563c288aaf37fe60ba1ec56ffc9fd72060b99
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoImprove usability of qmlvideofx example on small touchscreens
Gareth Stockwell [Fri, 10 Feb 2012 15:25:14 +0000 (15:25 +0000)]
Improve usability of qmlvideofx example on small touchscreens

* Add tolerance to mouse press detection on divider and slider grips,
  so that clicks just outside of the grip radius are treated as if the
  click was inside the grip.
* When slider bar outside of grip radius is clicked, increment slider
  position by a fixed amount, towards the click position.

Change-Id: Iefb0b274ee5a97ed5cb789596bf6b3c07a7fc8b8
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoFixed gst bus helper when qt build without glib support
Dmytro Poplavskiy [Fri, 10 Feb 2012 06:17:01 +0000 (16:17 +1000)]
Fixed gst bus helper when qt build without glib support

The bus helper should not be singleton.
Also combined glib and non glib cases.

Change-Id: Ie18a94bfdb5413a92a5c4ff4283527360737d52d
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoChanges to media probing API.
Lev Zelenskiy [Thu, 9 Feb 2012 06:40:10 +0000 (16:40 +1000)]
Changes to media probing API.

Added flush signals.

Change-Id: I9c124317e843c9b9011e69c44649ae9a4e974161
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoAdded location specific metadata keys.
Dmytro Poplavskiy [Thu, 9 Feb 2012 01:55:51 +0000 (11:55 +1000)]
Added location specific metadata keys.

Tags names and meaning matches the exif specification,
except of latitude and longitude following Qt Location format.

Change-Id: I2acc0194f129ccc737b0fd00ca4ebfb6b62ebdca
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoMoved camera tests
dakovaci [Fri, 3 Feb 2012 03:57:00 +0000 (13:57 +1000)]
Moved camera tests

Moved camera tests out of Qt5Multimedia

Change-Id: I571332217dac885810c8fb7a6d28020d4578e55f
Reviewed-by: Natalia Shubina <natalia.shubina@nokia.com>
12 years agoAdd some recent things to the overview docs.
Michael Goddard [Wed, 8 Feb 2012 13:48:58 +0000 (23:48 +1000)]
Add some recent things to the overview docs.

Also clean up a few other doc related bits and pieces.

Change-Id: I56714e1811e38a7225131c1d141430b49f5f509c
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoUpdated documentation for the QAudioRecorder class
Jonas Rabbe [Wed, 8 Feb 2012 22:25:37 +0000 (08:25 +1000)]
Updated documentation for the QAudioRecorder class

Change-Id: I93ab03e9a386578f0b43ba0e966b1570163ff056
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoFixed 'magnify' shader in qmlvideofx example
Gareth Stockwell [Wed, 8 Feb 2012 15:51:32 +0000 (15:51 +0000)]
Fixed 'magnify' shader in qmlvideofx example

Previous shader caused untransformed pixels (those outside of the lens)
radius to be offset slightly from their original positions.

Change-Id: I4df847fdc40073a55da8777981c3fdd373937658
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoEnable qmlvideofx window to be resized, when large screen layout used
Gareth Stockwell [Wed, 8 Feb 2012 15:32:14 +0000 (15:32 +0000)]
Enable qmlvideofx window to be resized, when large screen layout used

Change-Id: I3010b9fd5f68e922ff94edd4d08d8114c689c037
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoTidy up frame rate display in video examples
Gareth Stockwell [Mon, 6 Feb 2012 15:40:49 +0000 (15:40 +0000)]
Tidy up frame rate display in video examples

* Use a Column element to position QML and video frame rate counters.
* When using small-screen layouts, hide frame rate counters when dialogs
  or menus are displayed.
* Do not display instantaneous frame rate.  If changes in this rate
  trigger a repaint, then the rate itself is changed.  If the repaint
  occurs in less time than the QElapsedTimer resolution, the displayed
  instantaneous rate is always zero.
* Add a label, so it is clear which is the QML repaint rate, and which
  is the video frame rate.

Change-Id: Ie58ab162ab44bd7f1c4b297eed929b9baa73552c
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoTidy up file browsing in video examples
Gareth Stockwell [Mon, 6 Feb 2012 16:10:15 +0000 (16:10 +0000)]
Tidy up file browsing in video examples

* Use QStandardPaths to determine the initial folder displayed when
  the file browser is launched
* Persist folder between file browser invocations

Change-Id: I5b86dd3d304c3f33802f3189716e1d360774198d
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoAdd the audio decoder variant of QMediaPlayer.
Michael Goddard [Mon, 6 Feb 2012 07:45:10 +0000 (17:45 +1000)]
Add the audio decoder variant of QMediaPlayer.

Rather than the probe based way of doing it.  Initially private.

Change-Id: I30005f8da22f6451cb9de8eb3f0e193838d48c93
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoFixed possible dependency problem in the qmake structure
Jonas Rabbe [Wed, 8 Feb 2012 04:54:29 +0000 (14:54 +1000)]
Fixed possible dependency problem in the qmake structure

If gstreamer is present, then the gstreamer plugin (and
hence the plugins sub directory) should depend on the
gst tools library.

Change-Id: I6012df02d14731107fc0656089aa27ae61f0ef71
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoRemove some more QTest::qWait(10) calls.
Michael Goddard [Wed, 8 Feb 2012 01:54:11 +0000 (11:54 +1000)]
Remove some more QTest::qWait(10) calls.

Since it seems to have changed slightly recently.  Just use
QTRY_COMPARE instead.

Change-Id: I802c2e26acf5418bb5904fadd2a978a44fd9eb01
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoAdded loading of video node factories from plugins
Jonas Rabbe [Mon, 6 Feb 2012 00:55:59 +0000 (10:55 +1000)]
Added loading of video node factories from plugins

This change will allow us to add new video node factories that
can be loaded dynamically at runtime.

The previous video node factories, I420 and RGB have been kept
as static parts of the Qt Multimedia imports, but can be moved
to plugins at a later date.

For plugins to be able to find and use QSGVideoNode, the class
has to be exported.

Change-Id: Idbead9a8ad33619cebe90fcec92eb29cf52ae9bd
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoAPI changes to QML element MediaPlayer aka Audio
Angus Cummings [Fri, 3 Feb 2012 01:49:47 +0000 (11:49 +1000)]
API changes to QML element MediaPlayer aka Audio

Changed Video.qml for new API
Removed lowercase enum copies, replaced with calling
parent (VideoOutput, MediaPlayer) enums
Removed properties playing, paused
Removed signals started, resumed
Added readonly property playbackState
Added signal playing
Added autoPlay property
Fixed unit tests for new API

Added backwards compatibility for QtMultimedia 4

Change-Id: I27c91cd46d91402b8c4c42bb7d4961ad67909aeb
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoAdd exports for probe classes.
Michael Goddard [Tue, 7 Feb 2012 12:12:06 +0000 (22:12 +1000)]
Add exports for probe classes.

Oops.

Change-Id: I2273ac6789d2eb1042aa1d4b6ec64dac1904ce55
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoUpdated declarative camera image processing with C++ API changes
Dmytro Poplavskiy [Tue, 7 Feb 2012 03:52:21 +0000 (13:52 +1000)]
Updated declarative camera image processing with C++ API changes

Changed ranges and meaning of image adjustments parameters.

Change-Id: I1710bfabc4f216c83df7983a871bffb474cfbcc2
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoUpdated declarative camera recorder with C++ API changes.
Dmytro Poplavskiy [Tue, 7 Feb 2012 04:34:50 +0000 (14:34 +1000)]
Updated declarative camera recorder with C++ API changes.

Added key,value parameters to metadataChanged() signal;
Added a separate actualLocation property to desribe the path of
recorded file. It may be different from outputLocation when default
location is used.

Change-Id: I5a4b77833b6458a19ed7e1dcf7e53fc7400cdf21
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoExpose capture request id in the declarative camera.
Dmytro Poplavskiy [Tue, 7 Feb 2012 02:52:11 +0000 (12:52 +1000)]
Expose capture request id in the declarative camera.

It's useful to associate imageCaptured/Saved signals data with
capture requests.

Change-Id: I3e98c4a194403bd338a1b5313d8736b4baf79961
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoAdd some media probing API.
Michael Goddard [Fri, 27 Jan 2012 05:02:31 +0000 (15:02 +1000)]
Add some media probing API.

Change-Id: Ib83918f99b699ac3fbc7ede82a392d00d4c18005
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agotst_qmediaplayerbackend: try to load test file from the current dir.
Dmytro Poplavskiy [Tue, 7 Feb 2012 03:00:24 +0000 (13:00 +1000)]
tst_qmediaplayerbackend: try to load test file from the current dir.

This makes testing easier on other system than test was build.

Change-Id: I75c4d620c8132a7fd298fe735dfdc1bf6f775e08
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoAdd a QAudioBuffer class.
Michael Goddard [Thu, 2 Feb 2012 05:28:21 +0000 (15:28 +1000)]
Add a QAudioBuffer class.

Prereq for probing or decoding.  The abstract API probably needs
to change.

Change-Id: Ie0bf796c1f581f34bbc0a8af2dffc387c513a330
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
12 years agoMoved QMediaServiceProvider to private header.
Dmytro Poplavskiy [Mon, 6 Feb 2012 06:43:53 +0000 (16:43 +1000)]
Moved QMediaServiceProvider to private header.

It's not intended to be used by applications.

Change-Id: I2acc26180ebb5c2419438169827f39aaf4578389
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoChanges to QMediaPlayer GStreamer backend to allow setPosition before pause
Lev Zelenskiy [Mon, 6 Feb 2012 03:52:56 +0000 (13:52 +1000)]
Changes to QMediaPlayer GStreamer backend to allow setPosition before pause

Do not display prerolled frames in stopped state.
Instead store prerolled frame and display it only after switching to
pause or playback state.
Added new unit test with a sample video file to check this functionality.

Change-Id: I3fd159a199b65ca10fdf9843af5675c5ae9dad05
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
12 years agoGst player backend: fixed prerolled frames rendering
Lev Zelenskiy [Fri, 3 Feb 2012 03:01:38 +0000 (13:01 +1000)]
Gst player backend: fixed prerolled frames rendering

Don't use queued render request if it's called from
the object own thread.

Change-Id: I61ac11f5cf68edf82d0681c95123e804869d0647
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoDocumentation tweaks.
Michael Goddard [Mon, 6 Feb 2012 05:49:54 +0000 (15:49 +1000)]
Documentation tweaks.

Mostly move widgets classes into the QtMultimediaWidgets module, but
also mark a few mostly internal playlist classes as \internal.  A few other
tweaks.

Change-Id: If0e376410bf2187cafb24f583108c6beb7b910a9
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoQMediaPlayer::setPosition: do not check isSeekable and do not bound by duration
Lev Zelenskiy [Mon, 6 Feb 2012 03:11:10 +0000 (13:11 +1000)]
QMediaPlayer::setPosition: do not check isSeekable and do not bound by duration

To allow setPosition to be called in stopped state we no longer check
if the player is in seekable state and allow position to be greater than
duration.
Unit test has been updated accordingly.

Change-Id: I29447ffe797a7cc3dcc80d20b2527e9eda493ab6
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoFix some warnings.
Michael Goddard [Mon, 6 Feb 2012 04:58:47 +0000 (14:58 +1000)]
Fix some warnings.

Change-Id: I2ea7f6f016d34490a41e4c9449cbc92bd040de49
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
12 years agoAdd AudioEngine with new implementation
Ling Hu [Wed, 18 Jan 2012 07:17:54 +0000 (17:17 +1000)]
Add AudioEngine with new implementation

Change-Id: I5eebe662ecbce9814ed3e763db56df9be737d11f
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>