diff --git a/src/multimedia/audio/qaudiodeviceinfo.cpp b/src/multimedia/audio/qaudiodeviceinfo.cpp
index a2a9f5d64eb72da526d84f92fd8884791261eb20..aee4c7df336cb7c631467407bf9b27750e846e1e 100644
--- a/src/multimedia/audio/qaudiodeviceinfo.cpp
+++ b/src/multimedia/audio/qaudiodeviceinfo.cpp
@@ -62,7 +62,12 @@ namespace
 class QAudioDeviceInfoPrivate : public QSharedData
 {
 public:
-    QAudioDeviceInfoPrivate():info(0) {}
+    QAudioDeviceInfoPrivate()
+        : info(0),
+          mode(QAudio::AudioOutput)
+    {
+    }
+
     QAudioDeviceInfoPrivate(const QString &r, const QByteArray &h, QAudio::Mode m):
         realm(r), handle(h), mode(m)
     {
diff --git a/src/multimedia/playback/qmediaplayer.cpp b/src/multimedia/playback/qmediaplayer.cpp
index e54cd7c74c873f0c271b9325a43b8d5aec40c7a6..928b58be7579dc855b15dbf00f5a1ec91890351d 100644
--- a/src/multimedia/playback/qmediaplayer.cpp
+++ b/src/multimedia/playback/qmediaplayer.cpp
@@ -110,6 +110,7 @@ public:
         , error(QMediaPlayer::NoError)
         , filterStates(false)
         , playlist(0)
+        , networkAccessControl(0)
     {}
 
     QMediaServiceProvider *provider;
diff --git a/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp b/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp
index 04a7e95d5dc63dff04ed2ad4ee3ac42d1fcd983b..998c78ade5f1f75adfd259ef25f6fc012d5dc464 100644
--- a/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp
+++ b/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp
@@ -204,7 +204,6 @@ GstElement *QGstreamerCaptureSession::buildAudioSrc()
     if (m_audioInputFactory)
         audioSrc = m_audioInputFactory->buildElement();
     else {
-        audioSrc = gst_element_factory_make("pulsesrc", "audio_src");
         QString elementName = "alsasrc";
         QString device;
 
diff --git a/src/plugins/gstreamer/mediaplayer/qgstappsrc.cpp b/src/plugins/gstreamer/mediaplayer/qgstappsrc.cpp
index 22d570a062d3e3d22f62416590752dd239041e45..7127d4e515a2f92e910cb74b416c1fe9a737cdd7 100644
--- a/src/plugins/gstreamer/mediaplayer/qgstappsrc.cpp
+++ b/src/plugins/gstreamer/mediaplayer/qgstappsrc.cpp
@@ -56,6 +56,9 @@ QGstAppSrc::QGstAppSrc(QObject *parent)
     ,m_enoughData(false)
     ,m_forceData(false)
 {
+    m_callbacks.need_data   = &QGstAppSrc::on_need_data;
+    m_callbacks.enough_data = &QGstAppSrc::on_enough_data;
+    m_callbacks.seek_data   = &QGstAppSrc::on_seek_data;
 }
 
 QGstAppSrc::~QGstAppSrc()
@@ -70,9 +73,6 @@ bool QGstAppSrc::setup(GstElement* appsrc)
         return false;
 
     m_appSrc = GST_APP_SRC(appsrc);
-    m_callbacks.need_data   = &QGstAppSrc::on_need_data;
-    m_callbacks.enough_data = &QGstAppSrc::on_enough_data;
-    m_callbacks.seek_data   = &QGstAppSrc::on_seek_data;
     gst_app_src_set_callbacks(m_appSrc, (GstAppSrcCallbacks*)&m_callbacks, this, (GDestroyNotify)&QGstAppSrc::destroy_notify);
 
     g_object_get(G_OBJECT(m_appSrc), "max-bytes", &m_maxBytes, NULL);
diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
index 7a55181598c68eb24a62e9a278dfa38a75c11773..62ade3d07213639c1b41f02a567b78d6131661a4 100644
--- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
+++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
@@ -349,13 +349,13 @@ int QGstreamerPlayerSession::activeStream(QMediaStreamsControl::StreamType strea
     if (m_playbin) {
         switch (streamType) {
         case QMediaStreamsControl::AudioStream:
-            g_object_get(G_OBJECT(m_playbin), "current-audio", streamNumber, NULL);
+            g_object_get(G_OBJECT(m_playbin), "current-audio", &streamNumber, NULL);
             break;
         case QMediaStreamsControl::VideoStream:
-            g_object_get(G_OBJECT(m_playbin), "current-video", streamNumber, NULL);
+            g_object_get(G_OBJECT(m_playbin), "current-video", &streamNumber, NULL);
             break;
         case QMediaStreamsControl::SubPictureStream:
-            g_object_get(G_OBJECT(m_playbin), "current-text", streamNumber, NULL);
+            g_object_get(G_OBJECT(m_playbin), "current-text", &streamNumber, NULL);
             break;
         default:
             break;
@@ -380,13 +380,13 @@ void QGstreamerPlayerSession::setActiveStream(QMediaStreamsControl::StreamType s
     if (m_playbin) {
         switch (streamType) {
         case QMediaStreamsControl::AudioStream:
-            g_object_set(G_OBJECT(m_playbin), "current-audio", &streamNumber, NULL);
+            g_object_set(G_OBJECT(m_playbin), "current-audio", streamNumber, NULL);
             break;
         case QMediaStreamsControl::VideoStream:
-            g_object_set(G_OBJECT(m_playbin), "current-video", &streamNumber, NULL);
+            g_object_set(G_OBJECT(m_playbin), "current-video", streamNumber, NULL);
             break;
         case QMediaStreamsControl::SubPictureStream:
-            g_object_set(G_OBJECT(m_playbin), "current-text", &streamNumber, NULL);
+            g_object_set(G_OBJECT(m_playbin), "current-text", streamNumber, NULL);
             break;
         default:
             break;
@@ -1297,6 +1297,8 @@ void QGstreamerPlayerSession::getStreamsInfo()
                 qDebug() << "Encountered unknown stream type";
 #endif
                 gst_caps_unref(caps);
+                streamType = QMediaStreamsControl::UnknownStream;
+                break;
             }
             default:
                 streamType = QMediaStreamsControl::UnknownStream;
diff --git a/src/plugins/pulseaudio/qpulseaudioengine.cpp b/src/plugins/pulseaudio/qpulseaudioengine.cpp
index b0d5c78713acad6ff3b50009d81bfa06e56a389d..743bdd857edc22bd06997004bb6d9e766ff3dfe8 100644
--- a/src/plugins/pulseaudio/qpulseaudioengine.cpp
+++ b/src/plugins/pulseaudio/qpulseaudioengine.cpp
@@ -183,6 +183,9 @@ Q_GLOBAL_STATIC(QPulseAudioEngine, pulseEngine);
 
 QPulseAudioEngine::QPulseAudioEngine(QObject *parent)
     : QObject(parent)
+    , m_mainLoopApi(0)
+    , m_context(0)
+
 {
     bool keepGoing = true;
     bool ok = true;