diff --git a/examples/multimedia/audiooutput/doc/images/audiooutput-example.png b/examples/multimedia/audiooutput/doc/images/audiooutput-example.png
index 5588fbb57a00d96a34d1f29ca2bbb4f319289193..1abf5571f067f12b88992ad34d920d891f56b524 100644
Binary files a/examples/multimedia/audiooutput/doc/images/audiooutput-example.png and b/examples/multimedia/audiooutput/doc/images/audiooutput-example.png differ
diff --git a/examples/multimedia/declarative-radio/doc/images/declarative-radio-example.png b/examples/multimedia/declarative-radio/doc/images/declarative-radio-example.png
index 5b29174c58df81650ef06fa9ecd1ba44c905d67c..882180b219ea7c175749a66055829bd6e07db553 100644
Binary files a/examples/multimedia/declarative-radio/doc/images/declarative-radio-example.png and b/examples/multimedia/declarative-radio/doc/images/declarative-radio-example.png differ
diff --git a/examples/multimedia/spectrum/app/images/record.png b/examples/multimedia/spectrum/app/images/record.png
index e7493aad92f4ba1bcaa0c32fd14aaed5674abb63..184fce809bd68a42062d5be240640dfbff8c6dbf 100644
Binary files a/examples/multimedia/spectrum/app/images/record.png and b/examples/multimedia/spectrum/app/images/record.png differ
diff --git a/examples/multimedia/spectrum/doc/images/spectrum-demo.png b/examples/multimedia/spectrum/doc/images/spectrum-demo.png
index 9ccb489a955f3e96dda379b02a48ad3f53b7bd97..077cbb68d4c216613f1a665fc788054fd094e83c 100644
Binary files a/examples/multimedia/spectrum/doc/images/spectrum-demo.png and b/examples/multimedia/spectrum/doc/images/spectrum-demo.png differ
diff --git a/examples/multimedia/video/qmlvideofx/images/qt-logo.png b/examples/multimedia/video/qmlvideofx/images/qt-logo.png
index 7d3e97eb36e9df80d7d7a4086c8fb8cae68dda68..ecbff0ca36763f5ec81557e8f566f443b285ffb7 100644
Binary files a/examples/multimedia/video/qmlvideofx/images/qt-logo.png and b/examples/multimedia/video/qmlvideofx/images/qt-logo.png differ
diff --git a/src/multimedia/doc/src/images/annotatedurl.png b/src/multimedia/doc/src/images/annotatedurl.png
index 38d86fb494ce120af5c8b52cca79807057003204..b6cf8637cb75a89bfb522f314452dd5e99674081 100644
Binary files a/src/multimedia/doc/src/images/annotatedurl.png and b/src/multimedia/doc/src/images/annotatedurl.png differ
diff --git a/src/multimedia/doc/src/images/video-graphics-memory.png b/src/multimedia/doc/src/images/video-graphics-memory.png
index 9479cce4c22605fee4ff693bef25466f300ccdf1..4bea33322679ce1a81401fef0fd3c0fc6665a6ce 100644
Binary files a/src/multimedia/doc/src/images/video-graphics-memory.png and b/src/multimedia/doc/src/images/video-graphics-memory.png differ
diff --git a/src/multimedia/doc/src/images/video-qml-paint-rate.png b/src/multimedia/doc/src/images/video-qml-paint-rate.png
index 1519ff64e49c5b4ec795bcd3883cdbed3c6b8c43..cb7d822d959c04b5f6eb9fcbd930c547a5ada5da 100644
Binary files a/src/multimedia/doc/src/images/video-qml-paint-rate.png and b/src/multimedia/doc/src/images/video-qml-paint-rate.png differ
diff --git a/src/multimedia/multimedia.pro b/src/multimedia/multimedia.pro
index acde6fe8e975f9e879705e8c0e160fbaaf11ad39..761e488ba4125067f750bba5b67d6aa1a7491d55 100644
--- a/src/multimedia/multimedia.pro
+++ b/src/multimedia/multimedia.pro
@@ -82,6 +82,10 @@ ANDROID_FEATURES += \
     android.hardware.camera.autofocus \
     android.hardware.microphone
 
+MODULE_WINRT_CAPABILITIES_DEVICE += \
+    microphone \
+    webcam
+
 win32: LIBS_PRIVATE += -luuid
 
 HEADERS += $$PUBLIC_HEADERS $$PRIVATE_HEADERS
