summaryrefslogtreecommitdiffstats
path: root/src/imports
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-04-13 13:35:42 +0200
committerLars Knoll <lars.knoll@qt.io>2021-04-16 11:01:01 +0000
commitdd17bf10c9932cc4928a954d71a67bbafc587659 (patch)
treea89e5591e2c9d6caec5cc630aba0ce1ed89987b4 /src/imports
parent24e4fb4cbcb73c2268b3232e5704bcc32e7f6a23 (diff)
Expose QMediaMetaData as a value type to QML
And get rid of the QML wrapper class. Change-Id: Idd024bb9582f7d27c943ad5e065914337216bdd5 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
Diffstat (limited to 'src/imports')
-rw-r--r--src/imports/multimedia/CMakeLists.txt1
-rw-r--r--src/imports/multimedia/multimedia.cpp6
-rw-r--r--src/imports/multimedia/plugins.qmltypes104
-rw-r--r--src/imports/multimedia/qdeclarativecamera.cpp53
-rw-r--r--src/imports/multimedia/qdeclarativecamera_p.h5
-rw-r--r--src/imports/multimedia/qdeclarativecamerarecorder.cpp17
-rw-r--r--src/imports/multimedia/qdeclarativecamerarecorder_p.h6
-rw-r--r--src/imports/multimedia/qdeclarativemediametadata_p.h439
8 files changed, 4 insertions, 627 deletions
diff --git a/src/imports/multimedia/CMakeLists.txt b/src/imports/multimedia/CMakeLists.txt
index 0cfa7f902..b4bb45bb8 100644
--- a/src/imports/multimedia/CMakeLists.txt
+++ b/src/imports/multimedia/CMakeLists.txt
@@ -18,7 +18,6 @@ qt_internal_add_qml_module(declarative_multimedia
qdeclarativecameraimageprocessing.cpp qdeclarativecameraimageprocessing_p.h
qdeclarativecamerapreviewprovider.cpp qdeclarativecamerapreviewprovider_p.h
qdeclarativecamerarecorder.cpp qdeclarativecamerarecorder_p.h
- qdeclarativemediametadata_p.h
qdeclarativemultimediaglobal.cpp qdeclarativemultimediaglobal_p.h
qdeclarativeplaylist.cpp qdeclarativeplaylist_p.h
qdeclarativetorch.cpp qdeclarativetorch_p.h
diff --git a/src/imports/multimedia/multimedia.cpp b/src/imports/multimedia/multimedia.cpp
index b2f3d45c4..ddbf81f63 100644
--- a/src/imports/multimedia/multimedia.cpp
+++ b/src/imports/multimedia/multimedia.cpp
@@ -43,11 +43,11 @@
#include <QtQml/qqmlcomponent.h>
#include "qsoundeffect.h"
#include "qmediaplayer.h"
+#include "qmediametadata.h"
#include <private/qdeclarativevideooutput_p.h>
#include "qdeclarativemultimediaglobal_p.h"
-#include "qdeclarativemediametadata_p.h"
#include "qdeclarativeplaylist_p.h"
#include "qdeclarativecamera_p.h"
#include "qdeclarativecamerapreviewprovider_p.h"
@@ -67,6 +67,8 @@ static QObject *multimedia_global_object(QQmlEngine *qmlEngine, QJSEngine *jsEng
return new QDeclarativeMultimediaGlobal(jsEngine);
}
+Q_DECLARE_METATYPE(QMediaMetaData)
+
class QMultimediaDeclarativeModule : public QQmlExtensionPlugin
{
Q_OBJECT
@@ -147,8 +149,6 @@ public:
qmlRegisterUncreatableType<QDeclarativeCameraImageProcessing, 3>(uri, 5, 11, "CameraImageProcessing",
tr("CameraImageProcessing is provided by Camera"));
- qmlRegisterAnonymousType<QDeclarativeMediaMetaData>(uri, 5);
-
// 5.13 types
qmlRegisterType<QDeclarativeVideoOutput, 13>(uri, 5, 13, "VideoOutput");
diff --git a/src/imports/multimedia/plugins.qmltypes b/src/imports/multimedia/plugins.qmltypes
index 14e0f5878..f09d015dd 100644
--- a/src/imports/multimedia/plugins.qmltypes
+++ b/src/imports/multimedia/plugins.qmltypes
@@ -449,12 +449,6 @@ Module {
Property { name: "playbackRate"; type: "double" }
Property { name: "error"; type: "Error"; isReadonly: true }
Property { name: "errorString"; type: "string"; isReadonly: true }
- Property {
- name: "metaData"
- type: "QDeclarativeMediaMetaData"
- isReadonly: true
- isPointer: true
- }
Property { name: "availability"; type: "Availability"; isReadonly: true }
Property { name: "audioRole"; revision: 1; type: "AudioRole" }
Property { name: "videoOutput"; revision: 15; type: "QVariant" }
@@ -625,13 +619,6 @@ Module {
isPointer: true
}
Property {
- name: "metaData"
- revision: 1
- type: "QDeclarativeMediaMetaData"
- isReadonly: true
- isPointer: true
- }
- Property {
name: "viewfinder"
revision: 1
type: "QDeclarativeCameraViewfinder"
@@ -1257,97 +1244,6 @@ Module {
Property { name: "maximumFrameRate"; type: "double" }
}
Component {
- name: "QDeclarativeMediaMetaData"
- prototype: "QObject"
- Property { name: "title"; type: "QVariant" }
- Property { name: "subTitle"; type: "QVariant" }
- Property { name: "author"; type: "QVariant" }
- Property { name: "comment"; type: "QVariant" }
- Property { name: "description"; type: "QVariant" }
- Property { name: "category"; type: "QVariant" }
- Property { name: "genre"; type: "QVariant" }
- Property { name: "year"; type: "QVariant" }
- Property { name: "date"; type: "QVariant" }
- Property { name: "userRating"; type: "QVariant" }
- Property { name: "keywords"; type: "QVariant" }
- Property { name: "language"; type: "QVariant" }
- Property { name: "publisher"; type: "QVariant" }
- Property { name: "copyright"; type: "QVariant" }
- Property { name: "parentalRating"; type: "QVariant" }
- Property { name: "ratingOrganization"; type: "QVariant" }
- Property { name: "size"; type: "QVariant" }
- Property { name: "mediaType"; type: "QVariant" }
- Property { name: "duration"; type: "QVariant" }
- Property { name: "audioBitRate"; type: "QVariant" }
- Property { name: "audioCodec"; type: "QVariant" }
- Property { name: "averageLevel"; type: "QVariant" }
- Property { name: "channelCount"; type: "QVariant" }
- Property { name: "peakValue"; type: "QVariant" }
- Property { name: "sampleRate"; type: "QVariant" }
- Property { name: "albumTitle"; type: "QVariant" }
- Property { name: "albumArtist"; type: "QVariant" }
- Property { name: "contributingArtist"; type: "QVariant" }
- Property { name: "composer"; type: "QVariant" }
- Property { name: "conductor"; type: "QVariant" }
- Property { name: "lyrics"; type: "QVariant" }
- Property { name: "mood"; type: "QVariant" }
- Property { name: "trackNumber"; type: "QVariant" }
- Property { name: "trackCount"; type: "QVariant" }
- Property { name: "coverArtUrlSmall"; type: "QVariant" }
- Property { name: "coverArtUrlLarge"; type: "QVariant" }
- Property { name: "resolution"; type: "QVariant" }
- Property { name: "videoFrameRate"; type: "QVariant" }
- Property { name: "videoBitRate"; type: "QVariant" }
- Property { name: "videoCodec"; type: "QVariant" }
- Property { name: "posterUrl"; type: "QVariant" }
- Property { name: "chapterNumber"; type: "QVariant" }
- Property { name: "director"; type: "QVariant" }
- Property { name: "leadPerformer"; type: "QVariant" }
- Property { name: "writer"; type: "QVariant" }
- Property { name: "cameraManufacturer"; type: "QVariant" }
- Property { name: "cameraModel"; type: "QVariant" }
- Property { name: "event"; type: "QVariant" }
- Property { name: "subject"; type: "QVariant" }
- Property { name: "orientation"; type: "QVariant" }
- Property { name: "exposureTime"; type: "QVariant" }
- Property { name: "fNumber"; type: "QVariant" }
- Property { name: "exposureProgram"; type: "QVariant" }
- Property { name: "isoSpeedRatings"; type: "QVariant" }
- Property { name: "exposureBiasValue"; type: "QVariant" }
- Property { name: "dateTimeOriginal"; type: "QVariant" }
- Property { name: "dateTimeDigitized"; type: "QVariant" }
- Property { name: "subjectDistance"; type: "QVariant" }
- Property { name: "lightSource"; type: "QVariant" }
- Property { name: "flash"; type: "QVariant" }
- Property { name: "focalLength"; type: "QVariant" }
- Property { name: "exposureMode"; type: "QVariant" }
- Property { name: "whiteBalance"; type: "QVariant" }
- Property { name: "digitalZoomRatio"; type: "QVariant" }
- Property { name: "focalLengthIn35mmFilm"; type: "QVariant" }
- Property { name: "sceneCaptureType"; type: "QVariant" }
- Property { name: "gainControl"; type: "QVariant" }
- Property { name: "contrast"; type: "QVariant" }
- Property { name: "saturation"; type: "QVariant" }
- Property { name: "sharpness"; type: "QVariant" }
- Property { name: "deviceSettingDescription"; type: "QVariant" }
- Property { name: "gpsLatitude"; type: "QVariant" }
- Property { name: "gpsLongitude"; type: "QVariant" }
- Property { name: "gpsAltitude"; type: "QVariant" }
- Property { name: "gpsTimeStamp"; type: "QVariant" }
- Property { name: "gpsSatellites"; type: "QVariant" }
- Property { name: "gpsStatus"; type: "QVariant" }
- Property { name: "gpsDOP"; type: "QVariant" }
- Property { name: "gpsSpeed"; type: "QVariant" }
- Property { name: "gpsTrack"; type: "QVariant" }
- Property { name: "gpsTrackRef"; type: "QVariant" }
- Property { name: "gpsImgDirection"; type: "QVariant" }
- Property { name: "gpsImgDirectionRef"; type: "QVariant" }
- Property { name: "gpsMapDatum"; type: "QVariant" }
- Property { name: "gpsProcessingMethod"; type: "QVariant" }
- Property { name: "gpsAreaInformation"; type: "QVariant" }
- Signal { name: "metaDataChanged" }
- }
- Component {
name: "QDeclarativeMultimediaGlobal"
prototype: "QObject"
exports: ["QtMultimedia/QtMultimedia 5.4"]
diff --git a/src/imports/multimedia/qdeclarativecamera.cpp b/src/imports/multimedia/qdeclarativecamera.cpp
index 9e4f775a8..b89dcf24a 100644
--- a/src/imports/multimedia/qdeclarativecamera.cpp
+++ b/src/imports/multimedia/qdeclarativecamera.cpp
@@ -46,8 +46,6 @@
#include "qdeclarativecamerafocus_p.h"
#include "qdeclarativecameraimageprocessing_p.h"
-#include "qdeclarativemediametadata_p.h"
-
#include <private/qplatformmediaplayer_p.h>
#include <qobject.h>
#include <QMediaDeviceManager>
@@ -165,7 +163,6 @@ void QDeclarativeCamera::_q_errorOccurred(QCamera::Error errorCode)
QDeclarativeCamera::QDeclarativeCamera(QObject *parent) :
QObject(parent),
m_camera(nullptr),
- m_metaData(nullptr),
m_componentComplete(false)
{
m_currentCameraInfo = QMediaDeviceManager::defaultVideoInput();
@@ -197,7 +194,6 @@ QDeclarativeCamera::~QDeclarativeCamera()
delete m_flash;
delete m_focus;
delete m_imageProcessing;
- delete m_metaData;
delete m_camera;
}
@@ -583,55 +579,6 @@ void QDeclarativeCamera::setZoomFactor(qreal value)
*/
/*!
- \qmlpropertygroup QtMultimedia::Camera::metaData
- \qmlproperty variant QtMultimedia::Camera::metaData.cameraManufacturer
- \qmlproperty variant QtMultimedia::Camera::metaData.cameraModel
- \qmlproperty variant QtMultimedia::Camera::metaData.event
- \qmlproperty variant QtMultimedia::Camera::metaData.subject
- \qmlproperty variant QtMultimedia::Camera::metaData.orientation
- \qmlproperty variant QtMultimedia::Camera::metaData.dateTimeOriginal
- \qmlproperty variant QtMultimedia::Camera::metaData.gpsLatitude
- \qmlproperty variant QtMultimedia::Camera::metaData.gpsLongitude
- \qmlproperty variant QtMultimedia::Camera::metaData.gpsAltitude
- \qmlproperty variant QtMultimedia::Camera::metaData.gpsTimestamp
- \qmlproperty variant QtMultimedia::Camera::metaData.gpsTrack
- \qmlproperty variant QtMultimedia::Camera::metaData.gpsSpeed
- \qmlproperty variant QtMultimedia::Camera::metaData.gpsImgDirection
- \qmlproperty variant QtMultimedia::Camera::metaData.gpsProcessingMethod
-
- These properties hold the meta data for the camera captures.
-
- \list
- \li \c metaData.cameraManufacturer holds the name of the manufacturer of the camera.
- \li \c metaData.cameraModel holds the name of the model of the camera.
- \li \c metaData.event holds the event during which the photo or video is to be captured.
- \li \c metaData.subject holds the name of the subject of the capture or recording.
- \li \c metaData.orientation holds the clockwise rotation of the camera at time of capture.
- \li \c metaData.dateTimeOriginal holds the initial time at which the photo or video is captured.
- \li \c metaData.gpsLatitude holds the latitude of the camera in decimal degrees at time of capture.
- \li \c metaData.gpsLongitude holds the longitude of the camera in decimal degrees at time of capture.
- \li \c metaData.gpsAltitude holds the altitude of the camera in meters at time of capture.
- \li \c metaData.gpsTimestamp holds the timestamp of the GPS position data.
- \li \c metaData.gpsTrack holds direction of movement of the camera at the time of
- capture. It is measured in degrees clockwise from north.
- \li \c metaData.gpsSpeed holds the velocity in kilometers per hour of the camera at time of capture.
- \li \c metaData.gpsImgDirection holds direction the camera is facing at the time of capture.
- It is measured in degrees clockwise from north.
- \li \c metaData.gpsProcessingMethod holds the name of the method for determining the GPS position.
- \endlist
-
- \sa {QMediaMetaData}
- \since 5.4
-*/
-
-QDeclarativeMediaMetaData *QDeclarativeCamera::metaData()
-{
- if (!m_metaData)
- m_metaData = new QDeclarativeMediaMetaData(m_camera);
- return m_metaData;
-}
-
-/*!
\qmlmethod list<size> QtMultimedia::Camera::supportedViewfinderResolutions(real minimumFrameRate, real maximumFrameRate)
Returns a list of supported viewfinder resolutions.
diff --git a/src/imports/multimedia/qdeclarativecamera_p.h b/src/imports/multimedia/qdeclarativecamera_p.h
index c06df6c42..daadd5c5e 100644
--- a/src/imports/multimedia/qdeclarativecamera_p.h
+++ b/src/imports/multimedia/qdeclarativecamera_p.h
@@ -73,7 +73,6 @@ class QDeclarativeCameraFocus;
class QDeclarativeCameraFlash;
class QDeclarativeTorch;
class QDeclarativeCameraImageProcessing;
-class QDeclarativeMediaMetaData;
class QDeclarativeCamera : public QObject, public QQmlParserStatus
{
Q_OBJECT
@@ -99,7 +98,6 @@ class QDeclarativeCamera : public QObject, public QQmlParserStatus
Q_PROPERTY(QDeclarativeTorch* torch READ torch CONSTANT)
Q_PROPERTY(QDeclarativeCameraFocus* focus READ focus CONSTANT)
Q_PROPERTY(QDeclarativeCameraImageProcessing* imageProcessing READ imageProcessing CONSTANT)
- Q_PROPERTY(QDeclarativeMediaMetaData *metaData READ metaData CONSTANT REVISION 1)
Q_ENUMS(Position)
Q_ENUMS(State)
@@ -187,8 +185,6 @@ public:
QDeclarativeCameraFocus *focus() { return m_focus; }
QDeclarativeCameraImageProcessing *imageProcessing() { return m_imageProcessing; }
- QDeclarativeMediaMetaData *metaData();
-
QString deviceId() const;
void setDeviceId(const QString &name);
@@ -258,7 +254,6 @@ private:
QDeclarativeTorch *m_torch;
QDeclarativeCameraFocus *m_focus;
QDeclarativeCameraImageProcessing *m_imageProcessing;
- QDeclarativeMediaMetaData *m_metaData;
bool m_componentComplete;
bool pendingActive = false;
diff --git a/src/imports/multimedia/qdeclarativecamerarecorder.cpp b/src/imports/multimedia/qdeclarativecamerarecorder.cpp
index b61d97177..61446a11d 100644
--- a/src/imports/multimedia/qdeclarativecamerarecorder.cpp
+++ b/src/imports/multimedia/qdeclarativecamerarecorder.cpp
@@ -39,7 +39,6 @@
#include "qdeclarativecamera_p.h"
#include "qdeclarativecamerarecorder_p.h"
-#include "qdeclarativemediametadata_p.h"
#include <QtCore/qurl.h>
@@ -95,7 +94,6 @@ QDeclarativeCameraRecorder::QDeclarativeCameraRecorder(QMediaCaptureSession *ses
QDeclarativeCameraRecorder::~QDeclarativeCameraRecorder()
{
- delete m_metaData;
}
/*!
@@ -560,21 +558,6 @@ void QDeclarativeCameraRecorder::setMuted(bool muted)
m_captureSession->setMuted(muted);
}
-/*!
- \qmlmethod QtMultimedia::CameraRecorder::setMetadata(key, value)
-
- Sets metadata for the next video to be recorder, with
- the given \a key being associated with \a value.
-*/
-
-QDeclarativeMediaMetaData *QDeclarativeCameraRecorder::metaData()
-{
- // ### Doesn't quite work as QDeclarativeMediaMetaData expects a QMediaSource
-// if (!m_metaData)
-// m_metaData = new QDeclarativeMediaMetaData(m_recorder);
- return m_metaData;
-}
-
void QDeclarativeCameraRecorder::updateRecorderState(QMediaEncoder::State state)
{
if (state == QMediaEncoder::PausedState)
diff --git a/src/imports/multimedia/qdeclarativecamerarecorder_p.h b/src/imports/multimedia/qdeclarativecamerarecorder_p.h
index a2444ca1d..9903c552d 100644
--- a/src/imports/multimedia/qdeclarativecamerarecorder_p.h
+++ b/src/imports/multimedia/qdeclarativecamerarecorder_p.h
@@ -59,7 +59,6 @@
QT_BEGIN_NAMESPACE
class QDeclarativeCamera;
-class QDeclarativeMediaMetaData;
class QDeclarativeCameraRecorder : public QObject
{
@@ -92,7 +91,7 @@ class QDeclarativeCameraRecorder : public QObject
Q_PROPERTY(bool muted READ isMuted WRITE setMuted NOTIFY mutedChanged)
Q_PROPERTY(QString errorString READ errorString NOTIFY error)
Q_PROPERTY(Error errorCode READ errorCode NOTIFY error)
- Q_PROPERTY(QDeclarativeMediaMetaData *metaData READ metaData CONSTANT)
+// Q_PROPERTY(QDeclarativeMediaMetaData *metaData READ metaData CONSTANT)
public:
enum RecorderState
{
@@ -176,8 +175,6 @@ public Q_SLOTS:
void setVideoEncodingMode(EncodingMode encodingMode);
void setAudioEncodingMode(EncodingMode encodingMode);
- QDeclarativeMediaMetaData *metaData();
-
Q_SIGNALS:
void recorderStateChanged(QDeclarativeCameraRecorder::RecorderState state);
void recorderStatusChanged();
@@ -213,7 +210,6 @@ private:
QMediaCaptureSession *m_captureSession = nullptr;
QMediaEncoder *m_encoder = nullptr;
- QDeclarativeMediaMetaData *m_metaData = nullptr;
QMediaEncoderSettings m_encoderSettings;
};
diff --git a/src/imports/multimedia/qdeclarativemediametadata_p.h b/src/imports/multimedia/qdeclarativemediametadata_p.h
deleted file mode 100644
index 91b609b4c..000000000
--- a/src/imports/multimedia/qdeclarativemediametadata_p.h
+++ /dev/null
@@ -1,439 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QDECLARATIVEMEDIAMETADATA_P_H
-#define QDECLARATIVEMEDIAMETADATA_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of other Qt classes. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQml/qqml.h>
-#include <QtMultimedia/qmediametadata.h>
-#include "qmediametadata.h"
-
-QT_BEGIN_NAMESPACE
-
-class QDeclarativeMediaMetaData : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QVariant title READ title WRITE setTitle NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant subTitle READ subTitle WRITE setSubTitle NOTIFY metaDataChanged)
- Q_PROPERTY(QVariant author READ author WRITE setAuthor NOTIFY metaDataChanged)
- Q_PROPERTY(QVariant comment READ comment WRITE setComment NOTIFY metaDataChanged)
- Q_PROPERTY(QVariant description READ description WRITE setDescription NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant category READ category WRITE setCategory NOTIFY metaDataChanged)
- Q_PROPERTY(QVariant genre READ genre WRITE setGenre NOTIFY metaDataChanged)
- Q_PROPERTY(QVariant date READ date WRITE setDate NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant userRating READ userRating WRITE setUserRating NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant keywords READ keywords WRITE setKeywords NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant language READ language WRITE setLanguage NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant publisher READ publisher WRITE setPublisher NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant copyright READ copyright WRITE setCopyright NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant parentalRating READ parentalRating WRITE setParentalRating NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant ratingOrganization READ ratingOrganization WRITE setRatingOrganization NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant size READ size WRITE setSize NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant mediaType READ mediaType WRITE setMediaType NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant duration READ duration WRITE setDuration NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant audioBitRate READ audioBitRate WRITE setAudioBitRate NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant audioCodec READ audioCodec WRITE setAudioCodec NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant averageLevel READ averageLevel WRITE setAverageLevel NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant channelCount READ channelCount WRITE setChannelCount NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant peakValue READ peakValue WRITE setPeakValue NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant sampleRate READ sampleRate WRITE setSampleRate NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant albumTitle READ albumTitle WRITE setAlbumTitle NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant albumArtist READ albumArtist WRITE setAlbumArtist NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant contributingArtist READ contributingArtist WRITE setContributingArtist NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant composer READ composer WRITE setComposer NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant conductor READ conductor WRITE setConductor NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant lyrics READ lyrics WRITE setLyrics NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant mood READ mood WRITE setMood NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant trackNumber READ trackNumber WRITE setTrackNumber NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant trackCount READ trackCount WRITE setTrackCount NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant coverArtUrlSmall READ coverArtUrlSmall WRITE setCoverArtUrlSmall NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant coverArtUrlLarge READ coverArtUrlLarge WRITE setCoverArtUrlLarge NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant resolution READ resolution WRITE setResolution NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant videoFrameRate READ videoFrameRate WRITE setVideoFrameRate NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant videoBitRate READ videoBitRate WRITE setVideoBitRate NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant videoCodec READ videoCodec WRITE setVideoCodec NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant posterUrl READ posterUrl WRITE setPosterUrl NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant chapterNumber READ chapterNumber WRITE setChapterNumber NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant director READ director WRITE setDirector NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant leadPerformer READ leadPerformer WRITE setLeadPerformer NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant writer READ writer WRITE setWriter NOTIFY metaDataChanged)
-
-// Q_PROPERTY(QVariant cameraManufacturer READ cameraManufacturer WRITE setCameraManufacturer NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant cameraModel READ cameraModel WRITE setCameraModel NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant event READ event WRITE setEvent NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant subject READ subject WRITE setSubject NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant orientation READ orientation WRITE setOrientation NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant exposureTime READ exposureTime WRITE setExposureTime NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant fNumber READ fNumber WRITE setFNumber NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant exposureProgram READ exposureProgram WRITE setExposureProgram NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant isoSpeedRatings READ isoSpeedRatings WRITE setISOSpeedRatings NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant exposureBiasValue READ exposureBiasValue WRITE setExposureBiasValue NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant dateTimeOriginal READ dateTimeOriginal WRITE setDateTimeOriginal NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant dateTimeDigitized READ dateTimeDigitized WRITE setDateTimeDigitized NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant subjectDistance READ subjectDistance WRITE setSubjectDistance NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant lightSource READ lightSource WRITE setLightSource NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant flash READ flash WRITE setFlash NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant focalLength READ focalLength WRITE setFocalLength NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant exposureMode READ exposureMode WRITE setExposureMode NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant whiteBalance READ whiteBalance WRITE setWhiteBalance NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant digitalZoomRatio READ digitalZoomRatio WRITE setDigitalZoomRatio NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant focalLengthIn35mmFilm READ focalLengthIn35mmFilm WRITE setFocalLengthIn35mmFilm NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant sceneCaptureType READ sceneCaptureType WRITE setSceneCaptureType NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant gainControl READ gainControl WRITE setGainControl NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant contrast READ contrast WRITE setContrast NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant saturation READ saturation WRITE setSaturation NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant sharpness READ sharpness WRITE setSharpness NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant deviceSettingDescription READ deviceSettingDescription WRITE setDeviceSettingDescription NOTIFY metaDataChanged)
-
-// Q_PROPERTY(QVariant gpsLatitude READ gpsLatitude WRITE setGPSLatitude NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant gpsLongitude READ gpsLongitude WRITE setGPSLongitude NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant gpsAltitude READ gpsAltitude WRITE setGPSAltitude NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant gpsTimeStamp READ gpsTimeStamp WRITE setGPSTimeStamp NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant gpsSatellites READ gpsSatellites WRITE setGPSSatellites NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant gpsStatus READ gpsStatus WRITE setGPSStatus NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant gpsDOP READ gpsDOP WRITE setGPSDOP NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant gpsSpeed READ gpsSpeed WRITE setGPSSpeed NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant gpsTrack READ gpsTrack WRITE setGPSTrack NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant gpsTrackRef READ gpsTrackRef WRITE setGPSTrackRef NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant gpsImgDirection READ gpsImgDirection WRITE setGPSImgDirection NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant gpsImgDirectionRef READ gpsImgDirectionRef WRITE setGPSImgDirectionRef NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant gpsMapDatum READ gpsMapDatum WRITE setGPSMapDatum NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant gpsProcessingMethod READ gpsProcessingMethod WRITE setGPSProcessingMethod NOTIFY metaDataChanged)
-// Q_PROPERTY(QVariant gpsAreaInformation READ gpsAreaInformation WRITE setGPSAreaInformation NOTIFY metaDataChanged)
-
-public:
- QDeclarativeMediaMetaData(QObject *player, QObject *parent = 0)
- : QObject(parent)
- , m_mediaSource(player)
- {
- connect(player, SIGNAL(metaDataChanged()), this, SIGNAL(metaDataChanged()));
- connect(player, SIGNAL(metaDataChanged()), this, SLOT(updateMetaData()));
- auto *mo = player->metaObject();
- int idx = mo->indexOfProperty("metaData");
- if (idx >= 0)
- m_property = mo->property(idx);
- updateMetaData();
- }
-
- ~QDeclarativeMediaMetaData()
- {
- }
-
- QVariant title() const { return metaData.value(QMediaMetaData::Title); }
- void setTitle(const QVariant &title) { setMetaData(QMediaMetaData::Title, title); }
- QVariant author() const { return metaData.value(QMediaMetaData::Author); }
- void setAuthor(const QVariant &author) { setMetaData(QMediaMetaData::Author, author); }
- QVariant comment() const { return metaData.value(QMediaMetaData::Comment); }
- void setComment(const QVariant &comment) { setMetaData(QMediaMetaData::Comment, comment); }
- QVariant description() const { return metaData.value(QMediaMetaData::Description); }
- void setDescription(const QVariant &description) {
- setMetaData(QMediaMetaData::Description, description); }
- QVariant genre() const { return metaData.value(QMediaMetaData::Genre); }
- void setGenre(const QVariant &genre) { setMetaData(QMediaMetaData::Genre, genre); }
- QVariant date() const { return metaData.value(QMediaMetaData::Date); }
- void setDate(const QVariant &date) { setMetaData(QMediaMetaData::Date, date); }
-// QVariant userRating() const { return metaData.value(QMediaMetaData::UserRating); }
-// void setUserRating(const QVariant &rating) { setMetaData(QMediaMetaData::UserRating, rating); }
-// QVariant keywords() const { return metaData.value(QMediaMetaData::Keywords); }
-// void setKeywords(const QVariant &keywords) { setMetaData(QMediaMetaData::Keywords, keywords); }
-// QVariant language() const { return metaData.value(QMediaMetaData::Language); }
-// void setLanguage(const QVariant &language) { setMetaData(QMediaMetaData::Language, language); }
-// QVariant publisher() const { return metaData.value(QMediaMetaData::Publisher); }
-// void setPublisher(const QVariant &publisher) {
-// setMetaData(QMediaMetaData::Publisher, publisher); }
-// QVariant copyright() const { return metaData.value(QMediaMetaData::Copyright); }
-// void setCopyright(const QVariant &copyright) {
-// setMetaData(QMediaMetaData::Copyright, copyright); }
-// QVariant parentalRating() const { return metaData.value(QMediaMetaData::ParentalRating); }
-// void setParentalRating(const QVariant &rating) {
-// setMetaData(QMediaMetaData::ParentalRating, rating); }
-// QVariant ratingOrganization() const {
-// return metaData.value(QMediaMetaData::RatingOrganization); }
-// void setRatingOrganization(const QVariant &organization) {
-// setMetaData(QMediaMetaData::RatingOrganization, organization); }
-// QVariant size() const { return metaData.value(QMediaMetaData::Size); }
-// void setSize(const QVariant &size) { setMetaData(QMediaMetaData::Size, size); }
-// QVariant mediaType() const { return metaData.value(QMediaMetaData::MediaType); }
-// void setMediaType(const QVariant &type) { setMetaData(QMediaMetaData::MediaType, type); }
-// QVariant duration() const { return metaData.value(QMediaMetaData::Duration); }
-// void setDuration(const QVariant &duration) { setMetaData(QMediaMetaData::Duration, duration); }
-// QVariant audioBitRate() const { return metaData.value(QMediaMetaData::AudioBitRate); }
-// void setAudioBitRate(const QVariant &rate) { setMetaData(QMediaMetaData::AudioBitRate, rate); }
-// QVariant audioCodec() const { return metaData.value(QMediaMetaData::AudioCodec); }
-// void setAudioCodec(const QVariant &codec) { setMetaData(QMediaMetaData::AudioCodec, codec); }
-// QVariant averageLevel() const { return metaData.value(QMediaMetaData::AverageLevel); }
-// void setAverageLevel(const QVariant &level) {
-// setMetaData(QMediaMetaData::AverageLevel, level); }
-// QVariant channelCount() const { return metaData.value(QMediaMetaData::ChannelCount); }
-// void setChannelCount(const QVariant &count) {
-// setMetaData(QMediaMetaData::ChannelCount, count); }
-// QVariant peakValue() const { return metaData.value(QMediaMetaData::PeakValue); }
-// void setPeakValue(const QVariant &value) { setMetaData(QMediaMetaData::PeakValue, value); }
-// QVariant sampleRate() const { return metaData.value(QMediaMetaData::SampleRate); }
-// void setSampleRate(const QVariant &rate) { setMetaData(QMediaMetaData::SampleRate, rate); }
-// QVariant albumTitle() const { return metaData.value(QMediaMetaData::AlbumTitle); }
-// void setAlbumTitle(const QVariant &title) { setMetaData(QMediaMetaData::AlbumTitle, title); }
-// QVariant albumArtist() const { return metaData.value(QMediaMetaData::AlbumArtist); }
-// void setAlbumArtist(const QVariant &artist) {
-// setMetaData(QMediaMetaData::AlbumArtist, artist); }
-// QVariant contributingArtist() const {
-// return metaData.value(QMediaMetaData::ContributingArtist); }
-// void setContributingArtist(const QVariant &artist) {
-// setMetaData(QMediaMetaData::ContributingArtist, artist); }
-// QVariant composer() const { return metaData.value(QMediaMetaData::Composer); }
-// void setComposer(const QVariant &composer) { setMetaData(QMediaMetaData::Composer, composer); }
-// QVariant conductor() const { return metaData.value(QMediaMetaData::Conductor); }
-// void setConductor(const QVariant &conductor) {
-// setMetaData(QMediaMetaData::Conductor, conductor); }
-// QVariant lyrics() const { return metaData.value(QMediaMetaData::Lyrics); }
-// void setLyrics(const QVariant &lyrics) { setMetaData(QMediaMetaData::Lyrics, lyrics); }
-// QVariant mood() const { return metaData.value(QMediaMetaData::Mood); }
-// void setMood(const QVariant &mood) { setMetaData(QMediaMetaData::Mood, mood); }
-// QVariant trackNumber() const { return metaData.value(QMediaMetaData::TrackNumber); }
-// void setTrackNumber(const QVariant &track) { setMetaData(QMediaMetaData::TrackNumber, track); }
-// QVariant trackCount() const { return metaData.value(QMediaMetaData::TrackCount); }
-// void setTrackCount(const QVariant &count) { setMetaData(QMediaMetaData::TrackCount, count); }
-// QVariant coverArtUrlSmall() const {
-// return metaData.value(QMediaMetaData::CoverArtUrlSmall); }
-// void setCoverArtUrlSmall(const QVariant &url) {
-// setMetaData(QMediaMetaData::CoverArtUrlSmall, url); }
-// QVariant coverArtUrlLarge() const {
-// return metaData.value(QMediaMetaData::CoverArtUrlLarge); }
-// void setCoverArtUrlLarge(const QVariant &url) {
-// setMetaData(QMediaMetaData::CoverArtUrlLarge, url); }
-// QVariant resolution() const { return metaData.value(QMediaMetaData::Resolution); }
-// void setResolution(const QVariant &resolution) {
-// setMetaData(QMediaMetaData::Resolution, resolution); }
-// QVariant videoFrameRate() const { return metaData.value(QMediaMetaData::VideoFrameRate); }
-// void setVideoFrameRate(const QVariant &rate) {
-// setMetaData(QMediaMetaData::VideoFrameRate, rate); }
-// QVariant videoBitRate() const { return metaData.value(QMediaMetaData::VideoBitRate); }
-// void setVideoBitRate(const QVariant &rate) {
-// setMetaData(QMediaMetaData::VideoBitRate, rate); }
-// QVariant videoCodec() const { return metaData.value(QMediaMetaData::VideoCodec); }
-// void setVideoCodec(const QVariant &codec) {
-// setMetaData(QMediaMetaData::VideoCodec, codec); }
-// QVariant posterUrl() const { return metaData.value(QMediaMetaData::PosterUrl); }
-// void setPosterUrl(const QVariant &url) {
-// setMetaData(QMediaMetaData::PosterUrl, url); }
-// QVariant chapterNumber() const { return metaData.value(QMediaMetaData::ChapterNumber); }
-// void setChapterNumber(const QVariant &chapter) {
-// setMetaData(QMediaMetaData::ChapterNumber, chapter); }
-// QVariant director() const { return metaData.value(QMediaMetaData::Director); }
-// void setDirector(const QVariant &director) { setMetaData(QMediaMetaData::Director, director); }
-// QVariant leadPerformer() const { return metaData.value(QMediaMetaData::LeadPerformer); }
-// void setLeadPerformer(const QVariant &performer) {
-// setMetaData(QMediaMetaData::LeadPerformer, performer); }
-// QVariant writer() const { return metaData.value(QMediaMetaData::Writer); }
-// void setWriter(const QVariant &writer) { setMetaData(QMediaMetaData::Writer, writer); }
-
-// QVariant cameraManufacturer() const {
-// return metaData.value(QMediaMetaData::CameraManufacturer); }
-// void setCameraManufacturer(const QVariant &manufacturer) {
-// setMetaData(QMediaMetaData::CameraManufacturer, manufacturer); }
-// QVariant cameraModel() const { return metaData.value(QMediaMetaData::CameraModel); }
-// void setCameraModel(const QVariant &model) { setMetaData(QMediaMetaData::CameraModel, model); }
-
-//QT_WARNING_PUSH
-//QT_WARNING_DISABLE_GCC("-Woverloaded-virtual")
-//QT_WARNING_DISABLE_CLANG("-Woverloaded-virtual")
-// QVariant event() const { return metaData.value(QMediaMetaData::Event); }
-//QT_WARNING_POP
-
-// void setEvent(const QVariant &event) { setMetaData(QMediaMetaData::Event, event); }
-// QVariant subject() const { return metaData.value(QMediaMetaData::Subject); }
-// void setSubject(const QVariant &subject) { setMetaData(QMediaMetaData::Subject, subject); }
-// QVariant orientation() const { return metaData.value(QMediaMetaData::Orientation); }
-// void setOrientation(const QVariant &orientation) {
-// setMetaData(QMediaMetaData::Orientation, orientation); }
-// QVariant exposureTime() const { return metaData.value(QMediaMetaData::ExposureTime); }
-// void setExposureTime(const QVariant &time) { setMetaData(QMediaMetaData::ExposureTime, time); }
-// QVariant fNumber() const { return metaData.value(QMediaMetaData::FNumber); }
-// void setFNumber(const QVariant &number) { setMetaData(QMediaMetaData::FNumber, number); }
-// QVariant exposureProgram() const {
-// return metaData.value(QMediaMetaData::ExposureProgram); }
-// void setExposureProgram(const QVariant &program) {
-// setMetaData(QMediaMetaData::ExposureProgram, program); }
-// QVariant isoSpeedRatings() const {
-// return metaData.value(QMediaMetaData::ISOSpeedRatings); }
-// void setISOSpeedRatings(const QVariant &ratings) {
-// setMetaData(QMediaMetaData::ISOSpeedRatings, ratings); }
-// QVariant exposureBiasValue() const {
-// return metaData.value(QMediaMetaData::ExposureBiasValue); }
-// void setExposureBiasValue(const QVariant &bias) {
-// setMetaData(QMediaMetaData::ExposureBiasValue, bias); }
-// QVariant dateTimeOriginal() const {
-// return metaData.value(QMediaMetaData::DateTimeOriginal); }
-// void setDateTimeOriginal(const QVariant &dateTime) {
-// setMetaData(QMediaMetaData::DateTimeOriginal, dateTime); }
-// QVariant dateTimeDigitized() const {
-// return metaData.value(QMediaMetaData::DateTimeDigitized); }
-// void setDateTimeDigitized(const QVariant &dateTime) {
-// setMetaData(QMediaMetaData::DateTimeDigitized, dateTime); }
-// QVariant subjectDistance() const {
-// return metaData.value(QMediaMetaData::SubjectDistance); }
-// void setSubjectDistance(const QVariant &distance) {
-// setMetaData(QMediaMetaData::SubjectDistance, distance); }
-// QVariant lightSource() const { return metaData.value(QMediaMetaData::LightSource); }
-// void setLightSource(const QVariant &source) {
-// setMetaData(QMediaMetaData::LightSource, source); }
-// QVariant flash() const { return metaData.value(QMediaMetaData::Flash); }
-// void setFlash(const QVariant &flash) { setMetaData(QMediaMetaData::Flash, flash); }
-// QVariant focalLength() const { return metaData.value(QMediaMetaData::FocalLength); }
-// void setFocalLength(const QVariant &length) {
-// setMetaData(QMediaMetaData::FocalLength, length); }
-// QVariant exposureMode() const { return metaData.value(QMediaMetaData::ExposureMode); }
-// void setExposureMode(const QVariant &mode) {
-// setMetaData(QMediaMetaData::ExposureMode, mode); }
-// QVariant whiteBalance() const { return metaData.value(QMediaMetaData::WhiteBalance); }
-// void setWhiteBalance(const QVariant &balance) {
-// setMetaData(QMediaMetaData::WhiteBalance, balance); }
-// QVariant digitalZoomRatio() const {
-// return metaData.value(QMediaMetaData::DigitalZoomRatio); }
-// void setDigitalZoomRatio(const QVariant &ratio) {
-// setMetaData(QMediaMetaData::DigitalZoomRatio, ratio); }
-// QVariant focalLengthIn35mmFilm() const {
-// return metaData.value(QMediaMetaData::FocalLengthIn35mmFilm); }
-// void setFocalLengthIn35mmFilm(const QVariant &length) {
-// setMetaData(QMediaMetaData::FocalLengthIn35mmFilm, length); }
-// QVariant sceneCaptureType() const {
-// return metaData.value(QMediaMetaData::SceneCaptureType); }
-// void setSceneCaptureType(const QVariant &type) {
-// setMetaData(QMediaMetaData::SceneCaptureType, type); }
-// QVariant gainControl() const { return metaData.value(QMediaMetaData::GainControl); }
-// void setGainControl(const QVariant &gain) { setMetaData(QMediaMetaData::GainControl, gain); }
-// QVariant contrast() const { return metaData.value(QMediaMetaData::Contrast); }
-// void setContrast(const QVariant &contrast) { setMetaData(QMediaMetaData::Contrast, contrast); }
-// QVariant saturation() const { return metaData.value(QMediaMetaData::Saturation); }
-// void setSaturation(const QVariant &saturation) {
-// setMetaData(QMediaMetaData::Saturation, saturation); }
-// QVariant sharpness() const { return metaData.value(QMediaMetaData::Sharpness); }
-// void setSharpness(const QVariant &sharpness) {
-// setMetaData(QMediaMetaData::Sharpness, sharpness); }
-// QVariant deviceSettingDescription() const {
-// return metaData.value(QMediaMetaData::DeviceSettingDescription); }
-// void setDeviceSettingDescription(const QVariant &description) {
-// setMetaData(QMediaMetaData::DeviceSettingDescription, description); }
-
-// QVariant gpsLatitude() const { return metaData.value(QMediaMetaData::GPSLatitude); }
-// void setGPSLatitude(const QVariant &latitude) {
-// setMetaData(QMediaMetaData::GPSLatitude, latitude); }
-// QVariant gpsLongitude() const { return metaData.value(QMediaMetaData::GPSLongitude); }
-// void setGPSLongitude(const QVariant &longitude) {
-// setMetaData(QMediaMetaData::GPSLongitude, longitude); }
-// QVariant gpsAltitude() const { return metaData.value(QMediaMetaData::GPSAltitude); }
-// void setGPSAltitude(const QVariant &altitude) {
-// setMetaData(QMediaMetaData::GPSAltitude, altitude); }
-// QVariant gpsTimeStamp() const { return metaData.value(QMediaMetaData::GPSTimeStamp); }
-// void setGPSTimeStamp(const QVariant &timestamp) {
-// setMetaData(QMediaMetaData::GPSTimeStamp, timestamp); }
-// QVariant gpsSatellites() const {
-// return metaData.value(QMediaMetaData::GPSSatellites); }
-// void setGPSSatellites(const QVariant &satellites) {
-// setMetaData(QMediaMetaData::GPSSatellites, satellites); }
-// QVariant gpsStatus() const { return metaData.value(QMediaMetaData::GPSStatus); }
-// void setGPSStatus(const QVariant &status) { setMetaData(QMediaMetaData::GPSStatus, status); }
-// QVariant gpsDOP() const { return metaData.value(QMediaMetaData::GPSDOP); }
-// void setGPSDOP(const QVariant &dop) { setMetaData(QMediaMetaData::GPSDOP, dop); }
-// QVariant gpsSpeed() const { return metaData.value(QMediaMetaData::GPSSpeed); }
-// void setGPSSpeed(const QVariant &speed) { setMetaData(QMediaMetaData::GPSSpeed, speed); }
-// QVariant gpsTrack() const { return metaData.value(QMediaMetaData::GPSTrack); }
-// void setGPSTrack(const QVariant &track) { setMetaData(QMediaMetaData::GPSTrack, track); }
-// QVariant gpsTrackRef() const { return metaData.value(QMediaMetaData::GPSTrackRef); }
-// void setGPSTrackRef(const QVariant &ref) { setMetaData(QMediaMetaData::GPSTrackRef, ref); }
-// QVariant gpsImgDirection() const {
-// return metaData.value(QMediaMetaData::GPSImgDirection); }
-// void setGPSImgDirection(const QVariant &direction) {
-// setMetaData(QMediaMetaData::GPSImgDirection, direction); }
-// QVariant gpsImgDirectionRef() const {
-// return metaData.value(QMediaMetaData::GPSImgDirectionRef); }
-// void setGPSImgDirectionRef(const QVariant &ref) {
-// setMetaData(QMediaMetaData::GPSImgDirectionRef, ref); }
-// QVariant gpsMapDatum() const { return metaData.value(QMediaMetaData::GPSMapDatum); }
-// void setGPSMapDatum(const QVariant &datum) {
-// setMetaData(QMediaMetaData::GPSMapDatum, datum); }
-// QVariant gpsProcessingMethod() const {
-// return metaData.value(QMediaMetaData::GPSProcessingMethod); }
-// void setGPSProcessingMethod(const QVariant &method) {
-// setMetaData(QMediaMetaData::GPSProcessingMethod, method); }
-// QVariant gpsAreaInformation() const {
-// return metaData.value(QMediaMetaData::GPSAreaInformation); }
-// void setGPSAreaInformation(const QVariant &information) {
-// setMetaData(QMediaMetaData::GPSAreaInformation, information); }
-
-Q_SIGNALS:
- void metaDataChanged();
-
-private:
- void setMetaData(QMediaMetaData::Key key, const QVariant &value)
- {
- metaData.insert(key, value);
- if (!m_property.isValid() || !m_property.isWritable())
- return;
- m_property.write(m_mediaSource, QVariant::fromValue(metaData));
- }
-
- void updateMetaData()
- {
- if (!m_property.isValid() || !m_property.isReadable())
- return;
- metaData = m_property.read(m_mediaSource).value<QMediaMetaData>();
- }
-
- QMetaProperty m_property;
- QObject *m_mediaSource;
- QMediaMetaData metaData;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QT_PREPEND_NAMESPACE(QDeclarativeMediaMetaData))
-
-#endif