summaryrefslogtreecommitdiffstats
path: root/tests/auto/integration/qaudiodecoderbackend/tst_qaudiodecoderbackend.cpp
diff options
context:
space:
mode:
authorJøger Hansegård <joger.hansegard@qt.io>2024-03-25 12:13:29 +0100
committerJøger Hansegård <joger.hansegard@qt.io>2024-03-26 11:19:24 +0100
commitcd8330b98314faf1bbdd069e5c74e0e97765260b (patch)
tree4c3703c6b3d63c23a84bd64e1432a5bfef239045 /tests/auto/integration/qaudiodecoderbackend/tst_qaudiodecoderbackend.cpp
parent7b6e01213696c0571464880a1ab355ea5506bb45 (diff)
Test that QAudioDecoder emits error when source has no audio track
This patch adds a test that verifies that QAudioDecoder is well behaved when no audio track is present in the input media file. Task-number: QTBUG-123597 Pick-to: 6.7 6.6 6.5 Change-Id: Iecf745cab3b0cd70506399c06d9a7fdd15d29e8a Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Diffstat (limited to 'tests/auto/integration/qaudiodecoderbackend/tst_qaudiodecoderbackend.cpp')
-rw-r--r--tests/auto/integration/qaudiodecoderbackend/tst_qaudiodecoderbackend.cpp23
1 files changed, 19 insertions, 4 deletions
diff --git a/tests/auto/integration/qaudiodecoderbackend/tst_qaudiodecoderbackend.cpp b/tests/auto/integration/qaudiodecoderbackend/tst_qaudiodecoderbackend.cpp
index c209b1d43..1961731b8 100644
--- a/tests/auto/integration/qaudiodecoderbackend/tst_qaudiodecoderbackend.cpp
+++ b/tests/auto/integration/qaudiodecoderbackend/tst_qaudiodecoderbackend.cpp
@@ -7,10 +7,11 @@
#include "../shared/mediafileselector.h"
-#define TEST_FILE_NAME "testdata/test.wav"
-#define TEST_UNSUPPORTED_FILE_NAME "testdata/test-unsupported.avi"
-#define TEST_CORRUPTED_FILE_NAME "testdata/test-corrupted.wav"
-#define TEST_INVALID_SOURCE "invalid"
+constexpr char TEST_FILE_NAME[] = "testdata/test.wav";
+constexpr char TEST_UNSUPPORTED_FILE_NAME[] = "testdata/test-unsupported.avi";
+constexpr char TEST_CORRUPTED_FILE_NAME[] = "testdata/test-corrupted.wav";
+constexpr char TEST_INVALID_SOURCE[] = "invalid";
+constexpr char TEST_NO_AUDIO_TRACK[] = "testdata/test-no-audio-track.mp4";
QT_USE_NAMESPACE
@@ -42,6 +43,7 @@ private slots:
void corruptedFileTest();
void invalidSource();
void deviceTest();
+ void play_emitsFormatError_whenMediaHasNoAudioTrack();
private:
QUrl testFileUrl(const QString filePath);
@@ -921,6 +923,19 @@ void tst_QAudioDecoderBackend::deviceTest()
QCOMPARE(d.duration(), qint64(-1));
}
+void tst_QAudioDecoderBackend::play_emitsFormatError_whenMediaHasNoAudioTrack() {
+ QAudioDecoder decoder;
+
+ QSignalSpy errors{ &decoder, qOverload<QAudioDecoder::Error>(&QAudioDecoder::error) };
+
+ decoder.setSource(testFileUrl(TEST_NO_AUDIO_TRACK));
+ decoder.start();
+
+ QTRY_VERIFY(!errors.empty());
+
+ QCOMPARE_EQ(decoder.error(), QAudioDecoder::Error::FormatError);
+}
+
QTEST_MAIN(tst_QAudioDecoderBackend)
#include "tst_qaudiodecoderbackend.moc"