summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-06-23 03:02:16 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-06-23 03:02:16 +0200
commit60ee6f64e145c10a4ea3577da9dd7f38252f9a2e (patch)
treeed0e408d2b564d7dc1a99e007909645b6f3e4894
parente48a9f0dd45647260a61fcdf1056ceecbca210e4 (diff)
parente2fb22c15a53372f768aa362c37caa0d6f4b57c8 (diff)
Merge remote-tracking branch 'origin/5.11' into dev
-rw-r--r--dist/changes-5.11.173
-rw-r--r--examples/multimedia/audioinput/doc/src/audioinput.qdoc2
-rw-r--r--src/imports/multimedia/qdeclarativecameracapture.cpp2
-rw-r--r--src/imports/multimedia/qdeclarativetorch.cpp2
-rw-r--r--src/multimedia/controls/qcamerafeedbackcontrol.cpp2
-rw-r--r--src/multimedia/controls/qmediacontainercontrol.cpp2
-rw-r--r--src/multimedia/doc/qtmultimedia.qdocconf3
-rw-r--r--src/multimedia/doc/snippets/doc_src_qtmultimedia.cpp53
-rw-r--r--src/multimedia/doc/snippets/doc_src_qtmultimedia.pro3
-rw-r--r--src/multimedia/doc/src/qtmultimedia-cpp.qdoc10
-rw-r--r--src/multimediawidgets/doc/snippets/doc_src_qtmultimediawidgets.cpp53
-rw-r--r--src/multimediawidgets/doc/snippets/doc_src_qtmultimediawidgets.pro3
-rw-r--r--src/multimediawidgets/doc/src/qtmultimediawidgets.qdoc9
-rw-r--r--src/plugins/directshow/player/directshowplayerservice.cpp6
-rw-r--r--src/plugins/gstreamer/camerabin/camerabinsession.cpp18
-rw-r--r--src/plugins/winrt/qwinrtcameracontrol.cpp2
-rw-r--r--src/plugins/winrt/qwinrtcameravideorenderercontrol.cpp6
-rw-r--r--src/plugins/winrt/qwinrtcameravideorenderercontrol.h3
-rw-r--r--tests/auto/unit/qmediaplaylist/qmediaplaylist.pro6
19 files changed, 233 insertions, 25 deletions
diff --git a/dist/changes-5.11.1 b/dist/changes-5.11.1
new file mode 100644
index 000000000..11421dbd4
--- /dev/null
+++ b/dist/changes-5.11.1
@@ -0,0 +1,73 @@
+Qt 5.11.1 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.11.0.
+
+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.11 series is binary compatible with the 5.10.x series.
+Applications compiled for 5.10 will continue to run with 5.11.
+
+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.
+
+****************************************************************************
+* Qt 5.11.1 Changes *
+****************************************************************************
+
+QtMultimedia
+------------
+
+ - Made it possible for QSound to play source files using the qrc schema.
+ - [QTBUG-54680] Added a fix to show content
+ when the renderer beackend got recreated.
+ - [QTBUG-54262] QAudioOutput is now properly released when a new source is set.
+ - [QTBUG-66754] Fixed possible double release of QSoundEffect's network
+ access manager.
+
+****************************************************************************
+* Platform Specific Changes *
+****************************************************************************
+
+WinRT
+-----
+
+ - [QTBUG-67614] Prevented deadlock when playing mp3 with QMediaPlayer.
+ - [QTBUG-67417] Fixed white screen for camera output.
+ - [QTBUG-63016] Avoided a crash when QImage is being destroyed within capturing.
+ - [QTBUG-63014] Fixed rotation of camera image.
+ - [QTBUG-68054] Fixed to keep camera as uninitialized when an error.
+ - [QTBUG-68054] Fixed a crash when using IMFMediaSink from IMFStreamSink.
+
+WasAPI
+------
+
+ - [QTBUG-67353] The WasAPI backend will now always use the multithreaded
+ concurrency model.
+
+Gstreamer
+---------
+
+ - [QTBUG-67920] Postponeed fetching supported viewfinder camerabin settings.
+ - [QTBUG-67706] Added better error and warning reporting in QGstreamerRecorderControl.
+
+WindowsAudio
+------------
+
+ - [QTBUG-61920] Fixed adjusting volume for the default device.
+
+DirectShow
+----------
+
+ - [QTBUG-64931] Fixed crackling sound when playing with a custom sample rate.
+
+QNX
+---
+
+ - Switched WindowGrabber to a private parent window.
diff --git a/examples/multimedia/audioinput/doc/src/audioinput.qdoc b/examples/multimedia/audioinput/doc/src/audioinput.qdoc
index 49fee6005..5339f2821 100644
--- a/examples/multimedia/audioinput/doc/src/audioinput.qdoc
+++ b/examples/multimedia/audioinput/doc/src/audioinput.qdoc
@@ -29,7 +29,7 @@
\example multimedia/audioinput
\title Audio Input Example
\ingroup multimedia_examples
- \brief Recording audio using the QAudioInput class
+ \brief Recording audio using the QAudioInput class.
\e{Audio Input} demonstrates the basic use cases of QAudioInput.
diff --git a/src/imports/multimedia/qdeclarativecameracapture.cpp b/src/imports/multimedia/qdeclarativecameracapture.cpp
index 22d87ec22..96611f0ea 100644
--- a/src/imports/multimedia/qdeclarativecameracapture.cpp
+++ b/src/imports/multimedia/qdeclarativecameracapture.cpp
@@ -50,7 +50,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype CameraCapture
\instantiates QDeclarativeCameraCapture
- \brief An interface for capturing camera images
+ \brief An interface for capturing camera images.
\ingroup multimedia_qml
\inqmlmodule QtMultimedia
\ingroup camera_qml
diff --git a/src/imports/multimedia/qdeclarativetorch.cpp b/src/imports/multimedia/qdeclarativetorch.cpp
index 266eadf00..954926b98 100644
--- a/src/imports/multimedia/qdeclarativetorch.cpp
+++ b/src/imports/multimedia/qdeclarativetorch.cpp
@@ -48,7 +48,7 @@ QT_BEGIN_NAMESPACE
\qmltype Torch
\instantiates QDeclarativeTorch
\inqmlmodule QtMultimedia
- \brief Simple control over torch functionality
+ \brief Simple control over torch functionality.
\ingroup multimedia_qml
diff --git a/src/multimedia/controls/qcamerafeedbackcontrol.cpp b/src/multimedia/controls/qcamerafeedbackcontrol.cpp
index a30e495da..07074d83d 100644
--- a/src/multimedia/controls/qcamerafeedbackcontrol.cpp
+++ b/src/multimedia/controls/qcamerafeedbackcontrol.cpp
@@ -45,7 +45,7 @@
/*!
\class QCameraFeedbackControl
- \brief The QCameraFeedbackControl class allows controlling feedback (sounds etc) during camera operation
+ \brief The QCameraFeedbackControl class allows controlling feedback (sounds etc) during camera operation.
\inmodule QtMultimedia
diff --git a/src/multimedia/controls/qmediacontainercontrol.cpp b/src/multimedia/controls/qmediacontainercontrol.cpp
index 1b6c4bf03..0f130645f 100644
--- a/src/multimedia/controls/qmediacontainercontrol.cpp
+++ b/src/multimedia/controls/qmediacontainercontrol.cpp
@@ -45,7 +45,7 @@ QT_BEGIN_NAMESPACE
/*!
\class QMediaContainerControl
- \brief The QMediaContainerControl class provides access to the output container format of a QMediaService
+ \brief The QMediaContainerControl class provides access to the output container format of a QMediaService.
\inmodule QtMultimedia
diff --git a/src/multimedia/doc/qtmultimedia.qdocconf b/src/multimedia/doc/qtmultimedia.qdocconf
index aa2aa4e3e..b547db762 100644
--- a/src/multimedia/doc/qtmultimedia.qdocconf
+++ b/src/multimedia/doc/qtmultimedia.qdocconf
@@ -44,7 +44,8 @@ qhp.QtMultimedia.subprojects.examples.selectors = doc:example
qhp.QtMultimedia.subprojects.examples.sortPages = true
exampledirs += ../../../examples \
- snippets
+ snippets \
+ ../../multimediawidgets/doc/snippets
manifestmeta.highlighted.names = "QtMultimedia/QML Video Shader Effects Example" \
"QtMultimedia/Media Player Example"
diff --git a/src/multimedia/doc/snippets/doc_src_qtmultimedia.cpp b/src/multimedia/doc/snippets/doc_src_qtmultimedia.cpp
new file mode 100644
index 000000000..a56283474
--- /dev/null
+++ b/src/multimedia/doc/snippets/doc_src_qtmultimedia.cpp
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+#include <QtMultimedia>
+//! [0]
diff --git a/src/multimedia/doc/snippets/doc_src_qtmultimedia.pro b/src/multimedia/doc/snippets/doc_src_qtmultimedia.pro
new file mode 100644
index 000000000..13da13011
--- /dev/null
+++ b/src/multimedia/doc/snippets/doc_src_qtmultimedia.pro
@@ -0,0 +1,3 @@
+#! [0]
+QT += multimedia
+#! [0]
diff --git a/src/multimedia/doc/src/qtmultimedia-cpp.qdoc b/src/multimedia/doc/src/qtmultimedia-cpp.qdoc
index a7b13bad4..053dd3de7 100644
--- a/src/multimedia/doc/src/qtmultimedia-cpp.qdoc
+++ b/src/multimedia/doc/src/qtmultimedia-cpp.qdoc
@@ -33,6 +33,16 @@
\brief The \l {Qt Multimedia} module provides audio, video, radio and camera
functionality.
+
+ To enable Qt Multimedia in a project, add this directive into the
+ C++ files:
+
+ \snippet doc_src_qtmultimedia.cpp 0
+
+ To link against the C++ libraries, add the following to your \c qmake project
+ file:
+
+ \snippet doc_src_qtmultimedia.pro 0
*/
/*!
diff --git a/src/multimediawidgets/doc/snippets/doc_src_qtmultimediawidgets.cpp b/src/multimediawidgets/doc/snippets/doc_src_qtmultimediawidgets.cpp
new file mode 100644
index 000000000..0598cfab9
--- /dev/null
+++ b/src/multimediawidgets/doc/snippets/doc_src_qtmultimediawidgets.cpp
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+#include <QtMultimediaWidgets>
+//! [0]
diff --git a/src/multimediawidgets/doc/snippets/doc_src_qtmultimediawidgets.pro b/src/multimediawidgets/doc/snippets/doc_src_qtmultimediawidgets.pro
new file mode 100644
index 000000000..29c3e9cae
--- /dev/null
+++ b/src/multimediawidgets/doc/snippets/doc_src_qtmultimediawidgets.pro
@@ -0,0 +1,3 @@
+#! [0]
+QT += multimediawidgets
+#! [0]
diff --git a/src/multimediawidgets/doc/src/qtmultimediawidgets.qdoc b/src/multimediawidgets/doc/src/qtmultimediawidgets.qdoc
index 691d66838..d7964c557 100644
--- a/src/multimediawidgets/doc/src/qtmultimediawidgets.qdoc
+++ b/src/multimediawidgets/doc/src/qtmultimediawidgets.qdoc
@@ -35,14 +35,11 @@ These classes are part of the \l{Qt Multimedia Widgets} module.
To enable Qt Multimedia Widgets in a project, add this directive into the
C++ files:
-\code
-#include <QtMultimediaWidgets>
-\endcode
+
+\snippet doc_src_qtmultimediawidgets.cpp 0
To link against the C++ libraries, add the following to your \c qmake project
file:
-\code
-QT += multimediawidgets
-\endcode
+\snippet doc_src_qtmultimediawidgets.pro 0
*/
diff --git a/src/plugins/directshow/player/directshowplayerservice.cpp b/src/plugins/directshow/player/directshowplayerservice.cpp
index d7d190c6a..b975677a6 100644
--- a/src/plugins/directshow/player/directshowplayerservice.cpp
+++ b/src/plugins/directshow/player/directshowplayerservice.cpp
@@ -521,9 +521,9 @@ void DirectShowPlayerService::doRender(QMutexLocker *locker)
peer->Release();
} else {
locker->unlock();
- HRESULT hr;
- if (SUCCEEDED(hr = graph->RenderEx(
- pin, /*AM_RENDEREX_RENDERTOEXISTINGRENDERERS*/ 1, 0))) {
+ HRESULT hr = graph->RenderEx(pin, /*AM_RENDEREX_RENDERTOEXISTINGRENDERERS*/ 1, 0);
+ // Do not return an error if no video output is set yet.
+ if (SUCCEEDED(hr) || !(m_executedTasks & SetVideoOutput)) {
rendered = true;
} else if (renderHr == S_OK || renderHr == VFW_E_NO_DECOMPRESSOR){
renderHr = hr;
diff --git a/src/plugins/gstreamer/camerabin/camerabinsession.cpp b/src/plugins/gstreamer/camerabin/camerabinsession.cpp
index d7a96d333..e87e1b3f0 100644
--- a/src/plugins/gstreamer/camerabin/camerabinsession.cpp
+++ b/src/plugins/gstreamer/camerabin/camerabinsession.cpp
@@ -518,11 +518,19 @@ GstElement *CameraBinSession::buildCameraSource()
const QList<QByteArray> sources = envVideoSource.split(',');
for (const QByteArray &source : sources) {
QList<QByteArray> keyValue = source.split('=');
- if (keyValue.count() == 1) {
- m_videoSrc = gst_element_factory_make(keyValue.at(0), "camera_source");
- break;
- } else if (keyValue.at(0) == QGstUtils::cameraDriver(m_inputDevice, m_sourceFactory)) {
- m_videoSrc = gst_element_factory_make(keyValue.at(1), "camera_source");
+ QByteArray name = keyValue.at(0);
+ if (keyValue.count() > 1 && keyValue.at(0) == QGstUtils::cameraDriver(m_inputDevice, m_sourceFactory))
+ name = keyValue.at(1);
+
+ GError *error = NULL;
+ GstElement *element = gst_parse_launch(name, &error);
+
+ if (error) {
+ g_printerr("ERROR: %s: %s\n", name.constData(), GST_STR_NULL(error->message));
+ g_clear_error(&error);
+ }
+ if (element) {
+ m_videoSrc = element;
break;
}
}
diff --git a/src/plugins/winrt/qwinrtcameracontrol.cpp b/src/plugins/winrt/qwinrtcameracontrol.cpp
index 0eec4a2ca..164a958ff 100644
--- a/src/plugins/winrt/qwinrtcameracontrol.cpp
+++ b/src/plugins/winrt/qwinrtcameracontrol.cpp
@@ -583,6 +583,8 @@ QWinRTCameraControl::QWinRTCameraControl(QObject *parent)
connect(d->videoRenderer, &QWinRTCameraVideoRendererControl::bufferRequested,
this, &QWinRTCameraControl::onBufferRequested);
d->videoDeviceSelector = new QWinRTVideoDeviceSelectorControl(this);
+ connect(d->videoDeviceSelector, QOverload<int>::of(&QWinRTVideoDeviceSelectorControl::selectedDeviceChanged),
+ d->videoRenderer, &QWinRTCameraVideoRendererControl::resetSampleFormat);
d->imageCaptureControl = new QWinRTCameraImageCaptureControl(this);
d->imageEncoderControl = new QWinRTImageEncoderControl(this);
d->cameraFlashControl = new QWinRTCameraFlashControl(this);
diff --git a/src/plugins/winrt/qwinrtcameravideorenderercontrol.cpp b/src/plugins/winrt/qwinrtcameravideorenderercontrol.cpp
index 03d107ae8..6c5e3dbf9 100644
--- a/src/plugins/winrt/qwinrtcameravideorenderercontrol.cpp
+++ b/src/plugins/winrt/qwinrtcameravideorenderercontrol.cpp
@@ -426,4 +426,10 @@ void QWinRTCameraVideoRendererControl::decrementProbe()
--d->videoProbesCounter;
}
+void QWinRTCameraVideoRendererControl::resetSampleFormat()
+{
+ Q_D(QWinRTCameraVideoRendererControl);
+ d->cameraSampleformat = QVideoFrame::Format_User;
+}
+
QT_END_NAMESPACE
diff --git a/src/plugins/winrt/qwinrtcameravideorenderercontrol.h b/src/plugins/winrt/qwinrtcameravideorenderercontrol.h
index eeda83d52..2f98e70f4 100644
--- a/src/plugins/winrt/qwinrtcameravideorenderercontrol.h
+++ b/src/plugins/winrt/qwinrtcameravideorenderercontrol.h
@@ -69,6 +69,9 @@ signals:
void bufferRequested();
void videoFrameProbed(const QVideoFrame &frame);
+public slots:
+ void resetSampleFormat();
+
private:
QScopedPointer<QWinRTCameraVideoRendererControlPrivate> d_ptr;
Q_DECLARE_PRIVATE(QWinRTCameraVideoRendererControl)
diff --git a/tests/auto/unit/qmediaplaylist/qmediaplaylist.pro b/tests/auto/unit/qmediaplaylist/qmediaplaylist.pro
index 4c1aceceb..78a9ea7e8 100644
--- a/tests/auto/unit/qmediaplaylist/qmediaplaylist.pro
+++ b/tests/auto/unit/qmediaplaylist/qmediaplaylist.pro
@@ -5,12 +5,8 @@ include (../qmultimedia_common/mockplaylist.pri)
QT += multimedia-private testlib
-HEADERS += \
- ../../../../src/plugins/m3u/qm3uhandler.h
-
SOURCES += \
- tst_qmediaplaylist.cpp \
- ../../../../src/plugins/m3u/qm3uhandler.cpp
+ tst_qmediaplaylist.cpp
INCLUDEPATH += ../../../../src/plugins/m3u