Git commit 59a8813fa5710ef5f572c6590e42b8bc08c4a766 by Juan Palacios. Committed on 31/01/2015 at 20:41. Pushed by jpalacios into branch 'master'. Add support for opus files in TagLibExtractor REVIEW: 122324 M +14 -2 src/extractors/taglibextractor.cpp http://commits.kde.org/kfilemetadata/59a8813fa5710ef5f572c6590e42b8bc08c4a7= 66 diff --git a/src/extractors/taglibextractor.cpp b/src/extractors/taglibextr= actor.cpp index 7d78756..163bea5 100644 --- a/src/extractors/taglibextractor.cpp +++ b/src/extractors/taglibextractor.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include = #include @@ -46,7 +47,7 @@ TagLibExtractor::TagLibExtractor(QObject* parent) QStringList TagLibExtractor::mimetypes() const { QStringList types; - // MP3 FLAC, MPC, Speex, WavPack TrueAudio, WAV, AIFF, MP4 and ASF fil= es. + // MP3, FLAC, Vorbis, Opus, MPC, Speex, WavPack TrueAudio, WAV, AIFF,= MP4 and ASF files. // MP3 types << QStringLiteral("audio/mpeg"); types << QStringLiteral("audio/mpeg3"); types << QStringLiteral("audio= /x-mpeg"); @@ -57,9 +58,12 @@ QStringList TagLibExtractor::mimetypes() const // MPC types << QStringLiteral("audio/x-musepack"); = - //OGG + // Vorbis types << QStringLiteral("audio/ogg"); types << QStringLiteral("audio/x= -vorbis+ogg"); = + // Opus + types << QStringLiteral("audio/opus"); types << QStringLiteral("audio/= x-opus+ogg"); + // WAV types << QStringLiteral("audio/wav"); = @@ -175,6 +179,14 @@ void TagLibExtractor::extract(ExtractionResult* result) } } = + // Opus files. + if (mimeType =3D=3D "audio/opus" || mimeType =3D=3D "audio/x-opus+= ogg") { + TagLib::Ogg::Opus::File opusFile(fileUrl.toUtf8().data(), true= ); + if (opusFile.tag() && !opusFile.tag()->isEmpty()) { + lstOgg =3D opusFile.tag()->fieldListMap(); + } + } + // Handling OGG container tags. if (!lstOgg.isEmpty()) { TagLib::Ogg::FieldListMap::ConstIterator itOgg;