diff --git a/autotests/samplefiles/no-meta/test.aax b/autotests/samplefiles/no-meta/test.aax new file mode 100644 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@("fileType"); + + QTest::addRow("aax") + << QStringLiteral("aax") + ; +} + void TagLibExtractorTest::testAsf() { QFETCH(QString, fileType); @@ -577,6 +605,12 @@ << expectedKeys << QString() ; + QTest::addRow("aax") + << QFINDTESTDATA("samplefiles/no-meta/test.aax") + << QStringLiteral("audio/vnd.audible.aax") + << expectedKeys << QString() + ; + } void TagLibExtractorTest::testNoMetadata() diff --git a/src/extractors/taglibextractor.cpp b/src/extractors/taglibextractor.cpp --- a/src/extractors/taglibextractor.cpp +++ b/src/extractors/taglibextractor.cpp @@ -58,6 +58,7 @@ QStringLiteral("audio/opus"), QStringLiteral("audio/speex"), QStringLiteral("audio/wav"), + QStringLiteral("audio/vnd.audible.aax"), QStringLiteral("audio/x-aiff"), QStringLiteral("audio/x-aifc"), QStringLiteral("audio/x-ape"), @@ -443,7 +444,8 @@ extractAudioProperties(&file, result); readGenericProperties(file.properties(), result); } - } else if (mimeType == QLatin1String("audio/mp4")) { + } else if ((mimeType == QLatin1String("audio/mp4")) || + (mimeType == QLatin1String("audio/vnd.audible.aax"))) { TagLib::MP4::File file(&stream, true); if (file.isValid()) { extractAudioProperties(&file, result); diff --git a/src/extractors/taglibextractor.json b/src/extractors/taglibextractor.json --- a/src/extractors/taglibextractor.json +++ b/src/extractors/taglibextractor.json @@ -10,6 +10,7 @@ "audio/opus" : { "Version" : "0.0" }, "audio/speex" : { "Version" : "0.0" }, "audio/wav" : { "Version" : "0.0" }, + "audio/vnd.audible.aax" : { "Version" : "0.0" }, "audio/x-aiff" : { "Version" : "0.0" }, "audio/x-aifc" : { "Version" : "0.0" }, "audio/x-ape" : { "Version" : "0.0" },