diff options
Diffstat (limited to 'src/plugins/gstreamer')
-rw-r--r-- | src/plugins/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp | 15 | ||||
-rw-r--r-- | src/plugins/gstreamer/mediacapture/qgstreamerrecordercontrol.h | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/plugins/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp b/src/plugins/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp index 700517a1c..2b7d77513 100644 --- a/src/plugins/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp +++ b/src/plugins/gstreamer/mediacapture/qgstreamerrecordercontrol.cpp @@ -126,6 +126,21 @@ qint64 QGstreamerRecorderControl::duration() const return m_session->duration(); } +void QGstreamerRecorderControl::setState(QMediaRecorder::State state) +{ + switch (state) { + case QMediaRecorder::StoppedState: + stop(); + break; + case QMediaRecorder::PausedState: + pause(); + break; + case QMediaRecorder::RecordingState: + record(); + break; + } +} + void QGstreamerRecorderControl::record() { if (m_state == QMediaRecorder::RecordingState) diff --git a/src/plugins/gstreamer/mediacapture/qgstreamerrecordercontrol.h b/src/plugins/gstreamer/mediacapture/qgstreamerrecordercontrol.h index c765c55fd..4696e1118 100644 --- a/src/plugins/gstreamer/mediacapture/qgstreamerrecordercontrol.h +++ b/src/plugins/gstreamer/mediacapture/qgstreamerrecordercontrol.h @@ -71,6 +71,7 @@ public: void applySettings(); public slots: + void setState(QMediaRecorder::State state); void record(); void pause(); void stop(); |