Bump module version to 5.4.0

Change-Id: I36439460978f1fd00a3f79b4192320cffd2df167
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Fix autotests expecting a trailing whitespace for qDebug stream

The behavior of QDebug was fixed in qtbase. Update autotests
accordingly.

Change-Id: I0bbd1b52958c24710f877224158fa30f082941b8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Merge remote-tracking branch 'origin/stable' into dev

Change-Id: Ia422f45b49177dbfdaa1129e18dbfd9769e63e73
Merge remote-tracking branch 'origin/stable' into dev

Change-Id: I42587537cadade4b3f45df18385adb760fb24430
AVFoundation: Fix another crash when destroying a QMediaPlayer

We need to unload media before we delete the player.

Task-number: QTBUG-37447
Change-Id: I09263214c425339c0d8c192091aeaa6e3fb5331f
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Android: correctly report QMediaRecorder status.

QMediaRecorder should have the LoadedStatus before starting recording.
When recording the camera, the recorder should be considered loaded
when all prerequisites are met (viewfinder started, recording mode set
to video and capture ready).

Task-number: QTBUG-36828
Change-Id: I3279bdfdc2b361c7e0707c52e74ae47e0bb4a93d
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Android: correctly report QMediaRecorder actual output location.

Report the recorded media location to have changed only when
recording is finished and successful.

Change-Id: Iee7565b9ba12d9de09f86dffb34c40936fee198c
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Android: restart camera viewfinder after a recorder error.

Change-Id: I33f083fda5c10cfb997a21100c0ec3d4a314aee0
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Android: print Java traces for MediaRecorder when in debug mode.

Change-Id: Ie39dd16227c49c8c07831750869e0cc28d2cc8ee
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Correctly update record button in AudioRecorder example.

The record/stop button should have a "Record" text when QMediaRecorder
has the LoadedStatus.

Change-Id: I677845382b24ecf1f2351fc8e1e2e182b2c8d548
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Fix crash in QCameraInfo when no camera is available on the system.

Change-Id: I04bea9d6afcf567c64788c3765cc6626dc9cd482
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Doc: Qt Audio Engine: Restore lost docs

When QDoc stopped accepting the version number of QML modules, some
parts of QML documentation disappeared silently.

Change-Id: I528a2d77587e5803ed971dfe8849d0b37d9c555a
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Android: fix QMediaRecorder failing to start in some cases.

Because camera operations are performed in a dedicated thread, starting
a recorder was sometimes failing because the camera was not yet ready
(unlocking it was not done yet). Camera locking and unlocking are now
synchronous operations.

Change-Id: I92c3c2f3666b63e7451e4ee1ab89dcbc85ae6c24
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
OpenSL ES: lazy initialization of QAudioInput's supported formats.

Change-Id: I51cdd35a944c990ce7df999bcb6063342e98c62d
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
WMF: remove some debug output.

Task-number: QTBUG-37539
Change-Id: I5c2f232195de946dce04eb873ac381d0bb9e73b2
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
WMF: fix some issues with our custom video sink.

- When scrubbing, request frames only one at a time.
- Discard frames when too late or too much in advance
- Fix integer overflow causing undefined behavior

[ChangeLog][QtMultimedia][Windows] Fixed video playback playing at
twice the normal rate after reaching 3:34.
[ChangeLog][QtMultimedia][Windows] Fixed video playback that could
freeze after seeking to a different position.

Task-number: QTBUG-31800
Change-Id: Ie620c684c58ee790537969ffc40f01610b6745ea
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Doc: Document signals (not handlers) under \qmlsignal

Append the handler names to the end of the corresponding signal doc.

Task-number: QTBUG-35846
Change-Id: I325cdab75ef18a19c9f29d6333039c31baa8daf6
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Prevent crash when there is no camera device available

If you try to use QAudioInputSelectorControl with the iOS Simulator then
it would crash as there is no camera device available. This prevents a
crash from happening in that case.

Change-Id: I3904f3d299a11a6df21e66a1138a4319cc0b8a5c
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Tidy up Audio documentation.

Change-Id: I864ba13375d7b8b035686c11687e76fbf672c431
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
QNX: Evaluate mm-renderer buffer status

In the playing (or paused) state the media status should reflect the
buffer state, it should not stay in the loaded media state.

Mm-renderer differentiates between buffer "status" and "level".
Unfortunately, QMediaPlayer's buffer status maps to mm-renderer's
buffer level.

Change-Id: I22ea8dc83cee975fc4aa1a6de4f172def042a9a8
QT-BUG: 37166
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>