summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2013-12-03 18:22:20 +0100
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2013-12-03 18:22:20 +0100
commitfb0620219bfcdcd608ae0a60f3bba370238cd826 (patch)
tree13156991e4d363689a11946bcd21aded5da76c58
parent186aca3ba72efa3ff175487c0077565b41016158 (diff)
parentea9f9788d502d4a4307a464d87a00be198df09ad (diff)
Merge remote-tracking branch 'origin/release' into stable
-rw-r--r--dist/changes-5.2.086
-rw-r--r--src/imports/multimedia/multimedia.cpp2
-rw-r--r--src/imports/multimedia/qdeclarativevideooutput.cpp2
-rw-r--r--src/imports/multimedia/qdeclarativevideooutput_p.h2
-rw-r--r--src/plugins/android/src/wrappers/jsurfacetexture.cpp24
-rw-r--r--src/plugins/qnx/mediaplayer/ppsmediaplayercontrol.cpp4
6 files changed, 108 insertions, 12 deletions
diff --git a/dist/changes-5.2.0 b/dist/changes-5.2.0
new file mode 100644
index 000000000..e48565958
--- /dev/null
+++ b/dist/changes-5.2.0
@@ -0,0 +1,86 @@
+Qt 5.2 introduces many new features and improvements as well as bugfixes
+over the 5.1.x series. For more details, refer to the online documentation
+included in this distribution. The documentation is also available online:
+
+ http://qt-project.org/doc/qt-5.2
+
+The Qt version 5.2 series is binary compatible with the 5.1.x series.
+Applications compiled for 5.1 will continue to run with 5.2.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+ http://bugreports.qt-project.org/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+****************************************************************************
+* General *
+****************************************************************************
+
+ - Improved ALSA implementation of the audio APIs.
+ - Improved WAV support in QSoundEffect.
+ - New resource policy plugin based on libresourceqt.
+ - Fix QVideoSurfaceArbFpPainter mistakenly failing to start in some cases.
+ - Improved QAudioRecorder implementation on Windows and Mac OS.
+ - Various documentation fixes.
+ - Improved audiorecorder example.
+ - [QTBUG-32487] Make PulseAudio implementation of QSoundEffect more robust.
+ - [QTBUG-32882] Enable QSoundEffect with loopCount of Infinite to play.
+ - [QTBUG-31731] WMF and GStreamer: fixed incorrect frame startTime and endTime.
+ - [QTBUG-30442] VideoOutput: take the video format's scanLineDirection into account.
+ - [QTBUG-34125] Correctly clear the current media in Audio and MediaPlayer qml elements.
+
+Qt for Android
+--------------
+
+ - New OpenSL ES plugin for low-latency audio support on Android.
+ - New camera support on Android.
+ - Improved video renderering with Qt Quick.
+ - Camera and recording permissions are now automatically added when using QtMultimedia on Android.
+ - [QTBUG-32635] Fixed media player buffering logic.
+ - [QTBUG-34558] Fix two race conditions in the media player.
+
+Qt for iOS
+----------
+
+ - New media player and basic camera support on iOS.
+
+Qt for BlackBerry
+-----------------
+
+ - Fix setting a URL containing reserved characters on a media player.
+ - Enable camera on the Playbook.
+ - New QAudioRecorder support.
+ - Fix video recording with BB 10.2.
+ - Improve camera focus handling.
+ - Fixed pixel aspect ratio for video windows.
+ - [QTBUG-33739] Fix camera viewfinder.
+
+Qt for Windows
+--------------
+
+ - WMF: emit positionChanged() signal when reaching the end of a media.
+ - [QTBUG-30776] DirectShow: improve metadata support.
+ - [QTBUG-33631][QTBUG-33518] WMF: allow to load media whose content doesn't match its file extension.
+ - [QTBUG-33518] WMF: allow to load QRC files with QAudioDecoder.
+ - [QTBUG-30435] WMF: fixed the media player failing to play some media formats.
+ - [QTBUG-32360] WMF: fixed compilation with Visual Studio 2008.
+ - [QTBUG-34479] DirectShow: fixed compilation with Visual Studio 2008.
+ - [QTBUG-32864] WMF: fixed compilation on Windows Vista.
+ - [QTBUG-30825] WMF: fixed QMediaPlayer changing to EndOfMedia status too early.
+ - [QTBUG-33160] Fix QAudioOutput::setVolume() limited to 50% on 32-bit Windows.
+
+Qt for QNX
+----------
+
+ - New camera and media player support when mmrenderer is available.
+
+****************************************************************************
+* Plugins *
+****************************************************************************
+
+ - New QML import version QtMultimedia 5.2 adds a new autoOrientation
+ property to the VideoOutput type, which allows the video output to
+ always match the screen orientation.
diff --git a/src/imports/multimedia/multimedia.cpp b/src/imports/multimedia/multimedia.cpp
index d2bc829db..f05252f5c 100644
--- a/src/imports/multimedia/multimedia.cpp
+++ b/src/imports/multimedia/multimedia.cpp
@@ -76,7 +76,7 @@ public:
qmlRegisterType<QDeclarativeAudio>(uri, 5, 0, "Audio");
qmlRegisterType<QDeclarativeAudio>(uri, 5, 0, "MediaPlayer");
qmlRegisterType<QDeclarativeVideoOutput>(uri, 5, 0, "VideoOutput");
- qmlRegisterType<QDeclarativeVideoOutput, 1>(uri, 5, 1, "VideoOutput");
+ qmlRegisterType<QDeclarativeVideoOutput, 2>(uri, 5, 2, "VideoOutput");
qmlRegisterType<QDeclarativeRadio>(uri, 5, 0, "Radio");
qmlRegisterType<QDeclarativeRadioData>(uri, 5, 0, "RadioData");
qmlRegisterType<QDeclarativeCamera>(uri, 5, 0, "Camera");
diff --git a/src/imports/multimedia/qdeclarativevideooutput.cpp b/src/imports/multimedia/qdeclarativevideooutput.cpp
index 07c78b790..240dc4699 100644
--- a/src/imports/multimedia/qdeclarativevideooutput.cpp
+++ b/src/imports/multimedia/qdeclarativevideooutput.cpp
@@ -429,7 +429,7 @@ void QDeclarativeVideoOutput::setOrientation(int orientation)
By default \c autoOrientation is disabled.
- \since QtMultimedia 5.1
+ \since QtMultimedia 5.2
*/
bool QDeclarativeVideoOutput::autoOrientation() const
{
diff --git a/src/imports/multimedia/qdeclarativevideooutput_p.h b/src/imports/multimedia/qdeclarativevideooutput_p.h
index 1de1fccbc..07fdb41e3 100644
--- a/src/imports/multimedia/qdeclarativevideooutput_p.h
+++ b/src/imports/multimedia/qdeclarativevideooutput_p.h
@@ -62,7 +62,7 @@ class QDeclarativeVideoOutput : public QQuickItem
Q_PROPERTY(QObject* source READ source WRITE setSource NOTIFY sourceChanged)
Q_PROPERTY(FillMode fillMode READ fillMode WRITE setFillMode NOTIFY fillModeChanged)
Q_PROPERTY(int orientation READ orientation WRITE setOrientation NOTIFY orientationChanged)
- Q_PROPERTY(bool autoOrientation READ autoOrientation WRITE setAutoOrientation NOTIFY autoOrientationChanged REVISION 1)
+ Q_PROPERTY(bool autoOrientation READ autoOrientation WRITE setAutoOrientation NOTIFY autoOrientationChanged REVISION 2)
Q_PROPERTY(QRectF sourceRect READ sourceRect NOTIFY sourceRectChanged)
Q_PROPERTY(QRectF contentRect READ contentRect NOTIFY contentRectChanged)
Q_ENUMS(FillMode)
diff --git a/src/plugins/android/src/wrappers/jsurfacetexture.cpp b/src/plugins/android/src/wrappers/jsurfacetexture.cpp
index 1505443a8..47487f104 100644
--- a/src/plugins/android/src/wrappers/jsurfacetexture.cpp
+++ b/src/plugins/android/src/wrappers/jsurfacetexture.cpp
@@ -62,6 +62,8 @@ JSurfaceTexture::JSurfaceTexture(unsigned int texName)
{
if (isValid())
g_objectMap.insert(int(texName), this);
+ else // If the class is not available, it means the Android version is < 3.0
+ qWarning("Camera preview and video playback require Android 3.0 (API level 11) or later.");
}
JSurfaceTexture::~JSurfaceTexture()
@@ -94,16 +96,24 @@ static JNINativeMethod methods[] = {
bool JSurfaceTexture::initJNI(JNIEnv *env)
{
- jclass clazz = env->FindClass("org/qtproject/qt5/android/multimedia/QtSurfaceTexture");
+ // SurfaceTexture is available since API 11, try to find it first before loading
+ // our custom class
+ jclass surfaceTextureClass = env->FindClass("android/graphics/SurfaceTexture");
if (env->ExceptionCheck())
env->ExceptionClear();
- if (clazz) {
- g_qtSurfaceTextureClass = static_cast<jclass>(env->NewGlobalRef(clazz));
- if (env->RegisterNatives(g_qtSurfaceTextureClass,
- methods,
- sizeof(methods) / sizeof(methods[0])) < 0) {
- return false;
+ if (surfaceTextureClass) {
+ jclass clazz = env->FindClass("org/qtproject/qt5/android/multimedia/QtSurfaceTexture");
+ if (env->ExceptionCheck())
+ env->ExceptionClear();
+
+ if (clazz) {
+ g_qtSurfaceTextureClass = static_cast<jclass>(env->NewGlobalRef(clazz));
+ if (env->RegisterNatives(g_qtSurfaceTextureClass,
+ methods,
+ sizeof(methods) / sizeof(methods[0])) < 0) {
+ return false;
+ }
}
}
diff --git a/src/plugins/qnx/mediaplayer/ppsmediaplayercontrol.cpp b/src/plugins/qnx/mediaplayer/ppsmediaplayercontrol.cpp
index eb0842fb9..b54c7963f 100644
--- a/src/plugins/qnx/mediaplayer/ppsmediaplayercontrol.cpp
+++ b/src/plugins/qnx/mediaplayer/ppsmediaplayercontrol.cpp
@@ -57,7 +57,7 @@ PpsMediaPlayerControl::PpsMediaPlayerControl(QObject *parent)
m_ppsStatusFd(-1),
m_ppsStateNotifier(0),
m_ppsStateFd(-1)
- , m_previouslySeenState("STOPPED")
+ , m_previouslySeenState("stopped")
{
openConnection();
}
@@ -177,7 +177,7 @@ void PpsMediaPlayerControl::ppsReadyRead(int fd)
if (pps_decoder_get_string(&decoder, "state", &value) == PPS_DECODER_OK) {
const QByteArray state = value;
- if (state != m_previouslySeenState && state == "STOPPED")
+ if (state != m_previouslySeenState && state == "stopped")
handleMmStopped();
m_previouslySeenState = state;
}