diff options
Diffstat (limited to 'src/plugins/Input/opus/decoderopusfactory.cpp')
| -rw-r--r-- | src/plugins/Input/opus/decoderopusfactory.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/Input/opus/decoderopusfactory.cpp b/src/plugins/Input/opus/decoderopusfactory.cpp index 003eca863..ec66ce80a 100644 --- a/src/plugins/Input/opus/decoderopusfactory.cpp +++ b/src/plugins/Input/opus/decoderopusfactory.cpp @@ -26,6 +26,12 @@ #include "opusmetadatamodel.h" #include "decoderopusfactory.h" +#ifdef Q_OS_WIN +#define QStringToFileName(s) TagLib::FileName(reinterpret_cast<const wchar_t *>(s.utf16()) +#else +#define QStringToFileName(s) s.toLocal8Bit().constData() +#endif + // DecoderOpusFactory bool DecoderOpusFactory::supports(const QString &source) const @@ -76,7 +82,7 @@ QList<FileInfo *> DecoderOpusFactory::createPlayList(const QString &fileName, bo { FileInfo *info = new FileInfo(fileName); - TagLib::Ogg::Opus::File fileRef(fileName.toLocal8Bit().constData()); + TagLib::Ogg::Opus::File fileRef(QStringToFileName(fileName)); TagLib::Ogg::XiphComment *tag = useMetaData ? fileRef.tag() : 0; if (tag && !tag->isEmpty()) |
