diff --git a/dist/changes-5.11.1 b/dist/changes-5.11.1
new file mode 100644
index 0000000000000000000000000000000000000000..11421dbd4a1faed9e957e9eaaf95f907d16554df
--- /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 49fee6005d1fbf760028c05ada70aeed5c04efb7..5339f28216415bdf03c74d3c25771d88f3d27c05 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 22d87ec22a804b435cdd1de44303b8178ad7d112..96611f0eacd192a86befe3c5dfd937a9a64815c3 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 266eadf004fc6975ee7430ba43a2923950b57074..954926b984770a1cf0034048fed0f31ff35ed046 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 a30e495da09fd57d9b7aeb18ccc2d86874f1c877..07074d83d5552d4129d90acc6d3181ddd65c8bf5 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 1b6c4bf036504551de48d4aaf9b4f747eba0141f..0f130645f8dfa06996116fb08680b750da5fddc1 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 aa2aa4e3e3d15eb5bf98fe34b92aa4bd4955aa71..b547db762ed875c141cb7f6de1a61305ac4657ed 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 0000000000000000000000000000000000000000..a562834745fc38ce4d36997f6de4cea109e339cb
--- /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 0000000000000000000000000000000000000000..13da13011c0247ee54ebb55c86a1915a7e76fd93
--- /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 a7b13bad4d416377df96d9cd96fde1a3dba60cf1..053dd3de7664f32c04475a455c8ea1db9420de8f 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 0000000000000000000000000000000000000000..0598cfab9752654f121eeffaf44f0ab5f823d8f2
--- /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 0000000000000000000000000000000000000000..29c3e9caec75901d2adc357fb8e433bcb9654a9a
--- /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 691d66838902164221a73bacfd2ab138ce2f75e8..d7964c557e829e46ae143fcbdd66c0072556ae4f 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 d7d190c6ac4411009838f8aae9dd5e15c40b82b1..b975677a60bef0373b2d2882f3c07b429afc5ac5 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 d7a96d33374aa4b2d7563d0d67456f972674a235..e87e1b3f0e3d77d9c91495a2af9a621898a04705 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 0eec4a2ca88fd95839db6f2987139a029131202f..164a958ffd4714e5bfa259d1203599e624ce7c7e 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 03d107ae8df4b256e1b1995e4e6a394f1bd51d63..6c5e3dbf93c06fe6d5cba5a453106d4af5889b04 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 eeda83d522961be07a0ad2bc22da5bb2ff325d5e..2f98e70f420ff8e5c3ad6598b5d6ddee65efbf14 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 4c1aceceb05e6681c9ef52e4de4c8a560738567a..78a9ea7e8336ada47c9af709b57beef3b9806e5e 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