summaryrefslogtreecommitdiffstats
path: root/src/imports
diff options
context:
space:
mode:
authorDmytro Poplavskiy <dmytro.poplavskiy@nokia.com>2011-12-01 14:29:32 +1000
committerQt by Nokia <qt-info@nokia.com>2011-12-01 05:41:29 +0100
commit0034b177e258bbbb6728bafc219b78359f7271f2 (patch)
tree6625aebef624b592e43585275349c858a63ddd15 /src/imports
parent3319639a6fd74d171224cb14c6e5bba0627621ba (diff)
Implemented QDeclarativeCameraCapture::setMetadata
QMetaDataWriterControl is used if it's available. Change-Id: I18fd36c411b6d3c397ff22ebfea9b2c0e878cdeb Reviewed-by: Ling Hu <ling.hu@nokia.com>
Diffstat (limited to 'src/imports')
-rw-r--r--src/imports/multimedia/qdeclarativecameracapture.cpp10
-rw-r--r--src/imports/multimedia/qdeclarativecameracapture_p.h2
2 files changed, 9 insertions, 3 deletions
diff --git a/src/imports/multimedia/qdeclarativecameracapture.cpp b/src/imports/multimedia/qdeclarativecameracapture.cpp
index c3d16bbbe..79e85facf 100644
--- a/src/imports/multimedia/qdeclarativecameracapture.cpp
+++ b/src/imports/multimedia/qdeclarativecameracapture.cpp
@@ -43,6 +43,8 @@
#include "qdeclarativecameracapture_p.h"
#include "qdeclarativecamerapreviewprovider_p.h"
+#include <qmetadatawritercontrol.h>
+
#include <QtCore/qurl.h>
QT_BEGIN_NAMESPACE
@@ -61,6 +63,9 @@ QDeclarativeCameraCapture::QDeclarativeCameraCapture(QCamera *camera, QObject *p
connect(m_capture, SIGNAL(imageSaved(int,QString)), this, SLOT(_q_imageSaved(int, QString)));
connect(m_capture, SIGNAL(error(int,QCameraImageCapture::Error,QString)),
this, SLOT(_q_captureFailed(int,QCameraImageCapture::Error,QString)));
+
+ QMediaService *service = camera->service();
+ m_metadataWriterControl = service ? service->requestControl<QMetaDataWriterControl*>() : 0;
}
QDeclarativeCameraCapture::~QDeclarativeCameraCapture()
@@ -196,9 +201,8 @@ QString QDeclarativeCameraCapture::errorString() const
void QDeclarativeCameraCapture::setMetadata(const QString &key, const QVariant &value)
{
- Q_UNUSED(key);
- Q_UNUSED(value);
- //m_capture->setExtendedMetaData(key, value);
+ if (m_metadataWriterControl)
+ m_metadataWriterControl->setExtendedMetaData(key, value);
}
/*!
diff --git a/src/imports/multimedia/qdeclarativecameracapture_p.h b/src/imports/multimedia/qdeclarativecameracapture_p.h
index 6effa74e2..7ea9437cf 100644
--- a/src/imports/multimedia/qdeclarativecameracapture_p.h
+++ b/src/imports/multimedia/qdeclarativecameracapture_p.h
@@ -64,6 +64,7 @@ QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
class QDeclarativeCamera;
+class QMetaDataWriterControl;
class QDeclarativeCameraCapture : public QObject
{
@@ -117,6 +118,7 @@ private:
QCameraImageCapture *m_capture;
QImageEncoderSettings m_imageSettings;
QString m_capturedImagePath;
+ QMetaDataWriterControl *m_metadataWriterControl;
};
QT_END_NAMESPACE