diff options
author | Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> | 2016-03-17 16:05:28 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> | 2016-03-17 16:05:28 +0100 |
commit | 812ab8e6a33d9327e982b0f05cedaaa7e9d04f54 (patch) | |
tree | ddad9c7a390d1506f633dc5665c38c9904e2f539 | |
parent | b17e0cd5dd28b93b1ea567c676f0e183acb6dd7c (diff) | |
parent | 9985224a89b830dc182b428f491b6187d6f0e1ba (diff) | |
download | qtmultimedia-812ab8e6a33d9327e982b0f05cedaaa7e9d04f54.tar.gz |
Merge remote-tracking branch 'origin/5.6.0' into 5.6
Change-Id: I91fb2886b4ab8f0b9e2e28329cec69dfa2cb5435
17 files changed, 150 insertions, 63 deletions
diff --git a/dist/changes-5.6.0 b/dist/changes-5.6.0 new file mode 100644 index 000000000..5051431f8 --- /dev/null +++ b/dist/changes-5.6.0 @@ -0,0 +1,138 @@ +Qt 5.6 introduces many new features and improvements as well as bugfixes +over the 5.5.x series. For more details, refer to the online documentation +included in this distribution. The documentation is also available online: + + http://doc.qt.io/qt-5.6 + +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: + + http://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* Important Behavior Changes * +**************************************************************************** + + - QAudioOutput now transitions to IdleState instead of ActiveState when + calling resume() in push mode. This was already the documented behavior + but in practice, it was not respected on any platform. See QTBUG-50390. + + - DirectShow is now the default backend on all desktop versions of Windows, + regardless of the compiler used. The Windows Media Foundation backend + (WMF) can be re-enabled by configuring Qt with the -wmf-backend option. + See QTBUG-45597. + +**************************************************************************** +* Library * +**************************************************************************** + +QtMultimedia +------------ + + - Added new Playlist QML type. + + - Audio Engine QML types + * All types can now be created dynamically and added to the engine + using new 'add' functions. + + - MediaPlayer, Audio and Video (QML): + * Added new audio role API. + * Added playlist support. + + - QMediaPlayer: + * Added new audio role API. + + - [QTBUG-49838] Fixed crash when playing very short WAV files with + QSoundEffect. + +**************************************************************************** +* Platform Specific Changes * +**************************************************************************** + +Android +------- + + - QAudioOutput: improved detection of the default buffer size and sample + rate. + - [QTBUG-35416] Camera QVideoFrames can now me mapped when retrieved using + QAbstractVideoSurface or QVideoProbe. + - [QTBUG-37837] Fixed crash when recording the camera on specific devices. + - [QTBUG-46491] Fixed media player blocking the UI when loading a media. + - [QTBUG-49134] Fixed crash when starting the camera on specific devices. + - [QTBUG-50282] Fixed QAudioRecorder crashing when trying to start it + with invalid settings. + +iOS / OS X +---------- + + - Greatly improved performance of displaying camera frames using the QML + VideoOutput type on iOS. + - Camera capture previews from the imageCaptured() signal are now in higher + resolutions. + - QMediaPlayer::isSeekable() (and QML counterpart) now correctly reports + the seekable status. + - QAudioRecorder::setVolume() is now functional. + - [QTBUG-45570] Fixed media player playback rate not working when set + before calling play(). + - [QTBUG-48057] Media player now correctly seeks as soon as playback starts + when the position is changed before calling play(). + - [QTBUG-48154] Fixed media player volume not working when set before + loading a media. + - [QTBUG-49170] It is not necessary anymore to set a viewfinder on a + QCamera to be able to query the supported viewfinder settings. + - [QTBUG-49170] Fixed QCamera ignoring the resolution set in + QCameraViewfinderSettings. + +Linux +----- + + - QCameraImageProcessing is now functional. + - [QTBUG-49531] Fixed QMediaPlayer not being able to play the same resource + file more than once. + +QNX +--- + + - QAudioRecorder::setVolume() is now functional. + - [QTBUG-49668] Fixed 'loops' property not working for Audio, Video and + MediaPlayer QML types. + +Windows +------- + + - [QTBUG-45593] The DirectShow backend now supports HW-accelerated video + decoding. + - The QML MediaPlayer and Video types previously supported HW-accelerated + video decoding only when using the ANGLE OpenGL implementation. It now + works with desktop OpenGL as well. + - QAudioRecorder::setVolume() is now functional. + - QCameraImageProcessing is now functional. + - Fixed media player volume not working when set before a media is loaded. + - Fixed QVideoFrame::startTime() not returning any value. + - Fixed seek requests never being processed when QMediaPlayer::setPosition() + is called while the media is not playing. + +WinRT +----- + + - Improved camera support: focus, focus lock and video probe APIs are now + functional. + - [QTBUG-47465] Fixed camera viewfinder aspect ratio. + - [QTBUG-47809] Fixed camera frames being upside down after switching + between front and back cameras. + - [QTBUG-48331][QTBUG-49660] Fixed camera viewfinder frames not being + displayed on the Lumia 930 and 1520. + - [QTBUG-48534] Fixed QCamera::searchAndLock() blocking the UI. + - [QTBUG-48569] Fixed crash when resuming an application that uses the + camera. + - [QTBUG-48672] Fixed crash when mapping camera frames after the camera + has stopped. + - [QTBUG-49236] Fixed playback of local files. + - [QTBUG-49347] Fixed crash when the application is suspended while + a camera focus lock is in progress. diff --git a/src/imports/audioengine/audioengine.pro b/src/imports/audioengine/audioengine.pro index 6c4b17c1d..c00a6ec6b 100644 --- a/src/imports/audioengine/audioengine.pro +++ b/src/imports/audioengine/audioengine.pro @@ -1,7 +1,7 @@ CXX_MODULE = multimedia TARGET = declarative_audioengine TARGETPATH = QtAudioEngine -IMPORT_VERSION = 1.0 +IMPORT_VERSION = 1.1 QT += quick qml multimedia-private diff --git a/src/imports/audioengine/plugins.qmltypes b/src/imports/audioengine/plugins.qmltypes index 22fad073a..0468d839a 100644 --- a/src/imports/audioengine/plugins.qmltypes +++ b/src/imports/audioengine/plugins.qmltypes @@ -4,10 +4,10 @@ import QtQuick.tooling 1.2 // It is used for QML tooling purposes only. // // This file was auto-generated by: -// 'qmlplugindump -nonrelocatable QtAudioEngine 1.0' +// 'qmlplugindump -nonrelocatable QtAudioEngine 1.1' Module { - dependencies: [] + dependencies: ["QtQuick 2.0"] Component { name: "QDeclarativeAttenuationModel" prototype: "QObject" diff --git a/src/imports/audioengine/qdeclarative_attenuationmodel_p.cpp b/src/imports/audioengine/qdeclarative_attenuationmodel_p.cpp index 7ecdb41ae..c15c77767 100644 --- a/src/imports/audioengine/qdeclarative_attenuationmodel_p.cpp +++ b/src/imports/audioengine/qdeclarative_attenuationmodel_p.cpp @@ -79,17 +79,11 @@ void QDeclarativeAttenuationModel::setName(const QString& name) \inherits Item \preliminary - This type is part of the \b{QtAudioEngine 1.0} module. - AttenuationModelLinear must be defined inside \l AudioEngine or be added to it using \l{QtAudioEngine::AudioEngine::addAttenuationModel()}{AudioEngine.addAttenuationModel()} if AttenuationModelLinear is created dynamically. \qml - import QtQuick 2.0 - import QtAudioEngine 1.0 - - Rectangle { color:"white" width: 300 @@ -214,17 +208,11 @@ qreal QDeclarativeAttenuationModelLinear::calculateGain(const QVector3D &listene \inherits Item \preliminary - This type is part of the \b{QtAudioEngine 1.0} module. - AttenuationModelInverse must be defined inside \l AudioEngine or be added to it using \l{QtAudioEngine::AudioEngine::addAttenuationModel()}{AudioEngine.addAttenuationModel()} if AttenuationModelInverse is created dynamically. \qml - import QtQuick 2.0 - import QtAudioEngine 1.0 - - Rectangle { color:"white" width: 300 diff --git a/src/imports/audioengine/qdeclarative_audiocategory_p.cpp b/src/imports/audioengine/qdeclarative_audiocategory_p.cpp index 847941ca9..4931cce7f 100644 --- a/src/imports/audioengine/qdeclarative_audiocategory_p.cpp +++ b/src/imports/audioengine/qdeclarative_audiocategory_p.cpp @@ -48,17 +48,12 @@ QT_USE_NAMESPACE \inherits Item \preliminary - This type is part of the \b{QtAudioEngine 1.0} module. - An instance of AudioCategory can be accessed through \l {QtAudioEngine::AudioEngine::categories} {AudioEngine.categories} with its unique name and must be defined inside AudioEngine or be added to it using \l{QtAudioEngine::AudioEngine::addAudioCategory()}{AudioEngine.addAudioCategory()} if AudioCategory is created dynamically. \qml - import QtQuick 2.0 - import QtAudioEngine 1.0 - Rectangle { color:"white" width: 300 diff --git a/src/imports/audioengine/qdeclarative_audioengine_p.cpp b/src/imports/audioengine/qdeclarative_audioengine_p.cpp index dd80c698d..bb53cbb34 100644 --- a/src/imports/audioengine/qdeclarative_audioengine_p.cpp +++ b/src/imports/audioengine/qdeclarative_audioengine_p.cpp @@ -57,12 +57,7 @@ QT_BEGIN_NAMESPACE \inherits Item \preliminary - \c AudioEngine is part of the \b{QtAudioEngine 1.0} module. - \qml - import QtQuick 2.0 - import QtAudioEngine 1.0 - Rectangle { color:"white" width: 300 diff --git a/src/imports/audioengine/qdeclarative_audiolistener_p.cpp b/src/imports/audioengine/qdeclarative_audiolistener_p.cpp index 0403fc1c7..645a0446b 100644 --- a/src/imports/audioengine/qdeclarative_audiolistener_p.cpp +++ b/src/imports/audioengine/qdeclarative_audiolistener_p.cpp @@ -49,15 +49,10 @@ QT_USE_NAMESPACE \inherits Item \preliminary - This type is part of the \b{QtAudioEngine 1.0} module. - AudioListener will have only one global instance and you can either access it through the listener property of AudioEngine: \qml - import QtQuick 2.0 - import QtAudioEngine 1.0 - Rectangle { color:"white" width: 300 @@ -92,9 +87,6 @@ QT_USE_NAMESPACE or alternatively, by defining an AudioListener outside AudioEngine: \qml - import QtQuick 2.0 - import QtAudioEngine 1.0 - Rectangle { color:"white" width: 300 diff --git a/src/imports/audioengine/qdeclarative_audiosample_p.cpp b/src/imports/audioengine/qdeclarative_audiosample_p.cpp index 297af3b31..09f708702 100644 --- a/src/imports/audioengine/qdeclarative_audiosample_p.cpp +++ b/src/imports/audioengine/qdeclarative_audiosample_p.cpp @@ -51,17 +51,12 @@ QT_USE_NAMESPACE \inherits Item \preliminary - \c AudioSample is part of the \b{QtAudioEngine 1.0} module. - It can be accessed through QtAudioEngine::AudioEngine::samples with its unique name and must be defined inside AudioEngine or be added to it using \l{QtAudioEngine::AudioEngine::addAudioSample()}{AudioEngine.addAudioSample()} if AudioSample is created dynamically. \qml - import QtQuick 2.0 - import QtAudioEngine 1.0 - Rectangle { color:"white" width: 300 diff --git a/src/imports/audioengine/qdeclarative_playvariation_p.cpp b/src/imports/audioengine/qdeclarative_playvariation_p.cpp index 156f83f68..ac2bd67ad 100644 --- a/src/imports/audioengine/qdeclarative_playvariation_p.cpp +++ b/src/imports/audioengine/qdeclarative_playvariation_p.cpp @@ -53,16 +53,11 @@ QT_USE_NAMESPACE \inherits Item \preliminary - This type is part of the \b{QtAudioEngine 1.0} module. - PlayVariation must be defined inside a \l Sound or be added to it using \l{QtAudioEngine::Sound::addPlayVariation()}{Sound.addPlayVariation()} if PlayVariation is created dynamically. \qml - import QtQuick 2.0 - import QtAudioEngine 1.0 - Rectangle { color:"white" width: 300 diff --git a/src/imports/audioengine/qdeclarative_sound_p.cpp b/src/imports/audioengine/qdeclarative_sound_p.cpp index f19b8dbb3..497b8349a 100644 --- a/src/imports/audioengine/qdeclarative_sound_p.cpp +++ b/src/imports/audioengine/qdeclarative_sound_p.cpp @@ -159,16 +159,12 @@ void QDeclarativeSoundCone::setEngine(QDeclarativeAudioEngine *engine) \inherits Item \preliminary - This type is part of the \b{QtAudioEngine 1.0} module. - Sound can be accessed through QtAudioEngine::AudioEngine::sounds with its unique name and must be defined inside AudioEngine or be added to it using \l{QtAudioEngine::AudioEngine::addSound()}{AudioEngine.addSound()} if \l Sound is created dynamically. \qml - import QtQuick 2.0 - import QtAudioEngine 1.0 Rectangle { color:"white" diff --git a/src/imports/audioengine/qdeclarative_soundinstance_p.cpp b/src/imports/audioengine/qdeclarative_soundinstance_p.cpp index bdb2e775a..c29972478 100644 --- a/src/imports/audioengine/qdeclarative_soundinstance_p.cpp +++ b/src/imports/audioengine/qdeclarative_soundinstance_p.cpp @@ -52,15 +52,10 @@ QT_USE_NAMESPACE \inherits Item \preliminary - This type is part of the \b{QtAudioEngine 1.0} module. - There are two ways to create SoundInstance objects. You can obtain it by calling newInstance method of a \l Sound: \qml - import QtQuick 2.0 - import QtAudioEngine 1.0 - Rectangle { id:root color:"white" @@ -98,9 +93,6 @@ QT_USE_NAMESPACE easier qml bindings: \qml - import QtQuick 2.0 - import QtAudioEngine 1.0 - Rectangle { id:root color:"white" diff --git a/src/multimedia/doc/src/multimedia.qdoc b/src/multimedia/doc/src/multimedia.qdoc index 5849af59d..813847d88 100644 --- a/src/multimedia/doc/src/multimedia.qdoc +++ b/src/multimedia/doc/src/multimedia.qdoc @@ -177,12 +177,12 @@ what changed, and what you might need to change when porting code. \section2 QML Types The QML types are accessed by using: \code -import QtMultimedia 5.5 +import QtMultimedia 5.6 \endcode \annotatedlist multimedia_qml The following types are accessed by using \l{Qt Audio Engine QML Types}{Qt Audio Engine}: \code -import QtAudioEngine 1.0 +import QtAudioEngine 1.1 \endcode \annotatedlist multimedia_audioengine diff --git a/src/multimedia/doc/src/qtaudioengine.qdoc b/src/multimedia/doc/src/qtaudioengine.qdoc index 3b65379d3..2de2bb250 100644 --- a/src/multimedia/doc/src/qtaudioengine.qdoc +++ b/src/multimedia/doc/src/qtaudioengine.qdoc @@ -26,7 +26,7 @@ ****************************************************************************/ /*! -\qmlmodule QtAudioEngine 1.0 +\qmlmodule QtAudioEngine 1.1 \title Qt Audio Engine QML Types \ingroup qmlmodules \brief Provides QML types for 3D positional audio playback and content management. @@ -37,7 +37,7 @@ Engine provides types for 3D positional audio playback and content management. The QML types can be imported into your application using the following import statement in your .qml file: \code -import QtAudioEngine 1.0 +import QtAudioEngine 1.1 \endcode \section1 Qt Audio Engine Features diff --git a/src/multimedia/doc/src/qtmultimedia-index.qdoc b/src/multimedia/doc/src/qtmultimedia-index.qdoc index e51ec97e0..989b8886e 100644 --- a/src/multimedia/doc/src/qtmultimedia-index.qdoc +++ b/src/multimedia/doc/src/qtmultimedia-index.qdoc @@ -54,7 +54,7 @@ import statement in your \c {.qml} file. \code - import QtMultimedia 5.5 + import QtMultimedia 5.6 \endcode If you intend to use the C++ classes in your application, include the C++ diff --git a/src/multimedia/doc/src/qtmultimedia5.qdoc b/src/multimedia/doc/src/qtmultimedia5.qdoc index 0d3e087a0..21854ae7c 100644 --- a/src/multimedia/doc/src/qtmultimedia5.qdoc +++ b/src/multimedia/doc/src/qtmultimedia5.qdoc @@ -26,7 +26,7 @@ ****************************************************************************/ /*! -\qmlmodule QtMultimedia 5.5 +\qmlmodule QtMultimedia 5.6 \title Qt Multimedia QML Types \ingroup qmlmodules \brief Provides QML types for multimedia support. @@ -42,7 +42,7 @@ The QML types for \l{Qt Multimedia} support the basic use cases such as: The QML types can be imported into your application using the following import statement in your .qml file: \code -import QtMultimedia 5.5 +import QtMultimedia 5.6 \endcode \section1 QML types diff --git a/src/plugins/wmf/player/mfaudioendpointcontrol.cpp b/src/plugins/wmf/player/mfaudioendpointcontrol.cpp index 7178a75c1..939b98f0d 100644 --- a/src/plugins/wmf/player/mfaudioendpointcontrol.cpp +++ b/src/plugins/wmf/player/mfaudioendpointcontrol.cpp @@ -34,6 +34,8 @@ #include "QtCore/qdebug.h" #include "mfaudioendpointcontrol.h" +#include <mmdeviceapi.h> + MFAudioEndpointControl::MFAudioEndpointControl(QObject *parent) : QAudioOutputSelectorControl(parent) , m_currentActivate(0) diff --git a/src/plugins/wmf/player/mfaudioendpointcontrol.h b/src/plugins/wmf/player/mfaudioendpointcontrol.h index d0186a4ac..18791e1c3 100644 --- a/src/plugins/wmf/player/mfaudioendpointcontrol.h +++ b/src/plugins/wmf/player/mfaudioendpointcontrol.h @@ -36,7 +36,6 @@ #include <mfapi.h> #include <mfidl.h> -#include <mmdeviceapi.h> #include "qaudiooutputselectorcontrol.h" |