~phablet-team/+junk/qtmultimedia

« back to all changes in this revision

Viewing changes to src/imports/multimedia/qdeclarativemediametadata_p.h

  • Committer: Jim Hodapp
  • Date: 2015-05-15 19:17:49 UTC
  • Revision ID: jim.hodapp@canonical.com-20150515191749-r4xausjaaphme9ok
Initial import.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/****************************************************************************
 
2
**
 
3
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
 
4
** Contact: http://www.qt-project.org/legal
 
5
**
 
6
** This file is part of the Qt Toolkit.
 
7
**
 
8
** $QT_BEGIN_LICENSE:LGPL21$
 
9
** Commercial License Usage
 
10
** Licensees holding valid commercial Qt licenses may use this file in
 
11
** accordance with the commercial license agreement provided with the
 
12
** Software or, alternatively, in accordance with the terms contained in
 
13
** a written agreement between you and Digia. For licensing terms and
 
14
** conditions see http://qt.digia.com/licensing. For further information
 
15
** use the contact form at http://qt.digia.com/contact-us.
 
16
**
 
17
** GNU Lesser General Public License Usage
 
18
** Alternatively, this file may be used under the terms of the GNU Lesser
 
19
** General Public License version 2.1 or version 3 as published by the Free
 
20
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
 
21
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
 
22
** following information to ensure the GNU Lesser General Public License
 
23
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
 
24
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 
25
**
 
26
** In addition, as a special exception, Digia gives you certain additional
 
27
** rights. These rights are described in the Digia Qt LGPL Exception
 
28
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 
29
**
 
30
** $QT_END_LICENSE$
 
31
**
 
32
****************************************************************************/
 
33
 
 
34
#ifndef QDECLARATIVEMEDIAMETADATA_P_H
 
35
#define QDECLARATIVEMEDIAMETADATA_P_H
 
36
 
 
37
//
 
38
//  W A R N I N G
 
39
//  -------------
 
40
//
 
41
// This file is not part of the Qt API.  It exists for the convenience
 
42
// of other Qt classes.  This header file may change from version to
 
43
// version without notice, or even be removed.
 
44
//
 
45
// We mean it.
 
46
//
 
47
 
 
48
#include <QtQml/qqml.h>
 
49
#include <QtMultimedia/qmediametadata.h>
 
50
#include <QtMultimedia/qmediaservice.h>
 
51
#include <QtMultimedia/qmetadatawritercontrol.h>
 
52
#include "qmediaobject.h"
 
53
 
 
54
QT_BEGIN_NAMESPACE
 
55
 
 
56
class QDeclarativeMediaMetaData : public QObject
 
