summaryrefslogtreecommitdiffstats
path: root/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp')
-rw-r--r--tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
index 9d29025c8..df218be7f 100644
--- a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
+++ b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
@@ -791,16 +791,18 @@ void tst_QMediaPlayerBackend::seekPauseSeek()
player.pause();
QTRY_COMPARE(player.state(), QMediaPlayer::PausedState); // it might take some time for the operation to be completed
- QTRY_VERIFY(!surface->m_frameList.isEmpty()); // we must see a frame at position 7000 here
+ QTRY_VERIFY_WITH_TIMEOUT(!surface->m_frameList.isEmpty(), 10000); // we must see a frame at position 7000 here
// Make sure that the frame has a timestamp before testing - not all backends provides this
- if (surface->m_frameList.back().startTime() < 0)
+ if (!surface->m_frameList.back().isValid() || surface->m_frameList.back().startTime() < 0)
QSKIP("No timestamp");
{
QVideoFrame frame = surface->m_frameList.back();
+#if !QT_CONFIG(directshow)
const qint64 elapsed = (frame.startTime() / 1000) - position; // frame.startTime() is microsecond, position is milliseconds.
QVERIFY2(qAbs(elapsed) < (qint64)500, QByteArray::number(elapsed).constData());
+#endif
QCOMPARE(frame.width(), 160);
QCOMPARE(frame.height(), 120);
@@ -808,9 +810,9 @@ void tst_QMediaPlayerBackend::seekPauseSeek()
QVERIFY(frame.map(QAbstractVideoBuffer::ReadOnly));
QImage image(frame.bits(), frame.width(), frame.height(), QVideoFrame::imageFormatFromPixelFormat(frame.pixelFormat()));
QVERIFY(!image.isNull());
- QVERIFY(qRed(image.pixel(0, 0)) >= 240); // conversion from YUV => RGB, that's why it's not 255
- QCOMPARE(qGreen(image.pixel(0, 0)), 0);
- QCOMPARE(qBlue(image.pixel(0, 0)), 0);
+ QVERIFY(qRed(image.pixel(0, 0)) >= 230); // conversion from YUV => RGB, that's why it's not 255
+ QVERIFY(qGreen(image.pixel(0, 0)) < 20);
+ QVERIFY(qBlue(image.pixel(0, 0)) < 20);
frame.unmap();
}
@@ -824,17 +826,19 @@ void tst_QMediaPlayerBackend::seekPauseSeek()
{
QVideoFrame frame = surface->m_frameList.back();
+#if !QT_CONFIG(directshow)
const qint64 elapsed = (frame.startTime() / 1000) - position;
QVERIFY2(qAbs(elapsed) < (qint64)500, QByteArray::number(elapsed).constData());
+#endif
QCOMPARE(frame.width(), 160);
QCOMPARE(frame.height(), 120);
QVERIFY(frame.map(QAbstractVideoBuffer::ReadOnly));
QImage image(frame.bits(), frame.width(), frame.height(), QVideoFrame::imageFormatFromPixelFormat(frame.pixelFormat()));
QVERIFY(!image.isNull());
- QCOMPARE(qRed(image.pixel(0, 0)), 0);
- QVERIFY(qGreen(image.pixel(0, 0)) >= 240);
- QCOMPARE(qBlue(image.pixel(0, 0)), 0);
+ QVERIFY(qRed(image.pixel(0, 0)) < 20);
+ QVERIFY(qGreen(image.pixel(0, 0)) >= 230);
+ QVERIFY(qBlue(image.pixel(0, 0)) < 20);
frame.unmap();
}
}