summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp2
-rw-r--r--src/plugins/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp b/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp
index b268592c6..c83e467a6 100644
--- a/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp
+++ b/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp
@@ -107,8 +107,6 @@ QGstreamerCaptureSession::QGstreamerCaptureSession(QGstreamerCaptureSession::Cap
qWarning() << QMediaRecorder::Error(e) << ":" << str.toLatin1().constData();
});
m_mediaContainerControl = new QGstreamerMediaContainerControl(this);
-
- setState(StoppedState);
}
QGstreamerCaptureSession::~QGstreamerCaptureSession()
diff --git a/src/plugins/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp b/src/plugins/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp
index 958204803..ba26d8df8 100644
--- a/src/plugins/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp
+++ b/src/plugins/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp
@@ -115,6 +115,9 @@ void QGstreamerRecorderControl::updateStatus()
if (m_status != newStatus) {
m_status = newStatus;
emit statusChanged(m_status);
+ // If stop has been called and session state became stopped.
+ if (m_status == QMediaRecorder::LoadedStatus)
+ emit stateChanged(m_state);
}
}
@@ -204,7 +207,6 @@ void QGstreamerRecorderControl::stop()
m_session->setState(QGstreamerCaptureSession::PreviewState);
}
- emit stateChanged(m_state);
updateStatus();
}