diff --git a/src/plugins/directshow/camera/dscamerasession.cpp b/src/plugins/directshow/camera/dscamerasession.cpp
index a266e2226e9c0f7a557a0e064ad6bcaaa28d8a4e..9e1be960662a31833f0a985ddca8b4ce200d1814 100644
--- a/src/plugins/directshow/camera/dscamerasession.cpp
+++ b/src/plugins/directshow/camera/dscamerasession.cpp
@@ -1098,9 +1098,19 @@ void DSCameraSession::disconnectGraph()
         pPin = NULL;
     }
 
-    m_filterGraph->RemoveFilter(m_nullRendererFilter);
-    m_filterGraph->RemoveFilter(m_previewFilter);
-    m_filterGraph->RemoveFilter(m_sourceFilter);
+    // To avoid increasing the memory usage every time the graph is re-connected it's
+    // important that all filters are released; also the ones added by the "Intelligent Connect".
+    IEnumFilters *enumFilters = NULL;
+    hr = m_filterGraph->EnumFilters(&enumFilters);
+    if (SUCCEEDED(hr))  {
+        IBaseFilter *filter = NULL;
+        while (enumFilters->Next(1, &filter, NULL) == S_OK) {
+                m_filterGraph->RemoveFilter(filter);
+                enumFilters->Reset();
+                filter->Release();
+        }
+        enumFilters->Release();
+    }
 }
 
 static bool qt_frameRateRangeGreaterThan(const QCamera::FrameRateRange &r1, const QCamera::FrameRateRange &r2)
diff --git a/src/plugins/directshow/player/directshowmediatype.cpp b/src/plugins/directshow/player/directshowmediatype.cpp
index 984979c6ec46e1928ca266fb1da26dee0e72e866..cbe1753ae6592d72f2f5a21b053ec8f14cbbcd79 100644
--- a/src/plugins/directshow/player/directshowmediatype.cpp
+++ b/src/plugins/directshow/player/directshowmediatype.cpp
@@ -198,11 +198,9 @@ QVideoSurfaceFormat::Direction DirectShowMediaType::scanLineDirection(QVideoFram
     case QVideoFrame::Format_BGR24:
     case QVideoFrame::Format_RGB565:
     case QVideoFrame::Format_RGB555:
-#ifndef Q_OS_WINCE
         return bmiHeader.biHeight < 0
             ? QVideoSurfaceFormat::TopToBottom
             : QVideoSurfaceFormat::BottomToTop;
-#endif
     default:
         return QVideoSurfaceFormat::TopToBottom;
     }
diff --git a/src/plugins/qnx/common/windowgrabber.cpp b/src/plugins/qnx/common/windowgrabber.cpp
index 5f42096fbfea8f77d45cca350584a03e6dfeb6f7..ce5b45298f4ca3d392e234c032ab7deff5faa115 100644
--- a/src/plugins/qnx/common/windowgrabber.cpp
+++ b/src/plugins/qnx/common/windowgrabber.cpp
@@ -46,6 +46,7 @@
 #include <qpa/qplatformnativeinterface.h>
 
 #include <QOpenGLContext>
+#include <QOpenGLFunctions>
 
 #ifdef Q_OS_BLACKBERRY
 #include <bps/event.h>
@@ -349,6 +350,9 @@ void WindowGrabber::checkForEglImageExtension()
     m_eglImageSupported = m_context->hasExtension(QByteArrayLiteral("GL_OES_EGL_image"))
                           && eglExtensions.contains(QByteArrayLiteral("EGL_KHR_image"));
 
+    if (strstr(reinterpret_cast<const char*>(glGetString(GL_VENDOR)), "VMware"))
+        m_eglImageSupported = false;
+
     m_eglImageCheck = true;
 }
 
diff --git a/tests/auto/unit/qdeclarativeaudio/qdeclarativeaudio.pro b/tests/auto/unit/qdeclarativeaudio/qdeclarativeaudio.pro
index 2bed926b9167e89a5afc261f0bc58ee5142c349e..f59027bc2753548d3cf00e95e702f173b3603f48 100644
--- a/tests/auto/unit/qdeclarativeaudio/qdeclarativeaudio.pro
+++ b/tests/auto/unit/qdeclarativeaudio/qdeclarativeaudio.pro
@@ -5,10 +5,12 @@ QT += multimedia-private qml testlib
 
 HEADERS += \
         ../../../../src/imports/multimedia/qdeclarativeaudio_p.h \
+        ../../../../src/imports/multimedia/qdeclarativeplaylist_p.h \
         ../../../../src/imports/multimedia/qdeclarativemediametadata_p.h
 
 SOURCES += \
         tst_qdeclarativeaudio.cpp \
+        ../../../../src/imports/multimedia/qdeclarativeplaylist.cpp \
         ../../../../src/imports/multimedia/qdeclarativeaudio.cpp
 
 INCLUDEPATH += ../../../../src/imports/multimedia