Commit 812ab8e6 authored by Frederik Gladhorn's avatar Frederik Gladhorn
Browse files

Merge remote-tracking branch 'origin/5.6.0' into 5.6

Change-Id: I91fb2886b4ab8f0b9e2e28329cec69dfa2cb5435
Showing with 150 additions and 63 deletions
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.
CXX_MODULE = multimedia
TARGET = declarative_audioengine
TARGETPATH = QtAudioEngine
IMPORT_VERSION = 1.0
IMPORT_VERSION = 1.1
QT += quick qml multimedia-private
......
......@@ -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"
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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"
......
......@@ -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"
......
......@@ -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
......
......@@ -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
......
......@@ -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++
......
......@@ -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
......
......@@ -34,6 +34,8 @@
#include "QtCore/qdebug.h"
#include "mfaudioendpointcontrol.h"
#include <mmdeviceapi.h>
MFAudioEndpointControl::MFAudioEndpointControl(QObject *parent)
: QAudioOutputSelectorControl(parent)
, m_currentActivate(0)
......
......@@ -36,7 +36,6 @@
#include <mfapi.h>
#include <mfidl.h>
#include <mmdeviceapi.h>
#include "qaudiooutputselectorcontrol.h"
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment