summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-05-06 15:04:50 +0200
committerLiang Qi <liang.qi@qt.io>2016-05-06 15:04:50 +0200
commit7b0cae6c4f9f417e14a1553cd206bd929d299dbb (patch)
tree6408aa52426dcd7d77ab21358f11a3dcb10dc4ca
parent3c278e96ce62f5211b2d2a700f233653a3ce64e6 (diff)
parent7f502f32d9cc08bca841962511bbfabab1334b43 (diff)
downloadqtmultimedia-7b0cae6c4f9f417e14a1553cd206bd929d299dbb.tar.gz
Merge remote-tracking branch 'origin/5.7' into dev
Change-Id: I8027e798d85ae60dbcb4fbc8592e3992af7546d4
-rw-r--r--src/imports/multimedia/multimedia.cpp5
-rw-r--r--src/imports/multimedia/multimedia.pro1
-rw-r--r--src/imports/multimedia/plugins.qmltypes49
-rw-r--r--src/imports/multimedia/qdeclarativecameraimageprocessing.cpp2
-rw-r--r--src/imports/multimedia/qdeclarativecameraimageprocessing_p.h6
-rw-r--r--src/imports/multimedia/qdeclarativeplaylist_p.h8
-rw-r--r--src/multimedia/playback/qmedianetworkplaylistprovider.cpp10
-rw-r--r--src/plugins/android/android.pro2
-rw-r--r--src/plugins/android/src/qandroidmediaserviceplugin.cpp2
-rw-r--r--src/plugins/directshow/player/directshowplayerservice.cpp39
-rw-r--r--src/plugins/opensles/qopenslesengine.cpp6
-rw-r--r--tests/auto/integration/qaudioinput/BLACKLIST7
-rw-r--r--tests/auto/integration/qaudioinput/qaudioinput.pro2
-rw-r--r--tests/auto/integration/qaudiooutput/BLACKLIST3
-rw-r--r--tests/auto/integration/qmediaplayerbackend/BLACKLIST1
-rw-r--r--tests/auto/integration/qsoundeffect/BLACKLIST1
16 files changed, 108 insertions, 36 deletions
diff --git a/src/imports/multimedia/multimedia.cpp b/src/imports/multimedia/multimedia.cpp
index 0ebe5cd0e..872b2ae61 100644
--- a/src/imports/multimedia/multimedia.cpp
+++ b/src/imports/multimedia/multimedia.cpp
@@ -135,6 +135,11 @@ public:
qmlRegisterType<QDeclarativePlaylist>(uri, 5, 6, "Playlist");
qmlRegisterType<QDeclarativePlaylistItem>(uri, 5, 6, "PlaylistItem");
+ // 5.7 types
+ qmlRegisterType<QDeclarativePlaylist, 1>(uri, 5, 7, "Playlist");
+ qmlRegisterUncreatableType<QDeclarativeCameraImageProcessing, 2>(uri, 5, 7, "CameraImageProcessing",
+ trUtf8("CameraImageProcessing is provided by Camera"));
+
qmlRegisterType<QDeclarativeMediaMetaData>();
qmlRegisterType<QAbstractVideoFilter>();
}
diff --git a/src/imports/multimedia/multimedia.pro b/src/imports/multimedia/multimedia.pro
index dabb0a4ba..4c35784b9 100644
--- a/src/imports/multimedia/multimedia.pro
+++ b/src/imports/multimedia/multimedia.pro
@@ -1,7 +1,6 @@
CXX_MODULE = multimedia
TARGET = declarative_multimedia
TARGETPATH = QtMultimedia
-IMPORT_VERSION = 5.6
QT += qml quick network multimedia-private qtmultimediaquicktools-private
diff --git a/src/imports/multimedia/plugins.qmltypes b/src/imports/multimedia/plugins.qmltypes
index fe1c68af2..91fff02eb 100644
--- a/src/imports/multimedia/plugins.qmltypes
+++ b/src/imports/multimedia/plugins.qmltypes
@@ -4,7 +4,7 @@ import QtQuick.tooling 1.2
// It is used for QML tooling purposes only.
//
// This file was auto-generated by:
-// 'qmlplugindump -nonrelocatable QtMultimedia 5.6'
+// 'qmlplugindump -nonrelocatable QtMultimedia 5.7'
Module {
dependencies: ["QtQuick 2.0"]
@@ -832,10 +832,11 @@ Module {
prototype: "QObject"
exports: [
"QtMultimedia/CameraImageProcessing 5.0",
- "QtMultimedia/CameraImageProcessing 5.5"
+ "QtMultimedia/CameraImageProcessing 5.5",
+ "QtMultimedia/CameraImageProcessing 5.7"
]
isCreatable: false
- exportMetaObjectRevisions: [0, 1]
+ exportMetaObjectRevisions: [0, 1, 2]
Enum {
name: "WhiteBalanceMode"
values: {
@@ -868,6 +869,7 @@ Module {
}
Property { name: "whiteBalanceMode"; type: "WhiteBalanceMode" }
Property { name: "manualWhiteBalance"; type: "double" }
+ Property { name: "brightness"; revision: 2; type: "double" }
Property { name: "contrast"; type: "double" }
Property { name: "saturation"; type: "double" }
Property { name: "sharpeningLevel"; type: "double" }
@@ -882,6 +884,11 @@ Module {
Parameter { type: "double" }
}
Signal {
+ name: "brightnessChanged"
+ revision: 2
+ Parameter { type: "double" }
+ }
+ Signal {
name: "contrastChanged"
Parameter { type: "double" }
}
@@ -906,6 +913,11 @@ Module {
Parameter { name: "colorTemp"; type: "double" }
}
Method {
+ name: "setBrightness"
+ revision: 2
+ Parameter { name: "value"; type: "double" }
+ }
+ Method {
name: "setContrast"
Parameter { name: "value"; type: "double" }
}
@@ -1243,8 +1255,8 @@ Module {
name: "QDeclarativePlaylist"
defaultProperty: "items"
prototype: "QAbstractListModel"
- exports: ["QtMultimedia/Playlist 5.6"]
- exportMetaObjectRevisions: [0]
+ exports: ["QtMultimedia/Playlist 5.6", "QtMultimedia/Playlist 5.7"]
+ exportMetaObjectRevisions: [0, 1]
Enum {
name: "PlaybackMode"
values: {
@@ -1351,16 +1363,43 @@ Module {
Parameter { name: "source"; type: "QUrl" }
}
Method {
+ name: "addItems"
+ revision: 1
+ type: "bool"
+ Parameter { name: "sources"; type: "QList<QUrl>" }
+ }
+ Method {
name: "insertItem"
type: "bool"
Parameter { name: "index"; type: "int" }
Parameter { name: "source"; type: "QUrl" }
}
Method {
+ name: "insertItems"
+ revision: 1
+ type: "bool"
+ Parameter { name: "index"; type: "int" }
+ Parameter { name: "sources"; type: "QList<QUrl>" }
+ }
+ Method {
+ name: "moveItem"
+ revision: 1
+ type: "bool"
+ Parameter { name: "from"; type: "int" }
+ Parameter { name: "to"; type: "int" }
+ }
+ Method {
name: "removeItem"
type: "bool"
Parameter { name: "index"; type: "int" }
}
+ Method {
+ name: "removeItems"
+ revision: 1
+ type: "bool"
+ Parameter { name: "start"; type: "int" }
+ Parameter { name: "end"; type: "int" }
+ }
Method { name: "clear"; type: "bool" }
}
Component {
diff --git a/src/imports/multimedia/qdeclarativecameraimageprocessing.cpp b/src/imports/multimedia/qdeclarativecameraimageprocessing.cpp
index c7e4c703b..e8a816727 100644
--- a/src/imports/multimedia/qdeclarativecameraimageprocessing.cpp
+++ b/src/imports/multimedia/qdeclarativecameraimageprocessing.cpp
@@ -148,6 +148,8 @@ void QDeclarativeCameraImageProcessing::setManualWhiteBalance(qreal colorTemp) c
Image brightness adjustment.
Valid brightness adjustment values range between -1.0 and 1.0, with a default of 0.
+
+ \since 5.7
*/
qreal QDeclarativeCameraImageProcessing::brightness() const
{
diff --git a/src/imports/multimedia/qdeclarativecameraimageprocessing_p.h b/src/imports/multimedia/qdeclarativecameraimageprocessing_p.h
index bb10cdeba..eb755d87c 100644
--- a/src/imports/multimedia/qdeclarativecameraimageprocessing_p.h
+++ b/src/imports/multimedia/qdeclarativecameraimageprocessing_p.h
@@ -66,7 +66,7 @@ class QDeclarativeCameraImageProcessing : public QObject
Q_PROPERTY(WhiteBalanceMode whiteBalanceMode READ whiteBalanceMode WRITE setWhiteBalanceMode NOTIFY whiteBalanceModeChanged)
Q_PROPERTY(qreal manualWhiteBalance READ manualWhiteBalance WRITE setManualWhiteBalance NOTIFY manualWhiteBalanceChanged)
- Q_PROPERTY(qreal brightness READ brightness WRITE setBrightness NOTIFY brightnessChanged)
+ Q_PROPERTY(qreal brightness READ brightness WRITE setBrightness NOTIFY brightnessChanged REVISION 2)
Q_PROPERTY(qreal contrast READ contrast WRITE setContrast NOTIFY contrastChanged)
Q_PROPERTY(qreal saturation READ saturation WRITE setSaturation NOTIFY saturationChanged)
Q_PROPERTY(qreal sharpeningLevel READ sharpeningLevel WRITE setSharpeningLevel NOTIFY sharpeningLevelChanged)
@@ -116,7 +116,7 @@ public Q_SLOTS:
void setWhiteBalanceMode(QDeclarativeCameraImageProcessing::WhiteBalanceMode mode) const;
void setManualWhiteBalance(qreal colorTemp) const;
- void setBrightness(qreal value);
+ Q_REVISION(2) void setBrightness(qreal value);
void setContrast(qreal value);
void setSaturation(qreal value);
void setSharpeningLevel(qreal value);
@@ -128,7 +128,7 @@ Q_SIGNALS:
void whiteBalanceModeChanged(QDeclarativeCameraImageProcessing::WhiteBalanceMode) const;
void manualWhiteBalanceChanged(qreal) const;
- void brightnessChanged(qreal);
+ Q_REVISION(2) void brightnessChanged(qreal);
void contrastChanged(qreal);
void saturationChanged(qreal);
void sharpeningLevelChanged(qreal);
diff --git a/src/imports/multimedia/qdeclarativeplaylist_p.h b/src/imports/multimedia/qdeclarativeplaylist_p.h
index 50869e422..22c853605 100644
--- a/src/imports/multimedia/qdeclarativeplaylist_p.h
+++ b/src/imports/multimedia/qdeclarativeplaylist_p.h
@@ -158,12 +158,12 @@ public Q_SLOTS:
void load(const QUrl &location, const QString &format = QString());
bool save(const QUrl &location, const QString &format = QString());
bool addItem(const QUrl &source);
- bool addItems(const QList<QUrl> &sources);
+ Q_REVISION(1) bool addItems(const QList<QUrl> &sources);
bool insertItem(int index, const QUrl &source);
- bool insertItems(int index, const QList<QUrl> &sources);
- bool moveItem(int from, int to);
+ Q_REVISION(1) bool insertItems(int index, const QList<QUrl> &sources);
+ Q_REVISION(1) bool moveItem(int from, int to);
bool removeItem(int index);
- bool removeItems(int start, int end);
+ Q_REVISION(1) bool removeItems(int start, int end);
bool clear();
Q_SIGNALS:
diff --git a/src/multimedia/playback/qmedianetworkplaylistprovider.cpp b/src/multimedia/playback/qmedianetworkplaylistprovider.cpp
index 5e2efbb99..67ce123d8 100644
--- a/src/multimedia/playback/qmedianetworkplaylistprovider.cpp
+++ b/src/multimedia/playback/qmedianetworkplaylistprovider.cpp
@@ -208,10 +208,14 @@ bool QMediaNetworkPlaylistProvider::moveMedia(int from, int to)
{
Q_D(QMediaNetworkPlaylistProvider);
- Q_UNUSED(from);
- Q_UNUSED(to);
+ Q_ASSERT(from >= 0 && from < mediaCount());
+ Q_ASSERT(to >= 0 && to < mediaCount());
- return true;
+ if (from == to)
+ return false;
+
+ const QMediaContent media = d->resources.at(from);
+ return removeMedia(from, from) && insertMedia(to, media);
}
bool QMediaNetworkPlaylistProvider::removeMedia(int fromPos, int toPos)
diff --git a/src/plugins/android/android.pro b/src/plugins/android/android.pro
index fa322942b..e77053b77 100644
--- a/src/plugins/android/android.pro
+++ b/src/plugins/android/android.pro
@@ -1,7 +1,7 @@
TEMPLATE = subdirs
SUBDIRS += src
-android:!android-no-sdk: SUBDIRS += jar
+android: SUBDIRS += jar
qtHaveModule(quick) {
SUBDIRS += videonode
diff --git a/src/plugins/android/src/qandroidmediaserviceplugin.cpp b/src/plugins/android/src/qandroidmediaserviceplugin.cpp
index 693789054..87de7d561 100644
--- a/src/plugins/android/src/qandroidmediaserviceplugin.cpp
+++ b/src/plugins/android/src/qandroidmediaserviceplugin.cpp
@@ -148,7 +148,6 @@ int QAndroidMediaServicePlugin::cameraOrientation(const QByteArray &device) cons
QT_END_NAMESPACE
-#ifndef Q_OS_ANDROID_NO_SDK
Q_DECL_EXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void * /*reserved*/)
{
QT_USE_NAMESPACE
@@ -176,4 +175,3 @@ Q_DECL_EXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void * /*reserved*/)
return JNI_VERSION_1_4;
}
-#endif // Q_OS_ANDROID_NO_SDK
diff --git a/src/plugins/directshow/player/directshowplayerservice.cpp b/src/plugins/directshow/player/directshowplayerservice.cpp
index f5691012c..a411715b8 100644
--- a/src/plugins/directshow/player/directshowplayerservice.cpp
+++ b/src/plugins/directshow/player/directshowplayerservice.cpp
@@ -70,8 +70,22 @@
#include <QtCore/qthread.h>
#include <QtCore/qvarlengtharray.h>
+#ifndef Q_CC_MINGW
+# include <comdef.h>
+#endif
+
Q_GLOBAL_STATIC(DirectShowEventLoop, qt_directShowEventLoop)
+static QString comError(HRESULT hr)
+{
+#ifndef Q_CC_MINGW // MinGW 5.3 no longer has swprintf_s().
+ _com_error error(hr);
+ return QString::fromWCharArray(error.ErrorMessage());
+#else
+ Q_UNUSED(hr)
+ return QString();
+#endif
+}
// QMediaPlayer uses millisecond time units, direct show uses 100 nanosecond units.
static const int qt_directShowTimeScale = 10000;
@@ -344,17 +358,11 @@ void DirectShowPlayerService::doSetUrlSource(QMutexLocker *locker)
m_error = QMediaPlayer::FormatError;
m_errorString = QString();
break;
- case E_FAIL:
- case E_OUTOFMEMORY:
- case VFW_E_CANNOT_LOAD_SOURCE_FILTER:
- case VFW_E_NOT_FOUND:
- m_error = QMediaPlayer::ResourceError;
- m_errorString = QString();
- break;
default:
m_error = QMediaPlayer::ResourceError;
m_errorString = QString();
- qWarning("DirectShowPlayerService::doSetUrlSource: Unresolved error code %x", uint(hr));
+ qWarning("DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x%x (%s)",
+ uint(hr), qPrintable(comError(hr)));
break;
}
@@ -368,7 +376,8 @@ void DirectShowPlayerService::doSetStreamSource(QMutexLocker *locker)
DirectShowIOSource *source = new DirectShowIOSource(m_loop);
source->setDevice(m_stream);
- if (SUCCEEDED(m_graph->AddFilter(source, L"Source"))) {
+ const HRESULT hr = m_graph->AddFilter(source, L"Source");
+ if (SUCCEEDED(hr)) {
m_executedTasks = SetSource;
m_pendingTasks |= Render;
@@ -389,6 +398,8 @@ void DirectShowPlayerService::doSetStreamSource(QMutexLocker *locker)
m_error = QMediaPlayer::ResourceError;
m_errorString = QString();
+ qWarning("DirectShowPlayerService::doPlay: Unresolved error code 0x%x (%s)",
+ uint(hr), qPrintable(comError(hr)));
QCoreApplication::postEvent(this, new QEvent(QEvent::Type(Error)));
}
@@ -504,8 +515,8 @@ void DirectShowPlayerService::doRender(QMutexLocker *locker)
default:
m_error = QMediaPlayer::ResourceError;
m_errorString = QString();
- qWarning("DirectShowPlayerService::doRender: Unresolved error code %x",
- uint(renderHr));
+ qWarning("DirectShowPlayerService::doRender: Unresolved error code 0x%x (%s)",
+ uint(renderHr), qPrintable(comError(renderHr)));
}
}
@@ -716,7 +727,8 @@ void DirectShowPlayerService::doPlay(QMutexLocker *locker)
} else {
m_error = QMediaPlayer::ResourceError;
m_errorString = QString();
- qWarning("DirectShowPlayerService::doPlay: Unresolved error code %x", uint(hr));
+ qWarning("DirectShowPlayerService::doPlay: Unresolved error code 0x%x (%s)",
+ uint(hr), qPrintable(comError(hr)));
QCoreApplication::postEvent(this, new QEvent(QEvent::Type(Error)));
}
@@ -775,7 +787,8 @@ void DirectShowPlayerService::doPause(QMutexLocker *locker)
} else {
m_error = QMediaPlayer::ResourceError;
m_errorString = QString();
- qWarning("DirectShowPlayerService::doPause: Unresolved error code %x", uint(hr));
+ qWarning("DirectShowPlayerService::doPause: Unresolved error code 0x%x (%s)",
+ uint(hr), qPrintable(comError(hr)));
QCoreApplication::postEvent(this, new QEvent(QEvent::Type(Error)));
}
diff --git a/src/plugins/opensles/qopenslesengine.cpp b/src/plugins/opensles/qopenslesengine.cpp
index 8a08c46f3..0cbd10887 100644
--- a/src/plugins/opensles/qopenslesengine.cpp
+++ b/src/plugins/opensles/qopenslesengine.cpp
@@ -143,7 +143,7 @@ QList<int> QOpenSLESEngine::supportedSampleRates(QAudio::Mode mode) const
int QOpenSLESEngine::getOutputValue(QOpenSLESEngine::OutputValue type, int defaultValue)
{
-#if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_NO_SDK)
+#if defined(Q_OS_ANDROID)
static int sampleRate = 0;
static int framesPerBuffer = 0;
static const int sdkVersion = QtAndroidPrivate::androidSdkVersion();
@@ -204,7 +204,7 @@ int QOpenSLESEngine::getOutputValue(QOpenSLESEngine::OutputValue type, int defau
int QOpenSLESEngine::getDefaultBufferSize(const QAudioFormat &format)
{
-#if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_NO_SDK)
+#if defined(Q_OS_ANDROID)
if (!format.isValid())
return 0;
@@ -252,7 +252,7 @@ int QOpenSLESEngine::getLowLatencyBufferSize(const QAudioFormat &format)
bool QOpenSLESEngine::supportsLowLatency()
{
-#if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_NO_SDK)
+#if defined(Q_OS_ANDROID)
static int isSupported = -1;
if (isSupported != -1)
diff --git a/tests/auto/integration/qaudioinput/BLACKLIST b/tests/auto/integration/qaudioinput/BLACKLIST
new file mode 100644
index 000000000..f6a8a670f
--- /dev/null
+++ b/tests/auto/integration/qaudioinput/BLACKLIST
@@ -0,0 +1,7 @@
+#QTBUG-49736
+[pushSuspendResume]
+redhatenterpriselinuxworkstation-6.6
+rhel-7.2
+ubuntu-14.04
+opensuse-13.1
+opensuse-42.1
diff --git a/tests/auto/integration/qaudioinput/qaudioinput.pro b/tests/auto/integration/qaudioinput/qaudioinput.pro
index 737ff6c23..31de98eb0 100644
--- a/tests/auto/integration/qaudioinput/qaudioinput.pro
+++ b/tests/auto/integration/qaudioinput/qaudioinput.pro
@@ -3,7 +3,7 @@ TARGET = tst_qaudioinput
QT += core multimedia-private testlib
# This is more of a system test
-CONFIG += testcase insignificant_test
+CONFIG += testcase
HEADERS += wavheader.h
SOURCES += wavheader.cpp tst_qaudioinput.cpp
diff --git a/tests/auto/integration/qaudiooutput/BLACKLIST b/tests/auto/integration/qaudiooutput/BLACKLIST
index 4d45efe06..e6cd7c846 100644
--- a/tests/auto/integration/qaudiooutput/BLACKLIST
+++ b/tests/auto/integration/qaudiooutput/BLACKLIST
@@ -1,5 +1,8 @@
+#QTBUG-52673
[pullSuspendResume]
redhatenterpriselinuxworkstation-6.6
rhel-7.1
ubuntu-14.04
opensuse-13.1 64bit
+opensuse-42.1
+rhel-7.2
diff --git a/tests/auto/integration/qmediaplayerbackend/BLACKLIST b/tests/auto/integration/qmediaplayerbackend/BLACKLIST
index b55c167ac..7ce72c7ac 100644
--- a/tests/auto/integration/qmediaplayerbackend/BLACKLIST
+++ b/tests/auto/integration/qmediaplayerbackend/BLACKLIST
@@ -24,6 +24,7 @@ redhatenterpriselinuxworkstation-6.6
rhel-7.1
ubuntu-14.04 64bit
windows 64bit developer-build
+rhel-7.2
[processEOS]
opensuse-13.1 64bit
diff --git a/tests/auto/integration/qsoundeffect/BLACKLIST b/tests/auto/integration/qsoundeffect/BLACKLIST
index 1feeb4b5f..3a358789a 100644
--- a/tests/auto/integration/qsoundeffect/BLACKLIST
+++ b/tests/auto/integration/qsoundeffect/BLACKLIST
@@ -5,3 +5,4 @@ ubuntu-14.04 64bit
redhatenterpriselinuxworkstation-6.6
rhel-7.1
opensuse-13.1
+rhel-7.2