57
{
 
58
    Q_OBJECT
 
59
    Q_PROPERTY(QVariant title READ title WRITE setTitle NOTIFY metaDataChanged)
 
60
    Q_PROPERTY(QVariant subTitle READ subTitle WRITE setSubTitle NOTIFY metaDataChanged)
 
61
    Q_PROPERTY(QVariant author READ author WRITE setAuthor NOTIFY metaDataChanged)
 
62
    Q_PROPERTY(QVariant comment READ comment WRITE setComment NOTIFY metaDataChanged)
 
63
    Q_PROPERTY(QVariant description READ description WRITE setDescription NOTIFY metaDataChanged)
 
64
    Q_PROPERTY(QVariant category READ category WRITE setCategory NOTIFY metaDataChanged)
 
65
    Q_PROPERTY(QVariant genre READ genre WRITE setGenre NOTIFY metaDataChanged)
 
66
    Q_PROPERTY(QVariant year READ year WRITE setYear NOTIFY metaDataChanged)
 
67
    Q_PROPERTY(QVariant date READ date WRITE setDate NOTIFY metaDataChanged)
 
68
    Q_PROPERTY(QVariant userRating READ userRating WRITE setUserRating NOTIFY metaDataChanged)
 
69
    Q_PROPERTY(QVariant keywords READ keywords WRITE setKeywords NOTIFY metaDataChanged)
 
70
    Q_PROPERTY(QVariant language READ language WRITE setLanguage NOTIFY metaDataChanged)
 
71
    Q_PROPERTY(QVariant publisher READ publisher WRITE setPublisher NOTIFY metaDataChanged)
 
72
    Q_PROPERTY(QVariant copyright READ copyright WRITE setCopyright NOTIFY metaDataChanged)
 
73
    Q_PROPERTY(QVariant parentalRating READ parentalRating WRITE setParentalRating NOTIFY metaDataChanged)
 
74
    Q_PROPERTY(QVariant ratingOrganization READ ratingOrganization WRITE setRatingOrganization NOTIFY metaDataChanged)
 
75
    Q_PROPERTY(QVariant size READ size WRITE setSize NOTIFY metaDataChanged)
 
76
    Q_PROPERTY(QVariant mediaType READ mediaType WRITE setMediaType NOTIFY metaDataChanged)
 
77
    Q_PROPERTY(QVariant duration READ duration WRITE setDuration NOTIFY metaDataChanged)
 
78
    Q_PROPERTY(QVariant audioBitRate READ audioBitRate WRITE setAudioBitRate NOTIFY metaDataChanged)
 
79
    Q_PROPERTY(QVariant audioCodec READ audioCodec WRITE setAudioCodec NOTIFY metaDataChanged)
 
80
    Q_PROPERTY(QVariant averageLevel READ averageLevel WRITE setAverageLevel NOTIFY metaDataChanged)
 
81
    Q_PROPERTY(QVariant channelCount READ channelCount WRITE setChannelCount NOTIFY metaDataChanged)
 
82
    Q_PROPERTY(QVariant peakValue READ peakValue WRITE setPeakValue NOTIFY metaDataChanged)
 
83
    Q_PROPERTY(QVariant sampleRate READ sampleRate WRITE setSampleRate NOTIFY metaDataChanged)
 
84
    Q_PROPERTY(QVariant albumTitle READ albumTitle WRITE setAlbumTitle NOTIFY metaDataChanged)
 
85
    Q_PROPERTY(QVariant albumArtist READ albumArtist WRITE setAlbumArtist NOTIFY metaDataChanged)
 
86
    Q_PROPERTY(QVariant contributingArtist READ contributingArtist WRITE setContributingArtist NOTIFY metaDataChanged)
 
87
    Q_PROPERTY(QVariant composer READ composer WRITE setComposer NOTIFY metaDataChanged)
 
88
    Q_PROPERTY(QVariant conductor READ conductor WRITE setConductor NOTIFY metaDataChanged)
 
89
    Q_PROPERTY(QVariant lyrics READ lyrics WRITE setLyrics NOTIFY metaDataChanged)
 
90
    Q_PROPERTY(QVariant mood READ mood WRITE setMood NOTIFY metaDataChanged)
 
91
    Q_PROPERTY(QVariant trackNumber READ trackNumber WRITE setTrackNumber NOTIFY metaDataChanged)
 
92
    Q_PROPERTY(QVariant trackCount READ trackCount WRITE setTrackCount NOTIFY metaDataChanged)
 
93
    Q_PROPERTY(QVariant coverArtUrlSmall READ coverArtUrlSmall WRITE setCoverArtUrlSmall NOTIFY metaDataChanged)
 
94
    Q_PROPERTY(QVariant coverArtUrlLarge READ coverArtUrlLarge WRITE setCoverArtUrlLarge NOTIFY metaDataChanged)
 
95
    Q_PROPERTY(QVariant resolution READ resolution WRITE setResolution NOTIFY metaDataChanged)
 
96
    Q_PROPERTY(QVariant pixelAspectRatio READ pixelAspectRatio WRITE setPixelAspectRatio NOTIFY metaDataChanged)
 
97
    Q_PROPERTY(QVariant videoFrameRate READ videoFrameRate WRITE setVideoFrameRate NOTIFY metaDataChanged)
 
98
    Q_PROPERTY(QVariant videoBitRate READ videoBitRate WRITE setVideoBitRate NOTIFY metaDataChanged)
 
99
    Q_PROPERTY(QVariant videoCodec READ videoCodec WRITE setVideoCodec NOTIFY metaDataChanged)
 
100
    Q_PROPERTY(QVariant posterUrl READ posterUrl WRITE setPosterUrl NOTIFY metaDataChanged)
 
101
    Q_PROPERTY(QVariant chapterNumber READ chapterNumber WRITE setChapterNumber NOTIFY metaDataChanged)
 
102
    Q_PROPERTY(QVariant director READ director WRITE setDirector NOTIFY metaDataChanged)
 
103
    Q_PROPERTY(QVariant leadPerformer READ leadPerformer WRITE setLeadPerformer NOTIFY metaDataChanged)
 
104
    Q_PROPERTY(QVariant writer READ writer WRITE setWriter NOTIFY metaDataChanged)
 
105
 
 
106
    Q_PROPERTY(QVariant cameraManufacturer READ cameraManufacturer WRITE setCameraManufacturer NOTIFY metaDataChanged)
 
107
    Q_PROPERTY(QVariant cameraModel READ cameraModel WRITE setCameraModel NOTIFY metaDataChanged)
 
108
    Q_PROPERTY(QVariant event READ event WRITE setEvent NOTIFY metaDataChanged)
 
109
    Q_PROPERTY(QVariant subject READ subject WRITE setSubject NOTIFY metaDataChanged)
 
110
    Q_PROPERTY(QVariant orientation READ orientation WRITE setOrientation NOTIFY metaDataChanged)
 
111
    Q_PROPERTY(QVariant exposureTime READ exposureTime WRITE setExposureTime NOTIFY metaDataChanged)
 
112
    Q_PROPERTY(QVariant fNumber READ fNumber WRITE setFNumber NOTIFY metaDataChanged)
 
113
    Q_PROPERTY(QVariant exposureProgram READ exposureProgram WRITE setExposureProgram NOTIFY metaDataChanged)
 
114
    Q_PROPERTY(QVariant isoSpeedRatings READ isoSpeedRatings WRITE setISOSpeedRatings NOTIFY metaDataChanged)
 
115
    Q_PROPERTY(QVariant exposureBiasValue READ exposureBiasValue WRITE setExposureBiasValue NOTIFY metaDataChanged)
 
116
    Q_PROPERTY(QVariant dateTimeOriginal READ dateTimeOriginal WRITE setDateTimeOriginal NOTIFY metaDataChanged)
 
117
    Q_PROPERTY(QVariant dateTimeDigitized READ dateTimeDigitized WRITE setDateTimeDigitized NOTIFY metaDataChanged)
 
118
    Q_PROPERTY(QVariant subjectDistance READ subjectDistance WRITE setSubjectDistance NOTIFY metaDataChanged)
 
119
    Q_PROPERTY(QVariant meteringMode READ meteringMode WRITE setMeteringMode NOTIFY metaDataChanged)
 
120
    Q_PROPERTY(QVariant lightSource READ lightSource WRITE setLightSource NOTIFY metaDataChanged)
 
121
    Q_PROPERTY(QVariant flash READ flash WRITE setFlash NOTIFY metaDataChanged)
 
122
    Q_PROPERTY(QVariant focalLength READ focalLength WRITE setFocalLength NOTIFY metaDataChanged)
 
123
    Q_PROPERTY(QVariant exposureMode READ exposureMode WRITE setExposureMode NOTIFY metaDataChanged)
 
124
    Q_PROPERTY(QVariant whiteBalance READ whiteBalance WRITE setWhiteBalance NOTIFY metaDataChanged)
 
125
    Q_PROPERTY(QVariant digitalZoomRatio READ digitalZoomRatio WRITE setDigitalZoomRatio NOTIFY metaDataChanged)
 
126
    Q_PROPERTY(QVariant focalLengthIn35mmFilm READ focalLengthIn35mmFilm WRITE setFocalLengthIn35mmFilm NOTIFY metaDataChanged)
 
127
    Q_PROPERTY(QVariant sceneCaptureType READ sceneCaptureType WRITE setSceneCaptureType NOTIFY metaDataChanged)
 
128
    Q_PROPERTY(QVariant gainControl READ gainControl WRITE setGainControl NOTIFY metaDataChanged)
 
129
    Q_PROPERTY(QVariant contrast READ contrast WRITE setContrast NOTIFY metaDataChanged)
 
130
    Q_PROPERTY(QVariant saturation READ saturation WRITE setSaturation NOTIFY metaDataChanged)
 
131
    Q_PROPERTY(QVariant sharpness READ sharpness WRITE setSharpness NOTIFY metaDataChanged)
 
132
    Q_PROPERTY(QVariant deviceSettingDescription READ deviceSettingDescription WRITE setDeviceSettingDescription NOTIFY metaDataChanged)
 
133
 
 
134
    Q_PROPERTY(QVariant gpsLatitude READ gpsLatitude WRITE setGPSLatitude NOTIFY metaDataChanged)
 
135
    Q_PROPERTY(QVariant gpsLongitude READ gpsLongitude WRITE setGPSLongitude NOTIFY metaDataChanged)
 
136
    Q_PROPERTY(QVariant gpsAltitude READ gpsAltitude WRITE setGPSAltitude NOTIFY metaDataChanged)
 
137
    Q_PROPERTY(QVariant gpsTimeStamp READ gpsTimeStamp WRITE setGPSTimeStamp NOTIFY metaDataChanged)
 
138
    Q_PROPERTY(QVariant gpsSatellites READ gpsSatellites WRITE setGPSSatellites NOTIFY metaDataChanged)
 
139
    Q_PROPERTY(QVariant gpsStatus READ gpsStatus WRITE setGPSStatus NOTIFY metaDataChanged)
 
140
    Q_PROPERTY(QVariant gpsDOP READ gpsDOP WRITE setGPSDOP NOTIFY metaDataChanged)
 
141
    Q_PROPERTY(QVariant gpsSpeed READ gpsSpeed WRITE setGPSSpeed NOTIFY metaDataChanged)
 
142
    Q_PROPERTY(QVariant gpsTrack READ gpsTrack WRITE setGPSTrack NOTIFY metaDataChanged)
 
143
    Q_PROPERTY(QVariant gpsTrackRef READ gpsTrackRef WRITE setGPSTrackRef NOTIFY metaDataChanged)
 
144
    Q_PROPERTY(QVariant gpsImgDirection READ gpsImgDirection WRITE setGPSImgDirection NOTIFY metaDataChanged)
 
145
    Q_PROPERTY(QVariant gpsImgDirectionRef READ gpsImgDirectionRef WRITE setGPSImgDirectionRef NOTIFY metaDataChanged)
 
146
    Q_PROPERTY(QVariant gpsMapDatum READ gpsMapDatum WRITE setGPSMapDatum NOTIFY metaDataChanged)
 
147
    Q_PROPERTY(QVariant gpsProcessingMethod READ gpsProcessingMethod WRITE setGPSProcessingMethod NOTIFY metaDataChanged)
 
148
    Q_PROPERTY(QVariant gpsAreaInformation READ gpsAreaInformation WRITE setGPSAreaInformation NOTIFY metaDataChanged)
 
149
 
 
150
public:
 
151
    QDeclarativeMediaMetaData(QMediaObject *player, QObject *parent = 0)
 
152
        : QObject(parent)
 
153
        , m_mediaObject(player)
 
154
        , m_writerControl(0)
 
155
        , m_requestedWriterControl(false)
 
156
    {
 
157
    }
 
158
 
 
159
    ~QDeclarativeMediaMetaData()
 
160
    {
 
161
        if (m_writerControl) {
 
162
            if (QMediaService *service = m_mediaObject->service())
 
163
                service->releaseControl(m_writerControl);
 
164
        }
 
165
    }
 
166
 
 
167
    QVariant title() const { return m_mediaObject->metaData(QMediaMetaData::Title); }
 
168
    void setTitle(const QVariant &title) { setMetaData(QMediaMetaData::Title, title); }
 
169
    QVariant subTitle() const { return m_mediaObject->metaData(QMediaMetaData::SubTitle); }
 
170
    void setSubTitle(const QVariant &title) {
 
171
        setMetaData(QMediaMetaData::SubTitle, title); }
 
172
    QVariant author() const { return m_mediaObject->metaData(QMediaMetaData::Author); }
 
173
    void setAuthor(const QVariant &author) { setMetaData(QMediaMetaData::Author, author); }
 
174
    QVariant comment() const { return m_mediaObject->metaData(QMediaMetaData::Comment); }
 
175
    void setComment(const QVariant &comment) { setMetaData(QMediaMetaData::Comment, comment); }
 
176
    QVariant description() const { return m_mediaObject->metaData(QMediaMetaData::Description); }
 
177
    void setDescription(const QVariant &description) {
 
178
        setMetaData(QMediaMetaData::Description, description); }
 
179
    QVariant category() const { return m_mediaObject->metaData(QMediaMetaData::Category); }
 
180
    void setCategory(const QVariant &category) { setMetaData(QMediaMetaData::Category, category); }
 
181
    QVariant genre() const { return m_mediaObject->metaData(QMediaMetaData::Genre); }
 
182
    void setGenre(const QVariant &genre) { setMetaData(QMediaMetaData::Genre, genre); }
 
183
    QVariant year() const { return m_mediaObject->metaData(QMediaMetaData::Year); }
 
184
    void setYear(const QVariant &year) { setMetaData(QMediaMetaData::Year, year); }
 
185
    QVariant date() const { return m_mediaObject->metaData(QMediaMetaData::Date); }
 
186
    void setDate(const QVariant &date) { setMetaData(QMediaMetaData::Date, date); }
 
187
    QVariant userRating() const { return m_mediaObject->metaData(QMediaMetaData::UserRating); }
 
188
    void setUserRating(const QVariant &rating) { setMetaData(QMediaMetaData::UserRating, rating); }
 
189
    QVariant keywords() const { return m_mediaObject->metaData(QMediaMetaData::Keywords); }
 
190
    void setKeywords(const QVariant &keywords) { setMetaData(QMediaMetaData::Keywords, keywords); }
 
191
    QVariant language() const { return m_mediaObject->metaData(QMediaMetaData::Language); }
 
192
    void setLanguage(const QVariant &language) { setMetaData(QMediaMetaData::Language, language); }
 
193
    QVariant publisher() const { return m_mediaObject->metaData(QMediaMetaData::Publisher); }
 
194
    void setPublisher(const QVariant &publisher) {
 
195
        setMetaData(QMediaMetaData::Publisher, publisher); }
 
196
    QVariant copyright() const { return m_mediaObject->metaData(QMediaMetaData::Copyright); }
 
197
    void setCopyright(const QVariant &copyright) {
 
198
        setMetaData(QMediaMetaData::Copyright, copyright); }
 
199
    QVariant parentalRating() const { return m_mediaObject->metaData(QMediaMetaData::ParentalRating); }
 
200
    void setParentalRating(const QVariant &rating) {
 
201
        setMetaData(QMediaMetaData::ParentalRating, rating); }
 
202
    QVariant ratingOrganization() const {
 
203
        return m_mediaObject->metaData(QMediaMetaData::RatingOrganization); }
 
204
    void setRatingOrganization(const QVariant &organization) {
 
205
        setMetaData(QMediaMetaData::RatingOrganization, organization); }
 
206
    QVariant size() const { return m_mediaObject->metaData(QMediaMetaData::Size); }
 
207
    void setSize(const QVariant &size) { setMetaData(QMediaMetaData::Size, size); }
 
208
    QVariant mediaType() const { return m_mediaObject->metaData(QMediaMetaData::MediaType); }
 
209
    void setMediaType(const QVariant &type) { setMetaData(QMediaMetaData::MediaType, type); }
 
210
    QVariant duration() const { return m_mediaObject->metaData(QMediaMetaData::Duration); }
 
211
    void setDuration(const QVariant &duration) { setMetaData(QMediaMetaData::Duration, duration); }
 
212
    QVariant audioBitRate() const { return m_mediaObject->metaData(QMediaMetaData::AudioBitRate); }
 
213
    void setAudioBitRate(const QVariant &rate) { setMetaData(QMediaMetaData::AudioBitRate, rate); }
 
214
    QVariant audioCodec() const { return m_mediaObject->metaData(QMediaMetaData::AudioCodec); }
 
215
    void setAudioCodec(const QVariant &codec) { setMetaData(QMediaMetaData::AudioCodec, codec); }
 
216
    QVariant averageLevel() const { return m_mediaObject->metaData(QMediaMetaData::AverageLevel); }
 
217
    void setAverageLevel(const QVariant &level) {
 
218
        setMetaData(QMediaMetaData::AverageLevel, level); }
 
219
    QVariant channelCount() const { return m_mediaObject->metaData(QMediaMetaData::ChannelCount); }
 
220
    void setChannelCount(const QVariant &count) {
 
221
        setMetaData(QMediaMetaData::ChannelCount, count); }
 
222
    QVariant peakValue() const { return m_mediaObject->metaData(QMediaMetaData::PeakValue); }
 
223
    void setPeakValue(const QVariant &value) { setMetaData(QMediaMetaData::PeakValue, value); }
 
224
    QVariant sampleRate() const { return m_mediaObject->metaData(QMediaMetaData::SampleRate); }
 
225
    void setSampleRate(const QVariant &rate) { setMetaData(QMediaMetaData::SampleRate, rate); }
 
226
    QVariant albumTitle() const { return m_mediaObject->metaData(QMediaMetaData::AlbumTitle); }
 
227
    void setAlbumTitle(const QVariant &title) { setMetaData(QMediaMetaData::AlbumTitle, title); }
 
228
    QVariant albumArtist() const { return m_mediaObject->metaData(QMediaMetaData::AlbumArtist); }
 
229
    void setAlbumArtist(const QVariant &artist) {
 
230
        setMetaData(QMediaMetaData::AlbumArtist, artist); }
 
231
    QVariant contributingArtist() const {
 
232
        return m_mediaObject->metaData(QMediaMetaData::ContributingArtist); }
 
233
    void setContributingArtist(const QVariant &artist) {
 
234
        setMetaData(QMediaMetaData::ContributingArtist, artist); }
 
235
    QVariant composer() const { return m_mediaObject->metaData(QMediaMetaData::Composer); }
 
236
    void setComposer(const QVariant &composer) { setMetaData(QMediaMetaData::Composer, composer); }
 
237
    QVariant conductor() const { return m_mediaObject->metaData(QMediaMetaData::Conductor); }
 
238
    void setConductor(const QVariant &conductor) {
 
239
        setMetaData(QMediaMetaData::Conductor, conductor); }
 
240
    QVariant lyrics() const { return m_mediaObject->metaData(QMediaMetaData::Lyrics); }
 
241
    void setLyrics(const QVariant &lyrics) { setMetaData(QMediaMetaData::Lyrics, lyrics); }
 
242
    QVariant mood() const { return m_mediaObject->metaData(QMediaMetaData::Mood); }
 
243
    void setMood(const QVariant &mood) { setMetaData(QMediaMetaData::Mood, mood); }
 
244
    QVariant trackNumber() const { return m_mediaObject->metaData(QMediaMetaData::TrackNumber); }
 
245
    void setTrackNumber(const QVariant &track) { setMetaData(QMediaMetaData::TrackNumber, track); }
 
246
    QVariant trackCount() const { return m_mediaObject->metaData(QMediaMetaData::TrackCount); }
 
247
    void setTrackCount(const QVariant &count) { setMetaData(QMediaMetaData::TrackCount, count); }
 
248
    QVariant coverArtUrlSmall() const {
 
249
        return m_mediaObject->metaData(QMediaMetaData::CoverArtUrlSmall); }
 
250
    void setCoverArtUrlSmall(const QVariant &url) {
 
251
        setMetaData(QMediaMetaData::CoverArtUrlSmall, url); }
 
252
    QVariant coverArtUrlLarge() const {
 
253
        return m_mediaObject->metaData(QMediaMetaData::CoverArtUrlLarge); }
 
254
    void setCoverArtUrlLarge(const QVariant &url) {
 
255
        setMetaData(QMediaMetaData::CoverArtUrlLarge, url); }
 
256
    QVariant resolution() const { return m_mediaObject->metaData(QMediaMetaData::Resolution); }
 
257
    void setResolution(const QVariant &resolution) {
 
258
        setMetaData(QMediaMetaData::Resolution, resolution); }
 
259
    QVariant pixelAspectRatio() const {
 
260
        return m_mediaObject->metaData(QMediaMetaData::PixelAspectRatio); }
 
261
    void setPixelAspectRatio(const QVariant &ratio) {
 
262
        setMetaData(QMediaMetaData::PixelAspectRatio, ratio); }
 
263
    QVariant videoFrameRate() const { return m_mediaObject->metaData(QMediaMetaData::VideoFrameRate); }
 
264
    void setVideoFrameRate(const QVariant &rate) {
 
265
        setMetaData(QMediaMetaData::VideoFrameRate, rate); }
 
266
    QVariant videoBitRate() const { return m_mediaObject->metaData(QMediaMetaData::VideoBitRate); }
 
267
    void setVideoBitRate(const QVariant &rate) {
 
268
        setMetaData(QMediaMetaData::VideoBitRate, rate); }
 
269
    QVariant videoCodec() const { return m_mediaObject->metaData(QMediaMetaData::VideoCodec); }
 
270
    void setVideoCodec(const QVariant &codec) {
 
271
        setMetaData(QMediaMetaData::VideoCodec, codec); }
 
272
    QVariant posterUrl() const { return m_mediaObject->metaData(QMediaMetaData::PosterUrl); }
 
273
    void setPosterUrl(const QVariant &url) {
 
274
        setMetaData(QMediaMetaData::PosterUrl, url); }
 
275
    QVariant chapterNumber() const { return m_mediaObject->metaData(QMediaMetaData::ChapterNumber); }
 
276
    void setChapterNumber(const QVariant &chapter) {
 
277
        setMetaData(QMediaMetaData::ChapterNumber, chapter); }
 
278
    QVariant director() const { return m_mediaObject->metaData(QMediaMetaData::Director); }
 
279
    void setDirector(const QVariant &director) { setMetaData(QMediaMetaData::Director, director); }
 
280
    QVariant leadPerformer() const { return m_mediaObject->metaData(QMediaMetaData::LeadPerformer); }
 
281
    void setLeadPerformer(const QVariant &performer) {
 
282
        setMetaData(QMediaMetaData::LeadPerformer, performer); }
 
283
    QVariant writer() const { return m_mediaObject->metaData(QMediaMetaData::Writer); }
 
284
    void setWriter(const QVariant &writer) { setMetaData(QMediaMetaData::Writer, writer); }
 
285
 
 
286
    QVariant cameraManufacturer() const {
 
287
        return m_mediaObject->metaData(QMediaMetaData::CameraManufacturer); }
 
288
    void setCameraManufacturer(const QVariant &manufacturer) {
 
289
        setMetaData(QMediaMetaData::CameraManufacturer, manufacturer); }
 
290
    QVariant cameraModel() const { return m_mediaObject->metaData(QMediaMetaData::CameraModel); }
 
291
    void setCameraModel(const QVariant &model) { setMetaData(QMediaMetaData::CameraModel, model); }
 
292
    QVariant event() const { return m_mediaObject->metaData(QMediaMetaData::Event); }
 
293
    void setEvent(const QVariant &event) { setMetaData(QMediaMetaData::Event, event); }
 
294
    QVariant subject() const { return m_mediaObject->metaData(QMediaMetaData::Subject); }
 
295
    void setSubject(const QVariant &subject) { setMetaData(QMediaMetaData::Subject, subject); }
 
296
    QVariant orientation() const { return m_mediaObject->metaData(QMediaMetaData::Orientation); }
 
297
    void setOrientation(const QVariant &orientation) {
 
298
        setMetaData(QMediaMetaData::Orientation, orientation); }
 
299
    QVariant exposureTime() const { return m_mediaObject->metaData(QMediaMetaData::ExposureTime); }
 
300
    void setExposureTime(const QVariant &time) { setMetaData(QMediaMetaData::ExposureTime, time); }
 
301
    QVariant fNumber() const { return m_mediaObject->metaData(QMediaMetaData::FNumber); }
 
302
    void setFNumber(const QVariant &number) { setMetaData(QMediaMetaData::FNumber, number); }
 
303
    QVariant exposureProgram() const {
 
304
        return m_mediaObject->metaData(QMediaMetaData::ExposureProgram); }
 
305
    void setExposureProgram(const QVariant &program) {
 
306
        setMetaData(QMediaMetaData::ExposureProgram, program); }
 
307
    QVariant isoSpeedRatings() const {
 
308
        return m_mediaObject->metaData(QMediaMetaData::ISOSpeedRatings); }
 
309
    void setISOSpeedRatings(const QVariant &ratings) {
 
310
        setMetaData(QMediaMetaData::ISOSpeedRatings, ratings); }
 
311
    QVariant exposureBiasValue() const {
 
312
        return m_mediaObject->metaData(QMediaMetaData::ExposureBiasValue); }
 
313
    void setExposureBiasValue(const QVariant &bias) {
 
314
        setMetaData(QMediaMetaData::ExposureBiasValue, bias); }
 
315
    QVariant dateTimeOriginal() const {
 
316
        return m_mediaObject->metaData(QMediaMetaData::DateTimeOriginal); }
 
317
    void setDateTimeOriginal(const QVariant &dateTime) {
 
318
        setMetaData(QMediaMetaData::DateTimeOriginal, dateTime); }
 
319
    QVariant dateTimeDigitized() const {
 
320
        return m_mediaObject->metaData(QMediaMetaData::DateTimeDigitized); }
 
321
    void setDateTimeDigitized(const QVariant &dateTime) {
 
322
        setMetaData(QMediaMetaData::DateTimeDigitized, dateTime); }
 
323
    QVariant subjectDistance() const {
 
324
        return m_mediaObject->metaData(QMediaMetaData::SubjectDistance); }
 
325
    void setSubjectDistance(const QVariant &distance) {
 
326
        setMetaData(QMediaMetaData::SubjectDistance, distance); }
 
327
    QVariant meteringMode() const { return m_mediaObject->metaData(QMediaMetaData::MeteringMode); }
 
328
    void setMeteringMode(const QVariant &mode) { setMetaData(QMediaMetaData::MeteringMode, mode); }
 
329
    QVariant lightSource() const { return m_mediaObject->metaData(QMediaMetaData::LightSource); }
 
330
    void setLightSource(const QVariant &source) {
 
331
        setMetaData(QMediaMetaData::LightSource, source); }
 
332
    QVariant flash() const { return m_mediaObject->metaData(QMediaMetaData::Flash); }
 
333
    void setFlash(const QVariant &flash) { setMetaData(QMediaMetaData::Flash, flash); }
 
334
    QVariant focalLength() const { return m_mediaObject->metaData(QMediaMetaData::FocalLength); }
 
335
    void setFocalLength(const QVariant &length) {
 
336
        setMetaData(QMediaMetaData::FocalLength, length); }
 
337
    QVariant exposureMode() const { return m_mediaObject->metaData(QMediaMetaData::ExposureMode); }
 
338
    void setExposureMode(const QVariant &mode) {
 
339
        setMetaData(QMediaMetaData::ExposureMode, mode); }
 
340
    QVariant whiteBalance() const { return m_mediaObject->metaData(QMediaMetaData::WhiteBalance); }
 
341
    void setWhiteBalance(const QVariant &balance) {
 
342
        setMetaData(QMediaMetaData::WhiteBalance, balance); }
 
343
    QVariant digitalZoomRatio() const {
 
344
        return m_mediaObject->metaData(QMediaMetaData::DigitalZoomRatio); }
 
345
    void setDigitalZoomRatio(const QVariant &ratio) {
 
346
        setMetaData(QMediaMetaData::DigitalZoomRatio, ratio); }
 
347
    QVariant focalLengthIn35mmFilm() const {
 
348
        return m_mediaObject->metaData(QMediaMetaData::FocalLengthIn35mmFilm); }
 
349
    void setFocalLengthIn35mmFilm(const QVariant &length) {
 
350
        setMetaData(QMediaMetaData::FocalLengthIn35mmFilm, length); }
 
351
    QVariant sceneCaptureType() const {
 
352
        return m_mediaObject->metaData(QMediaMetaData::SceneCaptureType); }
 
353
    void setSceneCaptureType(const QVariant &type) {
 
354
        setMetaData(QMediaMetaData::SceneCaptureType, type); }
 
355
    QVariant gainControl() const { return m_mediaObject->metaData(QMediaMetaData::GainControl); }
 
356
    void setGainControl(const QVariant &gain) { setMetaData(QMediaMetaData::GainControl, gain); }
 
357
    QVariant contrast() const { return m_mediaObject->metaData(QMediaMetaData::Contrast); }
 
358
    void setContrast(const QVariant &contrast) { setMetaData(QMediaMetaData::Contrast, contrast); }
 
359
    QVariant saturation() const { return m_mediaObject->metaData(QMediaMetaData::Saturation); }
 
360
    void setSaturation(const QVariant &saturation) {
 
361
        setMetaData(QMediaMetaData::Saturation, saturation); }
 
362
    QVariant sharpness() const { return m_mediaObject->metaData(QMediaMetaData::Sharpness); }
 
363
    void setSharpness(const QVariant &sharpness) {
 
364
        setMetaData(QMediaMetaData::Sharpness, sharpness); }
 
365
    QVariant deviceSettingDescription() const {
 
366
        return m_mediaObject->metaData(QMediaMetaData::DeviceSettingDescription); }
 
367
    void setDeviceSettingDescription(const QVariant &description) {
 
368
        setMetaData(QMediaMetaData::DeviceSettingDescription, description); }
 
369
 
 
370
    QVariant gpsLatitude() const { return m_mediaObject->metaData(QMediaMetaData::GPSLatitude); }
 
371
    void setGPSLatitude(const QVariant &latitude) {
 
372
        setMetaData(QMediaMetaData::GPSLatitude, latitude); }
 
373
    QVariant gpsLongitude() const { return m_mediaObject->metaData(QMediaMetaData::GPSLongitude); }
 
374
    void setGPSLongitude(const QVariant &longitude) {
 
375
        setMetaData(QMediaMetaData::GPSLongitude, longitude); }
 
376
    QVariant gpsAltitude() const { return m_mediaObject->metaData(QMediaMetaData::GPSAltitude); }
 
377
    void setGPSAltitude(const QVariant &altitude) {
 
378
        setMetaData(QMediaMetaData::GPSAltitude, altitude); }
 
379
    QVariant gpsTimeStamp() const { return m_mediaObject->metaData(QMediaMetaData::GPSTimeStamp); }
 
380
    void setGPSTimeStamp(const QVariant &timestamp) {
 
381
        setMetaData(QMediaMetaData::GPSTimeStamp, timestamp); }
 
382
    QVariant gpsSatellites() const {
 
383
        return m_mediaObject->metaData(QMediaMetaData::GPSSatellites); }
 
384
    void setGPSSatellites(const QVariant &satellites) {
 
385
        setMetaData(QMediaMetaData::GPSSatellites, satellites); }
 
386
    QVariant gpsStatus() const { return m_mediaObject->metaData(QMediaMetaData::GPSStatus); }
 
387
    void setGPSStatus(const QVariant &status) { setMetaData(QMediaMetaData::GPSStatus, status); }
 
388
    QVariant gpsDOP() const { return m_mediaObject->metaData(QMediaMetaData::GPSDOP); }
 
389
    void setGPSDOP(const QVariant &dop) { setMetaData(QMediaMetaData::GPSDOP, dop); }
 
390
    QVariant gpsSpeed() const { return m_mediaObject->metaData(QMediaMetaData::GPSSpeed); }
 
391
    void setGPSSpeed(const QVariant &speed) { setMetaData(QMediaMetaData::GPSSpeed, speed); }
 
392
    QVariant gpsTrack() const { return m_mediaObject->metaData(QMediaMetaData::GPSTrack); }
 
393
    void setGPSTrack(const QVariant &track) { setMetaData(QMediaMetaData::GPSTrack, track); }
 
394
    QVariant gpsTrackRef() const { return m_mediaObject->metaData(QMediaMetaData::GPSTrackRef); }
 
395
    void setGPSTrackRef(const QVariant &ref) { setMetaData(QMediaMetaData::GPSTrackRef, ref); }
 
396
    QVariant gpsImgDirection() const {
 
397
        return m_mediaObject->metaData(QMediaMetaData::GPSImgDirection); }
 
398
    void setGPSImgDirection(const QVariant &direction) {
 
399
        setMetaData(QMediaMetaData::GPSImgDirection, direction); }
 
400
    QVariant gpsImgDirectionRef() const {
 
401
        return m_mediaObject->metaData(QMediaMetaData::GPSImgDirectionRef); }
 
402
    void setGPSImgDirectionRef(const QVariant &ref) {
 
403
        setMetaData(QMediaMetaData::GPSImgDirectionRef, ref); }
 
404
    QVariant gpsMapDatum() const { return m_mediaObject->metaData(QMediaMetaData::GPSMapDatum); }
 
405
    void setGPSMapDatum(const QVariant &datum) {
 
406
        setMetaData(QMediaMetaData::GPSMapDatum, datum); }
 
407
    QVariant gpsProcessingMethod() const {
 
408
        return m_mediaObject->metaData(QMediaMetaData::GPSProcessingMethod); }
 
409
    void setGPSProcessingMethod(const QVariant &method) {
 
410
        setMetaData(QMediaMetaData::GPSProcessingMethod, method); }
 
411
    QVariant gpsAreaInformation() const {
 
412
        return m_mediaObject->metaData(QMediaMetaData::GPSAreaInformation); }
 
413
    void setGPSAreaInformation(const QVariant &information) {
 
414
        setMetaData(QMediaMetaData::GPSAreaInformation, information); }
 
415
 
 
416
Q_SIGNALS:
 
417
    void metaDataChanged();
 
418
 
 
419
private:
 
420
    void setMetaData(const QString &key, const QVariant &value)
 
421
    {
 
422
        if (!m_requestedWriterControl) {
 
423
            m_requestedWriterControl = true;
 
424
            if (QMediaService *service = m_mediaObject->service())
 
425
                m_writerControl = service->requestControl<QMetaDataWriterControl *>();
 
426
        }
 
427
        if (m_writerControl)
 
428
            m_writerControl->setMetaData(key, value);
 
429
    }
 
430
 
 
431
    QMediaObject *m_mediaObject;
 
432
    QMetaDataWriterControl *m_writerControl;
 
433
    bool m_requestedWriterControl;
 
434
};
 
435
 
 
436
QT_END_NAMESPACE
 
437
 
 
438
QML_DECLARE_TYPE(QT_PREPEND_NAMESPACE(QDeclarativeMediaMetaData))
 
439
 
 
440
#endif