Add metadata test for qmediaplayerbackend auto-test.
Change-Id: I419496293b11b6a941af08e9709595458b7ca423 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
This commit is contained in:
Binary file not shown.
@@ -39,6 +39,7 @@
|
|||||||
#include "qaudioprobe.h"
|
#include "qaudioprobe.h"
|
||||||
#include "qvideoprobe.h"
|
#include "qvideoprobe.h"
|
||||||
#include <qmediaplaylist.h>
|
#include <qmediaplaylist.h>
|
||||||
|
#include <qmediametadata.h>
|
||||||
|
|
||||||
//TESTED_COMPONENT=src/multimedia
|
//TESTED_COMPONENT=src/multimedia
|
||||||
|
|
||||||
@@ -77,6 +78,7 @@ private slots:
|
|||||||
void playlist();
|
void playlist();
|
||||||
void surfaceTest_data();
|
void surfaceTest_data();
|
||||||
void surfaceTest();
|
void surfaceTest();
|
||||||
|
void metadata();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QMediaContent selectVideoFile(const QStringList& mediaCandidates);
|
QMediaContent selectVideoFile(const QStringList& mediaCandidates);
|
||||||
@@ -87,6 +89,7 @@ private:
|
|||||||
QMediaContent localWavFile2;
|
QMediaContent localWavFile2;
|
||||||
QMediaContent localVideoFile;
|
QMediaContent localVideoFile;
|
||||||
QMediaContent localCompressedSoundFile;
|
QMediaContent localCompressedSoundFile;
|
||||||
|
QMediaContent localFileWithMetadata;
|
||||||
|
|
||||||
bool m_inCISystem;
|
bool m_inCISystem;
|
||||||
};
|
};
|
||||||
@@ -226,6 +229,8 @@ void tst_QMediaPlayerBackend::initTestCase()
|
|||||||
mediaCandidates << QFINDTESTDATA("testdata/nokia-tune.mp3");
|
mediaCandidates << QFINDTESTDATA("testdata/nokia-tune.mp3");
|
||||||
localCompressedSoundFile = selectMediaFile(mediaCandidates);
|
localCompressedSoundFile = selectMediaFile(mediaCandidates);
|
||||||
|
|
||||||
|
localFileWithMetadata = selectMediaFile(QStringList() << QFINDTESTDATA("testdata/nokia-tune.mp3"));
|
||||||
|
|
||||||
qgetenv("QT_TEST_CI").toInt(&m_inCISystem,10);
|
qgetenv("QT_TEST_CI").toInt(&m_inCISystem,10);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1147,6 +1152,39 @@ void tst_QMediaPlayerBackend::surfaceTest()
|
|||||||
QVERIFY(surface.m_totalFrames >= 25);
|
QVERIFY(surface.m_totalFrames >= 25);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QMediaPlayerBackend::metadata()
|
||||||
|
{
|
||||||
|
if (localFileWithMetadata.isNull())
|
||||||
|
QSKIP("No supported media file");
|
||||||
|
|
||||||
|
QMediaPlayer player;
|
||||||
|
|
||||||
|
QSignalSpy metadataAvailableSpy(&player, SIGNAL(metaDataAvailableChanged(bool)));
|
||||||
|
QSignalSpy metadataChangedSpy(&player, SIGNAL(metaDataChanged()));
|
||||||
|
|
||||||
|
player.setMedia(localFileWithMetadata);
|
||||||
|
|
||||||
|
QTRY_VERIFY(player.isMetaDataAvailable());
|
||||||
|
QCOMPARE(metadataAvailableSpy.count(), 1);
|
||||||
|
QVERIFY(metadataAvailableSpy.last()[0].toBool());
|
||||||
|
QVERIFY(metadataChangedSpy.count() > 0);
|
||||||
|
|
||||||
|
QCOMPARE(player.metaData(QMediaMetaData::Title).toString(), QStringLiteral("Nokia Tune"));
|
||||||
|
QCOMPARE(player.metaData(QMediaMetaData::ContributingArtist).toString(), QStringLiteral("TestArtist"));
|
||||||
|
QCOMPARE(player.metaData(QMediaMetaData::AlbumTitle).toString(), QStringLiteral("TestAlbum"));
|
||||||
|
|
||||||
|
metadataAvailableSpy.clear();
|
||||||
|
metadataChangedSpy.clear();
|
||||||
|
|
||||||
|
player.setMedia(QMediaContent());
|
||||||
|
|
||||||
|
QVERIFY(!player.isMetaDataAvailable());
|
||||||
|
QCOMPARE(metadataAvailableSpy.count(), 1);
|
||||||
|
QVERIFY(!metadataAvailableSpy.last()[0].toBool());
|
||||||
|
QCOMPARE(metadataChangedSpy.count(), 1);
|
||||||
|
QVERIFY(player.availableMetaData().isEmpty());
|
||||||
|
}
|
||||||
|
|
||||||
TestVideoSurface::TestVideoSurface(bool storeFrames):
|
TestVideoSurface::TestVideoSurface(bool storeFrames):
|
||||||
m_totalFrames(0),
|
m_totalFrames(0),
|
||||||
m_storeFrames(storeFrames)
|
m_storeFrames(storeFrames)
|
||||||
|
|||||||
Reference in New Issue
Block a user