Make QDeclarativeAudio use QMediaPlayer instead of the controls.

Very minor changes in semantics due to previous differences:
* negative positions are not supported any more (clamped to >= 0)
* setting muted to the same value previously set to the control itself
  won't signal any more.

Change-Id: Iacf4310508d853ae82b63dee28095fce12b6ff28
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
This commit is contained in:
Michael Goddard
2012-03-13 13:29:26 +10:00
committed by Qt by Nokia
parent 7c0b1da0ed
commit e9ebbeef72
11 changed files with 338 additions and 308 deletions

View File

@@ -53,9 +53,8 @@
// We mean it.
//
#include <qmetadatareadercontrol.h>
#include <QtQml/qqml.h>
#include "qmediaobject.h"
QT_BEGIN_HEADER
@@ -111,69 +110,69 @@ class QDeclarativeMediaMetaData : public QObject
Q_PROPERTY(QVariant leadPerformer READ leadPerformer NOTIFY metaDataChanged)
Q_PROPERTY(QVariant writer READ writer NOTIFY metaDataChanged)
public:
QDeclarativeMediaMetaData(QMetaDataReaderControl *control, QObject *parent = 0)
QDeclarativeMediaMetaData(QMediaObject *player, QObject *parent = 0)
: QObject(parent)
, m_control(control)
, m_mediaObject(player)
{
}
QVariant title() const { return m_control->metaData(QtMultimedia::MetaData::Title); }
QVariant subTitle() const { return m_control->metaData(QtMultimedia::MetaData::SubTitle); }
QVariant author() const { return m_control->metaData(QtMultimedia::MetaData::Author); }
QVariant comment() const { return m_control->metaData(QtMultimedia::MetaData::Comment); }
QVariant description() const { return m_control->metaData(QtMultimedia::MetaData::Description); }
QVariant category() const { return m_control->metaData(QtMultimedia::MetaData::Category); }
QVariant genre() const { return m_control->metaData(QtMultimedia::MetaData::Genre); }
QVariant year() const { return m_control->metaData(QtMultimedia::MetaData::Year); }
QVariant date() const { return m_control->metaData(QtMultimedia::MetaData::Date); }
QVariant userRating() const { return m_control->metaData(QtMultimedia::MetaData::UserRating); }
QVariant keywords() const { return m_control->metaData(QtMultimedia::MetaData::Keywords); }
QVariant language() const { return m_control->metaData(QtMultimedia::MetaData::Language); }
QVariant publisher() const { return m_control->metaData(QtMultimedia::MetaData::Publisher); }
QVariant copyright() const { return m_control->metaData(QtMultimedia::MetaData::Copyright); }
QVariant parentalRating() const { return m_control->metaData(QtMultimedia::MetaData::ParentalRating); }
QVariant title() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Title); }
QVariant subTitle() const { return m_mediaObject->metaData(QtMultimedia::MetaData::SubTitle); }
QVariant author() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Author); }
QVariant comment() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Comment); }
QVariant description() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Description); }
QVariant category() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Category); }
QVariant genre() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Genre); }
QVariant year() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Year); }
QVariant date() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Date); }
QVariant userRating() const { return m_mediaObject->metaData(QtMultimedia::MetaData::UserRating); }
QVariant keywords() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Keywords); }
QVariant language() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Language); }
QVariant publisher() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Publisher); }
QVariant copyright() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Copyright); }
QVariant parentalRating() const { return m_mediaObject->metaData(QtMultimedia::MetaData::ParentalRating); }
QVariant ratingOrganization() const {
return m_control->metaData(QtMultimedia::MetaData::RatingOrganization); }
QVariant size() const { return m_control->metaData(QtMultimedia::MetaData::Size); }
QVariant mediaType() const { return m_control->metaData(QtMultimedia::MetaData::MediaType); }
QVariant duration() const { return m_control->metaData(QtMultimedia::MetaData::Duration); }
QVariant audioBitRate() const { return m_control->metaData(QtMultimedia::MetaData::AudioBitRate); }
QVariant audioCodec() const { return m_control->metaData(QtMultimedia::MetaData::AudioCodec); }
QVariant averageLevel() const { return m_control->metaData(QtMultimedia::MetaData::AverageLevel); }
QVariant channelCount() const { return m_control->metaData(QtMultimedia::MetaData::ChannelCount); }
QVariant peakValue() const { return m_control->metaData(QtMultimedia::MetaData::PeakValue); }
QVariant sampleRate() const { return m_control->metaData(QtMultimedia::MetaData::SampleRate); }
QVariant albumTitle() const { return m_control->metaData(QtMultimedia::MetaData::AlbumTitle); }
QVariant albumArtist() const { return m_control->metaData(QtMultimedia::MetaData::AlbumArtist); }
return m_mediaObject->metaData(QtMultimedia::MetaData::RatingOrganization); }
QVariant size() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Size); }
QVariant mediaType() const { return m_mediaObject->metaData(QtMultimedia::MetaData::MediaType); }
QVariant duration() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Duration); }
QVariant audioBitRate() const { return m_mediaObject->metaData(QtMultimedia::MetaData::AudioBitRate); }
QVariant audioCodec() const { return m_mediaObject->metaData(QtMultimedia::MetaData::AudioCodec); }
QVariant averageLevel() const { return m_mediaObject->metaData(QtMultimedia::MetaData::AverageLevel); }
QVariant channelCount() const { return m_mediaObject->metaData(QtMultimedia::MetaData::ChannelCount); }
QVariant peakValue() const { return m_mediaObject->metaData(QtMultimedia::MetaData::PeakValue); }
QVariant sampleRate() const { return m_mediaObject->metaData(QtMultimedia::MetaData::SampleRate); }
QVariant albumTitle() const { return m_mediaObject->metaData(QtMultimedia::MetaData::AlbumTitle); }
QVariant albumArtist() const { return m_mediaObject->metaData(QtMultimedia::MetaData::AlbumArtist); }
QVariant contributingArtist() const {
return m_control->metaData(QtMultimedia::MetaData::ContributingArtist); }
QVariant composer() const { return m_control->metaData(QtMultimedia::MetaData::Composer); }
QVariant conductor() const { return m_control->metaData(QtMultimedia::MetaData::Conductor); }
QVariant lyrics() const { return m_control->metaData(QtMultimedia::MetaData::Lyrics); }
QVariant mood() const { return m_control->metaData(QtMultimedia::MetaData::Mood); }
QVariant trackNumber() const { return m_control->metaData(QtMultimedia::MetaData::TrackNumber); }
QVariant trackCount() const { return m_control->metaData(QtMultimedia::MetaData::TrackCount); }
return m_mediaObject->metaData(QtMultimedia::MetaData::ContributingArtist); }
QVariant composer() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Composer); }
QVariant conductor() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Conductor); }
QVariant lyrics() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Lyrics); }
QVariant mood() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Mood); }
QVariant trackNumber() const { return m_mediaObject->metaData(QtMultimedia::MetaData::TrackNumber); }
QVariant trackCount() const { return m_mediaObject->metaData(QtMultimedia::MetaData::TrackCount); }
QVariant coverArtUrlSmall() const {
return m_control->metaData(QtMultimedia::MetaData::CoverArtUrlSmall); }
return m_mediaObject->metaData(QtMultimedia::MetaData::CoverArtUrlSmall); }
QVariant coverArtUrlLarge() const {
return m_control->metaData(QtMultimedia::MetaData::CoverArtUrlLarge); }
QVariant resolution() const { return m_control->metaData(QtMultimedia::MetaData::Resolution); }
return m_mediaObject->metaData(QtMultimedia::MetaData::CoverArtUrlLarge); }
QVariant resolution() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Resolution); }
QVariant pixelAspectRatio() const {
return m_control->metaData(QtMultimedia::MetaData::PixelAspectRatio); }
QVariant videoFrameRate() const { return m_control->metaData(QtMultimedia::MetaData::VideoFrameRate); }
QVariant videoBitRate() const { return m_control->metaData(QtMultimedia::MetaData::VideoBitRate); }
QVariant videoCodec() const { return m_control->metaData(QtMultimedia::MetaData::VideoCodec); }
QVariant posterUrl() const { return m_control->metaData(QtMultimedia::MetaData::PosterUrl); }
QVariant chapterNumber() const { return m_control->metaData(QtMultimedia::MetaData::ChapterNumber); }
QVariant director() const { return m_control->metaData(QtMultimedia::MetaData::Director); }
QVariant leadPerformer() const { return m_control->metaData(QtMultimedia::MetaData::LeadPerformer); }
QVariant writer() const { return m_control->metaData(QtMultimedia::MetaData::Writer); }
return m_mediaObject->metaData(QtMultimedia::MetaData::PixelAspectRatio); }
QVariant videoFrameRate() const { return m_mediaObject->metaData(QtMultimedia::MetaData::VideoFrameRate); }
QVariant videoBitRate() const { return m_mediaObject->metaData(QtMultimedia::MetaData::VideoBitRate); }
QVariant videoCodec() const { return m_mediaObject->metaData(QtMultimedia::MetaData::VideoCodec); }
QVariant posterUrl() const { return m_mediaObject->metaData(QtMultimedia::MetaData::PosterUrl); }
QVariant chapterNumber() const { return m_mediaObject->metaData(QtMultimedia::MetaData::ChapterNumber); }
QVariant director() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Director); }
QVariant leadPerformer() const { return m_mediaObject->metaData(QtMultimedia::MetaData::LeadPerformer); }
QVariant writer() const { return m_mediaObject->metaData(QtMultimedia::MetaData::Writer); }
Q_SIGNALS:
void metaDataChanged();
private:
QMetaDataReaderControl *m_control;
QMediaObject *m_mediaObject;
};
QT_END_NAMESPACE