diff --git a/autotests/embeddedimagedatatest.cpp b/autotests/embeddedimagedatatest.cpp --- a/autotests/embeddedimagedatatest.cpp +++ b/autotests/embeddedimagedatatest.cpp @@ -98,6 +98,10 @@ QTest::addRow("wavpack") << QStringLiteral("test.wv") ; + + QTest::addRow("wma") + << QStringLiteral("test.wma") + ; } QTEST_GUILESS_MAIN(EmbeddedImageDataTest) diff --git a/autotests/samplefiles/test.wma b/autotests/samplefiles/test.wma index ff2903c061eecface341c507fb1e110624e3f29c..76e3846fad61ec2de330152a922edf84b3b31b06 GIT binary patch literal 13188 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 literal 11660 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 EKQpeapa1{> diff --git a/src/embeddedimagedata.cpp b/src/embeddedimagedata.cpp --- a/src/embeddedimagedata.cpp +++ b/src/embeddedimagedata.cpp @@ -40,6 +40,9 @@ #include #include #include +#include +#include +#include #include #include @@ -55,6 +58,7 @@ QByteArray getFrontCoverFromFlacPicture(TagLib::List lstPic) const; QByteArray getFrontCoverFromMp4(TagLib::MP4::Tag* mp4Tags) const; QByteArray getFrontCoverFromApe(TagLib::APE::Tag* apeTags) const; + QByteArray getFrontCoverFromAsf(TagLib::ASF::Tag* asfTags) const; static const QStringList mMimetypes; }; @@ -71,6 +75,7 @@ QStringLiteral("audio/x-aiff"), QStringLiteral("audio/x-ape"), QStringLiteral("audio/x-mpeg"), + QStringLiteral("audio/x-ms-wma"), QStringLiteral("audio/x-musepack"), QStringLiteral("audio/x-opus+ogg"), QStringLiteral("audio/x-speex"), @@ -170,6 +175,14 @@ return getFrontCoverFromApe(wavpackFile.APETag()); } + } else if (mimeType == QLatin1String("audio/x-ms-wma")) { + + TagLib::ASF::File asfFile(&stream, true); + TagLib::ASF::Tag* asfTags = dynamic_cast(asfFile.tag()); + if (asfTags) { + return getFrontCoverFromAsf(asfTags); + } + } else if (mimeType == QLatin1String("audio/flac")) { TagLib::FLAC::File flacFile(&stream, TagLib::ID3v2::FrameFactory::instance(), true); @@ -257,3 +270,16 @@ } return QByteArray(); } +QByteArray +EmbeddedImageData::Private::getFrontCoverFromAsf(TagLib::ASF::Tag* asfTags) const +{ + TagLib::ASF::AttributeList lstASF = asfTags->attribute("WM/Picture"); + for (const auto& attribute : qAsConst(lstASF)) { + TagLib::ASF::Picture picture = attribute.toPicture(); + if (picture.type() == TagLib::ASF::Picture::FrontCover) { + TagLib::ByteVector pictureData = picture.picture(); + return QByteArray(pictureData.data(), pictureData.size()); + } + } + return QByteArray(); +}