diff options
author | Piotr Srebrny <piotr.srebrny@qt.io> | 2021-06-25 15:32:30 +0200 |
---|---|---|
committer | Piotr Srebrny <piotr.srebrny@qt.io> | 2021-06-25 19:52:30 +0200 |
commit | d494b5ad610e0fcb13584ecbfa11c4c1f4788006 (patch) | |
tree | f129df21e497ee366526b014108bf325d7bfd271 | |
parent | 61c7d0c2e400b54d68763f28bc841232e81937fd (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>
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); |