diff options
author | Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com> | 2012-05-11 15:45:08 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-14 08:37:30 +0200 |
commit | 112820ef4600e933c43562164813b1e19d74b246 (patch) | |
tree | 5cc42f001b20aa1c7f0455e9bcb09085d62c78a6 /src/imports/multimedia | |
parent | 25d95a0e63f1c3414b0b680e931e628e4f27e804 (diff) |
Improved QDeclarativeCameraRecorder errors reporting
Added QDeclarativeCameraRecorder::Error enum to allow
specify error codes as CameraRecorder.FormatError.
Added QDeclarativeCameraRecorder::errorCode property.
Change-Id: Iac5522c3110591493b98e59db18dbfc2d3b7496f
Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Diffstat (limited to 'src/imports/multimedia')
-rw-r--r-- | src/imports/multimedia/qdeclarativecamerarecorder.cpp | 28 | ||||
-rw-r--r-- | src/imports/multimedia/qdeclarativecamerarecorder_p.h | 13 |
2 files changed, 35 insertions, 6 deletions
diff --git a/src/imports/multimedia/qdeclarativecamerarecorder.cpp b/src/imports/multimedia/qdeclarativecamerarecorder.cpp index ce83598cf..5144e4bb7 100644 --- a/src/imports/multimedia/qdeclarativecamerarecorder.cpp +++ b/src/imports/multimedia/qdeclarativecamerarecorder.cpp @@ -344,10 +344,30 @@ void QDeclarativeCameraRecorder::setVideoEncodingMode(QDeclarativeCameraRecorder } } -// XXX todo -QMediaRecorder::Error QDeclarativeCameraRecorder::error() const +/*! + \qmlproperty enumeration QtMultimedia5::CameraRecorder::errorCode + + The current error code, if any. + + \table + \header \li Value \li Description + \row \li NoError + \li No Errors + + \row \li ResourceError + \li Device is not ready or not available. + + \row \li FormatError + \li Current format is not supported. + + \row \li OutOfSpaceError + \li No space left on device. + + \endtable +*/ +QDeclarativeCameraRecorder::Error QDeclarativeCameraRecorder::errorCode() const { - return m_recorder->error(); + return QDeclarativeCameraRecorder::Error(m_recorder->error()); } /*! @@ -541,7 +561,7 @@ void QDeclarativeCameraRecorder::updateRecorderState(QMediaRecorder::State state void QDeclarativeCameraRecorder::updateRecorderError(QMediaRecorder::Error errorCode) { qWarning() << "QMediaRecorder error:" << errorString(); - emit error(errorCode); + emit error(Error(errorCode), errorString()); } void QDeclarativeCameraRecorder::updateActualLocation(const QUrl &url) diff --git a/src/imports/multimedia/qdeclarativecamerarecorder_p.h b/src/imports/multimedia/qdeclarativecamerarecorder_p.h index e896b7a41..9d28c0748 100644 --- a/src/imports/multimedia/qdeclarativecamerarecorder_p.h +++ b/src/imports/multimedia/qdeclarativecamerarecorder_p.h @@ -69,6 +69,7 @@ class QDeclarativeCameraRecorder : public QObject Q_ENUMS(RecorderState) Q_ENUMS(RecorderStatus) Q_ENUMS(EncodingMode) + Q_ENUMS(Error) Q_PROPERTY(RecorderState recorderState READ recorderState WRITE setRecorderState NOTIFY recorderStateChanged) Q_PROPERTY(RecorderStatus recorderStatus READ recorderStatus NOTIFY recorderStatusChanged) @@ -92,6 +93,7 @@ class QDeclarativeCameraRecorder : public QObject Q_PROPERTY(QString actualLocation READ actualLocation NOTIFY actualLocationChanged) Q_PROPERTY(bool muted READ isMuted WRITE setMuted NOTIFY mutedChanged) Q_PROPERTY(QString errorString READ errorString NOTIFY error) + Q_PROPERTY(QString errorCode READ errorCode NOTIFY error) public: enum RecorderState @@ -119,6 +121,13 @@ public: AverageBitRateEncoding = QtMultimedia::AverageBitRateEncoding }; + enum Error { + NoError = QMediaRecorder::NoError, + ResourceError = QMediaRecorder::ResourceError, + FormatError = QMediaRecorder::FormatError, + OutOfSpaceError = QMediaRecorder::OutOfSpaceError + }; + ~QDeclarativeCameraRecorder(); RecorderState recorderState() const; @@ -136,7 +145,7 @@ public: QString videoCodec() const; QString mediaContainer() const; - QMediaRecorder::Error error() const; + Error errorCode() const; QString errorString() const; qreal frameRate() const; @@ -180,7 +189,7 @@ Q_SIGNALS: void outputLocationChanged(const QString &location); void actualLocationChanged(const QString &location); - void error(QMediaRecorder::Error errorCode); + void error(QDeclarativeCameraRecorder::Error errorCode, const QString &errorString); void metaDataChanged(const QString &key, const QVariant &value); |