Changed metadata keys type from enum to QString.

This allows to combine metaData and extendedMetaData
and simplify metadata handling on both backend and application sides.

Change-Id: I136eedc86c215be3485db101c43069ca7c82101b
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
This commit is contained in:
Dmytro Poplavskiy
2012-01-16 16:40:47 +10:00
committed by Qt by Nokia
parent 382ba7d4f4
commit 8ff5b88b27
54 changed files with 736 additions and 1050 deletions

View File

@@ -203,8 +203,6 @@ bool QCameraImageCapture::setMediaObject(QMediaObject *mediaObject)
this, SIGNAL(imageCaptured(int,QImage)));
disconnect(d->control, SIGNAL(imageAvailable(int,QVideoFrame)),
this, SIGNAL(imageAvailable(int,QVideoFrame)));
disconnect(d->control, SIGNAL(imageMetadataAvailable(int,QtMultimedia::MetaData,QVariant)),
this, SIGNAL(imageMetadataAvailable(int,QtMultimedia::MetaData,QVariant)));
disconnect(d->control, SIGNAL(imageMetadataAvailable(int,QString,QVariant)),
this, SIGNAL(imageMetadataAvailable(int,QString,QVariant)));
disconnect(d->control, SIGNAL(imageSaved(int,QString)),
@@ -255,8 +253,6 @@ bool QCameraImageCapture::setMediaObject(QMediaObject *mediaObject)
this, SIGNAL(imageExposed(int)));
connect(d->control, SIGNAL(imageCaptured(int,QImage)),
this, SIGNAL(imageCaptured(int,QImage)));
connect(d->control, SIGNAL(imageMetadataAvailable(int,QtMultimedia::MetaData,QVariant)),
this, SIGNAL(imageMetadataAvailable(int,QtMultimedia::MetaData,QVariant)));
connect(d->control, SIGNAL(imageMetadataAvailable(int,QString,QVariant)),
this, SIGNAL(imageMetadataAvailable(int,QString,QVariant)));
connect(d->control, SIGNAL(imageAvailable(int,QVideoFrame)),
@@ -614,25 +610,14 @@ void QCameraImageCapture::cancelCapture()
Frame \a preview can be displayed to user.
*/
/*!
\fn QCameraImageCapture::imageMetadataAvailable(int id, QtMultimedia::MetaData key, const QVariant &value)
Signals that a metadata for an image with request \a id is available.
This signal is emitted for metadata \a value with a \a key listed in QtMultimedia::MetaData enum.
This signal is emitted between imageExposed and imageSaved signals.
*/
/*!
\fn QCameraImageCapture::imageMetadataAvailable(int id, const QString &key, const QVariant &value)
Signals that a metadata for an image with request \a id is available.
This signal is emitted for extended metadata \a value with a \a key not listed in QtMultimedia::MetaData enum.
This signal is emitted between imageExposed and imageSaved signals.
*/
/*!
\fn QCameraImageCapture::imageAvailable(int id, const QVideoFrame &buffer)

View File

@@ -136,7 +136,6 @@ Q_SIGNALS:
void imageExposed(int id);
void imageCaptured(int id, const QImage &preview);
void imageMetadataAvailable(int id, QtMultimedia::MetaData key, const QVariant &value);
void imageMetadataAvailable(int id, const QString &key, const QVariant &value);
void imageAvailable(int id, const QVideoFrame &image);
void imageSaved(int id, const QString &fileName);

View File

@@ -136,21 +136,10 @@ QCameraImageCaptureControl::~QCameraImageCaptureControl()
has been captured and a \a preview is available.
*/
/*!
\fn QCameraImageCaptureControl::imageMetadataAvailable(int id, QtMultimedia::MetaData key, const QVariant &value)
Signals that a metadata for an image with request \a id is available.
This signal is emitted for metadata \a value with a \a key listed in QtMultimedia::MetaData enum.
This signal should be emitted between imageExposed and imageSaved signals.
*/
/*!
\fn QCameraImageCaptureControl::imageMetadataAvailable(int id, const QString &key, const QVariant &value)
Signals that a metadata for an image with request \a id is available.
This signal is emitted for extended metadata \a value with a \a key not listed in QtMultimedia::MetaData enum.
This signal should be emitted between imageExposed and imageSaved signals.
*/

View File

@@ -76,7 +76,6 @@ Q_SIGNALS:
void imageExposed(int id);
void imageCaptured(int id, const QImage &preview);
void imageMetadataAvailable(int id, QtMultimedia::MetaData key, const QVariant &value);
void imageMetadataAvailable(int id, const QString &key, const QVariant &value);
void imageAvailable(int id, const QVideoFrame &buffer);
void imageSaved(int id, const QString &fileName);

View File

@@ -125,11 +125,12 @@ QMediaStreamsControl::~QMediaStreamsControl()
*/
/*!
\fn QMediaStreamsControl::metaData(int stream, QtMultimedia::MetaData key)
\fn QMediaStreamsControl::metaData(int stream, const QString &key)
Returns the meta-data value of \a key for a given \a stream.
Useful metadata keya are QtMultimedia::Title, QtMultimedia::Description and QtMultimedia::Language.
Useful metadata keys are QtMultimedia::MetaData::Title,
QtMultimedia::MetaData::Description and QtMultimedia::MetaData::Language.
*/
/*!

View File

@@ -67,7 +67,7 @@ public:
virtual int streamCount() = 0;
virtual StreamType streamType(int streamNumber) = 0;
virtual QVariant metaData(int streamNumber, QtMultimedia::MetaData key) = 0;
virtual QVariant metaData(int streamNumber, const QString &key) = 0;
virtual bool isActive(int streamNumber) = 0;
virtual void setActive(int streamNumber, bool state) = 0;

View File

@@ -59,9 +59,8 @@ QT_BEGIN_NAMESPACE
If a QMediaService can provide read or write access to the meta-data of
its current media it will implement QMetaDataReaderControl. This control
provides functions for both retrieving and setting meta-data values.
Meta-data may be addressed by the well defined keys in the
QtMultimedia::MetaData enumeration using the metaData() functions, or by
string keys using the extendedMetaData() functions.
Meta-data may be addressed by the keys defined in the
QtMultimedia::MetaData namespace.
The functionality provided by this control is exposed to application
code by the meta-data members of QMediaObject, and so meta-data access
@@ -112,7 +111,7 @@ QMetaDataReaderControl::~QMetaDataReaderControl()
*/
/*!
\fn QVariant QMetaDataReaderControl::metaData(QtMultimedia::MetaData key) const
\fn QVariant QMetaDataReaderControl::metaData(const QString &key) const
Returns the meta-data for the given \a key.
*/
@@ -123,22 +122,6 @@ QMetaDataReaderControl::~QMetaDataReaderControl()
Returns a list of keys there is meta-data available for.
*/
/*!
\fn QMetaDataReaderControl::extendedMetaData(const QString &key) const
Returns the metaData for an abitrary string \a key.
The valid selection of keys for extended meta-data is determined by the provider and the meaning
and type may differ between providers.
*/
/*!
\fn QMetaDataReaderControl::availableExtendedMetaData() const
Returns a list of keys there is extended meta-data available for.
*/
/*!
\fn void QMetaDataReaderControl::metaDataChanged()

View File

@@ -66,11 +66,8 @@ public:
virtual bool isMetaDataAvailable() const = 0;
virtual QVariant metaData(QtMultimedia::MetaData key) const = 0;
virtual QList<QtMultimedia::MetaData> availableMetaData() const = 0;
virtual QVariant extendedMetaData(const QString &key) const = 0;
virtual QStringList availableExtendedMetaData() const = 0;
virtual QVariant metaData(const QString &key) const = 0;
virtual QStringList availableMetaData() const = 0;
Q_SIGNALS:
void metaDataChanged();

View File

@@ -59,9 +59,8 @@ QT_BEGIN_NAMESPACE
If a QMediaService can provide write access to the meta-data of its
current media it will implement QMetaDataWriterControl. This control
provides functions for both retrieving and setting meta-data values.
Meta-data may be addressed by the well defined keys in the
QtMultimedia::MetaData enumeration using the metaData() functions, or
by string keys using the extendedMetaData() functions.
Meta-data may be addressed by the keys defined in the
QtMultimedia::MetaData namespace.
The functionality provided by this control is exposed to application code
by the meta-data members of QMediaObject, and so meta-data access is
@@ -119,13 +118,13 @@ QMetaDataWriterControl::~QMetaDataWriterControl()
*/
/*!
\fn QVariant QMetaDataWriterControl::metaData(QtMultimedia::MetaData key) const
\fn QVariant QMetaDataWriterControl::metaData(const QString &key) const
Returns the meta-data for the given \a key.
*/
/*!
\fn void QMetaDataWriterControl::setMetaData(QtMultimedia::MetaData key, const QVariant &value)
\fn void QMetaDataWriterControl::setMetaData(const QString &key, const QVariant &value)
Sets the \a value of the meta-data element with the given \a key.
*/
@@ -136,31 +135,6 @@ QMetaDataWriterControl::~QMetaDataWriterControl()
Returns a list of keys there is meta-data available for.
*/
/*!
\fn QMetaDataWriterControl::extendedMetaData(const QString &key) const
Returns the meta-data for an abitrary string \a key.
The valid selection of keys for extended meta-data is determined by the provider and the meaning
and type may differ between providers.
*/
/*!
\fn QMetaDataWriterControl::setExtendedMetaData(const QString &key, const QVariant &value)
Change the value of the meta-data element with an abitrary string \a key to \a value.
The valid selection of keys for extended meta-data is determined by the provider and the meaning
and type may differ between providers.
*/
/*!
\fn QMetaDataWriterControl::availableExtendedMetaData() const
Returns a list of keys there is extended meta-data available for.
*/
/*!
\fn void QMetaDataWriterControl::metaDataChanged()

View File

@@ -67,14 +67,9 @@ public:
virtual bool isWritable() const = 0;
virtual bool isMetaDataAvailable() const = 0;
virtual QVariant metaData(QtMultimedia::MetaData key) const = 0;
virtual void setMetaData(QtMultimedia::MetaData key, const QVariant &value) = 0;
virtual QList<QtMultimedia::MetaData> availableMetaData() const = 0;
virtual QVariant extendedMetaData(const QString &key) const = 0;
virtual void setExtendedMetaData(const QString &key, const QVariant &value) = 0;
virtual QStringList availableExtendedMetaData() const = 0;
virtual QVariant metaData(const QString &key) const = 0;
virtual void setMetaData(const QString &key, const QVariant &value) = 0;
virtual QStringList availableMetaData() const = 0;
Q_SIGNALS:
void metaDataChanged();

View File

@@ -322,7 +322,7 @@ bool QMediaObject::isMetaDataAvailable() const
/*!
Returns the value associated with a meta-data \a key.
*/
QVariant QMediaObject::metaData(QtMultimedia::MetaData key) const
QVariant QMediaObject::metaData(const QString &key) const
{
Q_D(const QMediaObject);
@@ -334,13 +334,13 @@ QVariant QMediaObject::metaData(QtMultimedia::MetaData key) const
/*!
Returns a list of keys there is meta-data available for.
*/
QList<QtMultimedia::MetaData> QMediaObject::availableMetaData() const
QStringList QMediaObject::availableMetaData() const
{
Q_D(const QMediaObject);
return d->metaDataControl
? d->metaDataControl->availableMetaData()
: QList<QtMultimedia::MetaData>();
: QStringList();
}
/*!
@@ -349,34 +349,6 @@ QList<QtMultimedia::MetaData> QMediaObject::availableMetaData() const
Signals that this media object's meta-data has changed.
*/
/*!
Returns the value associated with a meta-data \a key.
The naming and type of extended meta-data is not standardized, so the values and meaning
of keys may vary between backends.
*/
QVariant QMediaObject::extendedMetaData(const QString &key) const
{
Q_D(const QMediaObject);
return d->metaDataControl
? d->metaDataControl->extendedMetaData(key)
: QVariant();
}
/*!
Returns a list of keys there is extended meta-data available for.
*/
QStringList QMediaObject::availableExtendedMetaData() const
{
Q_D(const QMediaObject);
return d->metaDataControl
? d->metaDataControl->availableExtendedMetaData()
: QStringList();
}
void QMediaObject::setupMetaData()
{
Q_D(QMediaObject);

View File

@@ -79,11 +79,8 @@ public:
bool isMetaDataAvailable() const;
QVariant metaData(QtMultimedia::MetaData key) const;
QList<QtMultimedia::MetaData> availableMetaData() const;
QVariant extendedMetaData(const QString &key) const;
QStringList availableExtendedMetaData() const;
QVariant metaData(const QString &key) const;
QStringList availableMetaData() const;
Q_SIGNALS:
void notifyIntervalChanged(int milliSeconds);

View File

@@ -54,17 +54,127 @@ namespace
{
qRegisterMetaType<QtMultimedia::AvailabilityError>();
qRegisterMetaType<QtMultimedia::SupportEstimate>();
qRegisterMetaType<QtMultimedia::MetaData>();
qRegisterMetaType<QtMultimedia::EncodingMode>();
qRegisterMetaType<QtMultimedia::EncodingQuality>();
}
} _registerMetaTypes;
}
/*!
\enum QtMultimedia::MetaData
/*
When these conditions are satisfied, QStringLiteral is implemented by
gcc's statement-expression extension. However, in this file it will
not work, because "statement-expressions are not allowed outside functions
nor in template-argument lists".
This enum provides identifiers for meta-data attributes.
Fall back to the less-performant QLatin1String in this case.
*/
#if defined(QStringLiteral) && defined(QT_UNICODE_LITERAL_II) && defined(Q_CC_GNU) && !defined(Q_COMPILER_LAMBDA)
# undef QStringLiteral
# define QStringLiteral QLatin1String
#endif
#define Q_DEFINE_METADATA(key) const QString QtMultimedia::MetaData::key(QStringLiteral(#key))
// Common
Q_DEFINE_METADATA(Title);
Q_DEFINE_METADATA(SubTitle);
Q_DEFINE_METADATA(Author);
Q_DEFINE_METADATA(Comment);
Q_DEFINE_METADATA(Description);
Q_DEFINE_METADATA(Category);
Q_DEFINE_METADATA(Genre);
Q_DEFINE_METADATA(Year);
Q_DEFINE_METADATA(Date);
Q_DEFINE_METADATA(UserRating);
Q_DEFINE_METADATA(Keywords);
Q_DEFINE_METADATA(Language);
Q_DEFINE_METADATA(Publisher);
Q_DEFINE_METADATA(Copyright);
Q_DEFINE_METADATA(ParentalRating);
Q_DEFINE_METADATA(RatingOrganization);
// Media
Q_DEFINE_METADATA(Size);
Q_DEFINE_METADATA(MediaType);
Q_DEFINE_METADATA(Duration);
// Audio
Q_DEFINE_METADATA(AudioBitRate);
Q_DEFINE_METADATA(AudioCodec);
Q_DEFINE_METADATA(AverageLevel);
Q_DEFINE_METADATA(ChannelCount);
Q_DEFINE_METADATA(PeakValue);
Q_DEFINE_METADATA(SampleRate);
// Music
Q_DEFINE_METADATA(AlbumTitle);
Q_DEFINE_METADATA(AlbumArtist);
Q_DEFINE_METADATA(ContributingArtist);
Q_DEFINE_METADATA(Composer);
Q_DEFINE_METADATA(Conductor);
Q_DEFINE_METADATA(Lyrics);
Q_DEFINE_METADATA(Mood);
Q_DEFINE_METADATA(TrackNumber);
Q_DEFINE_METADATA(TrackCount);
Q_DEFINE_METADATA(CoverArtUrlSmall);
Q_DEFINE_METADATA(CoverArtUrlLarge);
// Image/Video
Q_DEFINE_METADATA(Resolution);
Q_DEFINE_METADATA(PixelAspectRatio);
// Video
Q_DEFINE_METADATA(VideoFrameRate);
Q_DEFINE_METADATA(VideoBitRate);
Q_DEFINE_METADATA(VideoCodec);
Q_DEFINE_METADATA(PosterUrl);
// Movie
Q_DEFINE_METADATA(ChapterNumber);
Q_DEFINE_METADATA(Director);
Q_DEFINE_METADATA(LeadPerformer);
Q_DEFINE_METADATA(Writer);
// Photos
Q_DEFINE_METADATA(CameraManufacturer);
Q_DEFINE_METADATA(CameraModel);
Q_DEFINE_METADATA(Event);
Q_DEFINE_METADATA(Subject);
Q_DEFINE_METADATA(Orientation);
Q_DEFINE_METADATA(ExposureTime);
Q_DEFINE_METADATA(FNumber);
Q_DEFINE_METADATA(ExposureProgram);
Q_DEFINE_METADATA(ISOSpeedRatings);
Q_DEFINE_METADATA(ExposureBiasValue);
Q_DEFINE_METADATA(DateTimeOriginal);
Q_DEFINE_METADATA(DateTimeDigitized);
Q_DEFINE_METADATA(SubjectDistance);
Q_DEFINE_METADATA(MeteringMode);
Q_DEFINE_METADATA(LightSource);
Q_DEFINE_METADATA(Flash);
Q_DEFINE_METADATA(FocalLength);
Q_DEFINE_METADATA(ExposureMode);
Q_DEFINE_METADATA(WhiteBalance);
Q_DEFINE_METADATA(DigitalZoomRatio);
Q_DEFINE_METADATA(FocalLengthIn35mmFilm);
Q_DEFINE_METADATA(SceneCaptureType);
Q_DEFINE_METADATA(GainControl);
Q_DEFINE_METADATA(Contrast);
Q_DEFINE_METADATA(Saturation);
Q_DEFINE_METADATA(Sharpness);
Q_DEFINE_METADATA(DeviceSettingDescription);
Q_DEFINE_METADATA(PosterImage);
Q_DEFINE_METADATA(CoverArtImage);
Q_DEFINE_METADATA(ThumbnailImage);
/*!
\namespace QtMultimedia::MetaData
This namespace provides identifiers for meta-data attributes.
\note Not all identifiers are supported on all platforms. Please consult vendor documentation for specific support
on different platforms.

View File

@@ -44,6 +44,7 @@
#include <QtCore/qpair.h>
#include <QtCore/qmetatype.h>
#include <QtCore/qstring.h>
#include <qtmultimediadefs.h>
@@ -53,106 +54,106 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Multimedia)
#define Q_DECLARE_METADATA(key) Q_MULTIMEDIA_EXPORT extern const QString key
namespace QtMultimedia
{
enum MetaData
{
namespace MetaData {
// Common
Title,
SubTitle,
Author,
Comment,
Description,
Category,
Genre,
Year,
Date,
UserRating,
Keywords,
Language,
Publisher,
Copyright,
ParentalRating,
RatingOrganization,
Q_DECLARE_METADATA(Title);
Q_DECLARE_METADATA(SubTitle);
Q_DECLARE_METADATA(Author);
Q_DECLARE_METADATA(Comment);
Q_DECLARE_METADATA(Description);
Q_DECLARE_METADATA(Category);
Q_DECLARE_METADATA(Genre);
Q_DECLARE_METADATA(Year);
Q_DECLARE_METADATA(Date);
Q_DECLARE_METADATA(UserRating);
Q_DECLARE_METADATA(Keywords);
Q_DECLARE_METADATA(Language);
Q_DECLARE_METADATA(Publisher);
Q_DECLARE_METADATA(Copyright);
Q_DECLARE_METADATA(ParentalRating);
Q_DECLARE_METADATA(RatingOrganization);
// Media
Size,
MediaType,
Duration,
Q_DECLARE_METADATA(Size);
Q_DECLARE_METADATA(MediaType);
Q_DECLARE_METADATA(Duration);
// Audio
AudioBitRate,
AudioCodec,
AverageLevel,
ChannelCount,
PeakValue,
SampleRate,
Q_DECLARE_METADATA(AudioBitRate);
Q_DECLARE_METADATA(AudioCodec);
Q_DECLARE_METADATA(AverageLevel);
Q_DECLARE_METADATA(ChannelCount);
Q_DECLARE_METADATA(PeakValue);
Q_DECLARE_METADATA(SampleRate);
// Music
AlbumTitle,
AlbumArtist,
ContributingArtist,
Composer,
Conductor,
Lyrics,
Mood,
TrackNumber,
TrackCount,
Q_DECLARE_METADATA(AlbumTitle);
Q_DECLARE_METADATA(AlbumArtist);
Q_DECLARE_METADATA(ContributingArtist);
Q_DECLARE_METADATA(Composer);
Q_DECLARE_METADATA(Conductor);
Q_DECLARE_METADATA(Lyrics);
Q_DECLARE_METADATA(Mood);
Q_DECLARE_METADATA(TrackNumber);
Q_DECLARE_METADATA(TrackCount);
CoverArtUrlSmall,
CoverArtUrlLarge,
Q_DECLARE_METADATA(CoverArtUrlSmall);
Q_DECLARE_METADATA(CoverArtUrlLarge);
// Image/Video
Resolution,
PixelAspectRatio,
Q_DECLARE_METADATA(Resolution);
Q_DECLARE_METADATA(PixelAspectRatio);
// Video
VideoFrameRate,
VideoBitRate,
VideoCodec,
Q_DECLARE_METADATA(VideoFrameRate);
Q_DECLARE_METADATA(VideoBitRate);
Q_DECLARE_METADATA(VideoCodec);
PosterUrl,
Q_DECLARE_METADATA(PosterUrl);
// Movie
ChapterNumber,
Director,
LeadPerformer,
Writer,
Q_DECLARE_METADATA(ChapterNumber);
Q_DECLARE_METADATA(Director);
Q_DECLARE_METADATA(LeadPerformer);
Q_DECLARE_METADATA(Writer);
// Photos
CameraManufacturer,
CameraModel,
Event,
Subject,
Orientation,
ExposureTime,
FNumber,
ExposureProgram,
ISOSpeedRatings,
ExposureBiasValue,
DateTimeOriginal,
DateTimeDigitized,
SubjectDistance,
MeteringMode,
LightSource,
Flash,
FocalLength,
ExposureMode,
WhiteBalance,
DigitalZoomRatio,
FocalLengthIn35mmFilm,
SceneCaptureType,
GainControl,
Contrast,
Saturation,
Sharpness,
DeviceSettingDescription,
Q_DECLARE_METADATA(CameraManufacturer);
Q_DECLARE_METADATA(CameraModel);
Q_DECLARE_METADATA(Event);
Q_DECLARE_METADATA(Subject);
Q_DECLARE_METADATA(Orientation);
Q_DECLARE_METADATA(ExposureTime);
Q_DECLARE_METADATA(FNumber);
Q_DECLARE_METADATA(ExposureProgram);
Q_DECLARE_METADATA(ISOSpeedRatings);
Q_DECLARE_METADATA(ExposureBiasValue);
Q_DECLARE_METADATA(DateTimeOriginal);
Q_DECLARE_METADATA(DateTimeDigitized);
Q_DECLARE_METADATA(SubjectDistance);
Q_DECLARE_METADATA(MeteringMode);
Q_DECLARE_METADATA(LightSource);
Q_DECLARE_METADATA(Flash);
Q_DECLARE_METADATA(FocalLength);
Q_DECLARE_METADATA(ExposureMode);
Q_DECLARE_METADATA(WhiteBalance);
Q_DECLARE_METADATA(DigitalZoomRatio);
Q_DECLARE_METADATA(FocalLengthIn35mmFilm);
Q_DECLARE_METADATA(SceneCaptureType);
Q_DECLARE_METADATA(GainControl);
Q_DECLARE_METADATA(Contrast);
Q_DECLARE_METADATA(Saturation);
Q_DECLARE_METADATA(Sharpness);
Q_DECLARE_METADATA(DeviceSettingDescription);
PosterImage,
CoverArtImage,
ThumbnailImage
};
Q_DECLARE_METADATA(PosterImage);
Q_DECLARE_METADATA(CoverArtImage);
Q_DECLARE_METADATA(ThumbnailImage);
}
enum SupportEstimate
{
@@ -189,11 +190,12 @@ namespace QtMultimedia
}
#undef Q_DECLARE_METADATA
QT_END_NAMESPACE
Q_DECLARE_METATYPE(QtMultimedia::AvailabilityError)
Q_DECLARE_METATYPE(QtMultimedia::SupportEstimate)
Q_DECLARE_METATYPE(QtMultimedia::MetaData)
Q_DECLARE_METATYPE(QtMultimedia::EncodingMode)
Q_DECLARE_METATYPE(QtMultimedia::EncodingQuality)

View File

@@ -764,7 +764,7 @@ bool QMediaRecorder::isMetaDataWritable() const
/*!
Returns the value associated with a meta-data \a key.
*/
QVariant QMediaRecorder::metaData(QtMultimedia::MetaData key) const
QVariant QMediaRecorder::metaData(const QString &key) const
{
Q_D(const QMediaRecorder);
@@ -779,7 +779,7 @@ QVariant QMediaRecorder::metaData(QtMultimedia::MetaData key) const
\note To ensure that meta data is set corretly, it should be set before starting the recording.
Once the recording is stopped, any meta data set will be attached to the next recording.
*/
void QMediaRecorder::setMetaData(QtMultimedia::MetaData key, const QVariant &value)
void QMediaRecorder::setMetaData(const QString &key, const QVariant &value)
{
Q_D(QMediaRecorder);
@@ -790,13 +790,13 @@ void QMediaRecorder::setMetaData(QtMultimedia::MetaData key, const QVariant &val
/*!
Returns a list of keys there is meta-data available for.
*/
QList<QtMultimedia::MetaData> QMediaRecorder::availableMetaData() const
QStringList QMediaRecorder::availableMetaData() const
{
Q_D(const QMediaRecorder);
return d->metaDataControl
? d->metaDataControl->availableMetaData()
: QList<QtMultimedia::MetaData>();
: QStringList();
}
/*!
@@ -805,47 +805,6 @@ QList<QtMultimedia::MetaData> QMediaRecorder::availableMetaData() const
Signals that a media object's meta-data has changed.
*/
/*!
Returns the value associated with a meta-data \a key.
The naming and type of extended meta-data is not standardized, so the values and meaning
of keys may vary between backends.
*/
QVariant QMediaRecorder::extendedMetaData(const QString &key) const
{
Q_D(const QMediaRecorder);
return d->metaDataControl
? d->metaDataControl->extendedMetaData(key)
: QVariant();
}
/*!
Sets a \a value for a meta-data \a key.
The naming and type of extended meta-data is not standardized, so the values and meaning
of keys may vary between backends.
*/
void QMediaRecorder::setExtendedMetaData(const QString &key, const QVariant &value)
{
Q_D(QMediaRecorder);
if (d->metaDataControl)
d->metaDataControl->setExtendedMetaData(key, value);
}
/*!
Returns a list of keys there is extended meta-data available for.
*/
QStringList QMediaRecorder::availableExtendedMetaData() const
{
Q_D(const QMediaRecorder);
return d->metaDataControl
? d->metaDataControl->availableExtendedMetaData()
: QStringList();
}
#include "moc_qmediarecorder.cpp"
QT_END_NAMESPACE

View File

@@ -145,13 +145,9 @@ public:
bool isMetaDataAvailable() const;
bool isMetaDataWritable() const;
QVariant metaData(QtMultimedia::MetaData key) const;
void setMetaData(QtMultimedia::MetaData key, const QVariant &value);
QList<QtMultimedia::MetaData> availableMetaData() const;
QVariant extendedMetaData(const QString &key) const;
void setExtendedMetaData(const QString &key, const QVariant &value);
QStringList availableExtendedMetaData() const;
QVariant metaData(const QString &key) const;
void setMetaData(const QString &key, const QVariant &value);
QStringList availableMetaData() const;
public Q_SLOTS:
void record();