summaryrefslogtreecommitdiffstats
path: root/src/plugins/wmf/player/mfmetadatacontrol.cpp
diff options
context:
space:
mode:
authorDmytro Poplavskiy <dmytro.poplavskiy@nokia.com>2012-01-16 16:40:47 +1000
committerQt by Nokia <qt-info@nokia.com>2012-01-20 06:30:37 +0100
commit8ff5b88b27b83438bfe576eea824a4a4d47249ce (patch)
tree1ccb1b0114ec8371ac44a0ab68535c50f8e4e604 /src/plugins/wmf/player/mfmetadatacontrol.cpp
parent382ba7d4f4c1ca91d59d04faf35a3d75d6430df5 (diff)
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>
Diffstat (limited to 'src/plugins/wmf/player/mfmetadatacontrol.cpp')
-rw-r--r--src/plugins/wmf/player/mfmetadatacontrol.cpp58
1 files changed, 14 insertions, 44 deletions
diff --git a/src/plugins/wmf/player/mfmetadatacontrol.cpp b/src/plugins/wmf/player/mfmetadatacontrol.cpp
index d7619f910..b17d4a440 100644
--- a/src/plugins/wmf/player/mfmetadatacontrol.cpp
+++ b/src/plugins/wmf/player/mfmetadatacontrol.cpp
@@ -65,7 +65,7 @@ bool MFMetaDataControl::isMetaDataAvailable() const
return m_content || m_metaData;
}
-QVariant MFMetaDataControl::metaData(QtMultimedia::MetaData key) const
+QVariant MFMetaDataControl::metaData(const QString &key) const
{
QVariant value;
if (!isMetaDataAvailable())
@@ -113,38 +113,11 @@ QVariant MFMetaDataControl::convertValue(const PROPVARIANT& var) const
return value;
}
-QList<QtMultimedia::MetaData> MFMetaDataControl::availableMetaData() const
+QStringList MFMetaDataControl::availableMetaData() const
{
return m_availableMetaDatas;
}
-QVariant MFMetaDataControl::extendedMetaData(const QString &key) const
-{
- QVariant value;
- HRESULT hr = S_FALSE;
- PROPVARIANT var;
- PropVariantInit(&var);
- if (m_content) {
- int index = m_extendedMetaDatas.indexOf(key);
- if (index >= 0) {
- hr = m_content->GetValue(m_extendedKeys[index], &var);
- }
- } else if (m_metaData) {
- hr = m_metaData->GetProperty(key.utf16(), &var);
- }
-
- if (SUCCEEDED(hr))
- value = convertValue(var);
-
- PropVariantClear(&var);
- return value;
-}
-
-QStringList MFMetaDataControl::availableExtendedMetaData() const
-{
- return m_extendedMetaDatas;
-}
-
void MFMetaDataControl::updateSource(IMFPresentationDescriptor* sourcePD, IMFMediaSource* mediaSource)
{
if (m_metaData) {
@@ -173,15 +146,15 @@ void MFMetaDataControl::updateSource(IMFPresentationDescriptor* sourcePD, IMFMed
continue;
bool common = true;
if (key == PKEY_Author) {
- m_availableMetaDatas.push_back(QtMultimedia::Author);
+ m_availableMetaDatas.push_back(QtMultimedia::MetaData::Author);
} else if (key == PKEY_Title) {
- m_availableMetaDatas.push_back(QtMultimedia::Title);
+ m_availableMetaDatas.push_back(QtMultimedia::MetaData::Title);
} else if (key == PKEY_ParentalRating) {
- m_availableMetaDatas.push_back(QtMultimedia::ParentalRating);
+ m_availableMetaDatas.push_back(QtMultimedia::MetaData::ParentalRating);
} else if (key == PKEY_Comment) {
- m_availableMetaDatas.push_back(QtMultimedia::Description);
+ m_availableMetaDatas.push_back(QtMultimedia::MetaData::Description);
} else if (key == PKEY_Copyright) {
- m_availableMetaDatas.push_back(QtMultimedia::Copyright);
+ m_availableMetaDatas.push_back(QtMultimedia::MetaData::Copyright);
//TODO: add more common keys
} else {
common = false;
@@ -211,24 +184,21 @@ void MFMetaDataControl::updateSource(IMFPresentationDescriptor* sourcePD, IMFMed
#ifdef DEBUG_MEDIAFOUNDATION
qDebug() << "metadata: " << QString::fromUtf16(sName);
#endif
- bool common = true;
if (wcscmp(sName, L"Author") == 0) {
- m_availableMetaDatas.push_back(QtMultimedia::Author);
+ m_availableMetaDatas.push_back(QtMultimedia::MetaData::Author);
} else if (wcscmp(sName, L"Title") == 0) {
- m_availableMetaDatas.push_back(QtMultimedia::Title);
+ m_availableMetaDatas.push_back(QtMultimedia::MetaData::Title);
} else if (wcscmp(sName, L"Rating") == 0) {
- m_availableMetaDatas.push_back(QtMultimedia::ParentalRating);
+ m_availableMetaDatas.push_back(QtMultimedia::MetaData::ParentalRating);
} else if (wcscmp(sName, L"Description") == 0) {
- m_availableMetaDatas.push_back(QtMultimedia::Description);
+ m_availableMetaDatas.push_back(QtMultimedia::MetaData::Description);
} else if (wcscmp(sName, L"Copyright") == 0) {
- m_availableMetaDatas.push_back(QtMultimedia::Copyright);
+ m_availableMetaDatas.push_back(QtMultimedia::MetaData::Copyright);
//TODO: add more common keys
} else {
- common = false;
- m_extendedMetaDatas.push_back(QString::fromUtf16(sName));
+ m_availableMetaDatas.push_back(QString::fromUtf16(sName));
}
- if (common)
- m_commonNames.push_back(QString::fromUtf16(sName));
+ m_commonNames.push_back(QString::fromUtf16(sName));
}
}
PropVariantClear(&varNames);