From 0a4dd651536e614f3d623108cac870d4ee8635e6 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Mon, 25 Apr 2016 06:09:27 +0000 Subject: flac: fixed file path endcoding git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@6260 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/flac/decoderflacfactory.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/plugins/Input/flac/decoderflacfactory.cpp') diff --git a/src/plugins/Input/flac/decoderflacfactory.cpp b/src/plugins/Input/flac/decoderflacfactory.cpp index 3839af85e..f8378f588 100644 --- a/src/plugins/Input/flac/decoderflacfactory.cpp +++ b/src/plugins/Input/flac/decoderflacfactory.cpp @@ -34,6 +34,12 @@ #include "flacmetadatamodel.h" #include "decoderflacfactory.h" +#ifdef Q_OS_WIN +#define QStringToFileName(s) TagLib::FileName(reinterpret_cast(s.utf16()) +#else +#define QStringToFileName(s) s.toLocal8Bit().constData() +#endif + // DecoderFLACFactory @@ -102,7 +108,7 @@ QList DecoderFLACFactory::createPlayList(const QString &fileName, bo } #if (TAGLIB_MAJOR_VERSION > 1) || ((TAGLIB_MAJOR_VERSION == 1) && (TAGLIB_MINOR_VERSION >= 8)) - TagLib::FileStream stream(fileName.toLocal8Bit().constData(), true); + TagLib::FileStream stream(QStringToFileName(fileName), true); #endif if(fileName.endsWith(".flac", Qt::CaseInsensitive)) @@ -110,7 +116,7 @@ QList DecoderFLACFactory::createPlayList(const QString &fileName, bo #if (TAGLIB_MAJOR_VERSION > 1) || ((TAGLIB_MAJOR_VERSION == 1) && (TAGLIB_MINOR_VERSION >= 8)) flacFile = new TagLib::FLAC::File(&stream, TagLib::ID3v2::FrameFactory::instance()); #else - flacFile = new TagLib::FLAC::File(fileName.toLocal8Bit().constData()); + flacFile = new TagLib::FLAC::File(QStringToFileName(fileName)); #endif tag = useMetaData ? flacFile->xiphComment() : 0; ap = flacFile->audioProperties(); -- cgit v1.2.3-13-gbd6f