summaryrefslogtreecommitdiffstats
path: root/src/imports/multimedia
diff options
context:
space:
mode:
authorDmytro Poplavskiy <dmytro.poplavskiy@nokia.com>2012-05-11 15:45:08 +1000
committerQt by Nokia <qt-info@nokia.com>2012-05-14 08:37:30 +0200
commit112820ef4600e933c43562164813b1e19d74b246 (patch)
tree5cc42f001b20aa1c7f0455e9bcb09085d62c78a6 /src/imports/multimedia
parent25d95a0e63f1c3414b0b680e931e628e4f27e804 (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.cpp28
-rw-r--r--src/imports/multimedia/qdeclarativecamerarecorder_p.h13
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);