From 0034b177e258bbbb6728bafc219b78359f7271f2 Mon Sep 17 00:00:00 2001 From: Dmytro Poplavskiy Date: Thu, 1 Dec 2011 14:29:32 +1000 Subject: Implemented QDeclarativeCameraCapture::setMetadata QMetaDataWriterControl is used if it's available. Change-Id: I18fd36c411b6d3c397ff22ebfea9b2c0e878cdeb Reviewed-by: Ling Hu --- src/imports/multimedia/qdeclarativecameracapture.cpp | 10 +++++++--- src/imports/multimedia/qdeclarativecameracapture_p.h | 2 ++ 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 + #include 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() : 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 -- cgit v1.2.3