summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPiotr Srebrny <piotr.srebrny@qt.io>2021-06-25 15:32:30 +0200
committerPiotr Srebrny <piotr.srebrny@qt.io>2021-06-25 19:52:30 +0200
commitd494b5ad610e0fcb13584ecbfa11c4c1f4788006 (patch)
treef129df21e497ee366526b014108bf325d7bfd271
parent61c7d0c2e400b54d68763f28bc841232e81937fd (diff)
Kill QMediaRecorder::Status
The recorder Status is quite redundant with respect to the recorder State. The utility of providing information about the Starting and Finalizing states is questionable. Change-Id: I739e0339c26a8c5d70c425dc0023a1868c958875 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
-rw-r--r--examples/multimedia/audiorecorder/audiorecorder.cpp31
-rw-r--r--examples/multimedia/audiorecorder/audiorecorder.h1
-rw-r--r--src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp32
-rw-r--r--src/multimedia/platform/android/mediacapture/qandroidcapturesession_p.h10
-rw-r--r--src/multimedia/platform/android/mediacapture/qandroidmediaencoder.cpp5
-rw-r--r--src/multimedia/platform/android/mediacapture/qandroidmediaencoder_p.h1
-rw-r--r--src/multimedia/platform/darwin/camera/avfmediaencoder.mm31
-rw-r--r--src/multimedia/platform/darwin/camera/avfmediaencoder_p.h2
-rw-r--r--src/multimedia/platform/gstreamer/mediacapture/qgstreamermediaencoder.cpp40
-rw-r--r--src/multimedia/platform/gstreamer/mediacapture/qgstreamermediaencoder_p.h1
-rw-r--r--src/multimedia/platform/qnx/camera/bbcameramediarecordercontrol.cpp6
-rw-r--r--src/multimedia/platform/qnx/camera/bbcameramediarecordercontrol_p.h1
-rw-r--r--src/multimedia/platform/qnx/camera/bbcamerasession.cpp22
-rw-r--r--src/multimedia/platform/qnx/camera/bbcamerasession_p.h4
-rw-r--r--src/multimedia/platform/qplatformmediaencoder.cpp19
-rw-r--r--src/multimedia/platform/qplatformmediaencoder_p.h4
-rw-r--r--src/multimedia/platform/windows/mediacapture/qwindowsmediaencoder.cpp21
-rw-r--r--src/multimedia/platform/windows/mediacapture/qwindowsmediaencoder_p.h2
-rw-r--r--src/multimedia/recording/qmediarecorder.cpp44
-rw-r--r--src/multimedia/recording/qmediarecorder.h14
-rw-r--r--tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp23
-rw-r--r--tests/auto/unit/mockbackend/qmockmediaencoder.h13
-rw-r--r--tests/auto/unit/multimedia/qmediarecorder/tst_qmediarecorder.cpp14
23 files changed, 13 insertions, 328 deletions
diff --git a/examples/multimedia/audiorecorder/audiorecorder.cpp b/examples/multimedia/audiorecorder/audiorecorder.cpp
index af570429e..813ec1212 100644
--- a/examples/multimedia/audiorecorder/audiorecorder.cpp
+++ b/examples/multimedia/audiorecorder/audiorecorder.cpp
@@ -125,7 +125,6 @@ AudioRecorder::AudioRecorder()
ui->bitrateBox->addItem(QStringLiteral("128000"), QVariant(128000));
connect(m_audioEncoder, &QMediaRecorder::durationChanged, this, &AudioRecorder::updateProgress);
- connect(m_audioEncoder, &QMediaRecorder::statusChanged, this, &AudioRecorder::updateStatus);
connect(m_audioEncoder, &QMediaRecorder::recorderStateChanged, this, &AudioRecorder::onStateChanged);
connect(m_audioEncoder, &QMediaRecorder::errorChanged, this, &AudioRecorder::displayErrorMessage);
}
@@ -138,47 +137,33 @@ void AudioRecorder::updateProgress(qint64 duration)
ui->statusbar->showMessage(tr("Recorded %1 sec").arg(duration / 1000));
}
-void AudioRecorder::updateStatus(QMediaRecorder::Status status)
+void AudioRecorder::onStateChanged(QMediaRecorder::RecorderState state)
{
QString statusMessage;
- switch (status) {
- case QMediaRecorder::RecordingStatus:
- statusMessage = tr("Recording to %1").arg(m_audioEncoder->actualLocation().toString());
- break;
- case QMediaRecorder::PausedStatus:
- clearAudioLevels();
- statusMessage = tr("Paused");
- break;
- case QMediaRecorder::StoppedStatus:
- clearAudioLevels();
- statusMessage = tr("Stopped");
- default:
- break;
- }
-
- if (m_audioEncoder->error() == QMediaRecorder::NoError)
- ui->statusbar->showMessage(statusMessage);
-}
-
-void AudioRecorder::onStateChanged(QMediaRecorder::RecorderState state)
-{
switch (state) {
case QMediaRecorder::RecordingState:
+ statusMessage = tr("Recording to %1").arg(m_audioEncoder->actualLocation().toString());
ui->recordButton->setText(tr("Stop"));
ui->pauseButton->setText(tr("Pause"));
break;
case QMediaRecorder::PausedState:
+ clearAudioLevels();
+ statusMessage = tr("Paused");
ui->recordButton->setText(tr("Stop"));
ui->pauseButton->setText(tr("Resume"));
break;
case QMediaRecorder::StoppedState:
+ clearAudioLevels();
+ statusMessage = tr("Stopped");
ui->recordButton->setText(tr("Record"));
ui->pauseButton->setText(tr("Pause"));
break;
}
ui->pauseButton->setEnabled(m_audioEncoder->recorderState() != QMediaRecorder::StoppedState);
+ if (m_audioEncoder->error() == QMediaRecorder::NoError)
+ ui->statusbar->showMessage(statusMessage);
}
static QVariant boxValue(const QComboBox *box)
diff --git a/examples/multimedia/audiorecorder/audiorecorder.h b/examples/multimedia/audiorecorder/audiorecorder.h
index 55dd37a8d..fae682c6f 100644
--- a/examples/multimedia/audiorecorder/audiorecorder.h
+++ b/examples/multimedia/audiorecorder/audiorecorder.h
@@ -78,7 +78,6 @@ private slots:
void togglePause();
void toggleRecord();
- void updateStatus(QMediaRecorder::Status);
void onStateChanged(QMediaRecorder::RecorderState);
void updateProgress(qint64 pos);
void displayErrorMessage();
diff --git a/src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp b/src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp
index 988b480b2..2c3e78757 100644
--- a/src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp
+++ b/src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp
@@ -60,7 +60,6 @@ QAndroidCaptureSession::QAndroidCaptureSession(QAndroidCameraSession *cameraSess
, m_audioSource(AndroidMediaRecorder::DefaultAudioSource)
, m_duration(0)
, m_state(QMediaRecorder::StoppedState)
- , m_status(QMediaRecorder::StoppedStatus)
, m_encoderSettingsDirty(true)
, m_outputFormat(AndroidMediaRecorder::DefaultOutputFormat)
, m_audioEncoder(AndroidMediaRecorder::DefaultAudioEncoder)
@@ -81,14 +80,6 @@ QAndroidCaptureSession::QAndroidCaptureSession(QAndroidCameraSession *cameraSess
if (!isActive)
stop();
});
- connect(cameraSession, &QAndroidCameraSession::readyForCaptureChanged, this,
- [this](bool ready) {
- if (ready)
- setStatus(QMediaRecorder::StoppedStatus);
- });
- } else {
- // Audio-only recording.
- setStatus(QMediaRecorder::StoppedStatus);
}
m_notifyTimer.setInterval(1000);
@@ -132,11 +123,9 @@ QMediaRecorder::RecorderState QAndroidCaptureSession::state() const
void QAndroidCaptureSession::start(const QUrl &outputLocation)
{
- if (m_state == QMediaRecorder::RecordingState || m_status != QMediaRecorder::StoppedStatus)
+ if (m_state == QMediaRecorder::RecordingState)
return;
- setStatus(QMediaRecorder::StartingStatus);
-
if (m_mediaRecorder) {
m_mediaRecorder->release();
delete m_mediaRecorder;
@@ -147,7 +136,6 @@ void QAndroidCaptureSession::start(const QUrl &outputLocation)
? m_cameraSession->requestRecordingPermission()
: qt_androidRequestRecordingPermission();
if (!granted) {
- setStatus(QMediaRecorder::UnavailableStatus);
Q_EMIT error(QMediaRecorder::ResourceError, QLatin1String("Permission denied."));
return;
}
@@ -244,7 +232,6 @@ void QAndroidCaptureSession::start(const QUrl &outputLocation)
m_state = QMediaRecorder::RecordingState;
emit stateChanged(m_state);
- setStatus(QMediaRecorder::RecordingStatus);
}
void QAndroidCaptureSession::stop(bool error)
@@ -252,8 +239,6 @@ void QAndroidCaptureSession::stop(bool error)
if (m_state == QMediaRecorder::StoppedState || m_mediaRecorder == 0)
return;
- setStatus(QMediaRecorder::FinalizingStatus);
-
m_mediaRecorder->stop();
m_notifyTimer.stop();
updateDuration();
@@ -282,21 +267,6 @@ void QAndroidCaptureSession::stop(bool error)
m_state = QMediaRecorder::StoppedState;
emit stateChanged(m_state);
- setStatus(QMediaRecorder::StoppedStatus);
-}
-
-void QAndroidCaptureSession::setStatus(QMediaRecorder::Status status)
-{
- if (m_status == status)
- return;
-
- m_status = status;
- emit statusChanged(m_status);
-}
-
-QMediaRecorder::Status QAndroidCaptureSession::status() const
-{
- return m_status;
}
qint64 QAndroidCaptureSession::duration() const
diff --git a/src/multimedia/platform/android/mediacapture/qandroidcapturesession_p.h b/src/multimedia/platform/android/mediacapture/qandroidcapturesession_p.h
index 87abdf807..dcda3cea5 100644
--- a/src/multimedia/platform/android/mediacapture/qandroidcapturesession_p.h
+++ b/src/multimedia/platform/android/mediacapture/qandroidcapturesession_p.h
@@ -78,7 +78,6 @@ public:
void setAudioInput(QPlatformAudioInput *input);
QMediaRecorder::RecorderState state() const;
- QMediaRecorder::Status status() const;
void start(const QUrl &outputLocation);
void stop(bool error = false);
@@ -96,11 +95,6 @@ public:
if (m_mediaEncoder)
m_mediaEncoder->stateChanged(state);
}
- void statusChanged(QMediaRecorder::Status status)
- {
- if (m_mediaEncoder)
- m_mediaEncoder->statusChanged(status);
- }
void durationChanged(qint64 position)
{
if (m_mediaEncoder)
@@ -158,9 +152,6 @@ private:
CaptureProfile getProfile(int id);
-
- void setStatus(QMediaRecorder::Status status);
-
void updateResolution();
void restartViewfinder();
@@ -178,7 +169,6 @@ private:
qint64 m_duration;
QMediaRecorder::RecorderState m_state;
- QMediaRecorder::Status m_status;
QUrl m_usedOutputLocation;
CaptureProfile m_defaultSettings;
diff --git a/src/multimedia/platform/android/mediacapture/qandroidmediaencoder.cpp b/src/multimedia/platform/android/mediacapture/qandroidmediaencoder.cpp
index 50bb0f604..980be51f0 100644
--- a/src/multimedia/platform/android/mediacapture/qandroidmediaencoder.cpp
+++ b/src/multimedia/platform/android/mediacapture/qandroidmediaencoder.cpp
@@ -60,11 +60,6 @@ QMediaRecorder::RecorderState QAndroidMediaEncoder::state() const
return m_session->state();
}
-QMediaRecorder::Status QAndroidMediaEncoder::status() const
-{
- return m_session->status();
-}
-
qint64 QAndroidMediaEncoder::duration() const
{
return m_session->duration();
diff --git a/src/multimedia/platform/android/mediacapture/qandroidmediaencoder_p.h b/src/multimedia/platform/android/mediacapture/qandroidmediaencoder_p.h
index 6a1f41715..dedebeb13 100644
--- a/src/multimedia/platform/android/mediacapture/qandroidmediaencoder_p.h
+++ b/src/multimedia/platform/android/mediacapture/qandroidmediaencoder_p.h
@@ -66,7 +66,6 @@ public:
bool isLocationWritable(const QUrl &location) const override;
QMediaRecorder::RecorderState state() const override;
- QMediaRecorder::Status status() const override;
qint64 duration() const override;
void applySettings() override;
diff --git a/src/multimedia/platform/darwin/camera/avfmediaencoder.mm b/src/multimedia/platform/darwin/camera/avfmediaencoder.mm
index b45f48335..5146814cc 100644
--- a/src/multimedia/platform/darwin/camera/avfmediaencoder.mm
+++ b/src/multimedia/platform/darwin/camera/avfmediaencoder.mm
@@ -90,7 +90,6 @@ AVFMediaEncoder::AVFMediaEncoder(QMediaRecorder *parent)
: QObject(parent)
, QPlatformMediaEncoder(parent)
, m_state(QMediaRecorder::StoppedState)
- , m_lastStatus(QMediaRecorder::StoppedStatus)
, m_audioSettings(nil)
, m_videoSettings(nil)
//, m_restoreFPS(-1, -1)
@@ -122,11 +121,6 @@ QMediaRecorder::RecorderState AVFMediaEncoder::state() const
return m_state;
}
-QMediaRecorder::Status AVFMediaEncoder::status() const
-{
- return m_lastStatus;
-}
-
qint64 AVFMediaEncoder::duration() const
{
return m_writer.data().durationInMs;
@@ -540,11 +534,9 @@ void AVFMediaEncoder::record()
transform:CGAffineTransformMakeRotation(qDegreesToRadians(rotation))]) {
m_state = QMediaRecorder::RecordingState;
- m_lastStatus = QMediaRecorder::StartingStatus;
Q_EMIT actualLocationChanged(fileURL);
Q_EMIT stateChanged(m_state);
- Q_EMIT statusChanged(m_lastStatus);
// Apple recommends to call startRunning and do all
// setup on a special queue, and that's what we had
@@ -564,8 +556,6 @@ void AVFMediaEncoder::record()
void AVFMediaEncoder::assetWriterStarted()
{
- m_lastStatus = QMediaRecorder::RecordingStatus;
- Q_EMIT statusChanged(QMediaRecorder::RecordingStatus);
}
void AVFMediaEncoder::assetWriterFinished()
@@ -573,7 +563,6 @@ void AVFMediaEncoder::assetWriterFinished()
Q_ASSERT(m_service && m_service->session());
AVFCameraSession *session = m_service->session();
- const QMediaRecorder::Status lastStatus = m_lastStatus;
const QMediaRecorder::RecorderState lastState = m_state;
unapplySettings();
@@ -584,9 +573,6 @@ void AVFMediaEncoder::assetWriterFinished()
[session->captureSession() startRunning];
m_state = QMediaRecorder::StoppedState;
- m_lastStatus = QMediaRecorder::StoppedStatus;
- if (m_lastStatus != lastStatus)
- Q_EMIT statusChanged(m_lastStatus);
if (m_state != lastState)
Q_EMIT stateChanged(m_state);
}
@@ -606,27 +592,14 @@ void AVFMediaEncoder::cameraActiveChanged(bool active)
AVFCamera *cameraControl = m_service->avfCameraControl();
Q_ASSERT(cameraControl);
- const QMediaRecorder::Status lastStatus = m_lastStatus;
if (!active) {
- if (m_lastStatus == QMediaRecorder::RecordingStatus)
- return stopWriter();
-
- m_lastStatus = QMediaRecorder::StoppedStatus;
+ return stopWriter();
}
-
- if (lastStatus != m_lastStatus)
- Q_EMIT statusChanged(m_lastStatus);
}
void AVFMediaEncoder::stopWriter()
{
- if (m_lastStatus == QMediaRecorder::RecordingStatus) {
- m_lastStatus = QMediaRecorder::FinalizingStatus;
-
- Q_EMIT statusChanged(m_lastStatus);
-
- [m_writer stop];
- }
+ [m_writer stop];
}
#include "moc_avfmediaencoder_p.cpp"
diff --git a/src/multimedia/platform/darwin/camera/avfmediaencoder_p.h b/src/multimedia/platform/darwin/camera/avfmediaencoder_p.h
index 7c57768b0..76da39477 100644
--- a/src/multimedia/platform/darwin/camera/avfmediaencoder_p.h
+++ b/src/multimedia/platform/darwin/camera/avfmediaencoder_p.h
@@ -81,7 +81,6 @@ public:
bool isLocationWritable(const QUrl &location) const override;
QMediaRecorder::RecorderState state() const override;
- QMediaRecorder::Status status() const override;
qint64 duration() const override;
@@ -120,7 +119,6 @@ private:
AVFStorageLocation m_storageLocation;
QMediaRecorder::RecorderState m_state;
- QMediaRecorder::Status m_lastStatus;
QMediaEncoderSettings m_settings;
QMediaMetaData m_metaData;
diff --git a/src/multimedia/platform/gstreamer/mediacapture/qgstreamermediaencoder.cpp b/src/multimedia/platform/gstreamer/mediacapture/qgstreamermediaencoder.cpp
index 810709b64..98c061569 100644
--- a/src/multimedia/platform/gstreamer/mediacapture/qgstreamermediaencoder.cpp
+++ b/src/multimedia/platform/gstreamer/mediacapture/qgstreamermediaencoder.cpp
@@ -76,38 +76,6 @@ bool QGstreamerMediaEncoder::isLocationWritable(const QUrl &) const
return true;
}
-void QGstreamerMediaEncoder::updateStatus()
-{
- static QMediaRecorder::Status statusTable[3][3] = {
- //Stopped recorder state:
- { QMediaRecorder::StoppedStatus, QMediaRecorder::FinalizingStatus, QMediaRecorder::FinalizingStatus },
- //Recording recorder state:
- { QMediaRecorder::StartingStatus, QMediaRecorder::RecordingStatus, QMediaRecorder::PausedStatus },
- //Paused recorder state:
- { QMediaRecorder::StartingStatus, QMediaRecorder::RecordingStatus, QMediaRecorder::PausedStatus }
- };
-
- QMediaRecorder::RecorderState sessionState = QMediaRecorder::StoppedState;
-
- auto gstState = gstEncoder.isNull() ? GST_STATE_NULL : gstEncoder.state();
- switch (gstState) {
- case GST_STATE_PLAYING:
- sessionState = QMediaRecorder::RecordingState;
- break;
- case GST_STATE_PAUSED:
- sessionState = QMediaRecorder::PausedState;
- break;
- default:
- sessionState = QMediaRecorder::StoppedState;
- break;
- }
-
- auto newStatus = statusTable[state()][sessionState];
-
- qCDebug(qLcMediaEncoder) << "updateStatus" << state() << sessionState << newStatus;
- statusChanged(newStatus);
-}
-
void QGstreamerMediaEncoder::handleSessionError(QMediaRecorder::Error code, const QString &description)
{
error(code, description);
@@ -162,7 +130,6 @@ bool QGstreamerMediaEncoder::processBusMessage(const QGstreamerMessage &message)
if (newState == GST_STATE_PAUSED && !m_metaData.isEmpty())
setMetaData(m_metaData);
- updateStatus();
break;
}
default:
@@ -297,11 +264,9 @@ void QGstreamerMediaEncoder::record()
// coming from paused state
stateChanged(QMediaRecorder::RecordingState);
gstEncoder.setState(GST_STATE_PLAYING);
- updateStatus();
return;
}
- updateStatus();
// create new encoder
QString location = outputLocation().toLocalFile();
if (outputLocation().isEmpty()) {
@@ -342,7 +307,6 @@ void QGstreamerMediaEncoder::record()
gstPipeline.dumpGraph("recording");
actualLocationChanged(QUrl::fromLocalFile(location));
- updateStatus();
}
void QGstreamerMediaEncoder::pause()
@@ -354,7 +318,6 @@ void QGstreamerMediaEncoder::pause()
gstEncoder.setState(GST_STATE_PAUSED);
stateChanged(QMediaRecorder::PausedState);
- updateStatus();
}
void QGstreamerMediaEncoder::stop()
@@ -383,7 +346,6 @@ void QGstreamerMediaEncoder::stop()
gstEncoder.sendEos();
stateChanged(QMediaRecorder::StoppedState);
- updateStatus();
}
void QGstreamerMediaEncoder::finalize()
@@ -399,8 +361,6 @@ void QGstreamerMediaEncoder::finalize()
gstEncoder.setState(GST_STATE_NULL);
gstFileSink.setState(GST_STATE_NULL);
gstPipeline.setStateSync(GST_STATE_PLAYING);
-
- updateStatus();
}
void QGstreamerMediaEncoder::applySettings()
diff --git a/src/multimedia/platform/gstreamer/mediacapture/qgstreamermediaencoder_p.h b/src/multimedia/platform/gstreamer/mediacapture/qgstreamermediaencoder_p.h
index 29e210e8d..de984aeda 100644
--- a/src/multimedia/platform/gstreamer/mediacapture/qgstreamermediaencoder_p.h
+++ b/src/multimedia/platform/gstreamer/mediacapture/qgstreamermediaencoder_p.h
@@ -96,7 +96,6 @@ public:
void updateDuration();
private:
- void updateStatus();
void handleSessionError(QMediaRecorder::Error code, const QString &description);
void finalize();
QDir defaultDir() const;
diff --git a/src/multimedia/platform/qnx/camera/bbcameramediarecordercontrol.cpp b/src/multimedia/platform/qnx/camera/bbcameramediarecordercontrol.cpp
index eead99420..efbd4bd98 100644
--- a/src/multimedia/platform/qnx/camera/bbcameramediarecordercontrol.cpp
+++ b/src/multimedia/platform/qnx/camera/bbcameramediarecordercontrol.cpp
@@ -66,7 +66,6 @@ BbCameraMediaRecorderControl::BbCameraMediaRecorderControl(BbCameraSession *sess
, m_session(session)
{
connect(m_session, SIGNAL(videoStateChanged(QMediaRecorder::RecorderState)), this, SIGNAL(stateChanged(QMediaRecorder::RecorderState)));
- connect(m_session, SIGNAL(videoStatusChanged(QMediaRecorder::Status)), this, SIGNAL(statusChanged(QMediaRecorder::Status)));
connect(m_session, SIGNAL(durationChanged(qint64)), this, SIGNAL(durationChanged(qint64)));
connect(m_session, SIGNAL(actualLocationChanged(QUrl)), this, SIGNAL(actualLocationChanged(QUrl)));
connect(m_session, SIGNAL(videoError(int,QString)), this, SIGNAL(error(int,QString)));
@@ -82,11 +81,6 @@ QMediaRecorder::RecorderState BbCameraMediaRecorderControl::state() const
return m_session->videoState();
}
-QMediaRecorder::Status BbCameraMediaRecorderControl::status() const
-{
- return m_session->videoStatus();
-}
-
qint64 BbCameraMediaRecorderControl::duration() const
{
return m_session->duration();
diff --git a/src/multimedia/platform/qnx/camera/bbcameramediarecordercontrol_p.h b/src/multimedia/platform/qnx/camera/bbcameramediarecordercontrol_p.h
index 27fa53ffa..d94c18f5e 100644
--- a/src/multimedia/platform/qnx/camera/bbcameramediarecordercontrol_p.h
+++ b/src/multimedia/platform/qnx/camera/bbcameramediarecordercontrol_p.h
@@ -64,7 +64,6 @@ public:
QMediaRecorder::RecorderState state() const override;
bool isLocationWritable(const QUrl &location) const override;
- QMediaRecorder::Status status() const override;
qint64 duration() const override;
bool isMuted() const override;
qreal volume() const override;
diff --git a/src/multimedia/platform/qnx/camera/bbcamerasession.cpp b/src/multimedia/platform/qnx/camera/bbcamerasession.cpp
index 21b6c8d7e..7d4f4f075 100644
--- a/src/multimedia/platform/qnx/camera/bbcamerasession.cpp
+++ b/src/multimedia/platform/qnx/camera/bbcamerasession.cpp
@@ -126,7 +126,6 @@ BbCameraSession::BbCameraSession(QObject *parent)
, m_surface(0)
, m_lastImageCaptureId(0)
, m_videoState(QMediaRecorder::StoppedState)
- , m_videoStatus(QMediaRecorder::StoppedStatus)
, m_handle(CAMERA_HANDLE_INVALID)
, m_windowGrabber(new WindowGrabber(this))
{
@@ -414,11 +413,6 @@ QMediaRecorder::RecorderState BbCameraSession::videoState() const
return m_videoState;
}
-QMediaRecorder::Status BbCameraSession::videoStatus() const
-{
- return m_videoStatus;
-}
-
qint64 BbCameraSession::duration() const
{
return (m_videoRecordingDuration.isValid() ? m_videoRecordingDuration.elapsed() : 0);
@@ -650,12 +644,8 @@ void BbCameraSession::handleVideoRecordingPaused()
void BbCameraSession::handleVideoRecordingResumed()
{
- if (m_videoStatus == QMediaRecorder::StartingStatus) {
- m_videoStatus = QMediaRecorder::RecordingStatus;
- emit videoStatusChanged(m_videoStatus);
-
+ if (m_videoRecordingDuration.isValid())
m_videoRecordingDuration.restart();
- }
}
void BbCameraSession::deviceOrientationChanged(int angle)
@@ -950,9 +940,6 @@ void BbCameraSession::startVideoRecording(const QUrl &outputLocation)
m_videoRecordingDuration.invalidate();
- m_videoStatus = QMediaRecorder::StartingStatus;
- emit videoStatusChanged(m_videoStatus);
-
QString videoOutputLocation = outputLocation.toLocalFile();
if (videoOutputLocation.isEmpty())
videoOutputLocation = m_mediaStorageLocation.generateFileName(QLatin1String("VID_"), m_mediaStorageLocation.defaultDir(QCamera::CaptureVideo), QLatin1String("mp4"));
@@ -961,7 +948,6 @@ void BbCameraSession::startVideoRecording(const QUrl &outputLocation)
const camera_error_t result = camera_start_video(m_handle, QFile::encodeName(videoOutputLocation), 0, videoRecordingStatusCallback, this);
if (result != CAMERA_EOK) {
- m_videoStatus = QMediaRecorder::StoppedStatus;
emit videoError(QMediaRecorder::ResourceError,
QMediaRecorderPrivate::msgFailedStartRecording());
} else {
@@ -975,17 +961,11 @@ void BbCameraSession::stopVideoRecording()
if (m_videoState == QMediaRecorder::StoppedState)
return;
- m_videoStatus = QMediaRecorder::FinalizingStatus;
- emit videoStatusChanged(m_videoStatus);
-
const camera_error_t result = camera_stop_video(m_handle);
if (result != CAMERA_EOK) {
emit videoError(QMediaRecorder::ResourceError, tr("Unable to stop video recording"));
}
- m_videoStatus = QMediaRecorder::StoppedStatus;
- emit videoStatusChanged(m_videoStatus);
-
m_videoRecordingDuration.invalidate();
m_videoState = QMediaRecorder::StoppedState;
emit videoStateChanged(m_videoState);
diff --git a/src/multimedia/platform/qnx/camera/bbcamerasession_p.h b/src/multimedia/platform/qnx/camera/bbcamerasession_p.h
index b45a0e876..74c2ecfa3 100644
--- a/src/multimedia/platform/qnx/camera/bbcamerasession_p.h
+++ b/src/multimedia/platform/qnx/camera/bbcamerasession_p.h
@@ -108,7 +108,6 @@ public:
// media recorder control
QMediaRecorder::RecorderState videoState() const;
- QMediaRecorder::Status videoStatus() const;
qint64 duration() const;
void applyVideoSettings();
@@ -127,7 +126,6 @@ public:
Q_SIGNALS:
// camera control
- void statusChanged(QCamera::Status);
void stateChanged(QCamera::State);
void error(int error, const QString &errorString);
void captureModeChanged(QCamera::CaptureModes);
@@ -143,7 +141,6 @@ Q_SIGNALS:
// media recorder control
void videoStateChanged(QMediaRecorder::RecorderState state);
- void videoStatusChanged(QMediaRecorder::Status status);
void durationChanged(qint64 duration);
void actualLocationChanged(const QUrl &location);
void videoError(int error, const QString &errorString);
@@ -190,7 +187,6 @@ private:
QImageEncoderSettings m_imageEncoderSettings;
QMediaRecorder::RecorderState m_videoState;
- QMediaRecorder::Status m_videoStatus;
QElapsedTimer m_videoRecordingDuration;
QVideoEncoderSettings m_videoEncoderSettings;
diff --git a/src/multimedia/platform/qplatformmediaencoder.cpp b/src/multimedia/platform/qplatformmediaencoder.cpp
index 3e4e150d7..53c865246 100644
--- a/src/multimedia/platform/qplatformmediaencoder.cpp
+++ b/src/multimedia/platform/qplatformmediaencoder.cpp
@@ -96,12 +96,6 @@ QPlatformMediaEncoder::QPlatformMediaEncoder(QMediaRecorder *parent)
*/
/*!
- \fn QMediaRecorder::Status QPlatformMediaEncoder::status() const
-
- Return the current recording status.
-*/
-
-/*!
\fn qint64 QPlatformMediaEncoder::duration() const
Return the current duration in milliseconds.
@@ -140,19 +134,6 @@ void QPlatformMediaEncoder::stateChanged(QMediaRecorder::RecorderState state)
}
/*!
- \fn void QPlatformMediaEncoder::statusChanged(QMediaRecorder::Status status)
-
- Signals that the \a status of a media recorder has changed.
-*/
-void QPlatformMediaEncoder::statusChanged(QMediaRecorder::Status status)
-{
- if (m_status == status)
- return;
- m_status = status;
- emit q->statusChanged(status);
-}
-
-/*!
\fn void QPlatformMediaEncoder::durationChanged(qint64 duration)
Signals that the \a duration of the recorded media has changed.
diff --git a/src/multimedia/platform/qplatformmediaencoder_p.h b/src/multimedia/platform/qplatformmediaencoder_p.h
index 950fd2726..480531ccc 100644
--- a/src/multimedia/platform/qplatformmediaencoder_p.h
+++ b/src/multimedia/platform/qplatformmediaencoder_p.h
@@ -142,8 +142,6 @@ public:
virtual QMediaRecorder::RecorderState state() const { return m_state; }
virtual void setState(QMediaRecorder::RecorderState state) = 0;
- virtual QMediaRecorder::Status status() const { return m_status; }
-
virtual qint64 duration() const = 0;
virtual void applySettings() = 0;
@@ -165,7 +163,6 @@ protected:
explicit QPlatformMediaEncoder(QMediaRecorder *parent);
void stateChanged(QMediaRecorder::RecorderState state);
- void statusChanged(QMediaRecorder::Status status);
void durationChanged(qint64 position);
void actualLocationChanged(const QUrl &location);
void error(QMediaRecorder::Error error, const QString &errorString);
@@ -179,7 +176,6 @@ private:
QUrl m_outputLocation;
QMediaRecorder::RecorderState m_state = QMediaRecorder::StoppedState;
- QMediaRecorder::Status m_status = QMediaRecorder::StoppedStatus;
};
QT_END_NAMESPACE
diff --git a/src/multimedia/platform/windows/mediacapture/qwindowsmediaencoder.cpp b/src/multimedia/platform/windows/mediacapture/qwindowsmediaencoder.cpp
index d845d9299..9818d6444 100644
--- a/src/multimedia/platform/windows/mediacapture/qwindowsmediaencoder.cpp
+++ b/src/multimedia/platform/windows/mediacapture/qwindowsmediaencoder.cpp
@@ -69,11 +69,6 @@ QMediaRecorder::RecorderState QWindowsMediaEncoder::state() const
return m_state;
}
-QMediaRecorder::Status QWindowsMediaEncoder::status() const
-{
- return m_lastStatus;
-}
-
qint64 QWindowsMediaEncoder::duration() const
{
return m_duration;
@@ -138,11 +133,9 @@ void QWindowsMediaEncoder::setState(QMediaRecorder::RecorderState state)
if (m_mediaDeviceSession->startRecording(m_fileName, audioOnly)) {
m_state = QMediaRecorder::RecordingState;
- m_lastStatus = QMediaRecorder::StartingStatus;
actualLocationChanged(QUrl::fromLocalFile(m_fileName));
stateChanged(m_state);
- statusChanged(m_lastStatus);
} else {
error(QMediaRecorder::FormatError,
@@ -164,8 +157,6 @@ void QWindowsMediaEncoder::setState(QMediaRecorder::RecorderState state)
case QMediaRecorder::StoppedState:
{
m_mediaDeviceSession->stopRecording();
- m_lastStatus = QMediaRecorder::FinalizingStatus;
- statusChanged(m_lastStatus);
// state will change in onRecordingStopped()
} break;
}
@@ -249,8 +240,6 @@ void QWindowsMediaEncoder::onStreamingError(int errorCode)
if (m_state != QMediaRecorder::StoppedState) {
m_mediaDeviceSession->stopRecording();
- m_lastStatus = QMediaRecorder::FinalizingStatus;
- statusChanged(m_lastStatus);
}
}
@@ -259,13 +248,9 @@ void QWindowsMediaEncoder::onRecordingError(int errorCode)
error(QMediaRecorder::ResourceError, tr("Recording error"));
auto lastState = m_state;
- auto lastStatus = m_lastStatus;
m_state = QMediaRecorder::StoppedState;
- m_lastStatus = QMediaRecorder::StoppedStatus;
if (m_state != lastState)
stateChanged(m_state);
- if (m_lastStatus != lastStatus)
- statusChanged(m_lastStatus);
}
void QWindowsMediaEncoder::onCameraChanged()
@@ -274,8 +259,6 @@ void QWindowsMediaEncoder::onCameraChanged()
void QWindowsMediaEncoder::onRecordingStarted()
{
- m_lastStatus = QMediaRecorder::RecordingStatus;
- statusChanged(m_lastStatus);
}
void QWindowsMediaEncoder::onRecordingStopped()
@@ -283,13 +266,9 @@ void QWindowsMediaEncoder::onRecordingStopped()
saveMetadata();
auto lastState = m_state;
- auto lastStatus = m_lastStatus;
m_state = QMediaRecorder::StoppedState;
- m_lastStatus = QMediaRecorder::StoppedStatus;
if (m_state != lastState)
stateChanged(m_state);
- if (m_lastStatus != lastStatus)
- statusChanged(m_lastStatus);
}
QT_END_NAMESPACE
diff --git a/src/multimedia/platform/windows/mediacapture/qwindowsmediaencoder_p.h b/src/multimedia/platform/windows/mediacapture/qwindowsmediaencoder_p.h
index 548dea607..8fa3586a9 100644
--- a/src/multimedia/platform/windows/mediacapture/qwindowsmediaencoder_p.h
+++ b/src/multimedia/platform/windows/mediacapture/qwindowsmediaencoder_p.h
@@ -72,7 +72,6 @@ public:
bool isLocationWritable(const QUrl &location) const override;
QMediaRecorder::RecorderState state() const override;
- QMediaRecorder::Status status() const override;
qint64 duration() const override;
void applySettings() override;
@@ -100,7 +99,6 @@ private:
QWindowsMediaCaptureService *m_captureService = nullptr;
QWindowsMediaDeviceSession *m_mediaDeviceSession = nullptr;
QMediaRecorder::RecorderState m_state = QMediaRecorder::StoppedState;
- QMediaRecorder::Status m_lastStatus = QMediaRecorder::StoppedStatus;
QMediaEncoderSettings m_settings;
QWindowsStorageLocation m_storageLocation;
QString m_fileName;
diff --git a/src/multimedia/recording/qmediarecorder.cpp b/src/multimedia/recording/qmediarecorder.cpp
index b7b3125bd..0a421920a 100644
--- a/src/multimedia/recording/qmediarecorder.cpp
+++ b/src/multimedia/recording/qmediarecorder.cpp
@@ -210,18 +210,6 @@ QMediaRecorder::RecorderState QMediaRecorder::recorderState() const
}
/*!
- Returns the current media encoder status.
-
- \sa QMediaRecorder::Status
-*/
-
-QMediaRecorder::Status QMediaRecorder::status() const
-{
- Q_D(const QMediaRecorder);
- return d->control ? d->control->status() : UnavailableStatus;
-}
-
-/*!
Returns the current error state.
\sa errorString()
@@ -262,8 +250,7 @@ qint64 QMediaRecorder::duration() const
Start recording.
While the encoder state is changed immediately to QMediaRecorder::RecordingState,
- recording may start asynchronously, with statusChanged(QMediaRecorder::RecordingStatus)
- signal emitted when recording starts.
+ recording may start asynchronously.
If recording fails error() signal is emitted
with encoder state being reset back to QMediaRecorder::StoppedState.
@@ -328,27 +315,6 @@ void QMediaRecorder::stop()
*/
/*!
- \enum QMediaRecorder::Status
-
- \value UnavailableStatus
- The recorder is not available or not supported by connected media object.
- \value UnloadedStatus
- The recorder is avilable but not loaded.
- \value LoadingStatus
- The recorder is initializing.
- \value LoadedStatus
- The recorder is initialized and ready to record media.
- \value StartingStatus
- Recording is requested but not active yet.
- \value RecordingStatus
- Recording is active.
- \value PausedStatus
- Recording is paused.
- \value FinalizingStatus
- Recording is stopped with media being finalized.
-*/
-
-/*!
\enum QMediaRecorder::Error
\value NoError No Errors.
@@ -367,14 +333,6 @@ void QMediaRecorder::stop()
*/
/*!
- \property QMediaRecorder::status
- \brief The current status of the media recorder.
-
- The status is changed asynchronously and represents the actual status
- of media recorder.
-*/
-
-/*!
\fn QMediaRecorder::recorderStateChanged(State state)
Signals that a media recorder's \a state has changed.
diff --git a/src/multimedia/recording/qmediarecorder.h b/src/multimedia/recording/qmediarecorder.h
index 993aa0062..48f86a32a 100644
--- a/src/multimedia/recording/qmediarecorder.h
+++ b/src/multimedia/recording/qmediarecorder.h
@@ -64,7 +64,6 @@ class Q_MULTIMEDIA_EXPORT QMediaRecorder : public QObject
{
Q_OBJECT
Q_PROPERTY(QMediaRecorder::RecorderState recorderState READ recorderState NOTIFY recorderStateChanged)
- Q_PROPERTY(QMediaRecorder::Status status READ status NOTIFY statusChanged)
Q_PROPERTY(qint64 duration READ duration NOTIFY durationChanged)
Q_PROPERTY(QUrl outputLocation READ outputLocation WRITE setOutputLocation)
Q_PROPERTY(QUrl actualLocation READ actualLocation NOTIFY actualLocationChanged)
@@ -101,16 +100,6 @@ public:
};
Q_ENUM(RecorderState)
- enum Status {
- UnavailableStatus,
- StoppedStatus,
- StartingStatus,
- RecordingStatus,
- PausedStatus,
- FinalizingStatus
- };
- Q_ENUM(Status)
-
enum Error
{
NoError,
@@ -132,7 +121,6 @@ public:
QUrl actualLocation() const;
RecorderState recorderState() const;
- Status status() const;
Error error() const;
QString errorString() const;
@@ -180,7 +168,6 @@ public Q_SLOTS:
Q_SIGNALS:
void recorderStateChanged(RecorderState state);
- void statusChanged(Status status);
void durationChanged(qint64 duration);
void actualLocationChanged(const QUrl &location);
void encoderSettingsChanged();
@@ -212,7 +199,6 @@ private:
QT_END_NAMESPACE
Q_MEDIA_ENUM_DEBUG(QMediaRecorder, RecorderState)
-Q_MEDIA_ENUM_DEBUG(QMediaRecorder, Status)
Q_MEDIA_ENUM_DEBUG(QMediaRecorder, Error)
#endif // QMediaRecorder_H
diff --git a/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp b/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp
index 4573c52b5..6bfdb7aa1 100644
--- a/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp
+++ b/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp
@@ -459,7 +459,6 @@ void tst_QCameraBackend::testVideoRecording()
QSignalSpy errorSignal(camera.data(), SIGNAL(errorOccurred(QCamera::Error, const QString &)));
QSignalSpy recorderErrorSignal(&recorder, SIGNAL(errorOccurred(Error, const QString &)));
- QSignalSpy recorderStatusSignal(&recorder, SIGNAL(statusChanged(Status)));
recorder.setVideoResolution(320, 240);
@@ -469,8 +468,6 @@ void tst_QCameraBackend::testVideoRecording()
metaData.insert(QMediaMetaData::Date, QDateTime(QDateTime::currentDateTime()));
recorder.setMetaData(metaData);
- QCOMPARE(recorder.status(), QMediaRecorder::StoppedStatus);
-
camera->start();
if (noCamera || device.isNull()) {
QVERIFY(!camera->isActive());
@@ -479,29 +476,17 @@ void tst_QCameraBackend::testVideoRecording()
QTRY_VERIFY(camera->isActive());
QTRY_VERIFY(camera->isActive());
- QTRY_COMPARE(recorder.status(), QMediaRecorder::StoppedStatus);
for (int recordings = 0; recordings < 2; ++recordings) {
//record 200ms clip
recorder.record();
- QTRY_COMPARE(recorder.status(), QMediaRecorder::RecordingStatus);
- QCOMPARE(recorderStatusSignal.last().first().value<QMediaRecorder::Status>(), recorder.status());
QTest::qWait(200);
QCOMPARE(recorder.metaData(), metaData);
- recorderStatusSignal.clear();
recorder.stop();
bool foundFinalizingStatus = false;
- for (auto &list : recorderStatusSignal) {
- if (qvariant_cast<QMediaRecorder::Status>(list.first()) == QMediaRecorder::FinalizingStatus) {
- foundFinalizingStatus = true;
- break;
- }
- }
QVERIFY(foundFinalizingStatus);
- QTRY_COMPARE(recorder.status(), QMediaRecorder::StoppedStatus);
- QCOMPARE(recorderStatusSignal.last().first().value<QMediaRecorder::Status>(), recorder.status());
QVERIFY(errorSignal.isEmpty());
QVERIFY(recorderErrorSignal.isEmpty());
@@ -511,9 +496,6 @@ void tst_QCameraBackend::testVideoRecording()
QVERIFY(QFileInfo(fileName).size() > 0);
QFile(fileName).remove();
-
- QTRY_COMPARE(recorder.status(), QMediaRecorder::StoppedStatus);
- QCOMPARE(recorderStatusSignal.last().first().value<QMediaRecorder::Status>(), recorder.status());
}
}
@@ -533,8 +515,6 @@ void tst_QCameraBackend::testNativeMetadata()
QSignalSpy errorSignal(&camera, SIGNAL(errorOccurred(QCamera::Error, const QString &)));
QSignalSpy recorderErrorSignal(&recorder, SIGNAL(errorOccurred(Error, const QString &)));
- QCOMPARE(recorder.status(), QMediaRecorder::StoppedStatus);
-
camera.start();
if (device.isNull()) {
QVERIFY(!camera.isActive());
@@ -542,7 +522,6 @@ void tst_QCameraBackend::testNativeMetadata()
}
QTRY_VERIFY(camera.isActive());
- QTRY_COMPARE(recorder.status(), QMediaRecorder::StoppedStatus);
// Insert common metadata supported on all platforms
QMediaMetaData metaData;
@@ -553,13 +532,11 @@ void tst_QCameraBackend::testNativeMetadata()
recorder.setMetaData(metaData);
recorder.record();
- QTRY_COMPARE(recorder.status(), QMediaRecorder::RecordingStatus);
QTest::qWait(200);
QCOMPARE(recorder.metaData(), metaData);
recorder.stop();
- QTRY_COMPARE(recorder.status(), QMediaRecorder::StoppedStatus);
QVERIFY(errorSignal.isEmpty());
QVERIFY(recorderErrorSignal.isEmpty());
diff --git a/tests/auto/unit/mockbackend/qmockmediaencoder.h b/tests/auto/unit/mockbackend/qmockmediaencoder.h
index 7c1cb07a6..e835a5959 100644
--- a/tests/auto/unit/mockbackend/qmockmediaencoder.h
+++ b/tests/auto/unit/mockbackend/qmockmediaencoder.h
@@ -40,7 +40,6 @@ public:
QMockMediaEncoder(QMediaRecorder *parent):
QPlatformMediaEncoder(parent),
m_state(QMediaRecorder::StoppedState),
- m_status(QMediaRecorder::StoppedStatus),
m_position(0),
m_settingAppliedCount(0)
{
@@ -56,11 +55,6 @@ public:
return m_state;
}
- QMediaRecorder::Status status() const
- {
- return m_status;
- }
-
qint64 duration() const
{
return m_position;
@@ -86,10 +80,8 @@ public:
void record()
{
m_state = QMediaRecorder::RecordingState;
- m_status = QMediaRecorder::RecordingStatus;
m_position=1;
emit stateChanged(m_state);
- emit statusChanged(m_status);
emit durationChanged(m_position);
QUrl actualLocation = outputLocation().isEmpty() ? QUrl::fromLocalFile("default_name.mp4") : outputLocation();
@@ -99,18 +91,14 @@ public:
void pause()
{
m_state = QMediaRecorder::PausedState;
- m_status = QMediaRecorder::PausedStatus;
emit stateChanged(m_state);
- emit statusChanged(m_status);
}
void stop()
{
m_position=0;
m_state = QMediaRecorder::StoppedState;
- m_status = QMediaRecorder::StoppedStatus;
emit stateChanged(m_state);
- emit statusChanged(m_status);
}
void setState(QMediaRecorder::RecorderState state)
@@ -131,7 +119,6 @@ public:
public:
QMediaMetaData m_metaData;
QMediaRecorder::RecorderState m_state;
- QMediaRecorder::Status m_status;
QMediaEncoderSettings m_settings;
qint64 m_position;
int m_settingAppliedCount;
diff --git a/tests/auto/unit/multimedia/qmediarecorder/tst_qmediarecorder.cpp b/tests/auto/unit/multimedia/qmediarecorder/tst_qmediarecorder.cpp
index c91728169..9a3661886 100644
--- a/tests/auto/unit/multimedia/qmediarecorder/tst_qmediarecorder.cpp
+++ b/tests/auto/unit/multimedia/qmediarecorder/tst_qmediarecorder.cpp
@@ -227,7 +227,6 @@ void tst_QMediaRecorder::testSink()
void tst_QMediaRecorder::testRecord()
{
QSignalSpy stateSignal(encoder,SIGNAL(recorderStateChanged(RecorderState)));
- QSignalSpy statusSignal(encoder,SIGNAL(statusChanged(Status)));
QSignalSpy progressSignal(encoder, SIGNAL(durationChanged(qint64)));
encoder->record();
QCOMPARE(encoder->recorderState(), QMediaRecorder::RecordingState);
@@ -239,11 +238,6 @@ void tst_QMediaRecorder::testRecord()
QTestEventLoop::instance().enterLoop(1);
- QCOMPARE(encoder->status(), QMediaRecorder::RecordingStatus);
- QVERIFY(!statusSignal.isEmpty());
- QCOMPARE(statusSignal.last()[0].value<QMediaRecorder::Status>(), QMediaRecorder::RecordingStatus);
- statusSignal.clear();
-
QVERIFY(progressSignal.count() > 0);
encoder->pause();
@@ -253,10 +247,6 @@ void tst_QMediaRecorder::testRecord()
QCOMPARE(stateSignal.count(), 2);
QTestEventLoop::instance().enterLoop(1);
- QCOMPARE(encoder->status(), QMediaRecorder::PausedStatus);
- QVERIFY(!statusSignal.isEmpty());
- QCOMPARE(statusSignal.last()[0].value<QMediaRecorder::Status>(), QMediaRecorder::PausedStatus);
- statusSignal.clear();
encoder->stop();
@@ -264,10 +254,6 @@ void tst_QMediaRecorder::testRecord()
QCOMPARE(stateSignal.count(), 3);
QTestEventLoop::instance().enterLoop(1);
- QCOMPARE(encoder->status(), QMediaRecorder::StoppedStatus);
- QVERIFY(!statusSignal.isEmpty());
- QCOMPARE(statusSignal.last()[0].value<QMediaRecorder::Status>(), QMediaRecorder::StoppedStatus);
- statusSignal.clear();
mock->stop();
QCOMPARE(stateSignal.count(), 3);