Qt 5.6.2 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 5.6.0 and 5.6.1.

For more details, refer to the online documentation included in this
distribution. The documentation is also available online:

  http://doc.qt.io/qt-5/index.html

The Qt version 5.6 series is binary compatible with the 5.5.x series.
Applications compiled for 5.5 will continue to run with 5.6.

Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Qt Bug Tracker:

  https://bugreports.qt.io/

Each of these identifiers can be entered in the bug tracker to obtain more
information about a particular change.

****************************************************************************
*                          Library                                         *
****************************************************************************

QtMultimedia
------------

 - Fixed QMediaPlayer never starting the playback of a playlist containing
   an invalid media as first item.
 - [QTBUG-54710] The header of WAV files recorded with QAudioRecorder now
   have the correct size.

****************************************************************************
*                      Platform Specific Changes                           *
****************************************************************************

Android
-------

 - Fixed a memory leak when restarting a QAudioOutput in push mode.
 - The camera viewfinder no longer stops after an image capture fails.
 - [QTBUG-48975] Calling QCameraImageCapture::capture() several times in a
   row in a short amount of time now correctly triggers the imageCaptured()
   signal the same amount of times.
 - [QTBUG-53536] fixed a crash when trying to load a Camera while it is
   already being used by another application.
 - [QTBUG-54340] fixed a memory leak when changing a media player's source
   on Android 4.1 or higher.
 - [QTBUG-54709] fixed a deadlock when capturing camera images on some
   devices and on the emulator.

iOS / OS X
----------

 - Fixed the orientation of recorded videos.
 - [QTBUG-40338] QMediaRecorder now supports video, audio and container
   settings.
 - [QTBUG-49578] Fixed QMediaPlayer never notifying the EndOfMedia status
   when playing a QMediaPlaylist.
 - [QTBUG-54890] fixed a possible crash when deleting a QCamera while a
   video recording is ongoing.

Linux
-----

 - Fixed QAudioDeviceInfo::availableDevices() not including PulseAudio
   devices added or removed after the application has started.
 - [QTBUG-48982] fixed QSoundEffect playing both old and new sources on
   the first call to play() after having changed the source.

QNX
---

 - Fixed a bug that would cause QMediaPlayer to start at the wrong position
   after loading a new media.

Windows
-------

 - [QTBUG-41573] fixed a possible deadlock when capturing a camera image.
 - [QTBUG-46899] fixed resource files not being played by QMediaPlayer
 - [QTBUG-54504] fixed a possible deadlock when deleting a QMediaPlayer
   right after playback starts.

WinRT
-----

 - [QTBUG-49578] Fixed QMediaPlayer never notifying the EndOfMedia status
   when playing a QMediaPlaylist.
 - [QTBUG-53722] fixed a crash that could occur when switching cameras
   on Windows 10 Mobile.
